Sun

25

Jan

2009

Development Coordinator Summit Summary

 

We have finished most parts of the Development Coordinator Summit over the last few days. We have had some pretty intense days of discussing our agenda, that covered the following topics:

  1. Development Vision
  2. Healthy Development Team
  3. Operational and Organisational Structure
  4. Roadmap

This mail is a summary of the outcome of these topics. When you read it is important to understand that we only covered the highlights and have set direction and focus for Joomla development. It will take time, and considerable effort from everyone involved in the project to achieve our goals, but we are excited. It's impossible to share every detail but the following presents a summary of each major topic.

1. Development Vision

  • Release early and often. In the spirit of Eric Raymond we support this approach. We want to shorten development cycles, and have more regular releases.
  • Releases:
    • Maintenance releases are handled by the bug squad. Bug squad does a very good job, we would like to continue with that.
    • Minor releases are handled by the development team but with a change to being vision based and time-boxed (similar to some other projects, eg Ubuntu). We would like to see teams of people focus on specific topics, and work from there to a beta version. From there on the bug squad will take over an make sure the release is of top quality.
    • Major release are handled initially by a team that is assigned to specifically to this release.
  • Long term support of at least 3 years in length selected releases will be added (1.5 will fall into category).
  • Move more to a contribution based approach rather than a feature based approach (or a hybrid depending on the case).
  • Looking a ways to assemble distributions out with different extension manifests (for example a "Lite" version).
  • Looking at Apt get/apt search paradigm, currently targeted at with the package management.
  • Mission+vision+time-box = release (minor). What we mean with that is that we set a mission/vision for the next (minor) release, try to set a time-box and then go for it.
  • Major releases will probably require migration paths but minor releases will have upgrades paths.
  • The framework libraries will be separated into their own repository and will be independent of the CMS.  The idea is that the CMS will choose a particular version of the Framework for any particular release, but development on new features in the Framework can continue without affecting the CMS.

2. Healthy Development Team

The key to producing software in a volunteer driven project is having a healthy development team. Traditionally the Joomla project has been semi-open (positive approach), but the model we use has some specific problems to move ahead. In the past there has been effort to lower some barriers, the bug squad was the first stage of opening up. The summary of what we discussed is as follows:

  • The "Development" WG becomes a small group or managers and people with commit access who focus on the quality of the code that will ultimately be distributed.
  • We are considering how to set up a research group, experimenting with new Joomla technology.
  • The second stage for lowering the barriers is to find a way to make it possible for everyone to submit feature patches. Coupled with that will be improving style and best practice guidelines.
  • Development lists will be opened up to the public.  The existing Dev list will be archived and three new lists will be created: one for general development related questions, one for people wanting to work on the CMS side of development (the extensions that make up Joomla) and one for the people wanting to work on Joomla Framework development.
  • Offering opportunity for the community to contribute at any level.

3. Operational/Organisation Structure

We had a lot of discussion about what a "development team" needs in order to function well.  We discussed this a lot and will be talking to both the Joomla Core Team and OSM over the next few months about where we see improvements can be made.

We discussed 1.6 a "lot". What we resolve was that there would be a single "alpha" stage.  The following is a list of what we resolved would form the alpha, and if not finished, would prevent the alpha from being released.  These features are:

  • The Access Control system needs to at least emulate what is in 1.5, allow adding of new groups and access levels, and allow you to set new "view" rules for at least articles.
  • Implement a new JForm
  • Implement and standardise several new triggers
  • Implements a Javascript translation system
  • Implement new controller dispatchers
  • Implement a JContent class that will be used by onPrepareContent plugins and views
  • Upgrade to Mootools 1.2
  • Finish the new extension updater work

