Collaborative website

From IOI Wiki
Jump to navigationJump to search

Three platforms are considered : mediaWiki, moinmoin and fosWiki (a fork of TWiki)

Here is a list of requirements, and what each proposed platform has to offer.

  • be centered on collaborative editing of content and web-based.
    • MediaWiki: yes (wiki)
    • MoinMoin: yes (wiki)
    • foswiki: yes (wiki)
  • allow to enforce some structure on items
    • MediaWiki: the Semantic MediaWiki extension does a good job, with a rich system of templates.
    • MoinMoin: maybe SemanticMoin, or MetaDataInMoin ?
    • foswiki: no structure can be enforced on the content of a topic, but forms can be added to topics (pages), to define (key, value) pairs. However the corresponding data is always presented as a 2 columns table (key / value). The template system is only a way to start a page with a model, instead of an empty page, and doesn't enforce anything. Overall, it's quite disappointing.
  • if possible, provide forms to help input data within that structure
    • MediaWiki: Semantic_Forms seems to be the obvious choice, to be tested soon.
    • MoinMoin: The Form Macro provides forms to access and edit database records, but not wiki content.
    • foswiki: FormPlugin allows adding pairs (key / value) to topics and edit them with forms (see above).
  • allow to include data from a database within otherwise editable pages
    • MediaWiki: There are many Database extensions providing various features, no clear winner yet. DataTable, or AccessPostgres are some examples.
    • MoinMoin: The macro support allows to write functions which can be called from wiki pages. These macro could easily access to a database. Also, The Form Macro provides forms to access database records.
    • foswiki: foswiki DatabasePlugin Provides secure access (read and write) to data in an SQL database, with flexible results formatting.
  • nice ways to categorize, search and navigate through the content.
    • MediaWiki: The semantic extension makes it very convenient to categorize, with real sub-categories. Semantic forms has some nice features to create specific search pages. SemanticQueryFormTool can also be used.
    • MoinMoin: moinmoin has a category system just like mediaWiki, but not as powerful as with semantic Media Wiki installed. Xapian helps to speed up and improve search
    • foswiki:
  • access rights management system, with groups of users and groups of pages
    • MediaWiki: There are several User rights extensions, such as AccessControl, but with a big warning : "MediaWiki was not written to provide per-page access restrictions, and almost all hacks or patches promising to add them will likely have flaws somewhere, which could lead to exposure of confidential data."
    • MoinMoin: MoinMoin has an ACL permission system by default. Groups of users can be easily managed. Groups of pages are a little trickier - you can set up moinmoin to inherit ACLs from parents if they are not specified on the page itself.
    • foswiki: By default, foswiki handles a permission system, with permissions assignable to groups.
  • easy uploading of pictures and videos
    • MediaWiki: Yes, and versioned, content is never deleted.
    • MoinMoin: Reasonably easily, but they are not versioned (and thus can be irrecoverably deleted). This will be fixed in Moinmoin 2.0, but there's no clear ETA on that.
    • foswiki: Any kind of media can easily be embedded through ObjectPlugin. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.
  • allow to design nice presentations destined to the general public, media and sponsors
    • MediaWiki: The SkinPerPage extension allows to specify which skin is used for a given page. Another possibility would be to use a default skin without all the editing features ($wgDefaultSkin), and a different skin for logged users.
    • MoinMoin: One way would be to set up a different wiki, with a different theme (no edit links, etc), but using the same data directory. It feels like a bit of a hack though.
    • foswiki: Yes. See Skins. You can set the skin for the whole site, a single web or topic, or for each user individually.
  • code highlighting for source codes in various languages.
    • MediaWiki: Geshi is used on Wikipedia, and does the job well.
    • MoinMoin: code highlighting is a default feature
    • foswiki: The Syntax Highlighting Plugin allows to emphasize the rendering of wiki text

according to several languages (including C, C++, pascal and Java)

  • LaTeX support
    • MediaWiki: default feature, just needs to be activated
    • MoinMoin: /mathtran or /inline_latex parsers, and maybe others claim to do the job.
    • foswiki: MathModePlugin adds math formulas to topics using LaTeX markup language. Also, LatexModePlugin allows you to include LaTeX mark up commands within a foswikipage.
  • provide ways for users to rate some of the content (tasks, in particular)