XWiki Collaboration Suite exposes web APIs with Restlet Framework

Beside its Web based UI for authoring, managing and sharing content, the XWiki Open Source wiki project and the associated XWiki Collaboration Suite are exposing Web APIs with Restlet Framework that can be used by developers to automate the management of the underlying engine, adding new content on the fly, extracting content to be exposed in third-party systems.

All the concepts of the wiki engine can be manipulated through a Web API developed with Restlet Framework. Developers can hook into the XWiki engine through these APIs, to work with content pages, spaces (collection of pages), tags, user comments, file attachments. It is also possible to customize the business logic to make XWiki handle the stored content programmatically, thanks to the Velocity templating engine or programming languages (like Groovy).

Vincent Massol from XWiki said: "The XWiki project has been happily using the Restlet Framework since version 1.8 back in January 2009, through its JAX-RS implementation. Our REST API has evolved over time with more and more endpoints added so that the majority of features in XWiki can be also achieved through REST. Our next challenge is to let XWiki users be able to dynamically register new REST endpoints directly in wiki pages. This would be awesome as it would complement nicely the ability we already have to create Applications in wiki pages, allowing to more easily write Javascript Applications such as AngularJS ones."

Benefits

  • XWiki provides a rich and effective UI to author and manage the content of the wiki, but UIs naturally require manual interventions, with many steps, to accomplish requested tasks. With a Web API exposed through Restlet Framework, it is possible to fully automate some of these tasks programmatically and efficiently, and open wider possibilities of extension and integration with the XWiki engine.

Advantages

  • Restlet Framework enables developers of the XWiki engine to be able to easily and elegantly expose a Web API giving access to all the content and operations provided by the wiki.
  • Additionally, Restlet Framework also allows the creation at “runtime” of new API endpoints through programming, which is something the XWiki team is looking forward to taking advantage of, in the near future.