Print

Upgrading a Joomla 1.5 module to Joomla 2.5

What?
So this is a note to myself so that I have a checklist and can quickly update any extensions designed for Joomla 1.5.x and make these compatible with Joomla 2.5.x websites.

In the past, I have only ever changed the words <params> to <fields> but for more stability, there are a few more tweaks to do.

How?
For demo purposes we will be referring to a Joomla module called "mod_moduletoupgrade" in British English (en-GB). I don't think it actually exists in reality but you replace the name "moduletoupgrade" with whatever you're upgrading and follow the below instructions.

I'm also going on the basis tha.

Basic Checklist
  1. Download all J1.5 files to one folder:
    • /modules/mod_moduletoupgrade/mod_moduletoupgrade.xml
    • /modules/mod_moduletoupgrade/mod_moduletoupgrade.php
    • [if exists] /modules/mod_moduletoupgrade/helper.php
    • [if exists] /modules/mod_moduletoupgrade/tmpl/default.php
    • /language/en-GB/en-GB.mod_moduletoupgrade.ini

  2. Upgrade XML File:
    • Change open/close <install> tags to <extension> (update attributes, eg. <extension type="module" version="1.6.0" client="site" method="upgrade">)
    • Change <params> to <config><fields name="params">
    • Change </params> to </fields></config>
    • Change all <param ... tags to <field ... (eg. <param name="myparam... to <field name="myparam...)
    • Change all closing </param> tags to </field>
    • If the module has parameters add <fieldset name="basic"> for a basic parameters section (right-sidebar in admin panel) with a closing </fieldset>. You can separate fieldsets as groups for your parameters or put all the module parameters within one fieldset. eg. <config><fields name="params"><fieldset name="basic">

  3. Upgrade PHP File:
    • Check for any legacy code needing to be upgraded from PHP4 to PHP5.
    • I tend to leave this alone as we're referring internally the same in Joomla 1.5 sites.

  4. Upgrade Language File:
    • Change MYLABEL=myValue to MYLABEL="myValue"
    • Change any comments prefix from hash/pound sign (#) to semi-colon (;)
    • Check escaped HTML and numerical entities (eg. revert apostrophes)

  5. Add License.txt file:
    • This could be licence.txt but don't get bogged down with internationalizations.
    • If you are submitting this extension to Joomla.Org then this is a mandatory step.

  6. Add blank index.html file(s):
    • Create a blank index.html file and put this in the root folder as well as any subfolders.
    • It is recommended to NOT skip this step as it safeguards against servers which allow directory listing.


Further Checks
  1. Check this is in an MVC structure. (subfolders for template and language)