Wikis

Wikis became famous with the free online encyclopedia Wikipedia. They are essentially webpages that can be edited very fast and simple via the web browser. Most Wiki engines (the program that displays the pages and allow the editing of the content) require at least a web server (e.g. Apache) and a programming language (e.g. PHP). Some wiki engines use a database to store the text and media data, which means that they also require an installed database (e.g. SQL). Just because they use a webserver does not mean that they have to be online. Webserver can also be installed locally on a computer, which means that a wiki can also be available offline and only for the single user of that computer. What first looks like a misuse of a collaboration software, makes sense if you look at the functions a wiki can provide, which make them ideally suited as the basis of a private idea collection.

Functions of Wikis

To give you an idea about the strength of wikis for collecting ideas, here a short overview about the functions (and strengths) of wikis. Keep in mind that wiki engines differ in their functionality and not all might support these features.

Free Structure

Wikis can have any structure you want them to have. While this requires strong discipline of the user, it makes it easy to adapt a Wiki to your needs. You can omit a hierarchy and put all entries on the same level with many links between them or you can make categories — or both. You can also create different indices to find the entries that belong to one topic. On the other hand, you can also (or additionally) tag your entries with keywords and create indices on the fly depending on the search terms you enter.

Version Control

Most wikis store a compressed version of a file whenever it gets changed. They do this automatically and without disturbing the user. This gives you the possibility to redo changes and have a look how an idea progressed over time.

Tagging

Most wikis allow the usage of tags. Make sure you use this conscientiously. Use a list of keywords and stick to it.

Skins

While the wiki engine works in the background, most allow wide customization of the front end. This means that you can give your wiki nearly any look you want to, from plain index cards to a sophisticated notebook layout. If you like Wikipedia’s look and feel, some wiki engines offer this skin (called monobook).

Text gets enhanced but remains intact

Wikis offer an easy way of formating text, e.g. if you want to write a text in bold letters a lot of syntaxes use **text**, if you want to underline a text you write __text__. This formating leaves the text itself intact and still readable as a text file. You can still use the text for other purposes even if the wiki engine does not work anymore.

ch5-wiki_syntax.png

Multimedia files remain unchanged

Many wikis that are browser based (you use and edit them with your Browser like Firefox, Safari, Opera, etc.) can display multimedia files. The advantage wikis have over other solutions, e.g. using Word-documents, is that they leave the multimedia file intact. Uploading an image in a wiki will not change the file in any way (in most cases). This gives you a great way to store images, documents, etc. because whenever you access it, you download a copy from the wiki while the original remains unchanged.

Many plugins available

Good wiki engines have a large community of programmers, who develop tools and plugins for this wiki engine. These can facilitate your work by providing you with plugins, e.g. that display all images in one directory on a given page, allow you to tag pages, display tag or even word clouds (the most often used tags are displayed while the font size corresponds to the frequency of usage), or advanced search capabilities.

HTML and PHP can be used

Most web-server based wikis (can) allow the use of HTML and PHP. This allows you to provide additional functionality to a wiki page. E.g. you can display complex schematics as an image and use image maps to link individual aspects to wiki pages. With PHP you can access databases or provide DATE/TIME functionality.

How to get a wiki

If you want to use a wiki for your idea collection, you have to choose. First between one of many different wiki engines, and then whether you want to install the wiki on your own computer (recommended) or if you want to use a wiki on an online webserver.

Which Wiki Engine is for you?

There are a lot of different Wiki Engines (software) like MediaWiki (Wikipedia’s wiki engine), DokuWiki, Zope, etc. with different requirements and abilities. Their look and feel and functions differ widely, so try a few until you find the one you like. Wikipedia has a good overview of different Wiki Engines (see page 412). Personally I recommend DokuWiki: it is fast, reliable, uses folders and text files for structure and data storage and offers a wide variety of plug ins. It is also available as “DokuWiki on a stick”, which makes it very easy to install, albeit slower in usage compared to a normal installation.

Local or Online?

