What happened to the “Learning Nooku” series from last year? Yes it stopped. It stopped abruptly.
Why? Because I got overwhelmed by the torrent of improvements in the Nooku Framework. Yes friends, since I wrote my journey a year ago a lot of things have changed. A lot of things I wrote are now obsolete! So I will archive my posts, and maybe write another one.
Here’s a VERY brief summary of what’s new.
REST is the architecture that powers Web 2.0 and beyond. Any application that is properly using Nooku will automatically be RESTful without extra work. Just use the Nooku’s controller and database package, and you’re all set. Your app is already compliant on REST specifications. Even if you don’t completely understand REST, just understand Nooku(which is really easy) and everything will be taken care of for you!
Another powerful and fun improvement in Nooku is the Controller behavior. This is really neat concept that will make your Nooku code even more reusable. One year ago, Nooku developers are already praising Nooku for helping them reuse and organize their code. How much more now! Controller behaviors puts some weight and clutter off your main controller’s code and forces you to code beautifully by reducing tight coupling and increasing reusablity!
Basically, nothing much have changed in how views and templates work. But some improvements are notable like the new ‘Chrome’ and ‘Module’ filters.
The Chrome filter wraps your template’s output into a Joomla module wrapper. This will make your app look more compatible with the current template that Joomla is using. This concept is already implemented by Ninjaboard. Did you notice how Ninjaboard adapts(like a Chameleon) to any Joomla template with dark or light theme? Amazing isn’t it? You can use that same technology in your Nooku Apps with just one piece of code!
The new Module filter allows you to insert a piece of output to any Module position in Joomla. This is another neat concept that gives power to developers. More information about this change can be found here: http://blog.nooku.org/2011/08/say-hello-to-the-dynamic-module-injector/.
One big change that can break your old Nooku code is the KFactory refactoring. It is now renamed to KService. The refactoring was done to complete the implementation of the Service Oriented Architecture. Before this refactor, services(which are actually objects) are accessed through an identifier using this format:
[application::]type.package.path.name
Now it’s using a more standardized format which everyone is familar with. The Uniform Resource Locator(URL) http://www.ietf.org/rfc/rfc1738.txt. The format now looks like this:
type:[//application/]package.path.name
Another change is the removal of KFactory::tmp. Use KService::get() instead. KService::get() will always instantiate a new object much like KFactory::tmp(). But if the class is intentionally a singleton(implementing the KServiceInstantiatable interface), KService::get() will return the single instantiated object.
So how does this help you? Well, for one, the object identifiers are now more familiar and is actually following a standard. Which means it’s easier to explain. And of course, this improvement has also allowed some optimizations that makes KService more efficient.
Better look inside the Nooku code to see it in action or check the wiki about this change.
But we can’t list them all. These are just some of the significant improvements. But by the looks of it, I believe that the best time to learn Nooku is now. It has gotten more stable and a lot better than the version last year.
The new features of Nooku are so awesome! But of course it will take some learning curve. Once I feel that it reached a certain level of stability, I will continue writing about it in my blog.
Asked by Anonymous
Hi! Yes I’m still working on Nooku. In fact I got employed by Johan Janssens’s company which allowed me to get a little more intimate with Nooku’s developments and the privilege to learn from the master himself.
Yes, Nooku is a great tool especially if you’re working on Web Applications inside a CMS shell like Joomla. But I’ll hardly compare it to CakePHP, Nooku is far more than that :).
Nooku is being developed in a fast pace, right now it’s in Alpha 4. There will be one alpha left, then the Beta. I think we can expect a stable by mid 2012 but that’s just a guess!
Thanks for getting in touch!
This is Part 3 of a series of posts where I document my learning process in studying Nooku. I’m a total Noob to Nooku so this might help other Nooku noobs to learn the framework.
You can read the Introduction of Learning Nooku Here.
Update: Download the component at this stage here - com_awesome-part3.zip
In Part 2, I learned 3 things.
com_default.In this post I’ll try to use some Nooku magic by accessing resources from the database.
This is Part 2 of a series of posts where I document my learning process in studying Nooku. I’m a total Noob to Nooku so this might help other Nooku noobs to learn the framework.
You can read the Introduction of Learning Nooku Here.
Update: Download the component at this stage here - com_awesome-part2.zip
In order to understand the Nooku Framework, I want to know what it does for me so I’ll also know what’s left for me to do. The first thing I want to know are the Magics that I can use.
In documenting this learning process, I’m looking at com_harbour. It’s a sample component for Nooku. But I won’t reference code examples from com_harbour here. I’ll just use it as a jumpstart, then anything I want to do for my first simple app, I’ll find out through experimentation.
In order to fully understand how Magic works in Nooku, I need a bit of experimenting. What is the bare minimum amount of files needed to display a simple text, “Whatever”? Of course you can simply echo text from the entry point. But if we want to use the MVC, we’ll follow the convention.
So I’ll make my first Joomla Component powered by Nooku. I’ll name it com_awesome. As a start, I’ll just make it display any text like “Hello World”.
This is Part 1 of a series of posts where I document my learning process in studying Nooku. I’m a total Noob to Nooku so this might help other Nooku noobs to learn the framework.
You can read the Introduction of Learning Nooku Here.
Installing Nooku is not easy but it’s not difficult either. It’s just not a simple process. There is no official Nooku installer for Joomla. You have many options.
During the coming days I’ll be documenting how I am learning Nooku. I’m a total Noob to Nooku so this might help other Nooku noobs to learn the framework. For those who doesn’t know it, Nooku is a Rapid Application Development Framework for Joomla.
This is Part Zero of my series of posts about Learning Nooku.
This should be fun! I’m learning another PHP Framework - Nooku. I’ve had fun using Kohana 3 for a year but Kohana 3 is so easy and simple, there’s not much to learn anymore. I’ve heard many great things about Nooku, so I guess it’s time to see what the hype is all about.

In the past 5 years, I tried to maintain a blog 3 times already. But everytime I move to a new server, my personal blog is usually the least of my priorities so it gets left out in Migration. Then came Tumblr. My blog has found a new home and hopefully, a permanent one. I don’t have to manage it on my own server, and I don’t have to worry about hackers. All I’ll worry about is what to write.
Well, this time I think I have new thoughts and ideas to publish.
© Copyright 2010