Migration Dok185 Ch20 General » History » Revision 10
Revision 9 (Sven Vanpoucke, 13/08/2010 12:05) → Revision 10/16 (Sven Vanpoucke, 13/08/2010 12:07)
h1. Migration from Dokeos 1.8.5 to Chamilo 2.0 h2. 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() h2. Differences / extensions on the generic system h3. General 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) h3. 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() h2. 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 * Step 1: [[MigDok185_Ch20_Users|Users]] * Step 2: [[MigDok185_Ch20_PersonalAgendas|Personal Agendas]] * Step 3: [[MigDok185_Ch20_Settings|Settings]] * Step 4: [[MigDok185_Ch20_Classes|Classes]] * Step 5: [[MigDok185_Ch20_Courses|Courses]] * Step 6: [[MigDok185_Ch20_Metadata|Metadata]] * Step 7: [[MigDok185_Ch20_Groups|Groups]] * Step 8: [[MigDok185_Ch20_Announcements|Announcements]] * Step 9: [[MigDok185_Ch20_Blogs|Blogs]] * Step 10: [[MigDok185_Ch20_CalendarEvents|Calendar events]] * Step 11: [[MigDok185_Ch20_Documents|Documents]] * Step 12: [[MigDok185_Ch20_Links|Links]] * Step 13: [[MigDok185_Ch20_Dropboxes|Dropboxes]] * Step 14: [[MigDok185_Ch20_Forums|Forums]] * Step 15: [[MigDok185_Ch20_LearningPath|Learning Path]] * Step 16: [[MigDok185_Ch20_Quizzes|Quizzes]] * Step 17: [[MigDok185_Ch20_StudentPublications|Student Publications]] * Step 18: [[MigDok185_Ch20_Surveys|Surveys]] * Step 18: 19: [[MigDok185_Ch20_SCORM|SCORM]] * Step 20: [[MigDok185_Ch20_Trackers|Trackers/Statistics]] h2. Missing migration blocks * Gradebook * SCORM * 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) h2. 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