You do not need to install the wiki on a webserver on the internet but you can (and should) install it on your own computer. This usually means installing a webserver and PHP on your computer (depending on the wiki engine you want to use). If you use an Apple Macintosh with OS X, you are lucky, as a Webserver and PHP is already included in the operating system. Most wiki engines have adequate help files available that tell you how to install a web server and often, easy installation packages are also available. However, keep in mind that you are essentially transforming your computer into a webserver while doing so, which means that you should (must) consider the security implications of doing this. Make sure you follow the instructions to secure your system when you install a webserver. Otherwise you open your system to all kinds of attacks and the theft of your ideas will be the least problem you will have.

.txt-file based wikis vs. database based wikis

Wikis differ how they store the information. Some wiki engines use databases, e.g. Media-Wiki uses an SQL database, while others use simple text files. At first glance it might seem like a database is more advantageous, e.g. regarding the speed of usage. However, I can strongly recommend .txt-based wikis for most idea collections, since they have the following advantages:

Future proof

Text files are extremely future proof. Even if the wiki itself is not supported anymore, the data in the text file can still be accessed and the information is still available for future use.

Easier installation and administration

No SQL-database must be installed and administrated, saving time and effort.

Easier backups

Backups can be easily made by compressing the data folder and saving it to an external medium. No database export function is needed to do so.

Files are directly accessible with an external editor

The files with the data are directly accessible via an external editor, e.g. a normal text editor. While changes via an external editor have their downsides (e.g. the changes are not stored in the version control of the wiki, the search function will probably not find the changes until it has updated its index, and you may have to change the file permissions for the wiki), it is an extremely fast way of adding information when you do not want to use your browser. On a Mac you can use Quicksilver to quickly access the files of the wiki, open them, enter information via a text editor and save them (see page 257).

Enhanced Wiki

Frames and JavaScript

One way in which you can make your work easier while using a browser based wikis is by enhancing the wiki via frames and JavaScript. You can open any webpage in a frame, allowing you to display your wiki page on the left side of the browser window and another page on the right side. Using JavaScript-functions in the right side frame, you can access the content that is currently displayed in the text area of the wiki on the left side frame (i.e. when you are currently editing an entry, the text is displayed in a text area, allowing you to change it). JavaScript can be used to insert templates (e.g. if an entry for an idea usually consists of a header, a list of keywords and an end-of-file text, you can copy this text into the text area via a simple click) or any other information. You can also quickly insert tags, e.g. from a tag-list on a html-page (see page 218).

Frames also allow you to open and compare multiple pages of your wiki at the same time. They can also be used for a navigation menu. Since any (unmodified) link opens the page in the same frame, you can use complex menu structure in the one frame, and display your wiki in the other.

While the options of using frames to access and edit the content of a wiki are extremely powerful, few wiki engines so far have included this.

rbeb.png Ferret (Frame and JavaScript Enhanced Wiki)  => Information on including DokuWiki in Frames)


rbeb.png DokuWiki Adjustments => Improving the appearance of DokuWiki


ch5-wiki_frame.png

PHP (not as part of the wiki)

If you can write php-scripts, you can use it to automatically generate index pages of all your entries. Use a function that searches for all entries and then creates a file with links to these entries in the syntax of the wiki engine. If you have a lot of entries it pays to create one page for every letter of the alphabet to divide the content into manageable parts. Even if the wiki engine did not offer these functions there is no reason why you cannot add additional functionality. However, be very careful that you do not interfere with the function of the engine. Creating additional pages works fine with text-based wikis, but I would not recommend this for database-based wikis.

There are many ways to adapt a wiki to your liking. Make sure to have a look at the help pages and the forums to find out, how you can make your work easier.

Mobile Access to Wikis

You might want to access your wiki-based idea collection on the move. There are four possible ways to do so: notebook, text file wiki, webserver on a stick, and online.

Notebook

The easiest way to access your wiki-based idea collection on the move is to use a notebook. Installing a webserver locally on the notebook allows you to access the collection anytime and anywhere you have your notebook with you, independent of network access.

