<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Nooku Blog</title>
	
	<link>http://blog.nooku.org</link>
	<description>Nooku is the innovative new platform for Joomla</description>
	<lastBuildDate>Mon, 23 Jan 2012 09:29:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/nooku/blog" /><feedburner:info uri="nooku/blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Onward to 2012</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/_J3p-Dwz8_Y/</link>
		<comments>http://blog.nooku.org/2012/01/onward-to-2012/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 23:49:02 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[state of nooku]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=2136</guid>
		<description><![CDATA[
The beginning of every new year gives pause for both retrospective and prospective thought. We celebrate the new year as we take a look back at the year that was and get a glimpse of the year that will be.
Looking back at the year that was
Creativity, Innovation and Inspiration &#8211; three words I will remember [...]]]></description>
			<content:encoded><![CDATA[<div>
<p><span id="internal-source-marker_0.2972320301923901">The beginning of every new year gives pause for both retrospective and prospective thought. We celebrate the new year as we take a look back at the year that was and get a glimpse of the year that will be.</span></p>
<h2>Looking back at the year that was</h2>
<p><em>Creativity, Innovation and Inspiration</em> &#8211; three words I will remember best from 2011. The platitude “hard work pays off” rang true this past year with the great work done in our little project.  Nooku development literally <a href="http://blog.nooku.org/2011/05/nooku-development-at-warpspeed/#more-1493">moved ahead at warp-speed</a> in 2011.</p>
<h3>Growing the Nooku Platform</h3>
<ul>
<li> Nooku Framework <a href="http://blog.nooku.org/2011/07/nooku-07-alpha-3-released/">grew</a> <a href="http://blog.nooku.org/2011/10/nooku-07-alpha-4-released/">to</a> an awesome RESTful framework for web development and especially for rapid development of powerful custom Joomla solutions.</li>
<li>Nooku Server. We saw the birth of <a href="http://blog.nooku.org/2010/12/nooku-server-joomla-on-steroids/">Nooku Server</a>, a multi-site web application platform. Based on <a href="http://blog.nooku.org/2011/01/creating-a-diet-for-nooku-server/">lightened core </a>of Joomla 1.5 and <a href="http://blog.nooku.org/2011/01/nooku-server-loses-40-weight/">optimised for performance and scalability</a>.</li>
<li> Nooku Components. Lot’s of innovation happened with the development of <a href="http://nooku.assembla.com/spaces/nooku-components/wiki">new re-usable components:</a> <a href="http://blog.nooku.org/2011/08/meet-com_files-joomla-file-management-2-0/">com_files</a>, com_activities, com_debug, com_groups, &#8230;</li>
</ul>
<h3>A year in a few numbers</h3>
<p>Three years ago, we were not much more then a handful of people with a vision. Today, Nooku is:</p>
<ul>
<li>29 <a href="http://www.ohloh.net/p/nooku/contributors">contributors from all over the world</a>, of which 21 contributed in 2011</li>
<li>20<a href="http://nooku.org/partners.html"> partners</a> from enterprises, governmental organisations, and non-profits</li>
<li>475 subscribers in the developer’s <a href="http://lists.nooku.org/">discussion group</a></li>
<li>hundreds of websites powered by the Nooku Platform</li>
</ul>
<p>Nooku was present and accounted for during many events throughout the year:</p>
<ul>
<li>We attended/sponsored and presented Nooku on the <a href="http://blog.nooku.org/2011/03/the-joomladays-nl-are-coming/">Dutch Joomladays</a> and <a href="http://blog.nooku.org/2011/10/nooku-server-on-tour/">Joomladay Sydney</a>, we <a href="http://blog.nooku.org/2011/04/announcing-first-nooku-party/">partied</a> and <a href="http://blog.nooku.org/2011/05/nooku-community-wins-4-joscars/">won awards</a> at <a href="http://blog.nooku.org/2011/05/the-final-countdown-to-jab11/">Jandbeyond</a>.</li>
<li><a href="http://blog.nooku.org/2011/02/jamming-in-lugano-with-nooku/">Switzerland</a>, <a href="http://blog.nooku.org/2011/03/jamming-in-stockholm-with-nooku/">Sweden</a>, <a href="http://blog.nooku.org/2011/09/september-has-been-nooku-fied/">Brazil</a>, <a href="http://blog.nooku.org/2011/09/september-has-been-nooku-fied/">Germany</a>, <a href="http://blog.nooku.org/2011/12/nooku-jam-manila-2011/">Philippines</a>, <a href="http://blog.nooku.org/2011/12/impressions-from-nooku-jam-leuven/">Belgium</a> witnessed Nooku magic. 6 Nooku Jams in 3 continents together with our community!</li>
</ul>
<p>Code metrics are not a good measurement for the size or quality of a project, but they do help to <a href="http://www.ohloh.net/p/nooku">indicate progress</a>. In our official repositories, we have:</p>
<ul>
<li>4400 commits for <a href="http://nooku.assembla.com/spaces/nooku-framework">Nooku Framework</a><a href="https://www.assembla.com/spaces/nooku-framework"></a></li>
<li>1400 commits for <a href="http://nooku.assembla.com/spaces/nooku-components">Nooku Components</a><a href="https://www.assembla.com/spaces/nooku-components"></a></li>
<li>400 commits for <a href="http://nooku.assembla.com/spaces/nooku-examples">Nooku Examples</a></li>
<li>3300 commits for <a href="http://nooku.assembla.com/spaces/nooku-server">Nooku Server</a></li>
</ul>
<h2>Looking forward to the year ahead</h2>
<p>Nooku is not a product, it’s a project. We think different, we work different and in 2012 we are also going to release different.</p>
<p>Nooku is a never-ending river of change. The alpha/beta/stable nomenclature expects an end point of changes that is captured in final form called “stable”. Then, the cycle renews itself into the next stable version. This cycle doesn’t fit with our <a href="http://blog.nooku.org/2011/04/the-nooku-manifesto/">Nooku manifesto</a>.<a href="http://blog.nooku.org/2011/04/the-nooku-manifesto/"> </a></p>
<p>Nooku is about change. The projects mission is to manage that change; not release a product. And that’s what 2012 will be all about !</p>
<h3>No more alpha’s, just releases</h3>
<p>In 2012 we will introduce 4 month release cycles. First release will happen 30th of January, and will be numbered 12.1 (year.release number). Second release of 2012 will be 12.2, and so forth.</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/C_nI8uxi9Lg?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>The flow of a release will look like this :</p>
<ul>
<li>0 months : Start release in development branch</li>
<li>4 months : Merge release into trunk</li>
<li>8 months : Tag release</li>
</ul>
<p>Total cycle for a release will be 8 months. Work in trunk and development is done at the same time so there will be a release every 4 months. Developers can contribute at any point during those 8 months :</p>
<ul>
<li>(0 – 4m) development  : new features, API changes etc</li>
<li>(4 – 8m) stabilization  : bug fixes, documentation etc.</li>
</ul>
<h3>No backwards compatibility</h3>
<p>There will be no backwards compatibility between releases. The changes between versions will be documented. Each version will have a development cycle of 4 months and a stabilization cycle of 4 months.</p>
<p>Developers releasing public/commercial Joomla components on Nooku Framework MUST update every 4 months. The 4 month stabilization cycle ensures developers have enough time to do so.</p>
<h3>Upcoming Nooku Jams</h3>
</div>
<div>
<p>We will continue building the Nooku community with three project organised Nooku Jams a year, one at the end/beginning of a release cycle.</p>
<p>In 2012 we will organise 2 Nooku Jams in Leuven Belgium at FlandersDC. The first Jam will be somewhere in May, more details will be announced early February.</p>
<h3>A happy Nooku Year !</h3>
</div>
<div>
<p><span id="internal-source-marker_0.2972320301923901"> </span></p>
<p>In 2012 we will continue to do what we do best : making change happen ! I wish everyone a creative, innovative and inspiring Nooku year!</p>
</div>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/_J3p-Dwz8_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2012/01/onward-to-2012/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2012/01/onward-to-2012/</feedburner:origLink></item>
		<item>
		<title>Impressions from Nooku Jam Leuven</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/Txtd_sNjUZ8/</link>
		<comments>http://blog.nooku.org/2011/12/impressions-from-nooku-jam-leuven/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 14:12:11 +0000</pubDate>
		<dc:creator>Myra</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[jam]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=2079</guid>
		<description><![CDATA[
The recent Nooku Jam Leuven can be easily summed up in 2 words &#8211; incredibly inspiring!
Twenty six attendees discussed, collaborated and shared ideas on the 26th and 27th of November at the FlandersDC Creativity Lab in Leuven, Belgium. The Jam, sponsored by Moyoweb, Beyounic and Timble, was an inspiring weekend for the Nooku community.
The recipe : [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>The recent Nooku Jam Leuven can be easily summed up in 2 words &#8211; <strong>incredibly inspiring</strong>!</p>
<p>Twenty six <a href="https://twitter.com/#!/nooku/nj11leuven">attendees</a> discussed, collaborated and shared ideas on the 26th and 27th of November at the <a href="http://www.flandersdc.be/en">FlandersDC</a> Creativity Lab in Leuven, Belgium. The <a href="http://www.eventbrite.com/event/2326534728">Jam</a>, sponsored by <a href="http://www.moyoweb.nl/">Moyoweb</a>, <a href="http://beyounic.com/">Beyounic</a> and <a href="http://www.timble.net/">Timble</a>, was an inspiring weekend for the Nooku community.</p>
<p>The recipe : great ideas, creative people, lots of food and Belgian beer and an inspiring venue! Check the <a href="http://www.flickr.com/photos/valanx/sets/72157628152971783/">photostream</a> of David Deutsch for the evidence of the inspiring weekend.</p>
<h3 dir="ltr">Looking Back</h3>
<p>One of the rules of the Nooku Jam is : “You blog about the Jam” and that’s exactly what some of the jammers did.</p>
<p><span id="more-2079"></span></p>
<h5>Moyoweb</h5>
<p>Our friends from Moyoweb talked about the <a style="font-size: 13px; font-weight: normal;" href="http://www.moyoweb.nl/blog/2-nooku-news/11-moyoweb-nj11leuven.html">format of the event</a><span style="font-weight: normal;">.</span><br />
<a title="nookujamleuven_stickynotes by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6470890389/"><img class="alignright" style="margin-top: 25px; margin-bottom: 10px;" src="http://farm8.staticflickr.com/7153/6470890389_f08b9ca03a_m.jpg" alt="nookujamleuven_stickynotes" width="240" height="160" /></a></p>
<blockquote><p><span style="font-weight: normal;">This jam (was) followed the more informal <a href="http://barcamp.org/w/page/402984/FrontPage">barcamp</a> format, which relies on spontaneous input by all the attendants. The attendants were to come up with their own ideas for talks, along with things they would like to hear about. These poles of ideas were quickly refactored into walls of ideas. </span></p></blockquote>
<blockquote><p><em>Kudos to FlandersDC and their awesome creativity lab that truly deserves its name. The open space and artificial grass gave the participants a fresh perspective and allowed their creative juices to flow!</em></p></blockquote>
<h5>Torkil Johnsen</h5>
<p>Torkil Johnsen also shared his <a href="http://www.torkiljohnsen.com/2011/11/28/nooku-jam-leuven-2011/">thoughts</a> on collaboration and code sharing during some of the talks.</p>
<blockquote><p><em>Plenty of sessions this weekend concerned code and code collaboration. With the number of developers increasing more and more, it’s become obvious that we on some parts are duplicating our efforts. Without a central place to share code between ourselves, or at least a place to get an overview of where collaboration is happening, it’s hard for developers to join forces on mutually beneficial projects.</em></p></blockquote>
<h5>Peter Raeves</h5>
<p>On Sunday afternoon, lightning talks were held about applications, tools, and services people use to help them in getting their work done. Each participant got 2 minutes to show his fave tool. Peter Raeves compiled the list and shared it on his <a href="http://www.raeves.org/index.php?option=com_content&amp;view=article&amp;id=37:tools-that-nooku-developers-use&amp;catid=15:webontwikkeling">blog</a>.</p>
<h5>David Deutsch</h5>
<p>Adding more to his  &#8221;Making Nerds Look Good&#8221; <a href="http://sk.or.at/nj2011leuven">photos</a>, David Deutsch <a href="https://plus.google.com/u/0/111011776153281260419/posts/CGxTt8hYCHA">wrote the following</a> on his personal blog :</p>
<blockquote><p><em>While the other events that I have been to always left me a little exhausted, I left this one feeling inspired and motivated. I&#8217;m looking forward to work with all the great guys around Nooku in the future and am excited about all the stuff that is coming up.</em></p></blockquote>
<h3 dir="ltr">Looking forward</h3>
<p>We had an awesome year of Nooku Jams. Big kudos to all of the participants and sponsors for your involvement, participation and dedication to making Nooku Jams really great and inspiring events.</p>
<p>Torkil said it best when he wrote:</p>
<blockquote><p><em>.. The best thing to do for now is to keep an ear to the ground and listen for <a href="https://twitter.com/#!/search/%23nooku">#Nooku</a>, because there’s a stampede coming.</em></p></blockquote>
<p>Watch out for more Jams and community fun in 2012!</p>
<p style="text-align: center;"><a title="Nooku Jam Leuven group picture by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6470890077/"><img class="aligncenter" src="http://farm8.staticflickr.com/7168/6470890077_49476776f8.jpg" alt="Nooku Jam Leuven group picture" width="500" height="333" /></a></p>
</div>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/Txtd_sNjUZ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/12/impressions-from-nooku-jam-leuven/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/12/impressions-from-nooku-jam-leuven/</feedburner:origLink></item>
		<item>
		<title>Nooku Jam Manila 2011</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/S8tUNlOSJ8M/</link>
		<comments>http://blog.nooku.org/2011/12/nooku-jam-manila-2011/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 14:15:37 +0000</pubDate>
		<dc:creator>Rey</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[jam]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=2002</guid>
		<description><![CDATA[
Following up on the success of the first Asian Nooku Jam in Manila last September 2010. This year’s jam, was held in the heart of one of Metro Manila’s CBDs &#8211; Ortigas, where we were kindly given the run of the TechBar in the headquarters of Exist Software Labs.
Jammers from all over
Demonstrating the global reach [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Following up on the success of the <a href="http://blog.nooku.org/2010/10/jamming-in-manila-with-nooku/">first Asian Nooku Jam in Manila</a> last September 2010. This year’s jam, was held in the heart of one of Metro Manila’s CBDs &#8211; Ortigas, where we were kindly given the run of the TechBar in the headquarters of <a href="http://www.exist.com/">Exist Software Labs</a>.</p>
<h4 dir="ltr">Jammers from all over</h4>
<p>Demonstrating the global reach of Nooku, two of our Jammers hailed from the foothills of the gods &#8211; Nepal.  Nischal Pradhan, founder and CEO of a software development firm in Nepal that utilizes Nooku technology, was in Manila when he found out that Mr. Nooku himself was going to be in town, he and some of his team, jumped at the chance to be part of the Jam.</p>
<p>The other 13 Jammers were local Filipino IT professionals mainly working for private commercial companies and the academe.</p>
<h4 dir="ltr">Sticky notes</h4>
<p>The Jam kicked off with a free form sticky note session, where participants wrote questions and ideas they were interested to find out about Nooku. The sticky notes were then posted on a whiteboard and Johan used this to structure the agenda for the day &#8211; very unconference style!</p>
<p><span id="more-2002"></span></p>
<p><a title="Nooku Jam Manila PH - November 2011 by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6460102389/"><img src="http://farm8.staticflickr.com/7143/6460102389_0571bafd18.jpg" alt="Nooku Jam Manila PH - November 2011" width="500" height="468" /></a></p>
<h4 dir="ltr">Keep it DRY, Shy, and Tell the other Guy</h4>
<p>After a hearty lunch break, the afternoon segment of the Jam delved more deeply into the code itself, looking into the very nuts and bolts of the framework and how to leverage its ‘magic’.</p>
<p>Part of this involved a session led by Israel Canasa that examined the com_activities component he is working on. Rael talked about the <a href="http://www.slideshare.net/factoryjoe/socialism-activity-streams-federating-the-social-web">philosophy</a> of <a href="http://activitystrea.ms/">activity streams</a> giving a real world insight into how Nooku can be used to power development.</p>
<h4 dir="ltr">Prost!!!</h4>
<p>As always appropriate after a whole day of Jamming, a good meal and liquid refreshments ;) are called for. So the Nooku team and a few of the Jammers had dinner at a local Filipino resto to share insights in a more social atmosphere.  A perfect way to end a highly productive day.</p>
<h4 dir="ltr">Vision to Architecture</h4>
<p>The Prezi used by Johan to present the vision of Nooku that led to the creation of the architecture behind the framework is <a href="http://prezi.com/y8xf4syr9yrr/nooku-from-vision-to-architecture/">available online here</a>.</p>
<h4 dir="ltr">Thank you sponsors!</h4>
<p>The Nooku Jam would not have been possible without the generous support of this year’s sponsors: <a href="http://www.exist.com/">Exist Software Labs</a>, <a href="http://168media.net/">168 Media Creative</a>, <a href="http://www.98labs.com/">98 Labs</a> and <a href="http://www.timble.net">Timble</a></p>
<p><a title="Nooku Jam Manila PH - November 2011 by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6460148047/"><img src="http://farm8.staticflickr.com/7019/6460148047_568d5cdff4.jpg" alt="Nooku Jam Manila PH - November 2011" width="500" height="255" /></a></p>
<p><a title="Nooku Jam Manila PH - November 2011 by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6460150139/"><img src="http://farm8.staticflickr.com/7013/6460150139_5c03314efb.jpg" alt="Nooku Jam Manila PH - November 2011" width="500" height="267" /></a></p>
<p>For more pictures check out the <a href="http://www.flickr.com/photos/nooku/sets/72157628291236103/">Nooku Jam Manila set on Flickr</a>.</p>
</div>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/S8tUNlOSJ8M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/12/nooku-jam-manila-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/12/nooku-jam-manila-2011/</feedburner:origLink></item>
		<item>
		<title>Behind the desk or in front of the best</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/W6qxnguw8ww/</link>
		<comments>http://blog.nooku.org/2011/12/behind-the-desk-or-in-front-of-the-best/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 12:47:24 +0000</pubDate>
		<dc:creator>Guest</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[jam]]></category>
		<category><![CDATA[leuven]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=2028</guid>
		<description><![CDATA[This is a guest post from Jelle Munk, of Stoel de Munk, attendee of the Nooku Jam Leuven 2011.
I was a web developer who worked anonymously behind my desk using open source software but I did not like where I was going:

I did not share;
I did not collaborate;
I did not contribute code.

Something had to change, [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is a guest post from Jelle Munk, of <a href="http://www.stoeldemunk.nl/">Stoel de Munk</a>, attendee of the Nooku Jam Leuven 2011.</em></p>
<p>I was a web developer who worked anonymously behind my desk using open source software but I did not like where I was going:</p>
<ul>
<li>I did not share;</li>
<li>I did not collaborate;</li>
<li>I did not contribute code.</li>
</ul>
<p>Something had to change, I felt working with free and open source software was more than this.</p>
<p><a title="jelle-munk by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6435690291/"><img src="http://farm8.staticflickr.com/7169/6435690291_490410880d.jpg" alt="jelle-munk" width="500" height="287" /></a><br />
<em>Picture of Jelle from the <a href="http://www.flickr.com/photos/valanx/sets/72157628152971783/"> &#8216;Making Nerds Look Good&#8217; photostream</a> by <a href="https://twitter.com/skore_de">David Deutsch</a>.</em></p>
<h3 dir="ltr">Hello Community</h3>
<p>I heard about the Nooku Framework and <a href="http://vimeo.com/channels/nooku">watched the talks </a>Johan has been giving about the framework. More importantly, what really got my attention was his philosophy about open source development.</p>
<p>I saw an upcoming event called the &#8216;<a href="http://www.eventbrite.com/event/2326534728">Nooku Jam Leuven</a>&#8216; and felt it was a good way to force myself to learn more about open source. Taking the next step, I signed up!</p>
<p><span id="more-2028"></span></p>
<p>But then came the doubts. I just started with component development in Joomla. So wouldn&#8217;t it be too difficult? Was I even welcome? Wouldn&#8217;t it be better to start with a one day event? But I knew these where all just excuses not to move forward.</p>
<h3 dir="ltr">The weekend</h3>
<p>It turned out to be great! The two days were divided into half hour slots where everyone had the opportunity to do a session. The topic of the sessions ranged from a brainstorm for a new re-usable extension, the future development of the Nooku Framework to just showing of some code.</p>
<p>We also had a CMS showdown comparing three different systems and shared the productivity tools we were all using. And last but not least was meeting face to face with other developers (while consuming great Belgian beers and food).</p>
<p>It was inspiring, educational, but above all, lots of fun. So to all developers sitting silently behind their desks, it&#8217;s much more fun if you start sharing and collaborating!</p>
<p>And to all the participants I met in Leuven, thanks for the wonderful time.</p>
<p>Happy coding!</p>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/W6qxnguw8ww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/12/behind-the-desk-or-in-front-of-the-best/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/12/behind-the-desk-or-in-front-of-the-best/</feedburner:origLink></item>
		<item>
		<title>The Nooku Jam comes home to Belgium!</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/QWW5KQcQBIQ/</link>
		<comments>http://blog.nooku.org/2011/11/the-nooku-jam-comes-home-to-belgium/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 15:54:42 +0000</pubDate>
		<dc:creator>Myra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[jam]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=2014</guid>
		<description><![CDATA[
The biggest Nooku Jam of the year is happening this weekend in Belgium. With the theme “Creativity, Innovation and Inspiration”, the Nooku jam is coming home (technically a few miles from Nooku HQ). Nooku Jam Leuven brings Nookuers from all over.
Everyone who signed up for the Nooku Jam Leuven in the FlandersDC Creativity Lab will [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>The biggest Nooku Jam of the year is happening this weekend in Belgium. With the theme “Creativity, Innovation and Inspiration”, the Nooku jam is coming home (technically a few miles from Nooku HQ). <a href="http://www.eventbrite.com/event/2326534728">Nooku Jam Leuven</a> brings Nookuers from all over.</p>
<p>Everyone who signed up for the Nooku Jam Leuven in the <a href="http://www.flandersdc.be/en">FlandersDC Creativity Lab</a> will be treated to a day of intense presentations, discussions, brainstorms, workshops, and hackathons around specific areas of the Nooku project.</p>
<h4 dir="ltr">Dissecting the Nooku Jam</h4>
<p>There always seems to be a Nooku Jam event in some part of the world. We have had Nooku Jams in three continents the past year! So what exactly happens in a jam?</p>
<p><a title="Nooku Jam Stockholm SE - February 2011 by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/5516536345/"><img src="http://farm6.staticflickr.com/5133/5516536345_085e09e578.jpg" alt="Nooku Jam Stockholm SE - February 2011" width="500" height="333" /></a></p>
<p>A Nooku Jam is an open, participatory workshop-event, whose content is provided by participants. The concept is very similar to a <a href="http://barcamp.org/w/page/405173/TheRulesOfBarCamp">barcamp</a>.</p>
<p><span id="more-2014"></span></p>
<p>Nooku Jams are never your traditional conferences &#8211; they are more of an ad-hoc unconference born from the desire for people to share and learn in an open environment.  Anybody can speak on any topic that they are passionate about. For Nooku developers, this means their latest code, component, or mini project. It is an intense event with discussions, demos and interaction from the attendees.</p>
<h4 dir="ltr">There are no spectators, only participants.</h4>
<p>Attendees must give a demo, a session, or help with one, or otherwise volunteer / contribute in some way to support the event. Participants won&#8217;t need to decide what to talk about until they get there. All presentations are scheduled the day they happen.</p>
<p>The day would start with the suggestion of the sessions. Everybody describes the kind of session they can do. Then the session gets pinned on the board for a certain time slot. After the planning – voila – there is a schedule and the sessions start.</p>
<p>For Nooku Jam Leuven, there will be four speaking rooms.  We&#8217;ll build a schedule with speakers together on a whiteboard starting at 9:30 AM on November 26th, 2011, the day of the event.</p>
<h4 dir="ltr">It’s about community</h4>
<p>The jam is also about putting a face on a lot of quirky mailing list and IM nicknames, and to spend some quality time together. The Nooku community works hard online so they should party hard offline too!</p>
<p>Anyone with something to contribute or with the desire to learn is welcome and invited to join a Nooku Jam. When you come, be prepared to share with other attendees. When you leave, be prepared to share it with the world.</p>
<p>Interested to join us ? You can still <a href="http://nj11leuven.eventbrite.com/">sign-up for the Nooku Jam in Leuven</a>. See you there !</p>
</div>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/QWW5KQcQBIQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/11/the-nooku-jam-comes-home-to-belgium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/11/the-nooku-jam-comes-home-to-belgium/</feedburner:origLink></item>
		<item>
		<title>The magic of primary and unique keys</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/Wg3Ly_ZURww/</link>
		<comments>http://blog.nooku.org/2011/11/the-magic-of-primary-and-unique-keys/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 12:52:11 +0000</pubDate>
		<dc:creator>Gergo</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=1971</guid>
		<description><![CDATA[One of the first things Nooku developers experience with Nooku Framework is the magic with database tables. It’s a redemption for Joomla developers that there is no need to create table classes which describe the tables’ structure. Nooku Framework is smart enough to deal with primary and unique keys out of the box. And to [...]]]></description>
			<content:encoded><![CDATA[<div>One of the first things Nooku developers experience with Nooku Framework is the magic with database tables. It’s a redemption for Joomla developers that there is no need to create table classes which describe the tables’ structure. Nooku Framework is smart enough to deal with primary and unique keys out of the box. And to go further, it can handle composite keys too, which is rarely supported by other PHP frameworks.<br />
<strong> </strong></div>
<h3 dir="ltr">It’s all in the schema</h3>
<p>If primary and unique keys are properly defined in the database schema, it is possible to retrieve an item without writing any line of code. In com_harbour’s boats table, harbour_boat_id is a primary key, and slug is a unique key. It is possible to get the same boat by using any of these keys:</p>
<pre class="brush: php; toolbar: true;">index.php?option=com_harbour&amp;view=boat&amp;id=4
index.php?option=com_harbour&amp;view=boat&amp;slug=queen-mary-2</pre>
<p>There is an important thing to note here. If an identity column exists (an auto increment key), the name &#8220;id&#8221; is used for it in the framework. So for example the column harbour_boat_id is accessed as $boat-&gt;id.</p>
<div>
<h3 dir="ltr">A look under the hood</h3>
<p>Let’s look deep into how this works under the hood. In the first step, the database class fetches column and index information from the database. In the second step, the model requests the parsed information from the table class and creates a state for each key.</p>
<p><span id="more-1971"></span></p>
<p>In the model, states are inserted for primary and unique keys automatically. It uses KConfigState::insert, which accepts 5 parameters:</p>
<ul>
<li><strong>name</strong>: The name of the state, in this case the name of the column.</li>
<li><strong>filter</strong>: Defines how the value should be validated and sanitized. This information is also fetched from the table schema. See KDatabaseAdapterMysqli::_typemap for how different types are mapped to filters.</li>
<li><strong>default</strong>: The state’s default value. This is set to NULL by the model when primary and unique keys are inserted.</li>
<li><strong>unique</strong>: It tells the state whether the variable is unique or not. In this case the value is obviously TRUE.</li>
<li><strong>required</strong>: This fifth parameter is important in case of composite unique and primary keys. Composite keys consist of two or more columns. In this parameter, Nooku Framework stores the name of the other columns which belong to the key. This way, it can be easily validated if all states are set for a composite key.</li>
</ul>
<h3 dir="ltr">Fetching a row</h3>
<p>If the request is unique (it contains at least one unique state), Nooku Framework is able to fetch the row. The magic happens in KModelTable::_buildQueryWhere:</p>
<pre class="brush: php; toolbar: true;">$states = $this-&gt;_state-&gt;getData(true);

if(!empty($states))
{
    $states = $this-&gt;getTable()-&gt;mapColumns($states);
    foreach($states as $key =&gt; $value)
    {
        if(isset($value)) {
            $query-&gt;where('tbl.'.$key, 'IN', $value);
        }
    }
}</pre>
<p>The 1st line requests the unique states from KConfigState. If there are any (3rd line), it iterates through them (6th line) and adds a WHERE statement to the query (9th line).</p>
<p>As you can see, Nooku Framework does a powerful job in the background. It doesn’t require you to specify information that is already out there. With this magic, developers save a lot of time.</p>
<p>In a next post we will dive deeper into foreign keys. Happy coding !</p>
</div>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/Wg3Ly_ZURww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/11/the-magic-of-primary-and-unique-keys/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/11/the-magic-of-primary-and-unique-keys/</feedburner:origLink></item>
		<item>
		<title>Form validation with Nooku Framework</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/ryasyrgdV1g/</link>
		<comments>http://blog.nooku.org/2011/11/form-validation-with-nooku-framework/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 09:06:43 +0000</pubDate>
		<dc:creator>Stian</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=1934</guid>
		<description><![CDATA[
Responsive validation feedback on forms is no longer a “nice to have” feature in modern web apps, it’s a standard that users have come to expect to be there.
In Nooku Framework Alpha 3, we added a new API that loads the forms validation library in MooTools More for you. And we implemented it in Nooku [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Nooku Server - Form Validation by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6301887410/"><img src="http://farm7.static.flickr.com/6111/6301887410_911544b369.jpg" alt="Nooku Server - Form Validation" width="500" height="288" /></a></p>
<p>Responsive validation feedback on forms is no longer a “nice to have” feature in modern web apps, it’s a standard that users have come to expect to be there.</p>
<p>In Nooku Framework Alpha 3, we added a new API that loads the forms validation library in <a href="http://www.mootools.net/docs/more125/more/Forms/Form.Validator">MooTools More</a> for you. And we implemented it in Nooku Server Alpha 3 to improve the usability of refactored components.</p>
<p>Today I’ll show you how easy it is to get started by simply adding CSS classes to your form inputs. Then I’ll show you how easy it is to create your <a href="http://www.mootools.net/docs/more125/more/Forms/Form.Validator.Extras">own input validators</a> for when you need to validate something custom.</p>
<p><span id="more-1934"></span></p>
<h3 dir="ltr">Let’s get started</h3>
<div>
<p>This tutorial will assume that you have a Nooku component already setup, with forms and everything else needed for the application to work. This tutorial aims to help you enhance your form, not build one from scratch.</p>
<p>The example component is just like a simplified com_weblinks, it renders a set of links.</p>
<p>So without further ado, this is the basic layout we’ll be enhancing:</p>
</div>
<div>
<pre class="brush: php; toolbar: true;">&lt;form action=”” class=”-koowa-form”&gt;
&lt;input type=”text” name=”title” value=”&lt;?= @escape($treasure-&gt;title) ?&gt;” /&gt;
&lt;input type=”text” name=”url” value=”&lt;?= @escape($treasure-&gt;url) ?&gt;” /&gt;
&lt;/form&gt;</pre>
</div>
<div>
<p>The first thing you need to do, is to load the validation behavior.<br />
You do that by placing this call somewhere close to where you load koowa.js</p>
<pre class="brush: php; toolbar: true;">&lt;?= @helper(‘behavior.validator’) ?&gt;</pre>
<p>So in this form, there’s a couple of things needed to be improved. The title is a required field, the url field is required as well, but it also needs to be validated as a proper url.</p>
<p>The way to do that is by adding CSS classes on the form inputs and instructing the validator on how to validate the form.</p>
<pre class="brush: php; toolbar: true;">&lt;input type=”text” name=”title” value=”&lt;?= @escape($treasure-&gt;title) ?&gt;” class=”required” /&gt;</pre>
</div>
<p><strong>Valid</strong></p>
<p><a title="Nooku Server - Form Validation by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6301367935/"><img src="http://farm7.static.flickr.com/6236/6301367935_c744589741.jpg" alt="Nooku Server - Form Validation" width="417" height="22" /></a></p>
<p><strong>Invalid</strong></p>
<p><a title="Nooku Server - Form Validation by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6301367863/"><img src="http://farm7.static.flickr.com/6111/6301367863_ef22e1241f.jpg" alt="Nooku Server - Form Validation" width="417" height="51" /></a></p>
<div>
<pre class="brush: php; toolbar: true;">&lt;input type=”text” name=”url” value=”&lt;?= @escape($treasure-&gt;url) ?&gt;” class=”required validate-url” /&gt;</pre>
</div>
<p><strong>Valid</strong></p>
<p><a title="Nooku Server - Form Validation by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6301367901/"><img src="http://farm7.static.flickr.com/6230/6301367901_5d2acb1779.jpg" alt="Nooku Server - Form Validation" width="417" height="22" /></a></p>
<p><strong>Invalid</strong></p>
<p><a title="Nooku Server - Form Validation by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6301367955/"><img src="http://farm7.static.flickr.com/6217/6301367955_c57bc010dc.jpg" alt="Nooku Server - Form Validation" width="484" height="51" /></a></p>
<div>
<p>The result:</p>
<pre class="brush: php; toolbar: true;">&lt;?= @helper(‘behavior.validator’) ?&gt;
&lt;form action=”” class=”-koowa-form”&gt;
&lt;input type=”text” name=”title” value=”&lt;?= @escape($treasure-&gt;title) ?&gt;” class=”required” /&gt;
&lt;input type=”text” name=”url” value=”&lt;?= @escape($treasure-&gt;url) ?&gt;” class=”required validate-url” /&gt;
&lt;/form&gt;</pre>
</div>
<h3 dir="ltr">Keep your cool</h3>
<p>Now with these added, we already have very basic validation up and running. When you’re having fun, it’s easy to run a bit crazy and add anything and every possible kind of validation you can to make the most out of what you can do. But you need to stay cool and always have the purpose of what you’re doing crystal clear in your mind. The form validation is meant to help the user workflow be as smooth and painless as it can be.</p>
<p>For example, we don’t add a validator on slug/alias inputs that bugs the user if he forgot to lowercase it properly simply because slug fields can be transformed to lowercase and transliterated automatically in PHP.</p>
<h3 dir="ltr">Rule of thumb</h3>
<p>Rule of thumb : Our first goal should always be to make the application do as much as it can to aid the user. If it can’t, then we can help the user by validating his input.</p>
<p>So the forms validation that calls for user action should only be done on things that our application can’t figure out by itself .</p>
<p>Next time we’ll take a look at how we can automate things a bit more.</p>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/ryasyrgdV1g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/11/form-validation-with-nooku-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/11/form-validation-with-nooku-framework/</feedburner:origLink></item>
		<item>
		<title>The magic of file uploads with com_files</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/FHCMB5Wxb7I/</link>
		<comments>http://blog.nooku.org/2011/10/the-magic-of-file-uploads-with-com_files/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 23:28:51 +0000</pubDate>
		<dc:creator>ercan</dc:creator>
				<category><![CDATA[Components]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=1917</guid>
		<description><![CDATA[In my last blog post, I wrote about the awesome new file manager that made its way into Nooku Server Alpha 3. In this blog post we are going to dive a little deeper into how to re-use com_files in your own components. Meet my new friend : com_uploads!
This is a proof of concept component [...]]]></description>
			<content:encoded><![CDATA[<p>In my last blog post, I wrote about the <a href="http://blog.nooku.org/2011/08/meet-com_files-joomla-file-management-2-0/">awesome new file manager</a> that made its way into Nooku Server Alpha 3. In this blog post we are going to dive a little deeper into how to re-use com_files in your own components. Meet my new friend : <a href="https://github.com/ercanozkaya/com_uploads">com_uploads</a>!</p>
<p>This is a proof of concept component that demonstrates two distinct features:</p>
<p>1. A custom file upload controller that handles file uploads<br />
2. A full featured interface for managing files in your special container</p>
<p><a title="Nooku Server - Files by Nooku, on Flickr" href="http://www.flickr.com/photos/nooku/6278348004/"><img src="http://farm7.static.flickr.com/6224/6278348004_06cd5c7d30.jpg" alt="Nooku Server - Files" width="500" height="402" /></a><br />
<span id="more-1917"></span></p>
<h3 dir="ltr">Containers</h3>
<p>The files component is not tied to a single folder anymore, instead it implements ‘containers’. Containers are like root folders and they contain parameters and access rules. This gives you the ability to use the component with different folders from completely unrelated paths.</p>
<p>With this abstraction, it will also be possible in the future to create &#8220;container types&#8221; which can gather their data from different cloud files systems (S3, <a href="http://www.dropbox.com/">Dropbox</a>, Flickr, …)</p>
<h3 dir="ltr">Setting up</h3>
<p>To start using com_files in your component all you need to do is create your own container. In the <a href="about:blank">install file</a> you see an example of how to create your container programmatically. The slug of the container acts as a unique identifier for your container that you will later need to get to your file manager instance. That slug will be used in HMVC calls. Choose it wisely!</p>
<p>With our container ready, it is time to explore our first view. If you go to the Manage tab (which is the default layout of manage view) you will see our file manager ready to rock! That’s it.</p>
<h3 dir="ltr">Event hooks</h3>
<p>When you examine the code of the manage view, you will notice that an event named “<em>onAfterNavigate</em>” is attached to log folder navigations . This is just one example of numerous events we have in the code base. We have more than a few dozen of them. For example, you can use <em>onAfterSetLayout</em> to detect layout switches. Or you can use <em>onBeforeDeleteNode</em> to act on deleted nodes.</p>
<p>Those events can be used to customize every aspect of the user experience from uploads to folder navigation. You can find the rest of them by searching for &#8220;<em>fireEvent</em>&#8221; in the com_files JavaScript classes.</p>
<h3 dir="ltr">Uploading files</h3>
<p>The second &#8220;Upload&#8221; tab is rather plain. It is just an input box to show you how to handle file uploads in your code by yourself. You can see how that is done in the <a href="https://github.com/ercanozkaya/com_uploads/blob/master/administrator/components/com_uploads/controllers/upload.php">upload controller</a>.</p>
<p>If you examine the code, you will see that we pass the raw file path we get from PHP and let a simple HMVC call handle the rest.</p>
<p>This little controller can be used to add upload forms to already existing components, with just one line of code. For example, you can store resumes in a candidate form or store attachments in a forum without ever worrying about validation or file location.</p>
<p>You can see the full codebase on <a href="https://github.com/ercanozkaya/com_uploads">Github</a>. Give it a spin!</p>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/FHCMB5Wxb7I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/10/the-magic-of-file-uploads-with-com_files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/10/the-magic-of-file-uploads-with-com_files/</feedburner:origLink></item>
		<item>
		<title>Nooku 0.7 Alpha 4 released</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/w0V3SCMnt3c/</link>
		<comments>http://blog.nooku.org/2011/10/nooku-07-alpha-4-released/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 02:11:01 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=1838</guid>
		<description><![CDATA[It has been a busy summer in the Nooku Project ! We have been working very hard on to get Nooku 0.7 Alpha 4 ready for release. Sticking to our 12 week release cycle I’m both proud and excited to announce that Alpha 4 has been officially tagged in all our repositories on the Nooku [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a busy summer in the Nooku Project ! We have been working very hard on to get Nooku 0.7 Alpha 4 ready for release. Sticking to our 12 week release cycle I’m both proud and excited to announce that Alpha 4 has been officially tagged in all our repositories on the <a href="http://code.nooku.org/">Nooku Developer Portal</a>.</p>
<h3 dir="ltr">Nooku community rocking !</h3>
<p>This fourth alpha follows in the footsteps of alpha 3 with more then <strong>2000 commits</strong> made by not less then <strong><a href="http://www.ohloh.net/p/nooku/contributors">10 rockstar developers</a></strong> from all over the world. Thanks everyone!</p>
<p>For Nooku Server specifically we made more then 1000 commits, surpassing the<strong> 3000 commit mark</strong>, while Nooku Framework surpassed the <strong>4000 commit mark</strong>. Divided by 12 weeks that’s an average of<strong> 165 commits/week, or 25 commits a day</strong>! Simply amazing!</p>
<h3 dir="ltr">Overview of the changes</h3>
<p>The progress made in this release is mind blowing. This release packs a wealth of changes to make your live easier and coding more fun. We closed more then<strong> 75 tickets</strong> spread over the different spaces. That’s almost <strong>2x more then Alpha 3</strong>. It’s impossible to fit all the changes in one blog post. I’ll give you some of my personal highlights:</p>
<p><span id="more-1838"></span><strong>1. Code refactoring</strong></p>
<p>We added a new unified settings manager, refactored the installer and extension components, added a new debug and groups components. Little sidenote : the groups component is a first step towards implementing a new permission system.</p>
<p>All these components expose a complete re-usable API. Want to get a list of all the enabled plugins? No problem :</p>
<pre class="brush: php; toolbar: false;">$this-&gt;getService(‘com://admin/extensions.model.plugins’)
        -&gt;enabled(1)
        -&gt;getList();</pre>
<p>does that for you!</p>
<p>On top of that each component also implements a complete REST interface. Try : <a><em>http://site.com/administrator/extensions/plugins.json?enabled=1</em></a> to get a list of all enabled plugins. An instant webservice right at your fingertips!</p>
<h4 dir="ltr">2. REST</h4>
<p>As you can see from the above example we implemented a router for the administrator. With humanly readable URL’s and htaccess support turned on you now have beautifully and RESTful URL’s also in the backend. Personal note : waited 4 years for this!</p>
<p>We are taking the first steps towards a <a href="http://martinfowler.com/articles/richardsonMaturityModel.html#level3">ROA (Resource Oriented Architecture) of level 3</a>. The JSON output has been improved, adding paging information and we introduced initial discoverability with basic <a href="http://tools.ietf.org/html/draft-gregorio-uritemplate-07">URI templates</a>.</p>
<h4 dir="ltr">3. Performance</h4>
<p>Performance matters! Alpha 4 comes with more caching improvements. We implemented a very fast caching solution for KServiceIdentifier and KLoader through <a href="http://php.net/manual/en/book.apc.php">APC.</a> Initial tests show a <strong>30% performance improvement</strong> when using <strong>APC caching</strong> in Nooku Server. If you are serious about performance install APC and turn it on!</p>
<p>We also added a new <strong>mod_expire</strong> plugin, this little nifty plugin appends a timestamp based on the modified date to media url’s (css, js, images, …). When mod_expires is installed in apache  this speeds up page loading, a lot! Example, on a request to /administrator/articles we go from 22 to 1 requests and page render time goes from 1.4sec to 700msec, or <strong>2x times faster</strong>!</p>
<h4 dir="ltr">4. Javascript</h4>
<p>Nooku Framework Alpha 4 comes packed with a bunch of javascript goodies. Too many to list, but here are my two favorites :</p>
<p>- <strong>Autocomplete behavior.</strong> Create autocomplete input fields with just one line of code. And the cool part, it works with every Nooku component out of the box!</p>
<p>- <strong>Interactive overlays</strong>. Overlays are now interactive meaning that if you trigger a post or get request in an overlay only the overlay will be re-drawn. Widgets here we come!</p>
<p>Oh, almost forgot. We also added <strong>mod_widget</strong>. This little module implements interactive overlays and allows you to turn any view(url) into a widget. One module to rule them all. Yes please!</p>
<h4 dir="ltr">5. Hidden secrets</h4>
<p>It’s the little things that have the biggest impact. Nooku Framework Alpha 4 packs two little gems that could just do that. The ‘<a href="http://blog.nooku.org/2011/08/say-hello-to-the-dynamic-module-injector/">Dynamic module injector</a>’ and the ‘Transparent Module Chrome’.</p>
<p>With the transparent module chrome you can programmatically render modules and tell them what module chrome to use. Example :</p>
<pre class="brush: php; toolbar: false;">&lt;?= @service('mod://admin/foo.html’)-&gt;styles(array(‘rounded’, ‘blue’’)-&gt;display(); ?&gt;</pre>
<p>This will render the foo module using the rounded and blue styles. Neat huh !</p>
<p>Full list of changes can be found here:</p>
<ul>
<li><a href="https://nooku.assembla.com/spaces/nooku-server/milestones/418984-0-7-alpha-4">Nooku Server Alpha 4 milestone</a><a href="https://nooku.assembla.com/spaces/nooku-server/milestones/331383-0-7-alpha-3"></a></li>
<li><a href="https://nooku.assembla.com/spaces/nooku-framework/milestones/418982-0-7-alpha-4">Nooku Framework Alpha 4 milestone</a><a href="https://nooku.assembla.com/spaces/nooku-framework/milestones/377677-0-7-alpha-3"></a></li>
<li><a href="https://nooku.assembla.com/spaces/nooku-components/milestones/418978-0-7-alpha-4">Nooku Components Alpha 4 milestone</a></li>
</ul>
<h3 dir="ltr">What’s happening next?</h3>
<p>The good news : we  are almost there ! Bad news : we need at least one more alpha to get there. In Nooku Server only the menu manager component still needs refactoring, while in Nooku Framework there are a few improvements (database, parameter/form, cli, rest, validation, … ) that are still on our wishlist.</p>
<p>Our contributors did an amazing job for alpha 4 and we want to keep this up for alpha 5. I have already <a href="https://nooku.assembla.com/spaces/nooku-server/tickets">created a list of tickets</a> for alpha 5 that we definitely want to tackle.</p>
<p>If you want to contribute you can take one of the tickets that is still open or you can collaborate on one of the tickets that is in progress. If you have an idea on something not in the list get in touch! We love crazy ideas!</p>
<p>Finally I want to thank everyone who has contributed in any way to make this alpha happen. It&#8217;s a real pleasure to be able to work with so many very talented people!</p>
<p>Happy coding!</p>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/w0V3SCMnt3c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/10/nooku-07-alpha-4-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/10/nooku-07-alpha-4-released/</feedburner:origLink></item>
		<item>
		<title>A Nooku November</title>
		<link>http://feedproxy.google.com/~r/nooku/blog/~3/H8NnEvtnYpk/</link>
		<comments>http://blog.nooku.org/2011/10/a-nooku-november/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 21:45:56 +0000</pubDate>
		<dc:creator>Myra</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[jam]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.nooku.org/?p=1818</guid>
		<description><![CDATA[It happened in September, and it is going to happen again next month &#8211; the Nooku flag is up in two continents in November! Nooku finds its way back to Asia and is going back to its roots in Belgium! Presenting the second Nooku Jam Manila and the first Nooku Jam Leuven.
Manila &#8211; Philippines
Following a [...]]]></description>
			<content:encoded><![CDATA[<p>It happened in September, and it is going to happen again next month &#8211; the Nooku flag is up in two continents in November! Nooku finds its way back to Asia and is going back to its roots in Belgium! Presenting the second <a href="http://nj11manilla.eventbrite.com/">Nooku Jam Manila</a> and the first <a href="http://nj11leuven.eventbrite.com/">Nooku Jam Leuven</a>.</p>
<h3 dir="ltr">Manila &#8211; Philippines</h3>
<p>Following a very successful <a href="http://blog.nooku.org/2010/10/jamming-in-manila-with-nooku/">Nooku Jam Manila in 2010</a>, Johan is back to give developers  another whirlwind experience with the Nooku Framework. Israel and Myra, Timble’s Manila team, will also be around to help facilitate the event.</p>
<p>Nooku Jam Manila will be held on <strong>Friday, November 4, 2011</strong> at the <strong><a href="http://www.exist.com/">Exist</a> TechBar in Ortigas, Metro Manila</strong>. If you are a passionate Joomla/PHP developer, join us for a day of technology, hacking and fun. And the hard work will pay off at the after party at the end of the day to start the celebrations for a great Nooku year.</p>
<p>The techbar can only hosts <strong>20 developers. </strong>We expect to sell out quick so make sure to <strong><a href="http://nj11manilla.eventbrite.com/">register early</a></strong>!</p>
<h3 dir="ltr">Leuven &#8211; Belgium</h3>
<p>With the Nooku headquarters just a few miles away, the Nooku Jam almost comes home on the <strong>26-27th of November in Leuven, Belgium</strong>. Our friends from <a href="http://www.flandersdc.be/en"><strong>FlandersDC</strong></a> will host the Jam in their uber awesome <a href="http://www.flandersdc.be/en/services/creativity-lab"><strong>Creativity Lab</strong></a> which will be opened for us specially during the weekend.</p>
<p>Except not one day, but a full weekend of intense presentations, discussions, brainstorms, workshops, hackathons, &#8230; around specific areas of the Nooku project. And offcourse in good Nooku tradition there will be a Nooku Party!</p>
<p>This Jam is a great opportunity for Nookuers to meet in person, to put a face on a lot of quirky mailing list and IM nicknames, and to spend some quality time together!</p>
<p>The Nooku Jam is organised together with community partners (<a href="http://www.timble.net">Timble</a>, <a href="http://moyoweb.nl/">MoyoWeb</a>, <a href="http://www.pincoding.com/">Pincoding</a>, <a href="http://beyounic.com/">Beyounic</a>, <a href="http://www.flandersdc.be/en">FlandersDC</a>). We are still looking for companies to help sponsor the event. Interested? <a href="http://www.nooku.org/about/contact.html">Get in touch</a>.</p>
<p>If you are a Nooku, Joomla or PHP developer this is a Jam not to miss ! The Creativity Lab of FlandersDC can host a <strong>maximum of 50 people</strong>. <a href="http://nj11leuven.eventbrite.com/">Don&#8217;t wait to</a><strong><a href="http://nj11leuven.eventbrite.com/"> register</a>!</strong></p>
<img src="http://feeds.feedburner.com/~r/nooku/blog/~4/H8NnEvtnYpk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.nooku.org/2011/10/a-nooku-november/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.nooku.org/2011/10/a-nooku-november/</feedburner:origLink></item>
	</channel>
</rss>

