Review: Learning Joomla! 1.5 Extension Development

Posted by Johan Cyprich on 04 Jan 2008 | Tagged as: Reviews

Joomla is by far the most powerful open source CMS available today. An increasing number of web developers are beginning to realize the benefits of building dynamic web sites using a CMS over the traditional way of creating static web pages. A CMS is a more reliable solution because the software is constantly being improved and new features added. This rarely occurs on most web sites that are online today.

Joomla Is Great Software, But …

Joomla is, in itself, a complete solution suitable for the majority of web sites. However, there are instances where the software doesn’t provide the functionality needed for a task. An example of this is the use of content generated from a custom database. A customer may require a web site for posting information about cars for sale. The database will need to store information about the car, such as make, model, year, features, a description, and photographs. An option for users to add comments about the car may also need to be implemented. The text fields should be searchable and car listings sorted by choosing an appropriate field.

While the default Joomla software may be able to accommodate these requirements through a creaive use of what’s available, it would not be an elegant solution and it would most certainly be an awkward for the user. The only viable solution would be to write custom code for manipulating this database. This can be done as a separate application outside of Joomla, but it would be far better to integrate with the CMS so that it can be maintained internally.

Building a Better Mouse Trap

This is where Joseph LeBlanc’s book, Learning Joomla! 1.5 Extension Development: Creating Modules, Components, and Plugins with PHP from Packt Publishing, comes in. He provides an easy to follow tutorial on extending Joomla with custom software. You can learn all of this through the Joomla web site, but the documentation there is scattered and difficult to follow, even for intermediate software developers. LeBlanc teaches Joomla with easy to follow examples that will have you writing custom applications by the time you complete the book.

He covers all aspects of programming, from creating and registering modules, developing the back end and user seen part of components, and plugin development. LeBlanc also gives an overview of the MVC architecture used in Joomla which can be quite confusing at first for people who never used it before, but the book explains it very clearly. He completes the book by showing how to package the custom code that you created for distribution to other Joomla users. This is important if you intend to make money with your software. You can’t expect your users to manually install components and register modules in the database.

Before You Begin

There are several requirements for getting the most out of this book. The first is a knowledge of PHP programming. Although the book covers advanced topics, a high degree of PHP knowledge is not required. You can learn all the PHP that will be needed for this book in a weekend of study.

Its also important to know enough MySQL to work with it. You need to know at least how to add information to tables using a GUI tool like phpMyAdmin.

The final and most important requirement is to have Joomla 1.5 installed. The tutorials are designed specifically for this version and should not be attempted with the 1.0 versions. The latest version of Joomla 1.5 is at the fourth release candidate stage and is stable enough to handle these tutorials. You can run the tutorials on Linux or Windows. I typically build Joomla applications on Windows and then deploy them on Linux servers.

An important thing to have while reading the book is the source code and errata (corrections to the book). Not using the errata will halt your progress while trying to figure out why certain things aren’t working. Both of these can be downloaded from the Packt web site.

Making Joomla Sing

When you complete this book, you will have the knowledge to build advanced Joomla applications. What previously was thought to be impossible and difficult to do now becomes possible and attainable. Every Joomla web site developer must read and understand this text if they want to be more than mediocre in their field. The cost of the book is low, and the knowledge attained from it is valued beyond measure.



Tweet This Tweet This Post!

Related posts:
    How To Use Microsoft SQL Server with Joomla 2.5
    Joomla 1.5 RC4 Released
    Don’t Upgrade to Joomla 1.5.4
    Eclipse Ganymede for PHP

Share this post:

del.icio.us:Review: Learning Joomla! 1.5 Extension Development digg:Review: Learning Joomla! 1.5 Extension Development spurl:Review: Learning Joomla! 1.5 Extension Development wists:Review: Learning Joomla! 1.5 Extension Development simpy:Review: Learning Joomla! 1.5 Extension Development newsvine:Review: Learning Joomla! 1.5 Extension Development blinklist:Review: Learning Joomla! 1.5 Extension Development furl:Review: Learning Joomla! 1.5 Extension Development reddit:Review: Learning Joomla! 1.5 Extension Development fark:Review: Learning Joomla! 1.5 Extension Development blogmarks:Review: Learning Joomla! 1.5 Extension Development Y!:Review: Learning Joomla! 1.5 Extension Development smarking:Review: Learning Joomla! 1.5 Extension Development magnolia:Review: Learning Joomla! 1.5 Extension Development segnalo:Review: Learning Joomla! 1.5 Extension Development gifttagging:Review: Learning Joomla! 1.5 Extension Development

Follow Me:

Did you find this post interesting and useful? You can keep up to date on this blog by subscribing to my RSS feed, or you can have new posts sent to you by e-mail. You can also follow me on Twitter.


One Response to “Review: Learning Joomla! 1.5 Extension Development”

  1. on 03 Oct 2008 at 2:00 pm 1.Johan Cyprich said …

    I found an error on page 47 (chapter 4) for the showReviews function. The $link variable is built incorrectly and will not open a restaurant review when clicked on. The correct code is:

    $link = ‘index.php?option=’ . $option . ‘&id=’ . $row->id . ‘&task=view&Itemid=’ . $row->id;

    The Itemid variable was missing from the original code.

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply

CommentLuv badge