text file wiki

If the wiki uses text files for data storage you can simply access those (e.g. on an usb-stick) where ever you are. However, keep in mind that edits might not be recognized by the wiki engine’s search function until it updates the search index. This can be done manually in some wiki engines.

Webserver on a stick

If you use a browser based wiki you will need a webserver. This program does not need to be installed on the harddisc of your computer. There are mobile webservers that can be installed on an USB-stick (e.g. XAMPP, Server2Go). This allows you to take your wiki wherever you go. However, this solution is often much slower than installing a webserver on the harddisc of your computer.

Online

If you install your wiki on a online webserver and not locally on your computer, it allows you to access the collection wherever you have internet access (providing the server is not down). However, keep in mind the disadvantages of this solution (page 239).

Wikis and Data Security

While concerns about data security are sometimes understandably exaggerated, Wikis are made for collective access. To protect your Wiki you have to prevent it to be used in the way it was originally intended (albeit most wikis can restrict access). Most web server, SQL database and wiki installations have information about ways to protect the program from unauthorized access, e.g. by allowing only local access or using a password protection. Be careful if you change the file permissions for a text based wiki to access them with a normal text editor. This is something that was not intended by the programmers and might leave your computer open to unauthorized access. When you have secured your wiki, test it from a different computer. I was surprise (or rather shocked) to see that while my firewall settings told me that they would block any access to my wiki that was not done from the computer itself (it was a wiki that was installed as localhost), but it was nevertheless possible to access the wiki via the internet. So even if you use a wiki only on your own computer, and you have made sure that the access is only possible from your own computer and not remotely, it pays to use an additional layer of security and require a password to access the wiki. Your browser can store the password (since only you use it) but anyone who accidently finds your wiki while you are connected to the internet will have an additional hurdle to overcome. Keep in mind that for most dedicated hackers this hurdle will be rather easy to overcome.

Text Data Backup vs. Media Data Backup

If the Wiki stores the text data in a separate directory than the media data (e.g. files you uploaded like .doc-documents, .xls-spreadsheets, .pdf-files), you can easily make backups by compressing the text data folder. While compressing is not recommended for long time storage, it makes the handling of the several hundred text files more easy (and considerably faster). You need to backup the (probably large) media folder only when you have changed it, which is probably less often than the text folder.

Tips for using this kind of collection

Keep a clear structure. A wiki has no inherent structure and it is easily possible that the wiki gets very confusing very fast.

Modify it to suit your needs (e.g. by making it more appealing by introducing HTML-Imagemaps to the Wiki).

Organizing the collection

Structure of individual entries

Template: You can define a template in some wiki engines, use copy and paste for a new page (e.g. from a “template page” you have easily accessible in your wiki) or use frames and copy the template information via JavaScript (see page 270).

Free form: Create new page.

Structure of the idea collection

Alphabetical order: Creating separate pages that contain all entries with a, b, c, etc. In .txt-file based wikis this can be automated with PHP (search for all entries, sort alphabetically, write them in different files). Some wiki engines can display the entries in this fashion. Manually, but automatically possible if implemented by engine or written via PHP.

Thematic order: Using overview pages that contain all entries to a given topic. Tagging of pages with topic tags and searching for these tags can also be used. Manually with overview pages, automatically with tags.

Chronological order: Pages can be named manually according to date and time. Tags can be used (e.g. year, month, day, hour, minutes tags).

Order by index number: Manually assign consecutive numbers for each entry as page name.

Order by multiple principles: Different systems can easily be used. Index number ordering is not necessary since the page name must be unique and can be used as reference.

Reference Material

Within the collection: Should allow all media files. Even if stored in another directory, they can be linked from each page. Wikis were made to do this.

As different collection: Depending on the capabilities of the program used for the idea collection and the reference collection either direct links are possible or a written link must be made.

 


Book Navigation

Notes Management Systems  |  Other programs for collecting ideas


  1. No comments yet.
  1. No trackbacks yet.
*