Home » Blog

September 28, 2008

Joomla! 1.0 end of life

At the beginning of the year I predicted that Joomla! would reach it's turning point in March 2008 based on the download statistics of joomlacode.org.

My prediction turned out to be correct, however it looked like Joomla! 1.0 wasn't going to give up the fight easily. I concluded that the further uptake for 1.5 would depend on an increase in native and stable extensions and an announcement about the end of life of Joomla! 1.0.

Over the last months the number of new native extensions has been growing rapidly, for August the extensions directory team reported that about 75% of new extensions where native Joomla! 1.5 extensions. A quick search on the extension directory shows that 30% of all component are now Joomla! 1.5 native.

People are also slowly making the switch from Joomla! 1.0 to Joomla! 1.5 only, a good example are the guys over at Yootheme. A while ago they announced they where switching their templates completely to Joomla! 1.5 a few weeks ago they also released 'teamlog' a 1.5 native project management extension and from what I have heard there are more extensions on the way.

Let's have a look at the downloads for the last months and see if we can make any new predictions.

The below graph is showing the monthly download statistics for both Joomla! 1.0 and 1.5.

Conclusions :

  • Joomla! 1.5 is seeing a large increase in downloads since May 2008, while downloads for 1.0 are decreasing rapidly.
  • Total amount of downloads are holding steady at 400k downloads a month.

What does this tell s about the uptake of Joomla! 1.5 ? For that we need to have a look at the following graph.

Conclusions :

  • The graph shows a steady 10% increase of 1.5 downloads in regards to 1.0 since June 2008.
  • The graph show the percentage share for both technologies is now at 88% for 1.5 and 12% for 1.0.

Based on this data I predict that Joomla! 1.0 will be reaching the end of it's life around the beginning of 2009. Time for the project to bite the bullet and set a date : 03/06/09, or March 6, 2009, 3 years and 6 months after the release of 1.0 seems like the perfect date to me. What do you think ?

September 24, 2008

Beautiful Joomla Sites

When I wrote the post about common Joomla misconceptions, I forgot one myth. A lot of people seem to think all Joomla sites look alike. They're saying it pushes you to fit a certain design concept. But every now and then you see a site that proves them wrong. In the end, the creativity of the designer is the only limit. You can't blame your canvas if your painting sucks.

The new "Know Your Rights" website by the United Nations is one such site that shows beautiful Joomla design. People keeping up with the news on the Nooku.org site, probably already saw this, but I felt it was worth cross posting it.

It's even more amazing when you know that the site was originally made in Flash. This caused some issues: it was hard to make changes, and the languages were hardcoded. It didn't fit the UN's workflow. By rebuilding it as a Joomla + Nooku site, they can now easily add languages when the translation is ready.

September 09, 2008

The Super Secret Sitemap Trick

Did you know you can have a sitemap in your Joomla site without installing any additional extensions?

Really? How?

The menu module already does everything we need: it's essentially a tree with all the items in the system. All we need to do is make it look like a component.

  1. Create a new article called 'Sitemap'. In the body, type {loadposition sitemap} and save it. (screenshot)
  2. Make a new menu item called Sitemap, and point it to the article. (screenshot)
  3. In the module manager, make a new Menu module. Set 'Menu name' to the menu you want to display as a sitemap. (screenshot)
  4. In the position box, type 'Sitemap'. Obviously this refers to the position we used earlier in the {loadposition...} tag
  5. Make sure you set 'Always show submenu items' and 'Expand menu' to yes, and save. (screenshot)
  6. Add more modules for each menu
  7. You should now have a nice sitemap in the frontend. (screenshot) You can style it with CSS or if you're creative, you can add some folding using javascript.
  8. Post a link here to your sitemap, to show the world what you did

Got any quick'n'dirty tricks to do cool stuff in Joomla that was never intended to be used that way? Let us know!

September 08, 2008

Saying goodbye to an old friend !

Today we say goodbye to mambodocman.com. Launched in March 2004 it has served the DOCman project for over 4 years. Last November we moved the forums over and today we are letting the curtain fall over the old site.

Saying Thanks!

This is an excellent opportunity to say thanks. First of all a big round of applause goes to Vasco Nunes, founder and original developer of DOCman. Vasco started development of DOCman in the summer of 2003 and worked on the project from versions 1.0 to 1.3.

Vasco is also the one who invited me to join the DOCman project in early 2004 to help out with DOCman 1.2. My work on DOCman later caught the eye of the Mambo core team which I joined in April 2004. The rest you all know ...

