Features I’d like to see Added in Wikis

For the last decade, wikis have not changed very much. Even minor features such as AJAX support are still uncommon items. The following is a list of features I’d like to see added. A few of these items are available as plugins, however I am referring to having these features baked into the actual product.

Live Collaborative Editing

If you use Google Documents with others you will notice this: live collaborative editing. Usually the first time that someone notices this it either freaks him out, or just blows his mind. Multiple users can edit the same document at the same time, whilst receiving the changes in real-time. Having this support on a wiki would make the page lock / change conflict problem go away.

Importing Data Framework

It would be immensely helpful to have some sort of feature within a wiki to import data from other sources: images, RSS feeds, CSV feeds, etc. With a uniform way of bringing-in data, plugins could become a bit more generic and support the transformation. For example: let’s say that you have a build system, and it produces a build log file. Wouldn’t it be helpful for having that file be placed on the wiki [within a certain section] where it could be commented on? With a data framework, there could even be a plugin that could grep the output and only show the important sections.

Graphing Support

Charts are important for simple visualizations of data. Why this requires selecting and learning how to use a new plugin is beyond me.

Drawing

Wikis seem to be text based only. I have only found a small handful of plugins that support the editing of pictures. Even fewer use SVG. I’d like to see the ability to edit an SVG picture built into the wiki software.

OpenID

Why wiki software continues to roll their own authentication system by default is beyond me. This item seems like a no brainer. Create an OpenID authentication mechanism that uses the top providers [Yahoo, Google, Facebook]. If need be, revert to a local authentication method if there is a lack of internet access – or if the wiki is being deployed exclusively internally.

APIs for Dealing with Content On The Wiki

Lastly but not the least important, create and promote a uniform wiki API. This would allow for other systems to automatically push content onto the wiki, or pull it. This would be great for a monitoring system to:

  • create a new page on the wiki
  • post configuration details and current state
  • maybe even show statistics

Also with the API, the same monitoring system could grab a wiki page and check for changes in the configuration details. Granted, there are potential issues with the configuration details changing on a wiki, however at the moment this is more of an idea rather than a real world implementation.

Another example: WordPress could use wiki support to have multiple editors collaborate over a post within a wiki Page. WordPress could also, with an API, pull the wiki page to make it a blog post.

  • Eric Hydrick

    Some of these (like drawing) seem best done in other applications and then uploaded as an image rather than done in the wiki itself.

    That said, collaborative editing, the ability to import and display raw data (this would probably have to be multiple plugins for multiple types of data), and an API would probably be very useful.

    Right now, our wiki at work pulls data from Bugzilla via some type of scripting, but I don’t know enough about it to describe how it works other than that we do it.

    • http://antipaucity.com Warren

      with tools like Google Docs and http://diagram.ly allowing in-browser drawing – it might be easier to have a call-out to one of them that then embeds the resultant image

  • Vincent Massol

    Hi, nice list! :)

    XWiki (http://xwiki.org) does most of what you’re asking for:
    * Live collaboration is pretty new, you can find a first version here: http://extensions.xwiki.org/xwiki/bin/view/Extension/RealTime+Wiki+Editor
    * Importing external data. There are plenty of extensions for that. Here’s one: http://extensions.xwiki.org/xwiki/bin/view/Extension/Batch+Import+Application
    * Graphing support: http://extensions.xwiki.org/xwiki/bin/view/Extension/Chart+Macro You said “Why this requires selecting and learning how to use a new plugin is beyond me.”. WDYM? What would you like to see?
    * Drawing is on extension that’s missing. We have some but they’re not great. Here’s a SVG one: http://extensions.xwiki.org/xwiki/bin/view/Extension/SVG+Macro PlantUML/Dita is interesting though: http://extensions.xwiki.org/xwiki/bin/view/Extension/PlantUML+Macro
    * openid and social logins: http://extensions.xwiki.org/xwiki/bin/view/Extension/Social+Login+Application
    * APIs. XWiki is all about apis! :) You have full access from scripting in wiki pages or using the REST API: http://platform.xwiki.org/xwiki/bin/view/DevGuide/WebHome

    I’d love if you could give xwiki a try and let us know what you think. If you have any question please post on our mailing list/forum: http://dev.xwiki.org/xwiki/bin/view/Community/MailingLists

    Thanks

    • crash025

      That looks rather nice! I had no idea about that. 

      Graphing support: With your only option being plugin based, it seems that every single plugin requires a different format or interface to get the plugin working.