Using the Allura Platform to Create Your Own Forge



In late 2009 SourceForge embarked on a plan to rebuild our developer tools on top of an open platform including Python, MongoDB, RabbitMQ, and Solr. The resulting platform "Allura" was recently released as open source software. This covers what you get with the Allura and the basics of writing an Allura plugin application.


We will begin with an overview of the Allura platform architecture. Particularly, we will cover the overall project-based URL structure of an Allura installation, the offline servers required for the data model (MongoDB), messaging (RabbitMQ), search (Solr), and SCM (Git, Subversion, and Mercurial). We will demonstrate registering a user and project on an Allura instance, and adding, configuring, and removing plugins. From then on, we’ll be focused on code.

We will describe the Allura plugin Application base class and the minimal fields you must override to write your plugin application. We will show how to build your MongoDB models, how to enable search, and how to set up asynchronous processing over RabbitMQ.

Finally, we will inspect the design and implementation of the built-in Allura IRC chat application to show just how easy it can be to write your own plugin.

Speaking experience