You are here: Resources > Deliverables > Other > D1.3: Wiki System > 

D1.3: Manual of the Extended Wiki System (dr_wiki)

  Title:
 

 

Table of Contents 

 

Executive Summary

In today’s digital world, Wikis (information systems that allow users to very easily create, edit, and link Web pages) have proven to be very successful means of exchanging information. They are widely used for all kinds of information, which range from general encyclopaedias to topical Wikis. Some of these Wiki projects have become very successful and evolved into widely used information pools (e.g. Wikipedia). The use of Wikis has therefore been adopted into the FIDIS project to facilitate the management, the authoring and the diffusion of knowledge related to the domain of “Identity”.

The term Wiki also refers to the collaborative software (Wiki engine) used to create such information collections. In essence, the Wiki as a software system is a vast simplification of the process of creating HTML pages, and thus is a very effective way to exchange information through collaborative effort. 

This document describes the technical aspects (e.g. the features, general development notes, the user manual and so on) of the Wiki implementation used for the FIDIS project. The software itself is based on the Typo3 extension framework. The resulting custom Typo3 extension is called “DR_Wiki” and is published under the GNU General Public Licence (GPL). Currently there are about 2000 installations of this extension available on the Internet.

Introduction

What is a Wiki?

A Wiki is an online collaborative information system infrastructure in which a community of users, or small groups, can create content, edit it, and make this content available to a large audience. 

In today’s digital world, Wikis are widely used to support the collaborative construction of large general encyclopaedias (e.g. Wikipedia), the knowledge sharing of small groups or communities working on a specialised topic, or the collaborative authoring of documents.

On the technical side, Wikis are based on a Wiki software component that allows users to very easily create, edit, and link Web page using a standard Web browser. Single pages in a Wiki are referred to as a “Wiki page”, while the entire body of pages, which are usually highly interconnected, is called “the Wiki”. The editing of the Wiki is based on the use of a simple markup language in which an editor can easily specify the formatting (such as headings, bullets and so on) of Wiki pages, and also to hyperlink them with one another via the terms included in this page. Wikis also usually offer other functionalities for facilitating the coordination of different authors such as: locking the content of pages under edition; content versioning and history (the system archives the different version of the Wiki page); discussion pages (a Wiki page may have an associated page for discussion); and so on.

On the non technical side, Wikis propose a set of principles, processes and guidelines that can be used to regulate and coordinate the knowledge authoring and diffusion process in the community of the users making use of these Wikis. For instance, many Wikis (such as Wikipedia) rely on the concept of public and open source content, in which everybody is allowed to create or update the Wiki pages, and to make use of this content in various contexts (subject to proper citation of the author). In some other cases, more restricted Wiki can exist, in which access is restricted to a particular group, or for which you need to authenticate before publishing. The processes and guidelines include the description of the different practices (such as style policies, templates, etc.) to be used to create high quality content, or to address issues that can occur in collaborative authoring contexts (such as correcting errors, disambiguating terms, resolving disputes, or addressing vandalism).

“DR_Wiki: The Typo3 Wiki Engine Extension

Foundations

DR_Wiki” is the Typo3 Wiki Engine Extension that has been developed for the FIDIS project to implement the FIDIS Wiki. This extension is used in the project both as a standard Wiki, and to facilitate the work of the individual Workpackages. “DR_Wiki” itself is based on another Typo3 Wiki Engine, which was customised to meet all of the FIDIS requirements (e.g. advanced editing, MediaWiki compliance, etc.)

The decision to develop a customised Typo3 extension, rather than using one of many freely available Wiki engines, was motivated by the need to provide an integrated information infrastructure for the FIDIS NoE.

Looking at the FIDIS Communication Infrastructure (FCI), the system resides on a Typo3 content management system (CMS), being installed on the FIDIS servers at:

  1. The FIDIS project public web site: www.fidis.net and 

  2. The FIDIS project intranet: internal.fidis.net 

Technical Aspects

Typo3 itself is a very modular application server based on PHP and the MySQL database, allowing a developer to extend its functionality using a standardised application programming interface (API). These so called Typo3 extensions are pieces of PHP code which add certain functionalities to a Typo3 installation without changing the original Typo3 code (“core”). illustrates the API and the general design of Typo3 in more detail.

Therefore, in order to seamlessly integrate the Wiki system into the existing CMS, the extension is based on this API, using the mechanisms of Typo3, such as intelligent caching, user authentication and handling and its security features. Furthermore, this also enables the system to have several instances of the “DR_Wiki” extension, serving different Workpackages, etc.


