用了一段时间的Confluence Wiki了。感觉它的功能还是很强大的。对中文支持很好,里面的页面既可以用传统的目录方式分类,也可以用标签方式分类。同时还有强大的全文检索功能,甚至可以检索附件中word和excel文档中的词语。对页面有版本管理的功能,可以比较不同版本之间的差异。还可以通过插件扩充功能。真是一种很好的知识管理软件……
因为工作中需要对Confluence Wiki的页面做统计,而它本身又没有提供这方便的功能。所以研究了下它的数据库中的几个表,记录如下:
[b]表content存放了页面的基本信息。[/b]
列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。
[b]表bodycontent存放了页面的具体内容。[/b]
列BODYCONTENTID为表的主键id。
列BODY为页面的具体内容。(使用wiki标记存储)
列CONTENTID同表content中的列CONTENTID对应。
[b]表confancestors存放了页面之间的树形关系[/b]
列DESCENDENTID为页面的id,同content.CONTENTID相对应。
列ANCESTORID为当前级别上此页面的父页面的id
列ANCESTORPOSITION为当前级别
比如空间的home页id为65539,其下有1个页面id为10000,此页面下又有一个页面id为10001,那此表里应该有如下记录:
10000,65539,0
10001,65539,0
10001,10000,1
[b]几个可能有用的sql:[/b]
查询所有非底层页面的页面
[code]select * as contentid from CONFANCESTORS[/code]
查询某个页面下所有底层页面的个数
[code]select count(DESCENDENTID) from confancestors where confancestors.ANCESTORID=某id and DESCENDENTID not in (select ANCESTORID as contentid from CONFANCESTORS)[/code]
因为工作中需要对Confluence Wiki的页面做统计,而它本身又没有提供这方便的功能。所以研究了下它的数据库中的几个表,记录如下:
[b]表content存放了页面的基本信息。[/b]
列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。
[b]表bodycontent存放了页面的具体内容。[/b]
列BODYCONTENTID为表的主键id。
列BODY为页面的具体内容。(使用wiki标记存储)
列CONTENTID同表content中的列CONTENTID对应。
[b]表confancestors存放了页面之间的树形关系[/b]
列DESCENDENTID为页面的id,同content.CONTENTID相对应。
列ANCESTORID为当前级别上此页面的父页面的id
列ANCESTORPOSITION为当前级别
比如空间的home页id为65539,其下有1个页面id为10000,此页面下又有一个页面id为10001,那此表里应该有如下记录:
10000,65539,0
10001,65539,0
10001,10000,1
[b]几个可能有用的sql:[/b]
查询所有非底层页面的页面
[code]select * as contentid from CONFANCESTORS[/code]
查询某个页面下所有底层页面的个数
[code]select count(DESCENDENTID) from confancestors where confancestors.ANCESTORID=某id and DESCENDENTID not in (select ANCESTORID as contentid from CONFANCESTORS)[/code]