Creating a diet for Nooku Server

Nooku Server Diet

A little over a month ago we announced our plans for Nooku Server, a multi-site Joomla 1.5 distribution. Before starting to integrate new features in Nooku Server we are giving the Joomla core a thorough code, features and performance review.

Joomla 1.5 core feature survey. To get a better idea of the features used, or more importantly not used in Joomla 1.5, we did a little survey with very interesting results. Almost 250 people filled it out, big thanks to all of you who did!

Results

1. Which Joomla core features do you use ?

You can find the result here. If we would apply the 80/20 rule the only feature that you really need and use is ‘Content’. All the rest of the core features is used less then 80%. If we turn the 80/20 rule around and we check which features are used at least by 20% of you, we get the following list:

  1. 82% – Content
  2. 68% – Search
  3. 46% – Contacts
  4. 34% – TinyMCE
  5. 32% – PDF rendering
  6. 29% – XML-RPC support
  7. 28% – Newsfeeds
  8. 22% – Banners

Still an interesting list. You are not using LDAP, Gmail or the XStandard editor at all. You also don’t use any of the core site templates, nor do you require build in help.

2. What is the number one feature you are missing in the Joomla core ?

You can find the result here. If we look at the features you are missing most we get the following top 3:

  1. 20% – Multi-site
  2. 18% – Improved permissions
  3. 13% – Multi-lingual support

The most interesting is that improved permissions, which is the major new feature for Joomla 1.6, is not the most needed feature. Instead most of you are looking for multi-site support.

Based on the results of both questions we can conclude that what you really need is not a CMS but instead you are looking for a flexible, customisable, multi-site and multi-lingual web application platform. And that’s exactly what we are going to build!

Nooku Server’s diet

Based on the survey results we have defined a nice diet for Nooku Server which has the following key ingredients:

1. Core extensions: All the components, plugins and templates that didn’t made it into our list will be removed. The only one we are rescuing, for now, is weblinks. In Joomla 1.5 we used weblinks as an example component and for Nooku Server it will serve the same roll. It will be the first core component that gets refactored to use Nooku Framework instead of Joomla Framework.

2. Uninstall any component: We are going to make it easy to un-install any component, even the Content component. So if you don’t need it, you can just remove it.

3. REST over XML-RPC: PDF rendering and XML-RPC support did made it into our list, both have been removed in Joomla 1.6 already and we are going to do the same. Nooku Framework is using a RESTful architecture. REST will be the RPC of choice over XML-RPC.

4. Legacy and system requirements: Legacy support for Joomla 1.0 and PHP4 will be removed, in favor of native support for Joomla 1.5 and PHP5.2+.

5. Mootools 1.2: Mootools will be upgrade to 1.2 and we are also including the compatibility layer to maintain compatibility with Joomla 1.5.

6. Security: All assets (css,js,images) will be moved to the media folder. This will allow us to run Nooku Server below http root which is a big security benefit and a best practice.

7. Libraries: Legacy libraries (patTemplate, DOMit, phpinputfilter, geshi, feedcreator, … ) will be removed.

8. Performance: We are going to make some smaller performance improvements. For example, hit support in Content and Weblinks will be removed to allow for MySQL cache to be used on those database tables.

9. Caching: Caching was never really implemented properly in Joomla 1.5, in Nooku Server we are going to port improvements done in Joomla 1.6 to improve caching support and overall performance.

10. Administrator template: We are going to give the administrator template some love to improve usability and workflow.

