Tools Knowledge Management Lead image: Lead Image © Sorin Colac,
Lead Image © Sorin Colac,

Knowledgebase software

Seat of Knowledge

Scattered documents lying on the file server are an inconvenient resource when admins need to solve problems at the help desk. Free knowledgebase components combine knowledge and structure, providing a better overview. By Kristian Kißling

Help desks are a company's way of utilizing technically skilled staff to process problems and user's questions politely and in a goal-oriented way. This is especially true in IT, where admins and developers fix software bugs for their customers. Besides making a note of the most important data for a problem and feeding the ticketing system with this information, the staff preferably solve the problem immediately on the phone or by email. Ideally, help desk staff should handle 80 to 90 percent of all requests themselves and pass on only the really tough cases to the specialists.

The success rate depends, among other things, on whether the company fosters a culture that promotes gathering and documenting knowledge and whether it creates a clear workflow for problem solving. Help desk personnel, for example, regularly fish in troubled waters when important resources lie broadly distributed over PDFs, wikis, IRC logs, and bug reports on the intranet. A knowledgebase can provide a remedy by bringing together the fragments of expertise and making them accessible.

Depending on specific needs, the requirements for a knowledgebase can be different from company to company. Although standalone knowledgebase applications exist, the database is typically part of a larger work organization system, such as a production management (PM) software tool or an ITIL-compliant IT Service Management (ITSM) system.

In this article, I introduce free knowledgebase components for wikis, project management, ITIL tools, and more.

Help, I Need a Wiki

In small companies, startups, or companies without a help desk, organizing knowledge is often a fairly low priority. In most cases, a more or less logical folder structure exists on the file server, providing a home for help documents and manuals.

Knowledge also is embedded in personal email messages and in staff memories; thus, valuable know-how is lost when an employee leaves the company. As a first-aid measure, a wiki typically is used, or someone tidies up the folder structure jungle. FAQs on the intranet are also a popular means of making knowledge available in the company.

Inside and Outside

In general, a company distinguishes between knowledge for internal and external use. Web hosting companies publish technical knowledge for their clients online in FAQs or HowTos. Customer questions can be answered in this case with reference to the wiki or the FAQ, but this presupposes that someone constantly maintains these documents.

Larger companies have more recently started using stack exchange platforms like Stack Overflow [1]. Interested users can formulate questions and then pick out the best among many answers from other users. The asker and the community then assess the quality of the responses, thereby ensuring relevance.

However, good stack exchanges only work if someone laboriously tidies up the questions, making them understandable, deleting inappropriate and duplicate content, and assigning tags. Two open source platforms in this genre are Open Source Q&A [2] and Shapado [3], both licensed under the GPL and the AGPL, respectively.


When it comes to internal company communications, MediaWiki continues to be the tool of choice; the statistics website Ohloh counts nearly 200 code contributors [4]. Currently, MediaWiki presupposes an installed PHP server version 5.3.2 or later, with a MySQL, PostgreSQL, or SQLite database tied in. Using an LDAP extension [5], administrators can ensure that employees authenticate before creating entries, making it clear later who posted an entry.

Less computer-savvy users are supported by a WYSIWYG editor [6] or at least a help link for the wiki syntax. The structure of wiki entries needs to be logical and the titles of posts as meaningful as possible, so that the integrated search function can easily find them. Being able to associate entries with files, such as images, PDFs, or various kinds of text documents, also makes sense.

You can find many alternatives [7] to the popular MediaWiki, including DokuWiki [8], MoinMoin [9], and Tiki Wiki [10], as well as TWiki [11], Foswiki [12], and XWiki [13].

The last three tools in this list are primarily oriented toward business requirements and come with uncluttered interfaces, an integrated WYSIWYG editor by default, RSS feed support, and, if necessary, commercial services that help you get things set up. Some wikis are almost PM tools, such as Tiki Wiki (Figure 1), whose makers appropriately refer to it as the "Tiki Wiki CMS Groupware."

The feature-studded Tiki Wiki steps over the boundary to groupware.
Figure 1: The feature-studded Tiki Wiki steps over the boundary to groupware.

Projects, Projects

Some bug-tracking PM software tools also integrate wikis as a knowledgebase component. Ticketing systems designed for bug reporting, such as MantisBT [14] and Roundup [15], let you integrate wiki engines, although this can involve a modicum of effort. Other bugtrackers like Bugzilla [16] dispense with a knowledgebase component and accommodate additional information in free text fields.

Compared with wikis, PM tools are much better suited for help desk workers because they include an issue tracker as a central component; unlike a bugtracker, this feature also manages problems that have nothing to do with software. For example, if the company's front door is jammed, or if they need a new trash can, employees can open a ticket – a bug-reporting tool is not really suitable for this.

To open a ticket, the employee sends email to a specific address, and the software automatically generates the ticket from the content ("Hey, we need new trash can!"). From the help desk, on the other hand, staff members can manually convert calls from customers into tickets while on the phone.

