We have received many mails on the mailing lists about different features that would be needed for writing scientific papers or other usages in an academic environment. This shows that:

  • There is a place for XWiki in the academic environment
  • There are atempts to use XWiki in universities
  • There are several features that XWiki lacks for that

This is not a product for which there is a commercial market, at least not if it is designed to serve only academic users. This means that we must also take into account that it should be usable in any company, and some of the features should be appealing to business users.

Required Features

These should be implemented for a 1.0 release.

LaTeX equation support

This is the feature most frequently requested, and which is not that hard to implement if we use existing GNU/linux shell tools. If we want the product to be portable, with no requirements on the OS and external software, then we should search for a java implementation.

The output should be either as MathML or as PNG (maybe even SVG?), based on the user preferences and the browser capabilities (HTTP Accept headers).


...from .tex, export to .dvi, .ps, .pdf, archive with .tex and graphics. We already have support for PDF, and the existing FOP-based exporter can also export postscript. DVI can be done using shell tools.

For .tex export we can write a simple velocity template for the header part, and, if the document is written using the LaTeX syntax just add the content, or use Doxia for changing the current syntax to the LaTeX syntax.

A nice feature would be to upload a tex style class and export the files using that class.

LDAP/OpenID integration

Not a requirement for this kind of application, but in many universities there is an established authentication mechanism, and XWiki should be easy to integrate. This feature is also required for other types of users.

Easy access rights interface

  • Simple document type options:
    • invited people only;
    • anyone can view;
    • anyone can edit.
  • Invitation/request based rights
    • People can request to view a document or edit it; the request is listed in the owner's interface and can be accepted or denied;
    • The document owner can invite other people, either to edit only (if the document is publicly viewable) or to view or edit if the document is private); if the document is publicly editable, then the invitations are ment as a ping utility (please help me write this article);
    • The owner can uninvite people, thus revoking the granted rights.
  • Also support for easy banning users.

Bibliography management application

Easy to use bibliography manager. (optional) Should be integrated with the WYSIWYG editor, so that inserting a reference should be easy. Also add support for a cite wiki filter.

To be detailed later.

Review support

Maybe somebody doesn't want to let others edit his document, but he wants them to review it. Basically, a review is a positioned comment. In Review mode, the user can click on a spot in the document to add comments, highlight text, delete text, insert text, with an interface like the one in Adobe Acrobat Professional. We need to find a way for the reviewed data to be anchored, so that later edits won't mess all the reviews.

The review interface can be shown in cummulative or standalone mode, which means that previous reviews can be also be displayed to another reviewer or not.

Reviews can be private (only the document author can view the reviews) or public.

The author can then view such a review (or all of them together) and:

  • easily apply "delete" and "insert" changes with one click
  • easily remove the comments and highlights
  • while being able to also edit the document.

This feature is useful in every XWiki product, not just in SPAWN.

Optional features

These should be implemented for a 2.0 release

LaTeX syntax support

The basic LaTeX syntax is not hard to implement, and it can even be done now with a few Radeox macros. For the first version we should have support for sectioning, math modes, ref and label, and the different standard environments (tabbing, verbatim, centered...). In the future we could add support for other things, maybe using a 3rd party tool.

WYSIWYG Equation editor

This feature isn't found in any other wikis (AFAIK). Could be written as a plugin for the GWT editor, or use sMArTH ( http://smarth.sf.net/ ).

Merge as an alternative to Save

Besides the cancel, preview and save buttons, there should also be a merge button. This means that the content in the textarea should not be simply stored, but merged with the current version using a previous version as the base (pressing the Merge button will display a new interface for choosing the base version). After the merged document is saved, the user will see a marked version of the document, showing the differences between his version and the merged version, so that he can review what else was changed while he was offline.

This enables users to take the current text, edit it offline (not using XEclipse, unfortunately) and then to upload the modified version, without causing the changes made by other users to be lost, or wasting time for manual merge. This would be a required feature if we didn't have XEclipse as a workaround.

This aspect overlaps a bit with XEclipse and XWiki Offline.

Scientific presentation application

After writing the document, the author should be able to easily write a presentation for it, too.

Besides the standard S5-based presentation application bundled with XWiki, this app should have the following features:

  • Generate presentation barebone: generates a presentation with a standard structure. Maybe have a few templates to choose from?
  • Generate summarized presentation: Try to generate a presentation based on the article, trying to capture the sections of the article, maybe taking some charts from the "Results" section, even using an automatic summarizing tool.
  • Slide templates (title only, title and text, chart, picture...). This should be a feature of the standard presentation application.
  • Export as PDF. Also should be standard.
  • Export as tex/prosper file.



Get Connected