That’s it, time to get coding! Interested in helping out? Don’t hesitate to send us a mail or post on the Nooku Framework mailing list.

  • http://topsy.com/blog.nooku.org/2011/01/creating-a-diet-for-nooku-server/?utm_source=pingback&utm_campaign=L2 Tweets that mention Creating a diet for Nooku Server « Nooku Blog — Topsy.com

    [...] This post was mentioned on Twitter by brian teeman, Nooku, sigsiu_net and others. sigsiu_net said: RT @brianteeman: Readingn "Creating a diet for #Nooku Server" http://tinyurl.com/347b6fh #Joomla! not supri … http://sobi.it/Ijo/ #jos [...]

  • http://twitter.com/nikosdion N. Dionysopoulos

    Huge BRAVO for #6! It always struck me as terribly odd to have static resources scattered throughout the place (media, images, components, administrator/images, administrator/components, even cache and tmp) when the only sensible place to put them is… the media directory. This allows for creating some easy .htaccess rules (catering for 66% of site hosting) to completely isolate the different parts of the application. For instance, no PHP file should be directly accessible in the media directory and components, plugins, modules need not be web accessible at all. This can even mitigate the impact of a vulnerable component which allows for arbitrary file uploads, at least long enough to fix the problem at hand.

    All the other changes seem very reasonable, not to mention long awaited. Well done!

  • http://thebrowser.com polit2k

    By Multisite do you mean totally unrelated sites or main sites plus sub domains?

  • http://johan.janssens.me Johan Janssens

    Both, we are not putting an restrictions on the multi-site feature. It will allows you to run many sites using one codebase.

  • http://johan.janssens.me Johan Janssens

    Thnx ! Seperation of assets from php files is a primary required to be able to deploy Joomla in an entreprise context. Even if you cannot move things around you can indeed use htaccess rules to easily deny access this wat.

  • Paolo De Dionigi

    Indeed multisite above permission improvement is a big surprise for me (as a survey result, not if nooku has the purpose to bring joomla into enterprise level).

    I love your diet even if I actually hate the word itself:) (just finished 1 month of strict diet after surgery).

    Just one question, is mootools mandatory? There will be an easy way to switch to jquery or extjs (sencha)?

    Hope to be able to be in Lugano even if actually I don't know anything about nooku, is it possible to attend just to listen and learn?

  • http://johan.janssens.me Johan Janssens

    Mootools is mandatory for Joomla 1.5 and will also be mandatory for Nooku Server.

    We are however going to make sure that all the core javascript will run in no-conflict mode (http://mootools.net/blog/2009/.../) to allow you to use both mootools, sensha an jquery in Nooku Server.

    Switching is off course possible but would require you to re-write the mootools script to jquery or sensha.

    You are most welcome to attend the Nooku Jam in Lugano. Questions like the one about Mootools would be great for our Q&A session at the Jam. I hope to meet you there !

  • http://twitter.com/joomkit Alan Sparkes

    On media: I dont like this – what do you do when client wants campaign url or short url 'media' …something more like mediaassets/assets would get my vote

    On Survey:
    whats the 'n' ie the total number of respondents? Stat power needs 30+ to get statistically significant results – else its flavour rather than 'fact'. How come you are argue 'The most interesting is that improved permissions, which is the major new feature for Joomla 1.6, is not the most needed feature' You have rounded down the 17.92% to 18 – most people round up over x.5. When you round up and rephrase ACL becomes the 2nd most most needed feature……

  • http://johan.janssens.me Johan Janssens

    The media issue you are talking about isn't a problem at all. Your webserver will take care of this transparently for you, it will first check the media folder and if the url doesn't match will route the request to Joomla for processing. No need to rename the media folder.

    As mentioned in the introduction of the survey we had nearly 250 people who filled it in. I think that's more then enough to be significant. I have also changed the percentage to 18%, the figure was actually less then 17,5% but the survey is still open and today we have a few more submissions hence the slightly changed percentages.

  • Paul Sweeney

    Hear hear! I'm working with a large publishing company right now, and we have a fairly hacked up version of Joomla 1.5 which does run multiple sites off a single database at present, and yeah, the media thing is huge. Our solution requires a small army of symlinks and judicious use of core and 3PD hacks to get working.

    Any roadmap for when the the Nooku Server will be available on your public SVN repo, and failing that, what steps would I have to take to become a contributor to Nooku Server?

  • http://johan.janssens.me Johan Janssens

    I hear your pain. Working with symlinks and changing components is far from ideal. The multi-site solution we are working on for Nooku Server is quite elegant. It works out of the box with most components, only components that save something to the file system will require to be changed slightly to allow to work in a multi-site context.

    Now that we have the survey results in we have started working on a roadmap. Once it's finished I'll publish it on the blog.

    At the moment contributors have access, if you are willing to help out you are definitely welcome to sign the agreement which can be found here : http://blog.nooku.org/2010/11/.../ Otherwise you can just wait for the roadmap to be published to get an idea of the timing.

  • http://www.facebook.com/profile.php?id=625096931 Rastin Mehr

    Great post @Johan! we can't wait to use Nooku Server for the Anahita™ Social Engine.

  • http://johan.janssens.me Johan Janssens

    Thanks Rastin ! Would be awesome to have Anahita support multi-site too.

  • http://blog.nooku.org/2011/01/a-roadmap-for-nooku-server/ A roadmap for Nooku Server « Nooku Blog

    [...] Nooku Server’s diet established, we now have a good idea of the work that needs to be done. A next step in the process is to define [...]

  • Paul Sweeney

    I'm glad we're not the only folks diving down this rabbit hole. About the participent agreement, where should I (e)mail that guy when it's all signed and ready to go?

  • http://johan.janssens.me Johan Janssens

    Paul, the details where the send the contributor agreement are included in the document.

  • http://blog.nooku.org/2011/01/nooku-server-loses-40-weight/ Nooku Server loses 40% weight « Nooku Blog

    [...] and multi-lingual distribution of Joomla 1.5. With the help of our community we created a diet for Nooku Server and defined a [...]

  • Harikaram

    Regarding Multisite: How will it work wrt to extension parameters? Does each site have its own set? Can they be copied or cloned between sites and when setting up new ones? Also how will extension upgrades be treated.
    Looking forward to this…

  • http://johan.janssens.me Johan Janssens

    Lot's of good question, I think the best way would be to wait until we have made more progress on this and then you can test for yourself. How does that sound ?

  • Harikaram

    I'll keep my eyes open. Very glad to see these topics on the forefront. Might I also add a sensible image/media manager to the request list. One that can resize, crop and do things like rename and move files?

  • http://blog.blueforce.ch/2011/02/nooku-server-ein-schritt-in-die-richtige-richtung/ Nooku Server – Ein Schritt in die richtige Richtung? | Rogers Blog

    [...] Mehrsprachigkeit und schon hat man Nooku Server. Wem das jetzt etwas zu schnell gegangen ist, kann hier die genauen Angaben zu Nooku Server in aller ruhe selber [...]

  • http://blog.nooku.org/2011/05/nooku-development-at-warpspeed/ Nooku Development at Warpspeed « Nooku Blog

    [...] ago we announced our plans for Nooku Server, a multi-site distribution of Joomla 1.5. We created a diet for Nooku Server and defined a roadmap. We initially planned to add multi-site support, caching improvements and a [...]

blog comments powered by Disqus