The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CMS::JoomlaToDrupal - migrate legacy Joomla content to Drupal

VERSION

Version 0.05

SYNOPSIS

This code should populate a new drupal installation from a legacy joomla site.

    use DBI;
    use CMS::JoomlaToDrupal;

    my $dbh_joomla = DBI->connect();
    my $dbh_drupal = DBI->connect();

    my $j2d = CMS::JoomlaToDrupal->new({  
            dbh_drupal => $dbh_drupal,
            dbh_joomla => $dbh_joomla,
         drupal_prefix => 'drupal_',
         joomla_prefix => 'jos_',
                   log => '/home/me/logs/j2d.log',
                 email => 'site_admin@example.net'  });

    $j2d->migrate();

Install drupal in the usual way, running the script at: http://example.com/install.php

Then run the script above from a command line. After a moment, your legacy joomla content should be in your drupal database and be visible by visiting your home page. All stories will be promoted to the front page. At this point you can apply themes, custom modules can be enabled and the work of migrating your site can continue without the tedium of manually inputing legacy stories.

METHODS

->new()

Provided a DBI::db connection handle to each of the joomla and the drupal databases, database table prefixes, plus a path to a job log and an email address for the admin user on the new drupal site, return an object offering access to the methods necessary to migrate the old joomla site to a new drupal site.

->migrate()

Invoking this method will import authors, articles, comments and hit counters from the configured Joomla database, into the configured Drupal database. It creates a log of its activities.

TODO

Rewrite to use CMS::Joomla to create the Joomla database handle, perhaps add a CMS::Drupal as well. This way the constructor would take drupal_cfg, joomla_cfg, log and email.

AUTHOR

Hugh Esco, <hesco at campaignfoundations.com>

BUGS

Please report any bugs or feature requests, tests, use cases, patches or documentation to bug-cms-joomlatodrupal at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CMS-JoomlaToDrupal. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

This module is currently failing the pod-coverage tests, for what reason escapes me at this moment. So that test has been renamed so it is excluded from the make test run. I tried to give you complete documentation, honest I did.

The author is available, by contract, to prioritize needed extensions or enhancements.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc CMS::JoomlaToDrupal

You can also look for information at:

ACKNOWLEDGEMENTS

This module was developed and successfully used to migrate http://blackagendareport.com/

including over 1000 stories and 10,000 comments accumulated on the legacy site. Their support for its development is appreciated.

COPYRIGHT & LICENSE

Copyright 2009 Hugh Esco, all rights reserved.

This program is released under the following license: gpl