Figure : The Typo3 API

Features of “DR_Wiki”

The Wiki extension currently supports the following features: 

Wiki Markup: 

  1. MediaWiki compliant syntax for markups (cp Annex). 

  2. Advanced formatting and integration of external resources (links, images, etc.). 

  3. Support for tables, allowing a more complex page layout. 

  4. Support for templates in Wiki pages. 

 

Wiki Editing: 

  1. General formatting of Wiki page content in an easy to use text-editor. 

  2. Sections for discussing content of Wiki pages. 

  3. Read-only versions of a Wiki for public dissemination of closed Wikis. 

  4. Multiple-redirecting of pages. 

  5. InterWiki links to other information repositories (e.g. Wikipedia, FIDIS Wiki, etc.) and rudimentary namespaces for categorising information. 

  6. HTML export of Wiki pages for usage in other documents. 

  7. Versioning of Wiki pages and page history. 

  8. Difference engine to find changes in different page versions (“diff”). 

 

Technical Aspects: 

  1. Intelligent caching of rendered Wiki pages and template parts for higher performance. 

  2. Wiki plugins for active database access to the Wiki pages (e.g. display of general page Meta data, author, edit history, etc.). 

  3. Highly customisable Typo3 extension. 

 

General User Manual

A Basic Wiki Page

When opening a web-page containing the “DR_Wiki” extension, one will find the following four general components:


Figure : Sample Wiki page of the "DR_Wiki" extension

  1. The headline, including the page title and a link to the discussion of the current page. By clicking on the “Discussion” link on top of a page, the corresponding “talk page”, which contains comments about the page from other Wiki users, will be opened. If a corresponding talk page exists, a “«” will be displayed on the right of the discussion link on top of the page. 

  2. The actual page content. 

  3. The Wiki toolbar, providing the basic functions, such as: 


    1.     The “home” link taking the user back to the entry page (“HomePage”) of the current Wiki.


    2.     The reload button, updating the content of the current Wiki page. This is useful if several users edit the page at the same time.


    3.     The edit button for editing the current page.


    4.     The version button, displaying the version history of the current Wiki page.


    5.     The download button, to export a plain HTML version of the current page, which can be used in other documents.

  4. The Meta Data, containing information about: 

    1. The last person editing the page. 

    2. The date and the time the last change. 

How to edit a Wiki page

It is very easy to edit a Wiki page. Simply click on the edit icon
  of a Wiki page (top or bottom). This will open up the edit-view of the current Wiki page. The editor consists of the following basic components (see Figure below for details):


Figure : Editor for a Wiki page

  1. The editor toolbar, containing the basic markups.  

  2. The actual text area containing the Wiki source of the current page. 

  3. The save and preview buttons. 

  4. The summary field for general editing notes. 

Icon 

Result 

Shortcut


Bold text 

[Shift + Alt + B]


Italic text 

[Shift + Alt + I]


Internal link 

[Shift + Alt + L]


External link 

[Shift + Alt + X]


Level 2 headline 

[Shift + Alt + H]


Horizontal line 

[Shift + Alt + R]


Signature and Date 

None

Table : The icons on the editor toolbar

 

 

The most convenient way to edit the contents of a Wiki page is to use the toolbar, which works similar to a toolbar available in a standard word processor or editor. describes the icons and their functions in more detail.

Another way to edit a page is manual entry of the Wiki markups. A detailed list of all available markups and several examples can be found in the annex of this document (pp. ). In general, the Wiki markup language is compliant to the syntax of the de facto MediaWiki, which is used for one of the largest Wiki projects: Wikipedia. This also enables the user to incorporate their own articles into Wikipedia or other projects.

When finishing the edit, one should write a short edit summary in the small field below the edit-box. This text should describe the changes done to a page for the benefit of other editors. After that, the “Preview” function (“ALT + P”) allows the user to see how the changed document will look. If necessary, additional changes can be applied to the preview version. By pressing the “Save” button (or “ALT + s”), the changes will be written to the data repository and immediately applied to the article. The “Cancel / Exit” link on the other hand will abort the editing of a page and will leave the data untouched.

Simple usage scenarios

Given below are three simple examples demonstrating a small amount of the Wiki’s functionality. Further markups, beyond those shown here are given in section .

Summary: When editing an existing article or if a word or phrase ought to have an article of its own linked in, just put it in double square brackets, [[like this]]. This is the first step to create a new page. By clicking on the new link one will reach a new empty Wiki page. The page title is automatically set to the text used in the double square brackets.

 

