Blog Archive

Last modified by Vincent Massol on 2011/02/03 11:07

Blog posts for January 2009

XWiki is the first Polyglot Wiki

We're just finishing rewriting from scratch the XWiki rendering engine (it's already usable in XWiki Enterprise 1.7 and will be completely finished in 1.8). We were using Radeox but it's been dead for several years and it was just too limitating and slow (based on regex) for our need. As a consequence we now have a state of the art rendering engine that supports multiple wiki syntaxes, hence making XWiki the first Polyglot Wiki.

Supported syntaxes other than the XWiki syntax are: Confluence, JSPWiki, MediaWiki, TWiki, Creole and HTML/XHTML (for the intrepid ones). In addition we'll be adding new syntaxes as we progress since it's now very easy to do so.

syntax.png

What this means is that if you like XWiki and you want to switch to it but you don't want to learn another wiki syntax, you will be able to switch and keep using your favorite syntax. XWiki is even able to convert on the fly between one syntax and another (currently implemented only for some syntaxes).

Technically we have parsers for each syntax which transforms text into an internal representation using Java Objects (called XDOM) which we then traverse and render using one the available Renderers (XHTML Renderer, XWiki Syntax 2.0 Renderer to convert to XWiki Syntax 2.0, PDF/RTF Renderer, etc), as shown in the diagram below.

rendering-architecture.png

Note: Not all syntax elements are fully implemented for all syntaxes and we still have lots of fine tuning to work on so don't expect something perfect yet for syntaxes other than XWiki 1.0, XWiki 2.0 or HTML/XHTML syntaxes. In term of Renderers we currently have the XHTML and XWiki 2.0 Syntax ones implemented. The others are planned for later.

XWiki development in overdrive for 2009

As of January 2009 there are now 14 active open source committers who work daily on the XWiki code. The number of active committers have grown tremendously in the past year (we were roughly half of that a year ago). As a consequence the upcoming XWiki Enterprise release will be feature rich (some of the features are already in XWiki Enterprise 1.7) and the following features are all nearing completion:

  • New Wiki Syntax 2.0
  • New Rendering engine
    • Much faster
    • Way more powerful. We're now parsing document content and generating an internal object structure for it. Amongst other things it allows scripts to act on page content (semantic transformations are now possible and easy).
    • Polyglot. We now support several wiki syntaxes at once (you can choose the syntax on a page by page basis).
  • New WYSIWYG editor (based on GWT). We've rewritten from scratch our WYSIWYG editor to provide an editor that is performant, robust and that just works (none of the WYSIWYG editors we've tried out there were working! More on that in a future post)
  • Full WebDAV support
  • Office Import. All types of documents are going to be supported (old Microsoft Office formats, Open Office, etc).
  • Microsoft Office Plugin for editing and publishing wiki content directly from Microsoft Word.
  • New Query Manager (called XWQL, it's a JPQL superset) to easily create queries to query anything in the wiki. For example: 
"where doc.author = 'XWiki.JohnDoe' and doc.object(XWiki.XWikiUsers).email like '%xwiki.org'"
  • XWiki IDE (a.k.a XEclipse) with Syntax Coloring and auto completion on APIs:{xeclipse.png}

... and more (subject for another post)

All these are planned for March 2009. 2009 is looking to be a great year for the XWiki project.

OSSGTP at the Sun Open Source evening

Yesterday I have presented the OSSGTP Group at a Sun Open Source evening event.

Here are the slides:

If you're in Paris, France and you're an open source addict and developer come and join us. It's fun! Our mantra is Open Source from the source. The group is only composed of open source actors/developers. We meet every month (or we try to) and we have a diner together afterwards in pure French tradition... emoticon_wink

XWiki Roadmap for 2009 and 2008 project stats

I had the pleasure of presenting the XWiki 2009 Roadmap at a breakfast event organized by XWiki SAS.

I started the presentation by showing XWiki project stats for 2008, showing how active XWiki development is (see slides 3 and 4):

  • Downloads in 2008: > 130K (double the downloads of 2007)
  • Number of releases in 2008: 65 (13 final releases and 52 milestone releases)
  • Active committers: 14 (double the active committers in 2007)
  • Mailing list activity is exploding since 2008

Live stats can be also be found on SVNSearch (See this blog post for details on SVNSearch).

Here are the slides I presented (sorry they are in French and I did several demos you cannot see obviously):

Failed to execute template. Cause: [Access denied when checking [script] access to [sorin:XWiki.DefaultSkin] for user [massol:XWiki.VincentMassol]]. Click on this message for details.

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [sorin:Panels.RecentPosts]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [sorin:Panels.Books]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [sorin:Panels.Presentations]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [sorin:Panels.Tweets]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [sorin:Blog.BlogRoll]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Failed to execute template. Cause: [Access denied when checking [script] access to [sorin:XWiki.DefaultSkin] for user [massol:XWiki.VincentMassol]]. Click on this message for details.