xwiki开发者指南-数据模型

XWiki不只是一般的wiki引擎;它暴露了可以在表现层加以利用的数据模型。结合其强大的脚本功能,XWiki数据模型可以帮助你构建简单到复杂的应用程序而几乎不需访问XWiki核心部分。换句话说,你可以通过XWiki的Web界面构建自定义应用程序而无需编译,打包和部署软件组件。

本次教程为想要在表现层构建应用程序的用户解释XWiki数据模型:类,属性和对象。这将帮助你了解如何在表现层通过编程来实现功能。

有关XWiki底层数据库schema(表和字段)的信息,请参阅:XWiki数据库schema

XWiki 类, 对象, 和属性

如果你熟悉面向对象编程,那么就能理解类,属性和对象的概念。XWiki表现层数据模型与之是大同小异。

一个XWiki类就像一个模板定义了一个独特类型的对象。它定义了对象可以有什么属性。当你定义一个自定义类,那么你的应用程序可能需要创建该类的一个或多个对象(实例)。类本身就像是一个cookie cutter(做饼干的模板),而对象是类的唯一实例。所以,在这个比喻中,如果类是做饼干的模板,那么对象就是饼干。

一个类是附加在一个页面上。每一页面最多只能有一个类。类是名称是附加在这个文档的名称。

属性

属性是一个对象可以拥有的特性。在一个类定义,属性定义了类的每个唯一实例可以具有值的数据字段。属性拥有displayers,用于在视图或者编辑模式下控制属性值的显示方式。一些displayers采用高级的选择器帮助你输入一个有效的属性值。

XWiki目前支持以下几种属性(数据类型):

 字段类型  从哪个版本开始  描述  截图
String  允许存储和显示一行文本  
TextArea  允许存储和显示大文本字段(text和wysiwyg)  
Number  允许存储和显示integer,long,float,double  
Password  允许存储密码字段,可加密或者创建密码散列  
EMail 4.2M3引入 允许存储电子邮件字段,可以在显示时进行模糊处理  
Boolean  允许存储和显示布尔值((yes/no或1/0),它可以显示为下拉选择或复选框字段  
Static List  允许存储和显示单选或多选字段,可以显示为下拉选择,复选框,单选或自动提示字段。Static List字段的值可以在字段定义里配置  
Database List  允许存储和显示单选或多选字段,可以显示为下拉选择,复选框,单选或自动提示字段。static list字段的值是来自其他XWiki数据查询 
Database Tree List  和Database List字段一样,但是数据可以作为树显示,使用的是Yahoo Javascript Tree库  
Page List 4.2M3引入 和Database List字段一样,但存储XWiki页面名称  
Date  允许存储和显示日期或日期时间值。日期选择器是如下图所示 

User List  允许存储和显示单选或多选用户。该字段使用用户选择器,如下所示 

  

Group List  允许存储和显示单选或多选组。该字段使用用户选择器,如下所示 

Computed Pseudofield 4.2M3引入允许创建一个虚拟的字段,可以使用自定义显示以及通过使用脚本来获得值  
Time Zone7.3M1引入允许显示和编辑时区  

从4.3M2开始你可以定义自己的属性类型。

对象

对象是类的唯一实例,而类是由每个属性组成。

一个对象附加到特定页面。每个页面可以有多个对象。

使用对象,你在wiki插入结构化信息,而在传统的wiki只能输入非结构化信息(纯文本)。这就是为什么XWiki是第二代wiki的原因之一。

综上所述

  • 类定义一个对象类型以及对象具有的属性。
  • 属性定义了对象可以拥有的数据类型。属性类型(数据类型)是为类定义的,但对于属性的实际值在当对象从类实例化时定义。
  • 对象是类的唯一实例,具有类定义的所有属性的值。

推荐阅读

  • 武装你的类和对象的知识,你可以尝试创建一个小的应用程序,如FAQ应用程序。
  • 你也可以开始了解如何使用脚本来显示wiki页面对象的属性。
  • 你也可以尝试使用一分钟创建App扩展,它简化了如何开始开发应用程序所需的小知识。生成你的应用程序后,如果你想进一步为你的应用程序去开发新的功能,那么你需要用有关类,对象和脚本的知识。
  • 33
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 43
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lovelife110

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值