首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >xwiki开发者指南-数据模型

xwiki开发者指南-数据模型

作者头像
lovelife110
发布于 2021-01-14 11:48:35
发布于 2021-01-14 11:48:35
2.3K0
举报
文章被收录于专栏:爱生活爱编程爱生活爱编程

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 Zone

7.3M1引入

允许显示和编辑时区

​

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

对象

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

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

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

综上所述:

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

推荐阅读

  • 武装你的类和对象的知识,你可以尝试创建一个小的应用程序,如FAQ应用程序。
  • 你也可以开始了解如何使用脚本来显示wiki页面对象的属性。
  • 你也可以尝试使用一分钟创建App扩展,它简化了如何开始开发应用程序所需的小知识。生成你的应用程序后,如果你想进一步为你的应用程序去开发新的功能,那么你需要用有关类,对象和脚本的知识。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • XWiki 类, 对象, 和属性
  • 推荐阅读
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档