After we release the alpha, each beta release will be time-boxed (we hope that not more than four are required). The following is a list of the features highly desired for the final distribution.  Each features need to be "ready" in order to be included in each beta release.  Some of these features will make it in the alpha, but will not prevent the alpha being release if they are not ready.  Overall though, we will need significant help from the Joomla development community to pull all these features together:

  • Implement unlimited depth categories (but not multi-mapping)
  • Refactor the user management system and make it more extensible (eg, allow customer user fields)
  • Implement a comments system (including pings and trackbacks)
  • Implement queue redirects (allows you to, for example, return to the previous page you were on after you edit something)
  • Refactor parameters and make them more extensible (for example, plugins could allow you to add additional custom parameters to articles)
  • Finish MVC-ing the Administrator components (we need lots of help here)
  • Implement Captcha helpers for any form
  • Implement systems whereby external authentication systems, such as LDAP, can map to our new Joomla user groups
  • Reimplement the ability to select multiple categories for some views in com_content (was in 1.0, got dropped in 1.5 for some unknown reason)
  • Implement a database driven installation log
  • Refactor JError
  • Examine the PDF generation system in detail and see if we can make it work properly (otherwise we will look at dropping it if we can't make it work well)
  • Localise the Invalid Token messages
  • Drop the Polls component because the quality of that extension is pretty bad and there are much better third-part alternatives available
  • Convert all layouts to symmantic and XHTML Strict
  • Convert of ini-based "params" fields to use JSON instead of INI format (huge technical and performance improvements).  Note, the language files will remain in INI format.

The End?

It has taken an intense but productive four days in hot and humid Australia. It will take us considerable time to explore all the topics. We plan to produce a series of blogs to cover the topics in more detail. Something obvious to us is that this project has grown bigger then we have ever anticipated.

So, without further adieu, the first thing we have done is open up the development lists. This list will go into archive mode on February 1st. We already have created 3 new lists and ask everyone to register there, below the names of the groups and the URL's where you can find them. An official announcement on this major change will be done as soon as possible.

  • Joomla general development (new). The list handles general topics about Joomla development, specifically targeting at our development community and can be found at http://groups.google.com/group/joomla-dev-general.
  • Joomla CMS development (new). This list handles the development of the Joomla content management. We focus on the core development here, specific questions about extension development should go into general development. This list can be found at http://groups.google.com/group/joomla-dev-cms.
  • Joomla Framework development (new). The framework development is discussed here. The core libraries, or new development on this particular area of the Joomla solution go here. This group has a strong link with all that is going to be worked on in the group that will be working on research, group can be found at http://groups.google.com/group/joomla-dev-framework.
  • Joomla bug squad (existing).

Regards,

Andrew Eddie, Anthony Ferrara, Louis Landry, Sam Moffatt, Wilco Jansen

286 Votes

34 Comments

Feed
  1. Thank you very much for a very informative post. This was clear and concise, and answers a lot of questions. Thank you all for your continued effort, Joomla! 1.6 looks to be everything I hoped for and more :)
  2. So great to know what's going on.

    I am really looking forward to changes to the ACL as I am sure many users are. I want to set up town blogs on http://loddonalive.com and give specific people to post on those blogs only. At the moment I can't do this of course without third party extensions. No way do I want core hacks that may disrupt future upgrades, so I am just waiting on the availability at core level.

    Comments and trackbacks for blog posts in particular also sound very exciting.

    Cheers,
  3. This certainly opens the door for third party development teams who want to be an important part of Joomla!'s future to do so. I am very encouraged by the architectural and community vision. Let's go!
  4. This is a real great step forward for Joomla! Really.Thanks for this good and intelligent proposals.

    Q: Is there anyway to integrate GeoNames webservices and data into a Joomla user profile installation like Drupal is doing from scratch?

    I am thinking of using Geonames or MaxMind free city db for setting up a correct location for user db.So you can set up users to a structure country/city(location)
    http://www.geonames.org/
    (http://www.maxmind.com/app/geolitecity)

    Drupal projects about Geonames
    http://geonames.edesign.no/
    http://drupal.org/project/geonames

    "Supported GeoNames Services

    * GeoNames Fulltext Search (search)
    * Reverse Geocoding
    o Country Subdivision (countrysubdivision)
    o Find nearby (findnearby)
    o Find nearby Place Name (nearbyplace)
    o Find nearby Postal Codes (nearbypostalcodes)
    o Find nearby Wikipedia Entries (nearbywikipedia)
    * Place Hierarchy
    o Neighbours (neighbours)
    o Siblings (siblings)
    o Hierarchy (hierarchy)
    o Children (children)
    * Postal Code Country Info (postalcodecountryinfo)
    * Postal Code Search (postalcodesearch)
    * Country Code (reverse geocoding) (countrycode)
    * Country Info (Bounding Box, Capital, Area in square km, Population) (countryinfo)
    * Timezone (timezone)
    * Wikipedia Articles from Bounding Box (wikipediabbox)
    * Wikipedia Fulltext Search (wikipediasearch)"

    This would be very powerful for Joomla reg process and very useful or what you think?

    Useful for connecting specific content with user data location. Key for online marketing where you can group and segment your user db.
  5. Wilco,
    could you explain further what is
    "Implements a Javascript translation system" ?
  6. Andrew has pointed me to this item... and wow... I am excited.

    I am far from a programmer :'( ; though an advocate and dare I say envangelist for Joomla and Open Source. And the openings I see in the above document gives me wings. I strongly abide by the concept of having an area where those keen to participate though require like minded individuals - also keen to participate in the Joomla success, can co-contribute in their own small way to others less skilled in particular areas. (ie I am great at visual interfaces though hopeless in PHP and Javascript.)

    I look forward to the fruition of these great ideals, expressed above.

    Kindest regards
    Simon

    (if I can be of any help bringing this to market, let me know) :-)
  7. @JM - it's a way for devs to translate strings in Javascript using Javascript (just like we do in the PHP). We'll share more on the dev lists as we go.
  8. Geat news! Thanks again to all for your dedication and commitment.
  9. :-)great3000000000000000000000xxxxxxx job!
  10. MOBILE DEVICE COMPATIBILITY NEEDED

    I would like Joomla 1.6 to autodetect mobile devices and render appropriate content for iPhones (Safari), Windows Mobile 6.1 and the other main mobile browsers.

    At the moment I use a newspress theme at healthinsurance.org.au that works nicely on computers and iPhones yet I want a CMS that manages content across major mobile as well as PC and Mac environment with just the one home page.

    Managers and marketers need this basic ability believe me!

    Thank you,
    Jonathan Crabtree
  11. I know how hard you worked, 'cos I couldn't get hold of you for those X days :)

    Looks really good, there's some excellent features in that list which have been long awaited. When's the baby due, BTW? ;)
  12. Hi People

    Talk about going the extra mile! More like several miles! Thanks so much. It's because of you that I recommend Joomla to all: the committment and work from such a great team!

    As with the comment above: Any ideas on the time-box of 1.6?

    Best regards

    David
  13. Great job. Let's chip in some money and take the 2009 crown of champion back from Drupal. Kick Drupal out of the horizon with Joomla 1.6.
  14. It looks to me that 1.6 will need a 18-24 months to become a production reality ... but it will solve all the current limitation of the Joomla Platform

    Don't drop pdf, add mobile devices into the scope (it's all about making your accesible)
  15. I think J! needs PDF & Mobile features! It's important!!
  16. Quote:
    Drop the Polls component


    but there isn't any poll component for J15 Native. !!! And why cann't just improve core poll component?
  17. I think I have said it before... REAL ACL is imperative to using Joomla in any group envoronment as is WORKFLOW. These two items (IMHO) should be "THE" Priority. Should the J!Team not accomplish these two tasks in timely fashion the rest will become moot. Joomla has an established base of developers/support, there are at least two other entities I know of that are privately from scratch working on CMS systems that will rival Joomla (and others) that have complete focus on WORKFLOW and ACL as these are THE ONLY Two things that ALLOW a CMS to be used in a multi-entity environment in controlled fashion. One of these two projects is going to try go commercial. The other will release the framework as open source when complete and should Joomla NOT be in a position to be usable groupware the development community will go bye bye faster than you can say bye bye.
  18. Geat news! Thanks for your commitment. Why not update your core modules?
  19. RG - I am certain you meant those comments to be helpful. It's not a matter of not wanting to provide what everyone sees as most important, but rather it's simply a matter of time available. You see from Wilco's post that the development doors have been swung open. If you want to offer code towards your ideas, please consider joining in.

    Also, it's really good to see innovation with free software, regardless of whether it's Joomla! or another project. I think there are dozens and dozens of free software CMS projects underway - which is awesome since one solution will never be appropriate for all needs.
  20. RG - I moved from commercial CMS products to Joomla! awhile ago and have been very happy with the move. There are currently all kinds of choices out there for anyone who wants them, commercial, open source with ACL, etc. Choice and innovation with free software benefits everyone. The more good open source projects that are out there, the better. I think Joomla! is a great product and is making good progress. A large part of the open source community is highly invested in Joomla! and continue to make it better. There is a huge opportunity for young and old alike to contribute their time and skills to this goal. If they choose to join and contribute they'll get a chance to meet great people and learn a lot from them too. I know I have.
  21. Hi Wilco

    I've been following something called OpenCalais which is a service by Reuters Thompson to aggregate articles from all sources. Right now Drupal has it's name as a partner and this could be a strategic partnership that Joomla needs to follow. We all know that Reuters is the biggest player in the new space world
  22. Don't drop pdf, add mobile devices into the scope (it's all about making your accesible)
  23. "Drop the Polls component because the quality of that extension is pretty bad and there are much better third-part alternatives available"

    Okay, so I have always whined about the poll being the weakest link; but even in the JED, there aren't a lot of alternatives available...take a look at the DNN poll (I migrated from DNN and only thing that works right over there) or some of the nice WP polls with nice ajax calls to display the tally without compiling a new page.

    We want polls, just not the old one!!!! Hey, I have an idea; let's take a poll! :)
  24. Something else, to be reading a blog post by wilco, and at the same time receive an email from him via list serv. True community.
  25. Hi,

    The PDF neednt really go.. We have developed a Extension ( never released it ) for Joomla PDF's using DOM pdf to generate better PDF output for both single as well as collections of articles based on sections/categories.
    It worked very well & we have some live implementations that can be tested by you. We'd like to contribute it to the project if it helps. Let me know.
  26. My concern with future joomla development lies in 2 areas, one of which is being developed, the nested categories.

    The other is a blog feature. I'm concerned that Joomla is relying on 3rd party components to handle this, as none of them integrate properly with the larger blogging community as a whole. Many sites, even my own, utilize Joomla for the site and a seperate Wordpress installation for the blog. This is for Wordpress's superior blogging features. Wordpress developers have been making larger & stronger strides into getting into the full cms arena.

    Top stay ahead, I think Joomla needs to develop a core blogging function, that has many of the same features of wordpress (and features that are expected by the blogging community such as automatic ping, trackbacks, archives, etc.)

    A pinging feature for all joomla content would be a great feature for various obvious reasons.
  27. An excellent document. Please maintain the focus on ACL, there will be many requests to "just add ..." and "its easy to ...". But ACL is the largest single weak point relative to others. Your team approach of having other items included if ready but we will go forward if they are not is to be praised. Many of us are under pressure to consider others just because of the ACL absence.

    Giving time lines at this stage is clearly unwise as it could disappoint but giving regular indications of progress or where more help is needed would be very helpful. With the 1,6 developement I would suggest no news is actually bad news!
  28. I too agree that mobile device access is becoming vital. iPhones, Blackberrys, etc. are everywhere and will only become more prevalent in the coming years.
  29. Will there be a recent comments built into Joomla, so one can on what articles comments were left? Comment section and recent comments?
  30. Thank you for some direction. I agree with other posters that focus on ACL and a proper blogging plug-in is important.

    In any case, pleeease give us regular updates on the progress of 1.6. There is a lack of marketing activity for 1.6 :-(

    We can not afford to be complacent. Thus, keep the news coming. Every news update for 1.6 on joomla.org is being echoed by thousands of blog posts. This is what builds anticipation and devotion to the product.
  31. I'm giddy over the new stuff in the 1.6 you guys are amazing.
  32. Hi,

    This makes all the other major concern to make them alert.
  33. Geat news! Thanks for your commitment. Why not update your core modules? Cheers, Ms Mulheres
  34. Will there be a concrete road map available?
    I also would like to emphasize support for mobile devices. This will become more and more vital and a commodity.

Add Comment


    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)