Last updated November 30, 2010. Created by sun on August 23, 2006.
Edited by jcisio, yautja_cetanu, drupalisme, frank0987. Log in to edit this page.
This guideline focuses on migration from Joomla! 1.0.x to Drupal 4.7.x/5.x. Before you do migration you must understand some differences between both to make sure your migration to be successful:
Joomla! vs Drupal
- Joomla only supports one Section and one Category for each content, while you can assign Drupal contents to several Sections/Categories.
- Joomla does not support multi-site setups, so the migration must be put into a certain site if you already setup a multi-site with Drupal.
- In this guide I assume you have a forum in your Joomla site. Drupal has built-in forum discussion, so you don't need to install additional modules.
- The term
Blog
in Joomla is not same as blog in Internet dictionary. 'Blog' term in Joomla is actually a teaser view of contents containing: Title, Introduction and a Read More link. So, in short, 'Blog' in Joomla terminology is not 'Weblog'! If one is asking if Joomla supports a 'Blog' by default, then the answer is yes, but with a different meaning. - Comments on contents are not available in Joomla by default, but Drupal supports comments for all content-types by default.
Joomla vs. Drupal Terminology
There are some different terms between Joomla and Drupal. Here is a list to give you a quick understanding:
- Joomla
Template
is calledTheme
in Drupal. - Component = Module.
- Module = Block.
- Mambot/Plugin = Input filter.
- Menu-Horizontal = Primary Links
- Menu-Vertical = Navigation
- Dynamic Content Item = Story
- Static Content = Page
- Back-end = there is no back-end in Drupal, but modules like Administration Menu that provide a similar interface.
- SEF = Clean URLs (but some docs refer to SEF, too).
- Section = Taxonomy Vocabulary/Term
- Section Title = Taxonomy Term (master)
- Category = Taxonomy Term (child)
- Introtext = Teaser
- Maintext = Body (see explanation below)
- Pathway = Breadcrumb
Other terms are the same, such as: forum discussion, editor, search, region, comment, subject/title, preview, html tag, view, edit, advertising/banner, log in/log out, profile, avatar, access control, logs, cache, site maintenance, RSS feed, parent-child and snippets.
Migrating Joomla Content/Items
First, you must transfer all Joomla-Sections to Drupal-Categories and transfer Joomla-Categories to Drupal-Term according to their parent. After that, you can transfer Joomla content/item from jos_content table. Drupal tables for saving article are drupal.node and drupal.node_revisions!
Migrating Joomla Introtext
Introtext vs Teaser, this is very important, you must know that Drupal can automatic turn the beginning of an article into an introtext. The introtext is called a teaser in Drupal. Now, how to convert Joomla introtext to Drupal?
1. copy the Joomla Introtext to drupal.node_revisions:teaser
2. copy the Joomla Introtext+Maintext to drupal.node_revisions:body
You may confuse why step #2 including the Introtext again? Because in Drupal, there is a possibility to set Teaser different from the First Paragraph of a body. In other words, the First Paragraph of Drupal is not always become a Teaser!
If you want to edit migrated contents later on in Drupal, you should actually copy
Introtext + "<!--break-->" + Maintext
in step #2.
Migrating Joomla Forum
I assume you use Joomlaboard forum for Joomla. In Drupal, forum is built-in, then you only need enable it on administer-module then show it on certain front page section using administer-blocks. You must transfer Parent-Forum Category of Joomlaboard to Drupal-Forum Container and Child-Forum Category to Drupal-Forum Category. Again, I am using SQLyog to transfer the entire forum contents, SQLyog is very easy because its GUI.
Editor
Drupal by default has no WYSIWYG Editor, meaning you must type in HTML tags manually to format your article. Joomla has built-in TinyMCE editor. In Drupal, you can use users contributed modules such as TinyMCE Editor or FCKeditor.
Tips
Usually better to install Drupal in a folder such as domainname.com/drupal, so you can still access both website during this migrating. You better not convert the Joomla templates to Drupal Theme, but edit any existing Drupal theme to meet your requirement because Drupal supports theme engine (PHPtemplate) and separate templates such as comment.tpl.php, mean you can apply any format to the comment.
Conceptual Differences between the two
Creating Content and Menu Structure
Joomla's content is stored in a hierachy with content categorisation being heavily intertwined with its menu structure. In drupal all content is a flat Node where menus and taxonomy "sit on top" of the content. In joomla a common structure for creating with content is this:
Choose where in the Menu article should go -> Create Menu item -> Define the type of content (eg Article) -> Input Content
However in Drupal it is potentially simpler.
Create Content -> Input Content -> Change Settings including Menu placement, taxonomy, etc
However this can create a confusion to Joomla users not used to the Drupal way. If you try and create a menu item before creating the content (or Node) then the Drupal Menu administration seems comparatively basic. The most complicated aspect of Drupal Menu system is that you have to manually type the path to the content, rather then selecting this from a list. This is not complicated if you create the content first and then change its menu settings whilst editing the content. But if you create the content without assigning menus it can only be found through the administrative menu.
Similarly to categorise content you do that on the actual edit content page. It requires you to have already have set up the Taxonomy for your website. This is powerful because the sorting of your content is not always tied into the Menus but if you are used to Joomla's way of doing things then there is a Taxonomy Menu Module.
Helpful Modules
You may also want to check out the following modules:
User Import - for users
Node Import - for content
Joomla - all-in-one migration
Joomla2Drupal - another all-in-one migration
Comments
Joomla to Drupal user conversion example
Here's a working example of converting Joomla users to Drupal 5.x
http://drupal.org/node/214022
Joomla to Drupal - attempting to preserve URLs
I've looked at the above a few times over the past couple of years or so; found it rather daunting.
Lately tried migrating a site from Joomla 1.0.14/15 to Joomla 1.5.3, but migrator component gave me an error. Hadn't been real sure re 1.5; I've lately set up a few sites w Drupal, so a migration to Drupal looked highly tempting. After failure to 1.5.3, didn't press on, but looked for info on Joomla to Drupal; found some, tho a little scattered, and gave it a try. So far, not to live site, but these notes may be a little use.
- these notes may be good laugh for power users, who transform MySQL databases with ease, but just might help one or two people.
Found there is new module, to convert from Joomla 1.0 to Drupal 6 (which as yet lacks quite a number of Drupal 5 modules, but certainly usable for a site, with important modules like Views now ported):
http://drupal.org/node/249643
I tried this on local install - MAMP on Mac, equivalent to LAMP on Windows I think - and worked straight away, albeit not complete (nothing from Fireboard forum; no links), and not generating data just as I wish.
Joomla site still running: useful, so can check info like URLs, get various info - inc links from source code, which I simply pasted into new links pages in Drupal.
When I wrote these notes, site still local; but since made it live: www.hkoutdoors.com
Important to retain the images/stories folders. Can stay in public_html, say, for time being (maybe later can move to drupal's files folder, within sites - but then may need to do replace all within MySQL to correct the paths to the files; or do this by editing articles/stories etc if only few images).
The conversion module placed Joomla sections and categories within a Drupal Vocabulary, Topics.
To me, not ideal; I since set up Vocabularies for main Joomla sections; and withing these, set up Terms aka Categories for Joomla Categories; not free tagging, but multiple select. Had to then work thro published articles, to make changes: choosing "none" for Topics choices, and selecting the terms aka categories.
[maybe the newer module, to Drupal 5, does better than this]
Also in published articles, changed titles to the title alias of Joomla site (as on Joomla site, I'd used SH404SEF to generate URLs; making changes like this in Drupal meant the pathauto module could generate the same URLs, via [term-raw]/[title-raw].html
(If you haven't yet tried Drupal, and some of this gobbledegook on quick read through, should become clear as n when you try Drupal; tho the taxonomy system can remain baffling for some time I think - key thing w taxonomy, though, is that it's powerful, and some nifty things can be done with relative ease)
Plus, sometimes adding meta descriptions, keywords; after installing Nodewords module.
- the Joomla meta keywords had become "Free tags"
So, main pages about ok (I think "story" is best content type for them; set by the module; Full HTML input type allows images to display - unlike the stingy Filtered HTML); and photos from images/stories appear to be showing up ok; mostly, anyway.
Users also imported; Drupal made it easy to get rid of spammers who'd signed up but were blocked.
Fireboard forum looked maybe troublesome: I read the above re forum, was not at all sure I could do this.
Seems there's no direct conversion. So, rather long-winded: used converter to Simple Machines Forum 1.1.5; and from this, to phpBB 2 (can download legacy version from phpBB).
Didn't really take long installing these, doing conversions.
Once done, can delete fireboard, simple machines, phpbb tables from MySQL table.
With conversion done, there's forum in Drupal - and looks to be working pretty well.
[term-raw]/[title-raw].html giving forum threads the URLs as I'd generated from SH404SEF (hooray!); albeit after edited pathauto settings so it would leave in words like "on". Forum "containers" look fine.
- could also try bridges for smf or phpbb to drupal. Forums certainly more forum like than in Drupal; but I wasn't clear re URLs, say; and having forums in Drupal meant that could use the taxonomy etc.
So, that taxonomy: powerful, but a bit baffling.
Should you try the change, on local machine preferably (before hopefully going live), one thing I suggest you try is the Taxonomy VTN module (and its Taxonomy VTN Blocks module that comes with it). Enable this, publish a block, and presto! - you have a site index, with pages showing Terms/Categories in alphabetical order and linking to pages w articles under Terms also listed alphabetically; and page with all tags (keywords) in alphabetical order - the latter, if plenty of keywords, looks like index to a book.
Views module does far more w taxonomy; lmaybe plenty of coffee and some headache pills required to first try, but can just give it a go, maybe try making a block with titles of articles in a certain Vocabulary (handy for navigation, perhaps).
Well, maybe MySQL and Drupal/Joomla gurus are in stitches w laughter by now, but what the heck - hope this helps someone.
Update:
I've now moved towards multisite installs for the Drupal sites.
To me, a bit odd to think of the structure, figure how it works.
Even single site, one thing to note is that can put the Joomla images/stories folder in root of the site, so links to photos etc still work.
With multisite, can combine images/stories folders n files from Joomla sites - should work providing names of the image files are unique.
However, can't then browse these images using IMCE (an image browser, works w editors like tinymce and fckeditor), say; so not so simple to use the images for fresh articles, maybe via editor. To do this, can put the images/images folders into a specific sites' files folder, within sites folder - such as in sites/www.anexjoomlasit.com/files/images - no need to retain stories folder.
Rather "extravagant" having two sets of images from each Joomla site, in different locations; a pretty basic way of doing things. But as yet, I haven't tried search n replace in mysql, to change paths to images, from paths that worked in joomla to paths to images within files.
____________________________
CheungChauHK 長洲HK - South China Sea island in Hong Kong. (Created w Drupal from outset)
Hong Kong Outdoors - converted from Joomla to Drupal
____________________________
DocMartin and Hong Kong Outdoors
Joomla 1.5 to drupal 6 script
I have recently converted from joomla 1.5.8 to drupal 6.10 (the latest version)
I have made some small changes in another script I found
You can find the script I modified at: http://armastevs.com/forums/index.php?topic=46.0
Hi armastevs, Thanks for the
Hi armastevs,
Thanks for the link, but it is broken, do you have the actual link where your script is please? it would be very helpful!
Thanks again.
yorch.
http://yorch.org
@jbarnaby
Joomla module
If you like to automatic migrate Joomla to Drupal then you can try this module:
Migrate Joomla to Drupal: http://drupal.org/project/joomla
Community Modules
Is there any Modul like Jomsocial for Drupal?
-----------------------------------------------
http://www.dimadima.de