Migration Dok185 Ch20 General » History » Revision 9

« Previous | Revision 9/16 (diff) | Next »
Sven Vanpoucke, 13/08/2010 12:05

Migration from Dokeos 1.8.5 to Chamilo 2.0

The integration of generic code

1. Dokeos185MigrationUtilities
  • function validate_settings()
    • Check the existence of the dokeos platform (try to load the config file)
    • Check if the dokeos platform is accessible (try to connect to the database with the data from the config file)
    • Check if the prerequisites of the selected blocks are met
  • function get_migration_blocks()
    • Returns a list of all the available blocks in the correct order (the order is specified below)
2. Dokeos185DataManager
  • Retrieval of configuration file in '/main/inc/conf/configuration.php';
  • function count_all_objects()
    • Set the correct database and count all the objects from the
  • function retrieve_all_objects()
    • Set the correct database and retrieve the objects with given conditions
  • Helper functions for specific data
    • function get_admin_id()
    • function get_item_property()
    • function get_owner_id()
    • function retrieve_user_by_fullname()
    • function retrieve_quiz_rel_questions()

Differences / extensions on the generic system


1. Dokeos185MigrationDataClass
  • Extension on MigrationDataClass
  • Defines the data manager in function get_data_manager()
  • Additional abstract function get_database_name() because dokeos185 exists out of multiple databases
  • Extended some methods to include the database_name (IdReferences, FailedElements)

Course specific

1. Dokeos185CourseDataMigrationDataClass
  • Extension on Dokeos185MigrationDataClass
  • Used for data classes within one course
  • Added additional property course, because it is needed during the migration of each and every data class
  • Added additional property item property, because it is needed in most of the data classes that are in a course
  • Added some additional helper functions
    • Create publication (creates a new publication in chamilo 2.0)
    • Create feedback (adds a feedback to a publication)
    • Create complex content object item (adds a content object to another content object)
  • Implemented get_database_name to retrieve the database name from the current course
2. CourseDataMigrationBlock
  • Extension on Dokeos185MigrationBlock
  • Different migration process
    • Retrieve all courses (in chunks of 1000 courses)
    • For each of the data classes, set the current course and migrate using the regular migration process
    • The current course will be given to each object that is being converted
  • Caching method for get_data_classes because we need to call this function for every course
    • Uses a new abstract function get_course_data_classes()

Migration blocks

This section gives you an overview of all the blocks in the migration process from dokeos 1.8.5 to chamilo 2.0

Missing migration blocks

  • Gradebook
  • Hotpotatoes
  • Sessions (not existing in 2.0)
  • Some single tables that are attached to one or more steps above (described in the wiki page of the step)

Known Issues

  • We need to provide / update a more decent script to decide who is the owner
  • We need to find a way to migrate images that are attached in certain description fields
  • We need to check every block to see if we included enough checks on id references / validations

Updated by Sven Vanpoucke over 12 years ago · 9 revisions