Dioscouri Design

The Nooku Framework

nooku-60Dioscouri partnered on the Nooku project over a year ago, in mid-summer 2008.  At the time there weren't many of us, but it was immediately clear to me what sort of an impact the project would eventually have.  I was particularly confident  that Joomla! lead architect Johan Janssens and DocMan architect Mathias Verraes were leading the way.

However, with the Nooku Framework now posted on Sourceforge, the project has reached a new and impressive stage in its life, and as a result of a recent conversation with AmyStephen on Twitter, I've decided to post some thoughts on Nooku.  I consider this the beginning of a very long conversation that won't be confined to Nooku, but rather to general Joomla! development.

1. What is the Nooku Framework?

The Nooku Framework is (in short) a Joomla system plugin that adds a terrific set of development classes to Joomla.

2. What difference does it make?

Well, first, it definitely cuts down on development time.  Writing for Nooku is simpler and faster than writing for Joomla.  We simultaneously wrote AMIGOS, our affliate extension, for both Joomla and Nooku, and the difference in the amount of code necessary was startling.  For a fantastic example of this, take a look at this side-by-side comparison of Joomla and Nooku code: http://bit.ly/iEDX7

Second, it encourages developers to write their Models and Views such that they can be used by other applications.  By removing default states for models and decoupling both models & views from the $_REQUEST variable (allowing the controller to set states for models and views), you have code that can be reused ad nauseum.  Take a quick look here at an overview of why (and how) you organize your MVC application this way: http://prezi.com/79462/view

Why does this matter? Take this, for example: We're nearly finished with KARMA, a CRM application for Joomla that provides you with a site-wide snapshot of a user's activity throughout all of your Joomla extensions.  So, for example, if you clicked on the user "tommy4", you would see a dashboard that includes:

  • all the com_content or K2 articles "tommy4" published
  • all the JXTended comments "tommy4" wrote
  • all the VM products or AMBRA SUBSCRIPTIONS that "tommy4" purchased
  • all the BILLETS support tickets that "tommy4" submitted,
  • etc., etc.
Currently, we have to write a new query to grab this data from each extension's database table, but this is such a waste because each query has already been written by the extension developer!  If they were using Nooku, we could have essentially done this for each extension's bit of data:

$model = KFactory::get(’site::com.billets.model.tickets’);

$model->setState( 'userid', '4' );

$tommysTickets = $model->getList();

It's that simple.

3. Will Dioscouri use the Nooku Framework?

We want to.  We really really want to.  We're going to release Nooku-Framework-compatible versions of all our new extensions.  However, until the Nooku Framework is more widely adopted, we're not going to use it exclusively -- we don't want our extensions to become inaccessible to sites that won't or can't use Nooku Framework.

[this followup response to a question from AmyStephen on Twitter was added 26 Aug, 11:20am]

Why would it be important to wait for broader adoption? Even in an environment with two of the top Joomla developers and several dozen partners & testers, bugs will find their way into the code.  Wider adoption means more eyeballs, more instances of the framework, and more testing scenarios.  These will undoubtedly reveal ways the framework can be improved, much moreso than all the use-case diagrams in the world. Even the Joomla framework, with its 10M+ downloads, remains under constant active development because there is always room for improvement.

So what does that mean? This is call for more of you to connect to Sourceforge and download the Nooku system plugin!  Take your Joomla site to new heights.

Cheers.

 
4 Votes

3 Comments

Feed
  1. as one of the Nooku partners i have to say that this blog is well written and the conclusion is the right one.

    I love it that Dioscouri is developing with Nooku and hope to see some of there extensions soon the more "Nooku compatible" extensions the sooner it will be largely adapted

    thanks guys
  2. Interesting article, raising lots of questions. But to simplify my point: "What's in it for the average Joomla! user?"

    Reading the Nooku website, it positions itself as a management tool for multi-language sites. Reading the above, I understand this is not just another JoomFish in the pond but an actual upgrade of the system.

    The folks at Nooku would have to do a better selling job on their site to get the other values (?) of their system across to users (not developers).
  3. I spoke with Johan today and this very issue came up in the conversation. They will be working very hard in the coming month to better distinguish between the Framework and their Content Translation extension.

Top Points Earners

Learn About Our Points Program
511 Points
315 Points
265 Points
217 Points
211 Points
180 Points
169 Points
166 Points
113 Points
108 Points
105 Points
103 Points
103 Points
98 Points
97 Points

Become an Affiliate!

Affiliates earn 15% of referral purchases.

Sign up now!

You are here: Home Blog General Thoughts The Nooku Framework

Who is online

We have 230 guests and 6 members online

Support Center

Contact us in our Support Center for any questions you might have, including a development quote, presale question, or job inquiry. We'll respond as soon as we can, which is generally within 1 business day, however at times it may take up to 48 hours. Our Support Center is open 9am - 5pm EST, M-F.