In this way, an individually trackable number is assigned to each problem. The ticket manager then assigns a variety of details (metadata) to the ticket, such as the sender and coordinator of the ticket, the date, and the current processing status. Content from the knowledgebase or FAQ can also be stored with a ticket (e.g., PDF documents, articles, or links).

Most PM systems use a web-based approach; often, a wiki is used as a knowledgebase component. This raises the question of what features a knowledgebase actually needs to provide.

Wheat from Chaff

The main goal of a knowledgebase is to give users the tools to create knowledge resources in the form of articles and files and make them readily available quickly and at all times.

Intelligent categorization using hierarchies, metadata, and tags helps to recover information on a subject as quickly as possible later on. Even more important, however, is a good search engine that not only searches through the data quickly but also returns relevant results – including attachments.

The knowledgebase needs to be integrated with the help desk, making it easy to create new products, issue a ticket, or modify and delete existing articles. If email, wiki entries, and documents in PDF format act as data sources for knowledge, the system also needs to transfer this content to the knowledgebase, and the search engine needs to index the content. Ideally, it should be possible for a non-admin – after some training – to control the help desk and the related knowledgebase.

In addition to the technical components, social components also play a major role: Company management must actively support the establishment of the knowledgebase, providing resources and training for the staff dealing with it, thus motivating staff to contribute to the general process of gathering knowledge.

Ticket to Ride

Because free and commercial PM systems are a dime a dozen, I'll presents some typical examples of knowledge databases from known open source systems.

The Ohloh [17] website, which not only tracks activities in these projects, but also the number of users and especially the number of developers involved, helped me in my search for PM systems in widespread use.


Trac 1.0 [18] is written in Python and released under the BSD 3-Clause license; among other things, it comes with its own ticketing system, a Subversion interface, and a journal with a timeline and milestone support. The software requires Python 2.5 on the server, and the database can be MySQL, PostgreSQL, or SQLite. With a little effort, Trac can be also used across multiple projects.

The website says: "Trac allows wiki markup in issue descriptions and commit messages." Thus, it follows that many areas use wiki syntax, if necessary, via a WYSIWYG editor. The Trac wiki acts as a knowledgebase, and admins link entries directly with tickets and comments via Trac links (Figure 2). If you also link tickets with mail addresses via Trac notifications, Trac sends email for ticket changes. Conversely, the Email2trac plugin converts incoming mail to tickets or updates existing tickets. This works well when it comes to HTML email with attachments.

When you create a ticket in Trac, you can attach text, wiki content, and attachments.
Figure 2: When you create a ticket in Trac, you can attach text, wiki content, and attachments.


Redmine [19] is licensed under the GPL, based on Ruby on Rails, and requires Ruby as of version 1.87, Rails in version 3.2.13, and the same databases as Trac for the install. Redmine also has a bugtracker on board and can access various version control systems (Subversion, CVS, Git, and more). Although Redmine includes a wiki, it does not have the look of a wiki, with camelcase in links and texts. It is similar in look and feel to a classic CMS (Figure 3) and uses Textile, a lightweight markup language. To handle multiple projects, it can optionally create wikis and forums for each subproject.

The administration interface in Redmine lets you integrate plugins and configure.
Figure 3: The administration interface in Redmine lets you integrate plugins and configure.

Redmine version 0.8.0 or newer lets users generate and update tickets and comments by email. To this end, you either need a dedicated email server or a cronjob that retrieves messages via IMAP and POP3 [20]. Conversely, ticket managers receive email notifications with changes to a ticket. If Redmine users enable Watchers in the wiki, they are notified by email when a wiki entry changes or when a user posts new articles, documents, files, or entries.

Besides the wiki, a classic knowledgebase is also available as a plugin [21]; after installation, a corresponding entry appears in the navigation menu. Redmine users can now compose, edit, and delete articles, as well as create categories and subcategories, review, comment, tag, and attach files to articles. A dashboard displays the most recently created, most popular, and best-rated articles.

Request Tracker

Used by the Free Software Foundation, NASA, Wikia, and the University of Cambridge, among others, Request Tracker [22] is written in Perl and was released under the GPL. The company behind it, Best Practical Solutions, offers support. The current version is 4.2; the installation requires Apache with mod_perl or Fast CGI and Perl 5.10.1 or newer. Besides the three usual suspects, Request Tracker (RT) also supports Oracle as of 9iR2.

RT comes with a clear-cut dashboard, enables LDAP and Active Directory integration, visualizes relations between tickets in the ticket system, and includes a time-tracking module. Up to version 4.0, the knowledgebase existed as a standalone module with the somewhat provocative name RTFM (RT FAQ Manager); now an integral part of RT, it can be accessed via the Articles menu item (Figure 4).

The RTFM module is firmly integrated in Request Tracker version 4.0 and allows users to create and classify items. These can then be combined with tickets.
Figure 4: The RTFM module is firmly integrated in Request Tracker version 4.0 and allows users to create and classify items. These can then be combined with tickets.

