Skip to main content

Migrate to Drupal 7


Migrate Module


  • Powerful object oriented framework for moving content into Drupal.
  • Minimal UI, primarily code based.
  • Migrate Extras provides support for many contrib modules
  • The best documentation is in the wine.inc and beer.inc example code.
  • Migrate is faster, and more flexible but you need to write code to map fields.
  • Feeds doesn't work well if you've got different content types that need to reference each other.

Main Concepts:-

  1. Source.
  2. Destination
  3. Map
  4. Field mapping.
  5. Field Handling.
  6. Migration

Source:

  • Interface to your existing data (SQL, CSV, XML, JSON).
  • Provides a list of fields and descriptions.
  • Iterates (reset, next) over rows.

Destination:

  • Interface for writing data to Drupal— typically to a Entity.
  • Creates one record for each record in the source. If you’re creating users and profiles, you’ll need two migrations.

Map:

Source:-










destination:-

Mapping of source and Destination in database:

  • Connects the source’s ID to the destination’s ID.
  • Provides lookup facilities.
  • Allows created items to be deleted as part of a rollback.

Field Mapping:-

Source:-







Destination:-








Field mapping from source to Destination:-








  • Links a source field to a destination field.
  • Lets you look up IDs from the other migration’s maps with sourceMigration().
  • If the destination has a complex structure (e.g. Address or file field) then additional data is passed in via arguments().

Migration:


  • Code that glues the parts together
  • In your constructor you setup: source, destination, map and field mappings
  • Allows customization at several points: prepareRow(), prepare(), complete().

Field Handling:-

  • Handles the details of converting the field into the structure that Drupal understands.
  • Turns $entity->field_bar = “foo” into                                                                                        $entity->field_bar[‘und’][0][‘value’] = “foo”.
  • Might pull additional data out of arguments.

  Destination Handling:-

  • Provides additional functionality to an existing destination, e.g. comment adding a field to nodes for comment status.
  • Destination delegates calls to fields(), prepare(), complete() to the destination handlers.
  • You probably won’t need to write one.

Comments

Post a Comment

Popular posts from this blog

Set the default language in Notepad++

I am showing this for the PHP language. In Notepad++   Click on Settings -> Preferences   Click on the New Document tab   Change the Default Language to PHP See below inage   To add an extension to load PHP editor for different extensions.   Click on Settings -> Style Configurator   In Language scroll down to PHP and click it.   In below it will show default ext.     Add your extensions at user exit. (Don't need '.').       eg:  inc install module   Click on Save & Close See below image for reference.

Files that Drupal Themes Use

A drupal theme is a collection of files that define the presentation layer. You can also create one or more "sub-themes" or variations on a drupal theme. Only the .info file is required, but most themes and sub-themes will use other files as well. The following diagram illustrates the files that are found in a typical drupal theme and sub-theme. Drupal 6: Drupal 7: .info   (required) All that is required for Drupal to see your theme is a ".info" file. Should the theme require them, meta data, style sheets ,  JavaScripts ,  block regions  and more can be defined here. Everything else is optional in drupal theme. The internal name of the theme is also derived from this file. For example, if it is named "drop.info", then Drupal will see the name of the theme as "drop".  Drupal 5 and below used the name of the enclosing folder of the theme. Info files for themes are new in Drupal 6. In version 5, .info files were used solely for dru...

Smart pagination or page break in Drupal 7(CK editor)

1. Install Smart Paging module   Go to Administration › Configuration › Administer Smart Paging settings.   Under 'Default page break method', select "Manual placement of page break placeholder". 2.  Install  'Ckeditor' Module   Go to Administration › Configuration > Ckediotr profiles > Filtered HTML   Edit the settings of the Advanced (Filtered HTML) Profile. Under 'Editor Appearance' section, In plugins check the required options like " Plugin for inserting a Drupal teaser and page breaks. ". 3.  Edit the configuration settings of input formats (Filtered HTML, Full HTML, Plain Text)   Go to Administration › Configuration > Text formats. Edit the required input format. For example say "Filtered HTML". Under  "Enabled filters" section, check the 'Smart Paging' option and uncheck all the remaining checkboxes. 4. Go to Content type 'article' and create new content. We will s...