Featured Open Source Project: Nooku Framework
Posted by Greg Johnson on Mon, May 17, 2010 @ 12:04 PM
This month, we're taking a look at the
Nooku Framework, a php-based framework for developing extensions for the widely-popular
Joomlacontent management system. The Nooku Framework touts itself as a "new brain for Joomla," enabling developers to rapidly develop applications and new Joomla Extensions.

The Nooku Framework was born from creator (and Jooma 1.5 Lead Architect) Johan Janssens' interviews with some of Joomla's high-profile users regarding the lack of an enterprise-level multi- lingual feature set. Out of these conversations, the Nooku Content translation extension was created, and later, the Nooku Framework, itself.
While Nooku Content is still only available to select Partners, anyone can obtain and begin developing with The Nooku Framework by visiting the Nooku developer portal hosted here on Assembla.
Their developer portal is also a fantastic example of what's possible with Assembla. They have made use of wikis, the portfolio tool, multiple subversion repositories, and the custom branding tool to make the look and feel of the portal fit the Nooku design aesthetic.
When we asked Johan why he chose assembla, he said: "Assembla is one of best software management tools for community driven Open Source projects. It's simple to use yet offers all the richness we needed to be productive from day one. It marries free and paid services together which is ideal for OS projects that expect to become big. Assembla will be key in helping us to grow our Nooku community."
He also remarked that Assembla was one of two major subversion hosting providers they considered. We were fortunate enough to win out because of the following features:
- a user's ability to have both public and private workspaces on the same account
- Both subversion and git hosting is available (in fact, now you can have multiple svn/git instances in the same workspace!)
- They wanted to try the branded portals (in fact, Nooku is a shining example of our branded portals in action)
- They felt confident that, if the project gets big enough, they could easily select parts of their project data to a Private Assembla installation.
Some open-source projects have already sprung up around this fairly young framework, so if you'd like to see some code built on the Nooku framework, be sure to check out:
- Anahita Social Engine - a platform and framework for building social networks using an organic nodes + graph + stories architecture. Offers all the features you'd expect from a social network, as well as facebook & twitter integration.
- Ninjaboard - a Joomla-native non-bridged component delivering forum functionality for Joomla-powered sites. Ninjaboard includes a unique template engine which supports "auto-skinning." A templating technique capable of blending with any template you install in your site, ninja board simply takes on the styles of the outer template.
I'm sure even more Nooku-powered projects will surface in the near future, as Johan Janssens and team have released quite a magnificent framework.
We also asked what advice Johan would give to fellow Assembla users working as part of distributed, Open Source teams. Here are four points that he stressed:
- Start small and informal. Add rules, complexity, and formality later
- Be open to improvements suggested by the community at all times, but safeguard the quality of the codebase (especially in the beginning)
- You can't do a successful Open Source project as a hobby. At a certain point, (pretty early on) it becomes a 12-hour-a-day-job
- Be wary of big companies that start open-source initiatives, rarely are they willing to spend the time required to help it grow into something big.
What do you think?