Users can add, modify, search, organize by classes and topics, or globally publish posts. If required, users can define special fields for posts, which they then assign to a class. Access can be restricted to certain user groups. Finally, for reasons of compatibility, an archive is set up for older versions of posts.

If you enable the ArticleOnTicketCreate option in /etc/, you can integrate an Article Hotlist in the form of a drop-down menu in the Create Ticket dialog. Knowledgebase articles can also be integrated using the answer and comment feature in tickets, either with or without a reference to the source. Conversely, users can click the Extract to article button to convert tickets to RTFM posts. The contents of the ticket can be assigned to specific fields in an article class.

ITIL Inside

ITIL, the IT Infrastructure Library, is an internationally accepted de facto standard for the organization of enterprise IT (IT Service Management) and is mainly used in larger IT companies. A number of books describe best practices that help build an optimal IT infrastructure in the enterprises, although ITIL fans do not have to implement all the details. In the publications for ITIL 3, the current version of ITIL, knowledge management for the first time plays a role in ITIL Service Transition [23].

It is true that software solutions cannot be certified in accordance with ITIL, but free service management solutions include their own knowledgebase components and claim to be ITIL-compliant. In the help desk area, these are iTop [24] and the OTRS Framework [25].


The Open Ticket Request System (OTRS) ITSM is the open source stack component by the Open Source Business Alliance (OSBA); it is released under the AGPL, and the current version is 3.3.2. Programmed in Perl and JavaScript and equipped with a web interface, it requires an Apache 2 server with mod_perl2 and Perl as of version 5.10.0. In MySQL, PostgreSQL, Oracle 10g, Microsoft SQL 2005, and DB2, it supports an impressive range of databases, integrates multiple authentication methods (LDAP, Radius, HTTP Auth), and can be linked with monitoring tools and external customer databases. It is auditable thanks to the integrated history, is generally considered to be easily customizable, and has an extensive list of features [26].

The knowledgebase component is a FAQ module that you need to install separately using an integrated package manager. Following installation, the module can be configured for internal, and of late also external, tasks (via Generic Interface, the web services framework). Besides posts, tickets and items from the Configuration Management Database (CMDB) can be linked with the FAQ entries. Article linking via category names was introduced in version 2.2.x.

The FAQ module consists of several components. The FAQ Explorer lets the admin navigate through the knowledgebase. If you want to create an article, you can call the WYSIWYG editor; posts can be linked with various attributes that indicate whether the post describes a symptom or solves a problem. You can also specify title, language, category, and clickable tags. Common metadata, such as the status and creation and modification dates are also in place.

Attachments and images can be added to posts and linked with objects such as tickets and responses. A full-text search and a quick search feature help to find relevant results quickly. Ranking and voting features facilitate the organization of postings; lists of the top 10, and the most recently created and changed, postings are also available.

On request, the system sends email via its own server (Sendmail, Postfix, Exim); the web interface is used for configuration. If you do not have your own mail server, the program will also use the secure or insecure variants of the SMTP, IMAP, and POP3 protocols. Email can also be encrypted and signed using PGP or S/MIME. Postmaster modules allow the admin to add an X-OTRS header to messages, which OTRS then uses to perform actions, such as changing the priority of a ticket or assigning a ticket to a particular customer.

Wide Range

The spectrum of the free knowledgebases is huge and ranges from simple wikis and websites, to PM systems, to ITIL-compliant all-rounders. ITSM solutions, such as OTRS and iTop, are primarily suitable for use in the enterprise, where admins will inventory the computer farm and handle patch management with the same tool. They go well beyond the requirements of an average help desk, and extend into administration.

Smaller and medium-sized companies often find a clear-cut help desk with a ticketing system with a knowledgebase fine for their needs. A good choice here could be a smaller solution like Redmine, Trac, or Request Tracker, although RT already drifts toward ITSM.

It is important that the knowledgebase is well integrated with ticket management. If you do not like wikis because of their tendency toward entropy and their syntax, you might want to opt for RT or the Redmine plugin for knowledgebase-related matters. However, wiki fans will fare equally as well with the popular Trac.

Overall, you can typically reduce your search to a feature comparison: Then, things like quality of documentation, usability of the web GUI, or whether the tools integrate well with the PM system will tip the scales.

Because some manufacturers offer demo installations on the web, enterprises can work through their business cases on a live object, which will also help to reveal the strengths and weaknesses of the software in question. If you just need bug reports in the context of a software project, you will do well to choose a bugtracker like MantisBT or Bugzilla.

Plain vanilla wikis are only suitable as repositories of knowledge because they lack well-integrated ticketing systems. This simplicity does not need to be an obstacle if a company only wants to organize its internal knowledge and is looking for a way to organize a hodgepodge of documents scattered over the file server. For wiki use in the enterprise sector, special platforms such as TWiki, Foswiki, or XWiki are recommended. Ultimately, however, this decision also depends on the programming language used and the usability of the editor or the search function.