In my last post on wiki applications, I mentioned that there are three types of wiki applications: public wiki, enterprise wiki, personal wiki. One of enterprise wiki is Twiki which is open source wiki. In my today's post, I am going to describe Twiki.
TWiki is a flexible, powerful, and easy to use enterprise wiki, enterprise collaboration and web application platform. It is a Structured Wiki, typically used to run a project management system, a document management system, a knowledge base, a team portal or any other groupware tool, on an intranet, extranet or the Internet. Users without programming skills can create web applications.
Developers can extend the functionality of TWiki with plugins. Users can create wiki applications using the TWiki Markup Language. TWiki looks and feels like a normal Intranet or Internet web site. However it also has a Edit link at the bottom of every topic (web page); everybody can change a topic or add content by just using a browser. TWiki fosters information flow within an organization, lets distributed teams work together seamlessly and productively, and eliminates the one webmaster syndrome of outdated intranet content.
TWiki has been downloaded over 500,000 times and is used daily by millions of people in over 100 countries. Some larger deployments have several 100,000 pages and over 10,000 users. TWiki is developed by an active open source community.
TWiki is installed on many web sites, mainly behind corporate firewalls. Many major companies use TWiki because it is very user friendly compared to some well established commercial groupware systems.
Companies are deploying TWiki in different ways, and TWiki is quite flexible to adapt to different needs.
This is a non- comprehensive list of how TWiki is being used:
- to replace a static intranet. Content is maintained by the employees, thus eliminating the "one webmaster syndrome" of outdated and insufficient intranet content;
- as a knowledge base and FAQ system;
- to design and document software projects;
- to track issues (i.e. bugs) and features;
- as a document management tool;
- to collaborate on common goals;
- as a software archive, i.e. the TWiki Plugins archive;
- as a company internal message board, i.e. for job listings.
Twiki Major Features
TWiki has a plugin API that has spawned over 400 extensions to link into databases, create charts, tags, sort tables, write spreadsheets, create image gallery and slideshows, make drawings, write blogs, plot graphs, interface to many different authentication schemes, track Extreme Programming projects and so on.
TWiki as a structured wiki provides database-like manipulation of fields stored on pages, and offers a SQL-like query language to embed reports in wiki pages. Wiki applications are also called situational applications because they are created ad-hoc by the users for very specific needs. Users have built TWiki applications that include call center status boards, to-do lists, inventory systems, employee handbooks, bug trackers, blog applications, discussion forums, status reports with rollups and more.
The interface of TWiki is completely skinnable in templates, themes and CSS. It includes support for internationalization with support for multiple character sets, UTF-8 URLs, and the user interface has been translated into Chinese, Czech, Danish, Dutch, French, German, Italian, Japanese, Polish, Portuguese, Russian, Spanish and Swedish.
TWiki is primarily used at the workplace as a corporate wiki to coordinate team activities, track projects, implement workflows and as an Intranet Wiki. The TWiki community estimates 40,000 corporate wiki sites as of March 2007, and 20,000 public TWiki sites. TWiki customers include Fortune 500 such as Disney, Google, Motorola, Nokia, Oracle Corporation and Yahoo!, as well as small and medium enterprises,such as ARM Holdings, and DHL. TWiki has also been used to create collaborative internet sites, such as the City of Melbourne's FutureMelbourne wiki where citizens can collaborate on the future plan.
TWiki is implemented in Perl. TWiki is a cgi-bin script written in Perl. It reads a text file, hyperlinks it and converts it to HTML on the fly.Wiki pages are stored in plain text files. Everything, including metadata such as access control settings, are version controlled using RCS. RCS is optional since an all-Perl version control system is provided. TWiki scales reasonably well even though it uses plain text files and no relational database to store page data. Many corporate TWiki installations have several hundred thousand pages and tens of thousands of users. Load balancing and caching can be used to improve performance on high traffic sites.
TWiki has database features built into the engine. A TWiki Form is attached to a page as metadata. This represents a database record. A set of pages that share the same type of form build a database table. A formatted search with a SQL-like query can be embedded into a page to construct dynamic presentation of data from multiple pages. This allows for building wiki applications and constitutes the TWiki's notion of a structured wiki.