|
Dec 17
2009
|
|
|
In the 1980s, Ward Cunningham invented a new method of collaboration called a wiki, which is a Web site where visitors can add, edit, supplement, and remove articles from an encyclopedic store. The most famous example is an online encyclopedia known as Wikipedia (www.wikipedia.org). Users of the Web site have created or contributed to more than 2 million articles currently featured there.
Within the last decade, there has been incredible growth in the wiki phenomenon, especially related to technology. The open source community, in particular, benefits from the wiki Web sites, since many of the programmers of open source applications often lack the time to document their work. A wiki created to feature a particular application (such as the FreeMind mind-mapping tool) allows passionate users to add useful information, tips, and document parts of the program that aren’t self-explanatory.
Joomla is capable of hosting a wiki system through a component known as OpenWiki. OpenWiki is an extension adapted from the open source DokuWiki project (created by Andreas Gohr), which is a PHP application that provides wiki capabilities. OpenWiki is made to be fast and light, so while other wiki applications may include more features (such as the open source MediaWiki that is used for Wikipedia), OpenWiki consumes much fewer resources and provides much more responsiveness.
OpenWiki is available for download here: http://projects.j-prosolution.com/projects/os-projects/project-openwiki.html
Once you have installed OpenWiki, the component will display a simple starter screen. The editing permission system integrates with Joomla’s ACL, so permissions for each group may be set in terms of Read, Edit, Create, Upload, and Delete.
If you click on the Edit This Page button at the top of the screen, the editor window will display the article using standard wiki notation. Internal links are supplied by enclosing a term in double brackets ( [[ ]] ) and external links are denoted with single brackets ( [ ] ). The buttons at the top of the editor window can be used to easily insert codes for things such as image references and heading styles.
Wiki pages are stored as standard text files in the pages directory of the component, as shown here: com_openwikidatapages
Since they are stored as text files, they can be edited and manipulated by any standard text editor. This wiki extension is based on the DocBook format. DocBook is a markup language similar to HTML and was initially created to allow documentation of open source systems such as FreeBSD, KDE, GTK+, Gnome, and Linux. This format was made to hold content data rather than presentation information and so follows the Model-View-Controller (MVC) design pattern.
Since version 4, the DocBook format has adopted the conventions for storing data that are defined by XML. An example of a DocBook fragment would look like this:
<book id=”pro_joomla”>
<title>Professional Joomla</title>
<chapter id=”chapter_1”>
<title>Chapter 1 - Introduction</title>
<para>If you’re reading this book...</para>
<para>The method you use to master Joomla...</para>
</chapter>
<chapter id=”chapter_2”>
<title>Chapter 2 - The Finer Points of Installation</title>
<para>Joomla requires 4 different server technologies...</para>
</chapter>
</book>
Storing the wiki information in this format allows content to be readable outside of the wiki software. That means that articles created in OpenWiki can be later reprocessed into any type of static content desired.
When changes are made to a page, the differences are stored so that previous versions may be examined. You can see the changes made to the main are denoted with a plus (+) sign to the left of the text in the newer version displayed in the right column. On the screen, changes are also highlighted with a color background for easy examination.
The extension does have a number of implementation choices that can be challenging for operators who adopt this extension. Confusing to many users is the lack of a New Page button. Since all pages must be linked from another page, you must create a link in an existing page to create a new page. For example, you can add a new reference to the text of an existing article like this: [[joomla_jumpstart]]. When the link is clicked upon, the new page creation screen is displayed.
Following are some limitations of OpenWiki:
❑ All documents stored in UTF-8 — Documents are only available in UTF-8 character set, regard- less of the character set setting configured for the Joomla system. Therefore, some non-English language content (including other DocBook files) that use Unicode may have problems being posted into the system.
❑ No back-end interface for administration — Because of this, the wiki cannot be managed like a traditional Joomla extension, but must be configured through the front end.
❑ Separate search engine — OpenWiki content is not available for indexing by the Joomla system and, therefore, requires a separate search engine. Thus, content on the Joomla site is invisible to the wiki search, and wiki content is invisible to the Joomla search.
