`
sdyouyun
  • 浏览: 119523 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Confluence Wiki

阅读更多
用了一段时间的Confluence Wiki了。感觉它的功能还是很强大的。对中文支持很好,里面的页面既可以用传统的目录方式分类,也可以用标签方式分类。同时还有强大的全文检索功能,甚至可以检索附件中word和excel文档中的词语。对页面有版本管理的功能,可以比较不同版本之间的差异。还可以通过插件扩充功能。真是一种很好的知识管理软件……

因为工作中需要对Confluence Wiki的页面做统计,而它本身又没有提供这方便的功能。所以研究了下它的数据库中的几个表,记录如下:
表content存放了页面的基本信息。
列CONTENTID为主键id。格式为整型,不会自动生成,需要手动指定,且此页的子页面的id必须大于它的id。
列CONTENTTYPE为页面的类型,普通页面都为"PAGE"。
列TITLE为页面的标题。
列VERSION为页面的版本,对于新增的页面都为"1"。
列CREATOR为页面的创建者。
列CREATIONDATE为页面创建时的日期时间。
列LASTMODIFIER为最后一次修改的用户。
列LASTMODDATE为最后一次修改的时间。
列VERSIONCOMMENT/PREVVER为版本控制相关的内容,可以设为null。
列CONTENT_STATUS统一设为current。
列SPACEID为页面所在空间的空间id号,和表spaces中的列SPACEID对应。
列PARENTID为父页面的id,如果为第一级则设为null。
列MESSAGEID/PAGEID/PARENTCOMMENTID/USERNAME与普通页面无关,可都设为null。
表bodycontent存放了页面的具体内容。
列BODYCONTENTID为表的主键id。
列BODY为页面的具体内容。(使用wiki标记存储)
列CONTENTID同表content中的列CONTENTID对应。
表confancestors存放了页面之间的树形关系
列DESCENDENTID为页面的id,同content.CONTENTID相对应。
列ANCESTORID为当前级别上此页面的父页面的id
列ANCESTORPOSITION为当前级别
比如空间的home页id为65539,其下有1个页面id为10000,此页面下又有一个页面id为10001,那此表里应该有如下记录:
10000,65539,0
10001,65539,0
10001,10000,1

几个可能有用的sql:
查询所有非底层页面的页面
select * as contentid from CONFANCESTORS

查询某个页面下所有底层页面的个数
select count(DESCENDENTID) from confancestors where confancestors.ANCESTORID=某id and DESCENDENTID not in (select ANCESTORID as contentid from CONFANCESTORS)
分享到:
评论
1 楼 逆风的香1314 2008-10-20  
您好,看了您的这篇关于Wiki 的文章大受鼓舞,我想在不通过WIKI的页面修改页面信息,而是通过JAVA将内容写如WIKI中,听说Confluence Wiki api 有接口,可我不会用,网上页没搜出个结果。
不知您是否做过这方面的工作,能否给我一点意见呢?
谢谢!
我的邮箱:wangxiaojs@gmail.com
qq:107015357

期待您的回复!

相关推荐

Global site tag (gtag.js) - Google Analytics