【问题标题】:Automatically preventing wiki-rot in Trac?在 Trac 中自动防止维基腐烂?
【发布时间】:2011-10-20 20:03:58
【问题描述】:
大家好:有没有一种方法可以使用插件来提高 trac wiki 质量,该插件可以处理过时页面、引用不再存在的代码的页面、未链接的页面或具有更新率低?我认为可能有几种启发式方法可以用来防止维基腐烂:
- 最近的编辑次数
- 最近浏览次数
- 页面是否链接到源文件
- wiki 页面的最后更新是否是 它链接到的源文件
- 过去“n”天是否使用/编辑/忽略了 wiki 中的整个目录
等等。等等等等。
如果不出意外,从管理的角度来看,仅这些指标对于每个页面和每个目录都会很有用。
【问题讨论】:
标签:
python
wiki
trac
code-documentation
【解决方案1】:
我不知道有一个现有的插件可以做到这一点,但你提到的一切听起来肯定以某种方式可行。
您可以使用trac-admin CLI 命令获取 wiki 页面列表并将特定 wiki 页面的内容(作为纯文本)转储到文件或标准输出中。使用它,您可以编写一个脚本来读取所有 wiki 页面,解析链接内容,并生成哪些页面链接到什么的图表。这应该查明“孤儿”(未链接到的页面)、链接到源文件的页面以及链接到外部资源的页面。通过wget 之类的方式运行外部链接可以帮助您识别损坏的链接。
要访问上次编辑的日期,您需要查询 Trac 的数据库。您需要的查询取决于您使用的特定数据库类型。为了以(相对)安全和简单的方式使用数据库,我发现 WikiTableMacro 和 TracSql 插件非常有用。
您的问题中最难实现的功能是关于页面浏览量的功能。我认为 Trac 不会跟踪页面浏览量,您可能必须解析 Web 服务器的日志以获取此类信息。
【解决方案2】:
这些怎么样:
BadLinksPlugin:此插件记录在 wiki 内容中发现的错误本地链接。
这是一个相当新的,只处理悬空链接,但我从源代码中看到 any 坏链接。这至少是您的解决方案请求的一个组成部分。
VisitCounterMacro: 宏显示 wiki 页面显示了多少次。
这是一个比较老的。当缺少管理视图时,您只会获得每页的统计信息,但这可以很容易地构建,即像自定义 PageIndex 一样。