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 
 * 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