Method: 


Navigate to the text passage where you would like to add a link to a new page and click on the edit button to enter the Wiki editor. 

 

 


Choose one or a few words and put them into double square brackets. This creates a link to the new page.  After that press the save button or [ALT+s] to preserve the changes.

 

 


The automatically generated question mark by the new link indicates that the link refers to an empty page. Open this empty page by clicking on the link and then fill the new page with content.  

 

 


The page title is the text typed into the double square brackets when making the link. At the bottom of the editing screen you have space to write a short summary about what you have done. This summary will be displayed in the page history and is useful for other editors. Press the save button and the new page (in this example ‘porro quisquam’) will be created. The automatically generated question mark by the ‘porro quisquam’ link on the previous page will disappear.  

 

Case 2: Create a Redirect

Summary: Redirects are used to refer to other pages. If a user tries to access a page, containing a redirect, he or she will be automatically redirected to the page stated in the redirect markup. One example usage could be the use of abbreviations, i.e. ‘IDM’ actually refers to the page ‘Identity Management’, another would be if a page has been removed altogether, with its original content added to a different page and a final example would be if a page has had its name changed.

 

Method: 


The first step is to create a new page by creating a new link (double square brackets, as shown in section ) or by editing an existing page.

 

 


In the page to be redirected from, enter the redirect-markup into the first line, pointing to the target page of the redirect. The redirect markup is shown here in the image to the left of this text, with the target page name in the double square brackets. In this example, anyone attempting to see the page with the redirect link in it will actually be redirected to the page ‘porro quisquam’.

After entering the markup, press the save button or [ALT+s] to preserve the changes.

 

 


Now anyone using the ‘blandit augue’ link will be automatically redirected to the article ‘porro quisquam’.  

 

Summary: The “diff-tool” is a utility that shows the differences between two page versions, allowing a user to compare any previous version to the current one.

 

Method: 


The first step to compare different page versions is to click on the version icon in the toolbars at the top or at the bottom of the Wiki. 

 

 


Now you are shown all the different versions of the Wiki page and any additional information (e.g. date, summary, etc.). By clicking on the ‘compare to newest’ link, the differences between the two versions will be shown. 

 

 


The comparison of the page versions will be done word by word. If you compare an old version to the latest one, the red coloured segments refer to items found in the older version, but not in the latest, while the green segments represent differences found in the latest page version that were not in the older one. Black means that no differences were found.

 

Conclusion and Outlook

Considering the features and options offered by the Wiki extension, it is clear that the work of the various FIDIS Workpackages can now be facilitated in a more convenient and effective fashion. Furthermore, the dissemination of the internal FIDIS Wiki onto the public FIDIS website (deliverable D2.7) can be easily implemented by utilising this tool specifically with its read-only feature. 

The FIDIS Wiki engine itself will be continually maintained and developed by WP1, especially since its requirements will need to change as the dynamic FIDIS project evolves.

General Formatting Markups

In order to format the content entered into DR_Wiki, the following markups can be used: 

Markup  

Description  

Paragraphs <p>

A single newline generally has no effect on the layout. These can however be used to separate sentences within a paragraph. Some editors find that this aids editing and improves clarity when utilising the ‘diff-tool’ (used by the editors to compare different versions of a page, see section ).

An empty line starts a new paragraph. 

* item 1

Creates a bulleted list such as:

  1. item 1 

  2. item 2 

  3. item 3 

# item 1

Creates a numbered list such as:

  1. item 1 

  2. item 2 

  3. item 3 

* item 1

Both types of lists can also be combined:

  1. item 1 

  1. item 2 

  2. item 3 

: text

A colon indents a line or paragraph. Works similar to the bulleted and numbered lists: 

text 

     even more text

                  even more text

[[word]] 

A word between double square brackets creates a new internal link to a Wiki page, in this case for the term “word”. Links appear as bold text when the article is viewed. See section for more information.

[[HomePage]] 

Creates a link specifically to the starting page of the Wiki. 

[[word|alternative text]]

Creates a new internal link to a Wiki page called ‘word’, but using the ‘alternative text’ as link title. 

[[word]]trail

Creates a new internal link to a Wiki page, using the combination wordtrail as link title.

  1. [[machine]]s machines (link to page called: machine)

[[ns:word]]