I would also like to thank all the previous contributors for the efforts they have put into the DOCman project over the past years (in random order):

  • Charles Gentry (developer)
  • Timothy Beutels (developer)
  • Mathias Verraes (developer)
  • Shayne Bartlett (doc writer)
  • Peek (graphic designer)
  • Alexander Krestinin (tester)
  • Mark Semczyszyn (tester)
  • Marko Milenovic (tester)
  • Krisstoffer & Harri (forum moderators)

These are the people that have made DOCman one of the most popular extensions for Mambo and Joomla!.

Looking into the future

DOCman development has been a little slow of late, because we're working on Nooku all the time. Mathias, current lead developer for DOCman, already answered this question in a comment on one of his recent blog posts:

We'll make an announcement on the future of DOCman soon. Don't worry, DOCman is not dead -- it's not even sleeping, just taking a quick nap!

We have big plans for DOCman future, keep a close eye on this blog in the coming weeks...

From today forward all information about DOCman can be found directly using joomladocman.org, or by going to our products page.

September 06, 2008

Hidden feature: Joomla's media folder

Traditionally, Joomla extensions stored all their assets (images, javascript, css, flash files...) inside the extension's folder. However, because these files are supposed to be publicly accessible, and all other files should stay hidden, that doesn't really make sense. Fortunately, this was fixed in Joomla 1.5.4. Extensions can now use the /media folder.

How does it work?

Very easy: simply add a media tag in your extension's manifest file.

Before:

<files folder="site">
 <folder>some_folders</folder>
 <folder>css</folder>
 <folder>images</folder>
 <folder>js</folder>
 <file>index.html</file>
 <file>mycomp.php</file>
</files>

After:

<files folder="site">
 <folder>some_folders</folder>
 <file>mycomp.php</file>
</files> 

<media destination="com_mycomp" folder="media">
 <folder>css</folder>
 <folder>images</folder>
 <folder>js</folder>  
 <file>index.html</file>
</media>

Inside your installable package, you should now have the folders /site and /media. During the extension's installation, the files from /media will be copied to /media/com_mycomp (or plg_myplugin or mod_mymodule).

Benefits

Separating publicly accessible assets from the rest of the system like this has some security advantages. Ideally, you'd move all other files below the document root, increasing security. Joomla doesn't support this yet. What you can do however, is add a htaccess file in /com_mycomp with 'deny from all'. This way you don't need to litter your component with index.html files and defined('_JEXEC') or die(); statements. Of course, this assumes that the end user's host has AllowOverride turned on.

September 01, 2008

Joomla! - There and back again

Joomla! celebrates its third birthday today and I feel it's an excellent opportunity to look back. The story behind Joomla! is long and rich in detail. There are many perspectives. This is mine.

Note, this text is a re-write of a blog post I did for Joomla!'s first birthday. The blog post has gone lost with recent infrastructure changes at Joomla.org. I decided to re-write and re-publish it.

The birth of a new project

On the 1st September 2005 Joomla! was born. Some called it a fork. Some called it a spoon . Some call it an entire table setting. Whatever your philosophical persuasion, the facts are that Joomla was a continuation of the work of the Development Team which unanimously resigned from the Mambo project in August 2005 . To my knowledge this was an unique event in the history of open source, never before did a complete project and community move house.

After the actual split we were put in both an exciting and difficult situation. Exciting because we managed, for the first time in history, to re-brand an open source project and move it to a new home. Difficult because this had never been done before. We were writing the blank pages in our own roadbook, one step at a time.

The whole effort also put a lot of strain on the core team. Growing pains that normally emerge over a period of months or years needed to be dealt with in a period of weeks. Community pressure was high, resources needed to be created, a version released, a vibe established, ... and above all we needed to keep cool. When looking back three years later I'm still amazed what people can accomplish when they set their minds to it and I'm proud to have been part of writing open source history.

A new project, an old product

The re-branding of the project was a big succes and Joomla! swiftly made its name in the open source landscape. We managed to establish a clear brand and identity. Despite all our efforts, the re-branding of the product was less succesfull.

'What's the difference between Mambo and Joomla ?' This must have been the most asked question in the months and weeks after the split. A valid question indeed. What is Joomla! 1.0 actually, is it Mambo's own 'Lore', the missing twin brother, suddenly appearing, or is it a new born product ?

