In recent weeks, I’ve been trying to build an enterprise repository, a Wiki, to make it easier for teams to share documents. We all have a bad habit of buying a mobile phone or a computer without reading the instructions. In fact, by reading the product manual or operation manual, we can greatly reduce the time spent on the query. If you’ve ever tried installing Archlinux or Gentoo, you know that sharing documents is the equivalent of creating a custom-made Cookbook for your product and putting it on the Internet for people to access during software development.

“Wiki” is a term coined by the website Wikipedia. More and more companies and individuals are using Wikis to build their own knowledge bases. It is more authoritative and normalized than a forum, and supports full-text indexes, table of contents indexes, tag indexes, and so on. In the process of development, the process records can be kept through Wiki, which is also convenient for future requirements change or daily maintenance, developers can query and data analysis. For operations people, there is often only a short training period for a new person. This so-called training covers the usual operating procedures, but often does not provide tutorials and documentation on non-routine problems, which wikis can provide to enable new people to quickly find solutions. And for requirements design, development, implementation and testing to provide a unified document data source, rather than a pile of compressed package attachments in the mailbox for many times.

At first, my colleagues and I chose Confluence from Atlassian. Not only is it user friendly, but it also has a lot of plugins, and more importantly JIRA, Bitbucket, and Trello. However, these products are moving to the cloud and providing virtual services. The purpose of this is to help users save money, but for companies with a strong sense of enterprise data protection, there are some difficulties. We downloaded the official Server installation package and tried to install it several times, but we don’t know whether it is the official package problem or the cause of LAN isolation. Cannot activate the certificate. (So it’s better to charge for it than find it yourself, at least with an implementer.) So I offered to switch apps and redo my homework.

  • Mediawiki only has github source code, but the official website is not accessible, which is equivalent to no official documentation. But it is used as system software for Wikipedia and has numerous other applications.
  • Trac is written in Python and is also very powerful (Trac Hacks). Unfortunately, the requirement positioning is for enterprises, the front end is a little rough, but I personally like his style, suitable for the back-end development team to use.
  • Wiki.js is written in node.js. The interface is clean and tidy, and it supports all major search engines. It just doesn’t support Office import and export very much, and there are few plug-ins at the moment. A Wiki suitable for customization by individuals and creative teams.

After that, I installed XWiki offline on CentOS 7 and imported the Flavor(XIP package) it provided. XWiki and Confluence are written in Java, have a user-friendly front end, have hundreds of plugins, and use Solr as a search engine (also supported by Lucene). But there are a few things you should be aware of when building XWiki:

  1. The official War package does not contain the Flavor package that encapsulates the interface plug-in. If the server is connected to the Internet, you need to wait in the second step of the browser installation process. Otherwise, you need to manually import the XIP package from the official website. If you don’t have the Flaver package installed, the interface will be missing a lot of elements (clean only for editing).
  2. Currently, the best way to install a plug-in is to install it online through his Extension Manager. Copy files and directories from the Extension /repository directory on the online server to the Extension /repository directory on the offline server.
  3. The plugin he provided for Markdown 1.2 does not support Html tags. (the MD file written with VScode is displayed normally)

    Chrome is the latest to solve this problem.
  4. Each jump was delayed because the front end failed to access fonts.googleapis.com.

Personally, I think the choice of Wiki tools should be based on the needs of your environment, and I’m just providing a simple reference.

Appendix:

  • CentOS 7 install XWiki offline
  • CentOS 7 Install Tomcat 9 offline
  • CentOS 7 installed Mysql 5.7 offline
  • XWiki Office import functionality