xwiki App Within Minutes 插件

来源:互联网 发布:论网络诈骗的法律规范 编辑:程序博客网 时间:2024/05/16 06:04
xwiki中文网一分钟创建App    转载地址


描述

此应用程序的目的是让终端用户使用XWiki功能强大的结构化数据管理系统,以尽可能少的步骤创建协作Web应用程序。重点解决的是创建应用程序时候最常见的用例。我们没有尝试包含所有类型的功能(如通知、复杂的字段或工作流)。这些可以通过编程来添加。

从XWiki Enterprise 4.2版本开始,可以在"Applications"面板找到此应用程序的入口。

AppWithinMinutes-Go1.pngAppWithinMinutes-Go2.png

在这里,你可以看到现有应用程序的列表。点击"Create Application"按钮,启动向导。

AppWithinMinutes-Step0.png

第一步,你必须提供应用程序的名称和位置(location),这将决定应用程序主页的URL。应用程序的代码和数据将作为嵌套页面在指定位置里面生成。

AppWithinMinutes-Step1.png

在第二个步骤中,需要定义应用程序的结构,即应用程序要处理的数据类型。在此步骤结束时,向导将为你创建模板和表格。

AppWithinMinutes-Step2.png

在最后一步,你定制你的应用程序主页的样子。
你可以选择:

  • live table显示哪些列表
  • 你的应用程序在应用程序面板 (XE 4.2开始)显示的图标

AppWithinMinutes-Step3.png

点击完成之后,跳转到应用程序主页,你可以管理应用程序数据:编辑应用程序结构,新增、编辑、删除条目(ENTRY)。

AppWithinMinutes-HomePage.png

从 XWiki Enterprise 4.2开始,你的应用程序将出现在应用程序面板,你可以替换应用程序的图标:

AppWithinMinutes-PanelEntry.png

字段配置面板

AppWithinMinutes-FieldPalette.png

在一分钟创建App应用程序向导的第二个步帮助你定义你的应用程序要处理的数据类型。字段配置面板出了可用的字段类型。大多数这些字段类型被直接映射到XClass属性的类型:

字段类型XClass 属性类型Short TextStringLong TextTextAreaNumberNumberBooleanBooleanStatic ListStatic ListDateDateUserList of UsersGroupList of GroupsDatabase ListDatabase List

查看XWiki数据模型文档了解什么是XClass,以及所有可用的属性类型。这种映射的结果是,大多数应用程序的结构化数据将存储在对象(XClass)附在应用程序的条目(文档)。事实上,在这一步,一分钟创建App向导为你的应用程序创建XClass。

有些字段类型,如标题和内容都没有被映射到XClass属性类型,而是文档字段。视觉上一个Short Text字段和Title字段之间没有差别。所不同的是值的存储方式。在标题字段的情况下,该值将被存储在一个应用程序条目(文档)的标题中。同样的,内容字段:值存储在应用程序条目的内容(你可以在Wiki编辑模式下编辑)。这有一个限制:你最多可以使用一个标题/内容字段的应用程序。

定制

开始自定义应用程序之前,你应该了解:

  • 什么是应用程序
  • 如何在XWiki定义结构化数据
  • 如何在XWiki使用表格(sheet)展示结构化数据
  • 如何在XWiki使用服务器端脚本处理结构化数据

应用程序结构

所有的应用程序页面在应用程序创建向导的第一步中的指定位置内部产生。代码页面在code组下,并标记为隐藏(所以默认情况下你的用户不会看到它们)。应用程序条目在Data页面下创建:每次添加新的应用程序条目时,作为Data页面的child创建一个新的页面,来保存条目数据。

appStructure.png

一分钟创建App向导创建以下页面:

  • 应用程序主页 (Holiday Request)
    • 父页面Code,应用程序代码位于下面
      • class,管理定义的结构化数据 (如 Holiday RequestClass)
      • sheet,用于显示和编辑应用程序条目(如 Holiday RequestSheet)
      • template,当创建一个新的应用程序条目,编辑时提供默认值 (如Holiday RequestTemplate)
      • translation,可用于国际化 (如Holiday RequestTranslations)
    • 父页面Data应用程序条目位于下面
    • Preferences页面(WebPreferences) 给予应用程序创建者对应用程序主页和子页面管理权限(这样他就可以删除所有应用程序页面)

分离代码和数据优点:

  • 通过在数据页面和其子页面设置拒绝编辑权限来对一些用户隐藏Edit application选项。这样,你就可以精确地控制哪些用户允许编辑你的应用程序以及普通用户无法编辑你的应用程序。
  • 能够控制哪些用户通过在数据页面和其子页面设置允许或拒绝编辑权限来控制添加新条目或编辑/删除现有条目。
  • 能够轻松备份你的应用程序的数据
  • 更好的整体组织
  • 等等

