Joomla! Developer Blog
Migrating content to Joomla 1.5
May 19th, 2006 by davidgal
Joomla 1.5 does not provide an upgrade path from earlier versions. Converting an older site to a Joomla 1.5 site requires creation of a new empty site using Joomla 1.5 and then populating the new site with the content from the old site. This migration of content is not a one-to-one process and involves conversions and modifications to the content dump.
There are two ways to perform the migration:
A detailed description of both methods follows.
Automated migration
This is a two phased process using two tools. The first tool is a migrator component named ‘com_migrator’. This component has been contributed by Harald Baer and is based on his ‘eBackup’ component. The migrator needs to be installed on the old site and when activated it prepares the required export dump. The second tool is used during the Joomla 1.5 installation process. The exported content dump is loaded to the new site and all conversions and modification are performed “on-the-fly”.
Step 1 - Using com_migrator:
Step 2 - Using the migration facility during Joomla 1.5 installation:
What does the automated migration do?
What doesn’t the automated migration do?
Manual Migration
First a word of warning! The popular tool, ‘phpMyAdmin’ performs unrequested and usually incorrect encoding conversions during export of site data. There is currently no way to control this. For this reason it is NOT recommended to use phpMyAdmin for migration. The reason for this is unclear but the tool appears to assume the encoding of the database which in many cases is ‘latin1_swedish_ci’ (the default) and has no connection to the actual encoding that was used in the site. The result is usually corruption of all extended ascii characters.
Preparing data for a manual migration includes encoding conversion to utf-8, accommodating for added fields in Joomla 1.5 database schema, renaming of two fields and possibly renaming the table prefix. Following are some guidelines for manual migration bearing in mind that there “is more than one way to skin a cat”.
Encoding conversion:
This can be done during export (if the export tools supports it), off-line on the
sql script using an appropriate editor that can ’save as utf-8′ or during import
(this works OK with phpMyAdmin).
A good sanity check is to load the converted sql file in an editor. If the editor is in the utf-8 mode (usually seen in the status bar) and the content is readable - then you probably got it right. When doing an editor based conversion, the BOM (bit order marker) option should NOT be used as this adds several unwanted bytes at the top of the file and will cause a parsing error.
Accommodating for new fields in Joomla 1.5 db schema:
All that is needed is to ensure that:
Renamed fields:
There are only two field names that need to be renamed in appropriate INSERT statements:
Which tables to import?
The list below includes tables that relate to core content and they can be safely
populated with the migrated data. Note that the ‘jos_usertypes’ table is no longer
used in Joomla 1.5.
Menu and module tables can be reconstructed with relevant records from the old site. You need to know what you are doing here. If in doubt it might be a better idea just to reconfigure module parameters and menu structure using the administrator interface. Menu records that relate to ‘content_typed’ are no longer valid as this type of content is no longer recognised.
The tip of the day is “be prudent and keep a good backup”
Core data tables:
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
Copyright © 2006