Djoomla

The way you make webs

Friday, Sep 10th

Last update:03:28:00 PM GMT

You are here:

Converting Joomla 1.0 to 1.5 by hand

E-mail Print PDF

A lot of you are probably already operating a Joomla! 1.0.x or a Mambo 4.5.x website and now want to migrate it to Joomla!1.5. You may have a number of basic problems:

1. You need to back up the entire website.
2. The general source-code files need to be updated.
3. Additional components, modules, and mambots/plug-ins have to be updated.
4. Any changes that you yourself have made to the programs need to be updated.
5. Your contents have to survive this update procedure without damage.
6. Contents with special characters have to be converted according to UTF-8.

 You can see from this list that an update can become quite complicated. The more you have worked with standard components, the easier it is; and the more individualized your website is, the more difficult it becomes. There are no general valid rules for updates at this time. This means that you have to first collect information to be able to establish an individual update plan for your site.

 

 

 

Backing Up Your Data

 

Before you make any plans and try out any migration components, back up your database and your files. Effect a MySQL dump with your provider's appropriate tool. In most cases this will be the phpMyAdmin program, which is also used in the xampplite environment. Click on the Export tab, mark all of the tables, and check all of the fields in the Structure checkbox. In the Data checkbox, select Complete inserts. You have to mark the Save as checkbox in the lower section and also check off the desired format. If the provider permits, use the zipped version. Compressed database files can be up to 95% smaller than normal database files. Confirm your selections by clicking the Go button.

The contents of the database are now extracted and made ready for download. The file contains all of the SQL commands needed to create the tables in another database with your content. This is the optimal way of backing up your files.

Now you can use phpMyAdmin to restore the data. Click on the Import link, select the file with the backed-up data, and click on the Go button. All of the SQL commands in the file are now executed and your data is restored.

 

 

Backing Up the Files

 

In addition to the data in the database, the source code should, of course, also be backed up. Use your favorite FTP program and copy the entire Joomla! folder.

The Migration Script

There is a migration component that has to be installed into the old Joomla! version

1.0.x. This component creates three ZIP files by clicking on the Dump It icon:

  • A complete backup of the entire website
  • A backup of the core components
  • A backup of the third-party components

Save these files in a safe place. These files contain the original, unchanged data of your Joomla! 1.0.x website. This applies in particular to your character set!

 

New Installation of Joomla! 1.5.0

 

Set up a new folder and copy all of the Joomla! 1.5.0 files into this folder. Install Joomla! 1.5.0 up to step 6 (as discussed in Chapter 2).

Now select the Load Migration Script radio button. Enter the old prefix (mostly mos_ or jos_) and select the old encoding. If you are not certain, take a look in the old language files and search for the _ISO variable.

Now load the Core export file of the migration component and click on the Upload and execute button.

What happens next depends on your data. Normally you would get a success message and your data are transformed. But if you get database errors, this doesn't have to be a big problem either. Try to figure out what the error messages say and fix the errors manually in phpMyAdmin.

 I know that this may not sound terribly helpful, but maybe it will set your mind at ease that the update of our website went flawless on the first try. I am going to spare you the story of the other website with all of the additional components and put my trust into the continued development of the installer. No matter what happens, finish the installation as planned with the name of the site and the admin password.

What Happens Now?

All of the core components, like com_content, com_weblinks, com_banner, com_contact, com_newsfeed, com_poll, and com_users have been updated.

The menu links of the core components have been updated. The modules are all set to unpublished. The display positions of the modules and their parameters have to be reworked. No third-party components have been transferred and nor has any data (banner, image, PDF files, etc.).

 

Manual Method

 

First the bad news. Changing the tables does not work properly with phpMyAdmin because the extended characters are not interpreted correctly! The data are allimported, but the extended ASCII character set (like Ä, Ö, Ü, ß, ä, ö, ü, ... and many others) are not displayed correctly.

First you have to export all of the data and bring them into the UTF-8 format, and then you have to make a few changes to the table structures. The export with phpMyAdmin works without problem. (Make sure you only export the data, not the table structures.)

Check the Complete inserts checkbox. Now you have to save the exported data with an appropriate editor in UTF-8 format. (This even works with Windows Notepad, as long as the dump is not too large.)

Modifying the Joomla! 1.5 Database Scheme

There are only two fields that have to be renamed!

In the jos_core_acl_arotable, the field aro_id is renamed to id. In the jos_core_ acl_aro_groups table, the field group_idis renamed to id.

Importing the Tables

These tables can be imported:

  • jos_banner
  • jos_bannerclient
  • jos_bannerfinish
  • jos_categories
  • jos_contact_details
  • jos_content
  • jos_content_frontpage
  • jos_content_rating
  • jos_core_acl_aro
  • jos_core_acl_groups_aro_map
  • jos_core_log_items
  • jos_core_log_searches
  • jos_messages
  • jos_messages_cfg
  • jos_newsfeeds
  • jos_poll_data
  • jos_poll_date
  • jos_poll_menu
  • jos_polls
  • jos_sections
  • jos_users
  • jos_weblinks

The jos_usertypes is no longer used in Joomla! 1.5.

Menus and modules can be either newly configured with phpMyAdmin or with the admin interface. And you are done.

 If you have some experience with phpMyAdmin and MySQL and/or the SQL language, you will be able to upgrade the core components with no problem.

The migration of third-party components can be more problematic. I am positive that migration scripts will be made available soon that will migrate, for example, a Joomlaboard or a Docman to Joomla! 1.5.0.

And as a final note, not much has changed with the tables except for the character set. The bulk of the component developers' work was done in the source code that will be applied to the new version. 

Security without Global Variables

Mambo and Joomla! demand a default PHP setting with the option register_ globals=on. This switch handles visibility in global variables that can, among other ways, wind up in external programs by the use of forms or get-strings. This setting is fraught with basic security problems and it is better to use the register_globals= off setting.

Even though this switch, of course, does not protect you from all security problems, it is a tremendous help in raising security. To prepare Joomla! accordingly, rename the file [PathtoJoomla!]/globals.php to [PathtoJoomla!]/globals.php-on and rename the file [PathtoJoomla!]/globals.php-off to [PathtoJoomla!]/ globals.php.

Joomla!'s core will definitely work. Give it a try to see whether all of your components still work. If you have problems, change the settings back to globalson for the time-being and look for updates of the affected components.

Comments (0)Add Comment

Write comment
smaller | bigger

security code
Write the displayed characters


busy