Creates a new internal link to a Wiki page called ‘word’ in the namespace ‘ns. Currently the following namespaces are available:

  1. Wikipedia creates an external link to the English version of the Wikipedia encyclopaedia.

  2. Discussion discussion pages of the individual Wiki pages.

  3. IMDB Link to the international movies database.

  4. FIDIS Link to the FIDIS Wiki on Identity related terms (e.g. “[[FIDIS:WP1]]”)

  5. User User pages.

  6. Categories are also used as namespaces: 

    1. Category:IDM 

    2. Category:Identity 

=word=

Creates a heading (level 1 - H1-tag). 

==word==

Creates a heading (level 2 - H2-tag). 

===word===

Creates a heading (level 3 - H3-tag). 

====word====

Creates a heading (level 4 - H4-tag). 

=====word=====

Creates a heading (level 5 - H5-tag). 

======word======

Creates a heading (level 6 - H6-tag). 

imageURL

Inserts an image from ‘imageURL’ into the Wiki page. Currently only gif, jpeg, jpg, and png images are allowed. 

Example: 

  1. http://somedomain.org/myimage.jpg

URL

URLs and email addresses are automatically converted to real HTML links. Currently ftp, http(s), mailto, irc, gopher, and news URLs are recognised.

Examples: 

  1. mailto:someone@somedomain.org

  2. http://www.somedomain.org

[URL link-text]

Creates a link using the name as link-text. Currently ftp, http(s), mailto, irc, gopher, and news URLs are recognised. 

