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

Difference between session.gc_maxlifetime and session.cookie_lifetime in Drupal setting.php

ini_set('session.gc_maxlifetime', 200000); This value is for the server. It is a settings for Session Garbage Collection. If the users last visit happened before 200000s then this session is eligible for garbage collection. Since it is GC, the session value may be discarded and not compulsory. If a GC action happens after the session was made eligible for the GC, it will be deleted. ini_set ( 'session.cookie_lifetime' , 2000000 ); This value is for the browser. This is the absolute maximum time till which a browser can keep this cookie active. A 0 value here means immediate or when the browser is closed. Source: 

CKFinder Installation in the CKEditor for Drupal 7 Module

Please follow the steps below;  Go to http://ckfinder.com/download and download CKfinder Unpack the contents of the installation package into the directory that contains the CKEditor module and place it in thesites/all/modules/ckeditor/ckfinder (or sites/all/libraries/ckfinder) folder. . When the files are unpacked, you should see the following file structure inside the drupal/sites/all/modules directory: Now open the CKFinder configuration file (ckfinder/config.php) and introduce the code changes described below. Firstly, remove the CheckAuthentication() function (do not worry, this function is defined in filemanager.config.php, see below): function CheckAuthentication()       <- remove it {                                    <- remove it    //WARNING : DO NOT simply...      <- remove it    ...                               <- remove it    return false;                     <- remove it } For CKFinder installed in the sites/all/modules/ckeditor/ckfinder

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