xwiki二次开发(2) xwiki开发文档查看指南

       以下是吐槽,诸位可以跳过……     

      作为一个真正百科项目的开发,例如像百度百科一样的项目,其核心我觉得是一个强大的富文本编辑器,和与之关联展示和数据挖掘和分析。因为无论是用户(或者编辑)在编辑词条的时候觉得特别麻烦,然后展示效果特别不好看,这个系统都是失败的。我是一个后端工程师,但是根本的好用好看才是关键的,架构再好也是需要为这个服务的。你要是大公司的话,有雄心壮志做一个真正的文库系统的话,你就自己开发吧,xiwiki不适合您。一个最容易出现的问题是,你的百科产品会有设计根据当今的情况提出一系列设计,但是你的前端工程师会告诉你,xwik实现很多东西成本很高,不合适,甚至和当今很多前端的东西有冲突。简单的说,就是一个成型的框架(当然xwiki的支持和强大的,但是你还是能感觉到他是有自己规则的)和一个天马行空的设计的矛盾,矛盾的核心就是开发成本的计算。

二次开发一个开源项目,必须要很好的阅读开发文档。而且更多的开发人员还愿意获取demo。这样对初次接触一个项目是很用帮助的。

      作为一个开发人员,接手别人的项目,需要理解对方的开发思路和实现过程,一开始都是一个痛苦或者不情愿的过程。特别是像二次开发这样一个开发了这么久的成型的大项目,如果没有人指导你的话,你的第一反应肯定是,还不如直接写一个啊^_^ 而且开发文档全是英文,看多了就觉得不爽。所以我整理一下跟开发相关的一下文档,并备注一些说明,方便今后开发。以为希望能为其他没有人指导而进行xwiki开发的其他开发同仁提供我的经验。

 

说明:

  • 官方查询首页

http://main.xwiki.org/xwiki/bin/view/Main/WebHome

(不重要)包含了xwiki特性、下载、展示等内容,页面我觉得不好看,而且,并不是我们想要的,上面有个搜索,这个跟你xiwki的搜索是一样的,能能顾检索到你想要一切内容,但是可能会很乱,你也不知道具体是是那一个结果。关键的是,你需要明白你要检索的内容的准确英文描述,因此我建议你不要将xwiki语言设置为中文,使用英文版本你可以知道你想要东西的英文描述。

  • 查询首页

http://extensions.xwiki.org/xwiki/bin/view/Main/WebHome

(不重要)这个页面在xwiki项目中插入宏livetable你也能实现,可以通过页面标签进行查询,也可以通过关键字查询。这个页面你可以查询你想要的内容,方便你的开发。页面太难看了。

  • xwiki java api(xwiki开发文档首页)

http://maven.xwiki.org/site/docs/(所有开发文档)

http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/org/xwiki/platform/xwiki-platform-oldcore/5.2.1/xwiki-platform-oldcore-5.2.1-javadoc.jar/!/index.html(最新稳定版api)

(对需要java修改的很重要,对一般开发不重要,重要的几个api下面会一一描述)

  • 开发人员首页

http://platform.xwiki.org/xwiki/bin/view/DevGuide/WebHome

这个页面包含了开发的意思例子和说明。但是,这些例子很简单,不能满足真正的开发需求,开发页面有很多更好的例子和文档,你可以通过搜索获得,本页面提供的内容太少了。

  • 插件开发页面

http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting

插件开发是我们最常使用的,也是xwiki最推崇的开发模式。xwiki想做成后台就用他们的,他们什么都提供好,我们只需要开发插件(但是到底好不好用就不好好说了,要知道用户可是很挑剔的,而开发人员也不是特别听话的)。

这个页面提供的实例是不够的,但是他下面的几个api接口却是很重要的。

doc: http://maven.xwiki.org/site/xwiki-core-parent/xwiki-core/apidocs/com/xpn/xwiki/api/Document.html(在groovy或者velocity等插件里面,直接通过对象名doc获取,例如可以直接写$doc.getContent()获取当前文档的正文。以下相同)

xcontent: http://maven.xwiki.org/site/xwiki-core-parent/xwiki-core/apidocs/com/xpn/xwiki/api/Context.html

xwiki: http://maven.xwiki.org/site/xwiki-core-parent/xwiki-core/apidocs/com/xpn/xwiki/api/XWiki.html

  services: http://extensions.xwiki.org/xwiki/bin/view/Extension/Script+Module

此外还有一下其他api可以在这里上述页面找到。

  • 查询语句书写

http://extensions.xwiki.org/xwiki/bin/view/Extension/Query+Module(包含hql和xwql语句例子)

http://platform.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples(hql书写实例,里面有hql文档链接)

xwql和hql是插件开发所支持的2个查询语言,其中hql你会经常遇到。多看几个hql查询例子,你就会明白xwiki的对象封装,然后就通过xwiki获取你说想要的任何内容。

  • 数据接口文档

http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI

(很重要)这里有几乎所有的数据的HTTP接口,ajax请求或者form请求可以通过这个文档找到,这个文档很重要。

 

 

 

posted @ 2013-12-05 12:10  ZhangWenHao  阅读(3587)  评论(1编辑  收藏  举报