团队开发工具之一——Wiki
最近几周,我一直尝试搭建企业知识库——wiki,希望为团队提供文档共享的便利性。我们现在都有一个坏毛病,就是买一部手机或者一台电脑,都不会看说明书,直接上手摸索。其实通过阅读产品说明书或者操作手册,可以大大地减少我们对问题查询的时间消耗。如果你体验过安装Archlinux或Gentoo,你就一定明白:共享文档就相当于为产品量身订做一个专属的 Cookbook,并放在互联网上,方便人们在软件开发过程中查阅资料。
Wiki 一词是由Wikipedia这个网站而创造出来的单词。如今,越来越多的公司和个人都开始使用 wiki 来构建属于自己的知识库。它相对于论坛更具备权威性和规范化,而且支持全文索引、目录索引和标签索引等等。在开发的过程中可以将过程性的记录,通过 Wiki 的方式保留下来,也便于日后的需求变更或日常维护时,开发者可以资料查询和数据分析。对于运维人员往往培养一个新人只提供了一个短暂的培训期,这些所谓的培训虽然涵盖了通常的操作规程,但是往往无法对非常规问题提供教程和文献,而 Wiki 则可以提供这些,使得新人们快速找寻解决方案。而且对于需求设计、开发实施和测试提供了统一的文档数据源,而不再是一堆压缩包的附件在邮箱里多次传递。
最开始,我和我的同事选择的是Atlassian公司的Confluence。不仅由于它的界面对用户非常友好,而且还拥有大量的插件功能,更重要的是他们的产品还有JIRA、Bitbucket和Trello。但是目前这一类的产品都在走云端化,提供虚拟服务,这样做的目的就是帮助用户节约成本,但是对于企业数据保护意识极强的公司来说,就产生了些许困难。我们下载了官方提供的 Server 安装包,尝试了几次安装,但是不知道是官方包的问题还是局域网隔离的原因。都无法激活证书。(所以说收费,总比自己摸索好,至少有实施的人提供服务。)于是,我提出更换应用,并重新做了功课。
Mediawiki只有 github 源码,但是官网无法正常访问,相当于没有正式的文档。但是它被作为维基百科全书的系统软件,并有大量其他应用实例。
Trac是用 Python 编写的,而且功能也非常强大(Trac Hacks)。可惜需求定位是给企业用的,前端稍微粗糙了些,但是我个人还是比较喜欢他的风格的,适合后端开发团队使用。
Wiki.js不愧是用 Node.js 写的。界面干净整洁,而且支持各种主流搜索引擎。就是不太支持 Office 的导入导出,而且插件目前比较少。适合作为个人和创作型团队客制化的 Wiki。
之后,我在 CentOS 7 上离线安装了XWiki,并导入他提供的 Flavor(XIP 包)。XWiki 和 Confluence 都是用 Java 编写的,在前端界面上设计比较友好,而且拥有上百个插件的插件库,自身使用的是Solr作为搜索引擎(也支持Lucene)。但是有几件事情值得大家在搭建 XWiki 时注意:
官方提供的 War 包是没有封装界面插件的 Flavor 包的,如果服务器连着互联网,需要在浏览器安装过程的第二步等待即可,否则需要手动导入官网上的 XIP 包。如果没有安装 Flaver 包,界面会缺少很多元素(干净的只剩编辑)。
目前最好用的插件安装方式就是通过他的插件(Extension Manager)在线安装。将联网服务器的 extension/repository 目录下的文件及目录复制到离线服务器的 extension/repository 目录下。
3. 他提供的 Markdown 1.2 的插件不支持 Html 标签。(用 VScode 写的 MD 文件正常显示)
Chrome 浏览器最新可以解决。
4. 由于前端访问 fonts.googleapis.com 请求 fail 导致每次跳转延迟。
我个人认为 Wiki 工具的选择还是应该结合自己的环境需要,而我只是提供了一个简单的参考。
附录:
版权声明: 本文为 InfoQ 作者【DisonTangor】的原创文章。
原文链接:【http://xie.infoq.cn/article/533e3d3b8ae24edf78f771baf】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论