After the split we faced a problem, while Joomla! 1.0 was indeed a re-brand of Mambo it hadn't established it's own personality yet. Although it already had a huge user base from it's birth, to a new user it was still a Mambo copy-cat. Looking and functioning in the same way, the only difference are the logo and name. How does that set Joomla! apart from Mambo? It didn't.

A new project, an old team

It became clear that we needed to create a new version soon to show the project was still very much alive and to differentiate ourselves from Mambo. But how did we proceed? Follow the old roadmap or not? Choose for a longer release cycle or would we choose a safer solution by doing a short and quick release? Lot's of questions, very few answers.

At the time the latter seemed indeed the best approach. The whole team was still there, we could easily pick up development again. International community pressure convinced us to go for a shorter release cycle and put forward internationalisation as the main feature. In October 2005 we picked up development as if nothing had changed.

It would soon become clear that this was a vital mistake. The spooning of the project also left it's strains on the community and core team. New people were invited, others left, processes needed to put in place and roles shifted. We saw a time of heavy and sometimes heated discussions on the mailing lists and forums about a multitude of problems. Slowly we realised that not only our project name had changed but this also had vast implications on our community structure and processes.

A new project, a new community

In the months that followed we had quite a struggle to get things rolling. At that time we were dealing with a multitude of issues, mostly surrounding communication and processes. We could have called a time out, stopped all our work and get our issues sorted before moving forward again. Instead we kept going, this resulted in a more natural process and eventually became Joomla! 1.5.

In the mean time community pressure , especially on the forums, increased. People voiced their discontent with the way things where going. Politics always have a negative effect on a community process and Joomla! wasn't any different. It was only during the summer of 2006 that the working groups where starting to settle in and the project slowly moving into full gear while motivation was increasing.

The birth of a new product

Joomla! 1.5 was released on the 21st of January 2008. Two years, 3 months and 9 days since the first commit was made the Joomla! project released it's new baby. Joomla! 1.5 is the result of the process the community went through since the split and personally I think it became an excellent product, one we should all be proud of.

The main drive behind the design of Joomla! 1.5 has been to try and use the Joomla! 1.0 architecture at it's full extend. We can't deny that the API's in 1.0.x where not in line with latest professional coding standards. Most of the API's where not flexible and not always using proper Object-Oriented principles. These problems had been discussed time and time again in the past and everyone agreed that something needed to be done about it.

In the past these changes have always been put off since they would be coming in a 5.0 version . A version that was started multiple times but never got out of cvs. In order to make the Joomla! codebase more attractive to professional developers we just couldn't leave it as is.

The development cycle of 1.5 was the ideal time. We used the time it took to properly research the UTF-8 issues and refactor the codebase. We based ourselves on the feedback gathered and the experiences from developing Mambo 4.5.3, a version that we never released. As a result the system has been restructured and the API have been cleaned up resulting in a flexible and powerful core framework that sets new standards for all future Joomla! development.

People sometimes ask, why did you call it 1.5 and not 2.0 ? Well, with Joomla! 1.5 we tried to address all of the issues that could be addressed without compromising backwards compatibility. The main reason we called it 1.5 and not 2.0 is just that, because it is 90% backwards compatible and is using the same database schema as 1.0.

I am writing this because I want to provide a historical perspective on where we are today with Joomla!. A lot has been told about the development of Joomla! since the day it was born. The reality is that the story is bigger than just Joomla!. It goes back years, spans continents, and includes a cast of thousands. It's a fantastic story, with all of your standard themes — greed, rage, turmoil, love lost. But mostly it's a story of dedicated people laboring to create something they truly believe in. That's something I think everyone should be able to relate to - no matter what their walk of life. That's why Joomla! is so powerful.

For me, the story included the realization that I had never believed in something this much before, and discovering how easily and arbitrarily your dreams could be snatched away. Ultimately though I realized that with some patience and good old-fashioned hard work, anything is possible.

In the coming years, I hope Joomla! will gain the ability to be a crossroads where people can come together and share their thoughts on society and where it is going. Different people have different ideas, and these are borne out in the different extensions that exist. These extensions create the ecosystem that is Joomla!. Whatever project scratches the itch of any particular person, having their contributions and ideas around is beneficial for all projects

Joomla is so successful today that it is gaining attention from people across the globe. Many new contributors are finding the project and new ways to help out. This sort of thing is essential to keep the project vibrant and maintain the flow of innovation. It is important that those of us who've been round the block a few times share what came before, what did and did not work. The struggles that were fought, the price that was paid. This project has not been successful by accident. Its success represents the sum total of the energy expended by thousands of people around the world for almost a decade.

Happy birthday to you all !