home forums resources search newsjoinmembers: 6381
Hiveminds Network PHP Flash Java Ruby Windows Linux
Hiveminds | Sat, 2006-12-09 09:28  tags: , , ,

Just this week I am starting to appreciate the power of Joomla! as a web developer. Having done a good deal of Drupal CMS development I have gotten spoiled by the simplicity of Drupals chaotic module scheme and its open architecture.

When I went into Joomla previously it was only as a administrator or installer. With the help of Nathan Digriz I has also accomplished two very nice Joomla templates. But this latest project required that I do more than just touch the surface of Joomla! but go in under the hood and manipulate some of the code in several contributed components and modules.

First of all there is not much new information on how to do component development in Joomla!. Though there are some tutorials around they all are based on earlier Mambo development. This does not create a problem for me but it is something to think about if you are new to PHP.

I opened a photoalbum component that was not working right for me. It seemed that the author did not know how to set the javascript file link into the head of the template document via the component. So he just echoed the link which filtered the link in a table. This caused problems in IE which could not see any of the javascript because of the table. After fixing this I thought I might dig into the main menu module of Joomla!. I wanted to use images rather than text links. This lead me into exploring a component or two in the core. After a few hours of hunting the forums I managed to get this done.

The one thing I found refreshing in doing some simple Joomla! component development is that it was easy to find things because of the set architecture. Rather than a multi-purpose module file like those in Drupal. Joomla! CMS does each job in a file particular that area of the architecture. This made what would have taken me an hour to fix in Drupal only a 5 minute job in Joomla!.

The sad thing about developing in Joomla! is its lack of API documentation. The documentation is not only terrible in how it is formatted there are no developer comments in any files. If you download a copy of Joomla! and look for developer comments on usage of the API or code you will not find any. The Joomla! website has links to an online API doc and a downloadable CHM found here at Hiveminds. But because the files in the software itself are totally devoid of any comments these are useless as help.

Now I see the reason that many leave Joomla! for other CMS's. When it comes to customization and extension development things become very difficult. Because of its lack of developer documentation Joomla! requires that the component developer have an advanced understanding of PHP along with a feel for the general architecture. Learning these things is not easy and takes a while. Which is why those that do understand them are making a good living doing Joomla! customization and selling commercial components.

After learning enough about Joomla! I think any web developer will come to appreciate the code style, architecture and power of the Joomla! CMS software. The best thing about going through the gauntlet of fire in learning is that the architecture of Joomla! makes all your hard work carry across several version releases. This gives you a chance to enhance previous work and learn more without having to rewrite from scratch or spend hours updating the component every few months.

Don't let anyone fool you into believing that Joomla cannot do as much as the other CMS's like PHPnuke or Drupal. Joomla can do just as much as these others and it does have a concrete code structure and a proven software architecture. I think that if the Joomla! Team spent just one quarter of the year concentrating on getting the documentation and commenting of the core done they would win over many more PHP developers like myself.


Happy Publishing!

Hiveminds's picture
This article brought to you by the Hiveminds Magazine - Staff. Contact us if you want to post an article or announcement anonymously
 
a Visitor posted on: Sat, 2006-12-09 04:14.

i think this topic is bang on! i'm new to Joomla! thought i really find it easy it still really poor in terms of documentation!

a Visitor posted on: Wed, 2006-12-13 09:14.

A lot of work is currently done to get developer docs done by the time Joomla! 1.5 is released.
The API is at http://api.joomla.org
More detailed docs with excellent examples is being written at the Wiki: http://dev.joomla.org/component/option,com_jd-wiki/Itemid,32/
It will be integrated in the API when it's done.

mjaz

a Visitor posted on: Tue, 2007-11-06 11:39.

I've just started to invest some time in redeveloping my Online fishing diary as a Component in Joomla. From what I have learned so far you do not have to know very much at all to start incorporating your own custom features. Make an entry in jos_components and create a corresponding PHP file as a bare minimum. Obviously there are coding standards and patterns which are recommended but they are not always essential.

Bitrix Site manager - fast to create, easy to manage CMS Comparison Matrix
Put Your Site Here Developer Links
PHP Joomla! Web Developers Windows Adobe Flex PHP Content Management Systems
 

Newsletter

Get updates on Hiveminds services, articles and downloads by signing up for the newsletter.

Editor's choice

Some of the better articles, stories and tutorials found at Hiveminds.

Find more

Find more of Hiveminds articles, stories, tutorials and user comments by searching.




Picked links

Hand picked websites and articles from around the web that provide quality reading.