AIFB Web Portal

The AIFB Web Portal is the public web site of the Institute of Applied Informatics and Formal Description Methods (AIFB) at Karlsruhe Institute of Technology. It uses Semantic MediaWiki to provide a highly customised Content Management System. The site provides content in two languages (German and English), and it offers rich views for browsing different kinds of data. The content of the AIFB Web Portal is regularly edited by most members of the institute, from secretary to professor, but it is not open for public editing.

The AIFB Web Portal has been chosen as the Wiki of the Month in November 2010 since it shows a creative use of wiki technology for building a sophisticated software solution that is very different from classical wiki applications.

Who is using the wiki?
The site is the main public information source about the institute and as such read by many people world-wide, where the primary audience are researchers and students. The wiki can be edited by anybody who has a valid login at the institute's domain in the global authentication system of KIT, probably about 50 to 100 people at any given time. The general policy is that the people who are directly concerned with some relevant content (e.g. the first author of a publication or the principal investigator of a project) are also responsible for creating and updating the respective pages. This means that most people are really editing the wiki more or less regularly.

Besides the usual editors, there is a user group with specific administration privileges. Central pages, templates, and forms can only be edited by this group. This is intended to prevent accidental modifications from having dramatic effects; intentional vandalism or other forms of malicious editing are not expected to occur in the closed user group.

With so many editors of different roles and levels of experience, it is considered very valuable that the wiki keeps a full history of all edits. This seems to be a big advantage over some other content management systems.

What is SMW used for?
Most of the information that is served by the AIFB Web Portal is highly structured. Examples include the information about people (e.g. Denny Vrandecic), projects (e.g. NeOn), and publications (e.g. the SMW journal article Semantic Wikipedia). Pages for such basic types of content items are largely created by filling out Semantic Forms that provide user-friendly input masks for the data. Below is an example that shows the page of the Knowledge Management Research Group and the according editing view (click to enlarge):

Note that the editing screenshot shows some toolbar overlay on the upper right that is only visible to logged in users. The form includes both a German and an English description of the group; see below for more information on the bilingual approach that is used here.

Most of the site's content consists of pages that follow similarly strong formats, and that are typically edited via forms only. Many overview pages exist to provide a dynamic view on such data using inline queries. Examples include the list of all persons, list of projects on each person's page (scroll down), or list of publications. Most query results are presented as lists with a fancy formatting, but there are also event calendars and RSS feeds (see right margin). Some custom data exports have been created for special applications, e.g. there is a BibTeX export for publications.

Most users consider the structure of typical content types as fixed, but site maintainers are still able to add properties or modify input interfaces rather easily. This is considered a big advantage over the previous web portal that was built on top of Zope but required custom database layouts and query scripts that became impossible to maintain after some time. Besides the structured content, there are also some places where formatted wiki text is used. Again, it is considered a big advantage over the previous system that the addition of such texts to structured pages is quick and easy, without requiring any changes to the database or the HTML front-end. Such kinds of flexibility are particularly appreciated when creating a Web portal for a number of rather independently-minded researchers with special individual requirements for augmenting the presentation of their pages.

Behind the scenes
Most of the features that were explained above direct applications of Semantic MediaWiki and the Semantic Forms extension. Other extensions that are used include Semantic Result Formats and LDAP authentication. Much of the initial work on the portal was conceptual rather than technical in nature. Many discussions were necessary to collect requirements from all participants, and for extracting the relevant sets of properties and user interfaces from these descriptions. The data structure used throughout the wiki was created in a top-down manner by maintainers who understood how data has to be encoded in SMW in order to allow for the desired queries.

The second big task for creating this portal was the complex visual presentation of all data. To start with, the site uses a custom skin that complies with the university's corporate design guidelines. These impose special requirements on the position of some elements which cannot be realized by minor modifications of existing MediaWiki skins. In addition, the views provided by inline queries are fairly sophisticated in many places. For example, people are displayed in a special layout that shows their profile images, and publications may easily require dozens of data fields for displaying a proper citation (starting with a potentially large number of authors and editors). These complex visualisations took some time to craft, and have also posed a number of technical challenges.

Possibly the most severe technical problem was performance. Inline queries can easily create very long pages, such as the list of all 2007 publications. It turned out that such pages can slow down the server significantly, to the point where a page that is not in cache cannot be rebuilt in the time that elapses between two read requests to the page – a situation where more and more PHP processes try to reconstruct a page in parallel until the server is completely irresponsive. Investigating this issue showed that the slowdown was not due to SMW, which delivered even very long query results in seconds, but due to MediaWiki needing much more time than expected for processing very long pages. It was discovered that this was due to the many templates that were used for achieving the complex query formatting. As a solution, the fully formatted result was stored as a property value (datatype Text) and only retrieved and printed without much further formatting on the actual query page. Hence the formatting for each publication is now done at editing time and not at query time.

Other technical problems that needed to be solved were more specific to the field of application. A major aspect was the bilingual approach of the whole wiki. It was decided that each page should have two versions: the German one, and an English one that is entitled as the German one but with the additional suffix "/en". This allows the easy navigation between both languages, e.g. when creating language links in the skin. The problem is that both pages must exist in the wiki, and that some information is needed on both (e.g., a person's name) while other information is different on both (e.g., a person's description). The latter problem was solved by storing all information on the German page, making it a kind of master copy of the data. The English page usually only requires a minimal template that pulls in all relevant data. Thus users are not required to manually synchronise two versions of each page.

The other issue was the creation of pages. While it is easy to create a new page with Semantic Forms, this would only create one (master) page, and not another English copy of it. This was solved by a custom modification of Semantic Forms.

Another place where custom software is used is the BibTeX export of publications.