一. 项目组为什么需要维护wiki
1. 一个项目组是多人开发,每个人不可能知道其他人做的需求实现了什么功能,不能对项目组功能有全局认识
2. 产品经理需要了解某些功能时需要让开发扒代码
3. 新开发修改某个按钮的功能时需要在beta上点击按钮才知道访问哪个controller
4. 等
二. wiki系统需要实现的功能
通过关键字可以搜索出项目组所有工程关于这个关键字的文本描述
三. 实现方案
1. 概述
用javadoc命令为每个工程建立帮助文档,把所有项目的帮助文档收集起来喂给搜索引擎,用户通过提交关键字来获取搜索引擎搜到的所有相关文件。这里可以用开源的sorl引擎。
2. 初始化
把所有项目的帮助文档交给搜索引擎建立索引,把搜索引擎封装到controller里,给用户提供查询接口。
3. 项目新功能的发布
新功能的发布通常会新增或修改注释,可以通过监听发布系统发布某个项目的消息来实现帮助文档的更新。
具体步骤:
1)接收项目发布消息
2)拉master分支代码
3)运行javadoc命令生成新的帮助文档
4)把文档上传给搜索引擎
5)搜索引擎重新为这个项目的文档建立索引
4. 优点
1)不用专门抽时间撰写项目wiki,写代码时就可以顺手把wiki写了
2)可以实现新功能发布时wiki的同步更新
3)发现项目组中工程内和工程间重复的功能
5. 缺点
1)功能描述分散在各个工程中,不能以上帝视角俯视整个项目组的功能