7.4M1之前

应用程序向导创建一个自定义live table结果页面(如 Holiday RequestLiveTableResults),为的是按需加载live table的翻译。从7.4M1开始,翻译基于整个wiki或用户权限范围加载,因此不再需要此页面。

7.3-rc-1之前

每个应用程序被分为2个XWiki空间。如果你的应用程序名为'Meeting Manager',那么你的应用程序的数据页面将被存储在名为'Meeting Manager'(即空间名称与应用程序名称相同)的空间,你的应用程序代码页面将被存储在名为'MeetingManagerCode'(即应用程序名称,去除一些特殊字符如空格,再加上'Code'后缀)。   

6.2-milestone-1之前

每个应用程序对应一个XWiki的空间。应用程序的代码文档(class, template, sheet, translations等)和应用程序数据文档(由用户创建的条目) 都存储在同个空间(空间名与应用程序名称一样)下。 

本地化

从4.5版本开始,一分钟创建App向导生成一个翻译包文档,用于翻译你的类字段,值列表(static list字段) ,表格列名。如果你的应用程序是用比较旧的一分钟创建App创建的,那么你需要编辑然后保存应用程序来获得新的翻译包。

如果你的wiki是设置为多语言支持,那么应用程序主页,应用程序菜单,你必要有一个条目来翻译应用程序。可以翻译为其他语言就像其他wiki页面一样。

当编辑应用程序时,有提供选项更新翻译包。请注意,这样操作会导致翻译包(它的默认语言)重新生成,所以可能会丢失你添加的翻译键。在未来,我们计划更新翻译包时保留用户添加自定义内容。

查看应用程序的国际化指南localization模块文档了解如何在你的应用程序中使用脚本来提供翻译键。

Live Table

live table提供许多配置选项,但是当你编辑应用程序时,很多是不可用。你必须在wiki编辑模式下编辑应用程序的主页,以便能够使用所有可用的配置选项。

Post 处理

你可以在创建或者编辑应用程序条目之后使用通知系统来执行代码。这里有个例子 :在一个页面创建或者编辑之后调整页面标题。

颜色主题

你的应用程序的颜色主题,可以在应用程序数据所在空间的管理部分进行更改。在顶部菜单 'Space' > 'Administer Space' ,然后在 'Look & Feel' > 'Presentation' 区域。

字段配置面板

字段配置面板在类编辑 (一分钟创App向导第二步)可以轻松进行定制。你可以控制字段类别列表和每个类别字段类型。字段类别由AppWithinMinutes.FormFieldCategoryClass确定。可以在wiki页面添加这个类的一个对象,使之成为字段类别。正如你可以看到这个类只有一个属性,priority,用于指定在字段配置面板的类别列表中的位置。类别标题实际上是wiki页面的标题。

字段类型是由 AppWithinMinutes.FormFieldClass确定。在你添加一个新的字段类型之前,你需要创建一个新的XClass属性类型,因为通常一个字段类型映射到一个属性类型。假设你已经创建了 "External Image"属性类型,让我们看看如何在它的基础上添加一个字段类型。

首先你需要创建一个新的wiki页面。wiki页面的标题为新的字段类型的标题。下一步你需要在我们刚刚添加的页面上添加一个AppWithinMinutes.FormFieldClass对象,让一分钟创建App知道这个页面描述一个字段类型。

AppWithinMinutes-NewFieldType-AddObject.png

你需要指定:

  • 字段类别
  • 图标,出现在字段配置面板标题之前;你可以从Silk icon图标集里选择图标,正如上面图片里看到的,或者你可以把一个图标上传到页面然后输入图标的文件名
  • 优先级,字段配置面板中指定类别中的索引
  • 相应属性类型的可编辑的元属性列表; 这些都是配置选项,你会得到这个字段类型

使用类编辑来保存和编辑这个页面。现在,我们需要定义"External Image" 字段类型的模板。要做到这一点,你只需要添加的 "External Image" 属性类型, 并设置元属性的默认值。基本上,当你在应用程序中添加新的"External Image"字段时,该属性模板将被会复制。

保存就大功告成了。现在,让我们创建一个新的应用程序,或者你也可以编辑现有的。在任何情况下,你可以看到"External Image" 字段被添加到字段配置面板正确的类别下。

AppWithinMinutes-NewFieldType-Palette.png

添加一个"External Image"字段到你的应用程序,然后查看字段配置。你将会在 AppWithinMinutes.FormFieldClass对象看到这个配置选项。

AppWithinMinutes-NewFieldType-ConfigureField.png

教程

FAQ教程页面,你可以找到一个关于如何使用一分钟创建App来创建一个简单的FAQ应用程序


0 0