Examples: 

  1. [mailto:someone@somedomain.org My Email]

  2. [http://www.somedomain.org My Domain]

[URL]

Creates an enumerated link. Currently ftp and http(s) URLs are recognised. 

Examples: 

  1. [mailto:someone@somedomain.org]

  2. [http://www.somedomain.org]

—— 

Creates a bar / horizontal line (<hr>).

”text” 

Sets the text to italic.

”’text”’

Sets the text to bold.

””’text””’ 

Sets the text to bold & italic.

{ | params | } 

Creates a new table (cp. Chapter ).

 HTML Tags

Some HTML tags are allowed inside a Wiki. By default, the the tags below are currently supported:  

<br />, <b>, <i>, <p>, <u>, <center>, <hr />. <sub>, <s>, <small>, <blockquote>, <td>, <tr>, <th>, <table>.

#REDIRECT [[IDM]]

Redirect one article to another by placing a directive like the one shown on the left on the first line of the article (such as at a page titled "IDM" “Identity Management”).

You can <s>strike out deleted material</s> and <u>underline new material</u>.

The example on the left would display: 

You can strike out deleted material and underline new material.

~~~

[Discussion only]

Adds the user’s login name to the article as signature. Only works for the “Discussion” namespaces. 

  1. ~~~~ will be replaced by “Frank Idis”

~~~~

[Discussion only]

Adds the user’s login name and date to the article as signature. Only works for the “Discussion” namespaces. 

  1. ~~~~ will be replaced by “Frank Idis” + date

~~~~~

[Discussion only]

Adds the current date to the Wiki page. 

{{templatename}}

Templates are an easy way of adding pre fabricated text elements to a Wiki page. This mechanism can be used to insert repeating text elements to a Wiki page, such as notes, pre-formated tables and so on. Generally talking, templates are Wiki pages that reside in the namespace “Template”, such as”Template:templatename”. By adding the name of the template into curled braces without the namespace marker, the content of a template page is added into the Wiki page and rendered into HTML. 

Wiki Variables

These markups can be used to automatically display additional/dynamic (Meta-) information on a Wiki page. 

Markup  

Description  

{{PAGENAME}}

Displays the name of the current Wiki page. 

{{GETDISCUSSIONLINK}}

Returns an internal link to the connected discussion page or an empty string if no discussion is present. 

{{REVISIONID}}

Returns the ID of the current Wiki page. 

{{NAMESPACE}}

Returns the name of the current namespace. 

{{DATE}}

Returns the current date string (Y-m-d H:i:s). 

{{CURRENTMONTH}}

Returns the current month as numerical value (e.g. 11). 

{{CURRENTMONTHNAME}}

Returns the current month as word (e.g. November). 

{{CURRENTMONTHNAMEGEN}}

Returns the current month as 3 letter short version (e.g. Nov). 

{{CURRENTDAY}}

Returns the current day as numerical value (e.g. 1). 

{{CURRENTDAYNAME}}

Returns the current day as word (e.g. Wednesday). 

{{CURRENTYEAR}}

Returns the current year (e.g. 2005). 

{{CURRENTTIME}}

Returns the current time (hh:mm). 

{{SWATCHBEATS}}

Returns the current time in Swatch Internet Beats. 

{{PAGEAUTHOR}}

Displays the author of the current page. 

{{NUMBEROFARTICLES}}

Displays the number of articles in a Wiki. 

{{ALLCONTRIBUTINGAUTHORS}}

Displays oll authors contributing to a Wiki 

{CONTRIBUTINGAUTHORS}}

Displays all authors contributing to an article of a Wiki page. 

__NOTOC__

Deactivates the generation of a TOC. 

__NONUMBERHEADINGS__

Deactivates the generation of a header numbers. 

{{VERSION}}

Displays the release number of the Wiki engine. 

Special Characters

Other special characters such as: Diacritical marks, punctuation, commercial symbols, Greek characters, mathematical characters. 

Markup  

Description  

&Agrave; &Aacute; &Acirc; &Atilde; &Auml; &Aring;

&AElig; &Ccedil; &Egrave; &Eacute; &Ecirc; &Euml;

&Igrave; &Iacute; &Icirc; &Iuml; &Ntilde; &Ograve;

&Oacute; &Ocirc; &Otilde; &Ouml; &Oslash; &Ugrave;

&Uacute; &Ucirc; &Uuml; &szlig; &agrave; &aacute;

&acirc; &atilde; &auml; &aring; &aelig; &ccedil;

&egrave; &eacute; &ecirc; &euml; &igrave; &iacute;

&icirc; &iuml; &ntilde; &ograve; &oacute; &ocirc;

&oelig; &otilde; &ouml; &oslash; &ugrave; &uacute;

&ucirc; &uuml; &yuml;

À Á Â Ã Ä Å
Æ Ç È É Ê Ë
Ì Í Î Ï Ñ Ò
Ó Ô Õ Ö Ø Ù
Ú Û Ü ß à á
â ã ä å æ ç
è é ê ë ì í
î ï ñ ò ó ô
œ õ ö ø ù ú
û ü ÿ

&iquest; &iexcl; &sect; &para;

&dagger; &Dagger; &bull; &ndash; &mdash;

&lsaquo; &rsaquo; &laquo; &raquo;

&lsquo; &rsquo; &ldquo; &rdquo;

¿ ¡ § ¶
† ‡ • – —
‹ › « »
‘ ’ “ ”

&trade; &copy; &reg; &cent; &euro; &yen;

&pound; &curren;

™ © ® ¢ € ¥
£ ¤

&alpha; &beta; &gamma; &delta; &epsilon; &zeta;

&eta; &theta; &iota; &kappa; &lambda; &mu; &nu;

&xi; &omicron; &pi; &rho; &sigma; &sigmaf;

&tau; &upsilon; &phi; &chi; &psi; &omega;

&Gamma; &Delta; &Theta; &Lambda; &Xi; &Pi;

&Sigma; &Phi; &Psi; &Omega;

α β γ δ ε ζ
η θ ι κ λ μ ν
ξ ο π ρ σ ς
τ υ φ χ ψ ω
Γ Δ Θ Λ Ξ Π
Σ Φ Ψ Ω

&int; &sum; &prod; &radic; &minus; &plusmn; &infin;

&asymp; &prop; &equiv; &ne; &le; &ge;

&times; &middot; &divide; &part; &prime; &Prime;

&nabla; &permil; &deg; &there4; &alefsym; &oslash;

&isin; &notin; &cap; &cup; &sub; &sup; &sube; &supe;

&not; &and; &or; &exist; &forall; &rArr; &hArr;

&rarr; &harr;

∫ ∑ ∏ √ − ± ∞
≈ ∝ ≡ ≠ ≤ ≥
× · ÷ ∂ ′ ″
∇ ‰ ° ∴ ø
∩ ∪ ⊂ ⊃ ⊆ ⊇
¬ ∧ ∨ ∃ ∀ ⇒ ⇔
→ ↔

Tables can be rendered using the following syntax (pipe-syntax): 

Markup 

Description 

{ | params | }

Creates a new table. A table is defined by {| ”params” |} which is the same as the HTML:

<table ”params”>Insert non-formatted text here </table>

Please note: You must include the space between “{|” and params, else the first parameter is ignored.

{ | border = 1-n

Create borders. Furthermore, most of the standard HTML table parameters work for Wiki tables too (e.g. cellspacing, cellpadding, bgcolor, etc.) 

|+ Caption

Creates a caption for the table: <caption>Caption</caption>

!params|cell1

Creates a header-cell (<th>). Functions the same way as <td>, except "!" is used instead of the opening "|". "!!" can be used instead of "||".

|-