The typo3_migrate module provides support for migrating content from a TYPO3 website to Drupal using the Migrate(http://drupal.org/project/migrate) module.

Currently, import of the following is supported:

  1. Users(both frontend and backend).
  2. Standard typo3 pages along with their tt_content elements:
  3. tt_content elements of the type 'text', 'textpic' and 'image' will be migrated into the node body.
    Authoring information of the pages is also migrated.

  4. News(tt_news) and news categories:
  5. Migration of news images and files is also supported.
    Related news articles are handled through a cck nodereference field.
    Migration of news articles can be restricted to certain folders.

The migrated content can be rolledback completely.

Roadmap:

  • The current module is for Drupal 6. The drupal 7 version will be added to soon.
  • The aim is to build a suite of sub-modules to migrate a website from typo3. More sub-modules can be added to handle data from various Typo3 plugins.
  • Sandbox Link:

    http://drupal.org/sandbox/ishanmahajan/1099808

    For more details on how to use the module refer to the README.txt.

    Comments

    ishanmahajan’s picture

    Status: Active » Needs review
    rahuldewan’s picture

    This module has been used for migration of the website of Greenlandic Broadcasting Corporation (KNR) from TYPO3 to Drupal (OpenPublish). The live Drupal URL is: www.knr.gl while the TYPO3 site can now be seen at: http://typo3.knr.codespry.com/.

    Excellent work on this one!!

    ishanmahajan’s picture

    Can anybody please review this? The module has been used for a couple of migrations. See the comments -
    http://www.srijan.in/blog/typo3-drupal-migration-knr-case-study

    cheval’s picture

    -added this post to issues

    berdir’s picture

    Status: Needs review » Needs work

    Reviewed your code as far as I could, some suggestions and things you need to change:

    - Maybe place your setttings callback in admin/settings instead of admin/content?
    - Define a custom permission, it is using access content currently and that is surely not a good idea :)
    - You can use system_settings_form() which will automatically save all form values with variable_set(). See http://api.drupal.org/api/drupal/modules--system--system.module/function...

    - If you move the migrate install stuff in a separate file like typo3_news.install.inc, you should only include it when necessary, which means in hook_install() and _uninstall(). Right now, it just means that Drupal has to include yet another file on each page load which means you make it slower, not faster :)

    I can't really review the migrate integration, haven't used it yet, but it looks nice to me.

    ishanmahajan’s picture

    Status: Needs work » Needs review

    Thank you Berdir for the review.
    I have incorporated all of your suggestions and have committed them to the sandbox project:

    • Changed the admin settings path to admin/settings/typo3
    • Defined a custom permission - "administer TYPO3 migration".
    • Have used the system_settings_form() function.
    • Including the *.install.inc files only in hook_install and hook_uninstall.

    Thanks again for the suggestions :)

    berdir’s picture

    The changes look good.

    As a suggestion, try to commit each change (which can be big, multiple files etc. but only one "thing") in a separate commit. That makes it easier to follow the changes just by looking at the commits and allows to really use tools like git bisect. If you also follow the commit message guidelines (see http://drupal.org/node/52287), you can directly generate the changelog for a new release from your commit messages with http://drupal.org/project/grn.

    From my part, this is RTBC. Would be great if someone who knows migrate.module could look over that code and mark it RTBC if it is.

    berdir’s picture

    One more minor thing.

    I noticed your commit added "+// $Id$" in some files. This is not necessary anymore, git doesn't use that which makes it useless.

    ishanmahajan’s picture

    Thank you Berdir for the useful links on how to use git effectively. I'm new to git and will try out the grn project. I have followed the git message guidelines for my latest commit.
    I have removed the "+// $Id$" keyword from the files.

    ishanmahajan’s picture

    Can someone please review this and help me get full project access for this.

    ishanmahajan’s picture

    Title: Typo3 Migrate Module » TYPO3 Migrate Module

    Updating project name.

    agupta’s picture

    Status: Needs review » Fixed
    agupta’s picture

    Status: Fixed » Reviewed & tested by the community
    greggles’s picture

    Status: Reviewed & tested by the community » Needs review

    @ankurg79, it is inappropriate to move the status for a project without providing a review. You were probably trying to move this application along faster, but, ironically, moving it to RTBC slows it down because people look for issues that "need review" would not find it.

    berdir said this was rtbc from his perspective in comment #7 so I'm tempted to fix this, but will ping folks familiar with migrate in irc to see if they can look at it first.

    moshe weitzman’s picture

    Status: Needs review » Reviewed & tested by the community

    This is an excellent example of migrate API usage.

    greggles’s picture

    Status: Reviewed & tested by the community » Fixed

    Thanks for your contribution, ishanmahajan! Welcome to the community of contributors on drupal.org.

    I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.

    Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

    ishanmahajan’s picture

    Thank you everyone for reviewing this application. Looking forward to contributing more to the community.
    @moshe, thank you for the awesome migrate module.

    Regards,
    Ishan

    Status: Fixed » Closed (fixed)

    Automatically closed -- issue fixed for 2 weeks with no activity.

    IAmThatStrange’s picture

    Component: new project application » module

    Hi ishanmahajan. I wanted to know if this module handles things other than straight forward content. Things like Inserted records (we have 3000 live examples of this), pages which display all content from antother page and plugins (I expect there realy isn't a way to handle those but thought I'd ask) , HTML elements, forms, and sitemaps.

    Also just what does it copy? We have 5500 hidden pages (old sites), many of these are hidden programatically from a flag in the root page. Will these be moved or not? What about hidden content.

    This is a large site (44016 pages, 22000 live, 4200 pages in some versioning -- 107961 content elements, approx 35000 live content elements, 12691 content elements in some versioning). We'd love to give this a try but need to know how it handles these kinds of things.

    thanks.

    hsubbi’s picture

    i have my site in typo3 , i am trying to migrate it to drupal by the time i am using typo3_migrate module at the end all my pages are migrated but the page contents are not fully migrated the only some first 200 or 250 charaters from orinal typo3 is migrating
    please any body help me for doing the same expecting quick reply i have some deadlines for it to finish