Data Migration Overview

In this article we discuss best practices for importing legacy content into the LMS, which typically happens during the implementation process, but can occur later after the account is live for users.


Often, clients have existing data in another system (e.g., an old LMS, an HRIS system, etc.) which they would like migrated to Exceed. Integrations for legacy content exist for the following types of data:

  • Users
  • Activities
  • Enrollments
  • Sessions

Each type of data import requires its own flat file (CSV or pipe-delimited format), which matches the specific file structure needed to guarantee a successful import. So, for example, if an admin wishes to migrate user data, a template file exists which contains the specific user fields (both required and optional) that can be imported. Also for each import type, a unique code must be included to uniquely identify each record contained within the import file. Therefore, in the case of an Activities import, a unique code must be assigned to each activity that is to be migrated. 

If you are doing an initial data migration prior to going live, your implementation manager will work with you to ensure the data is set up properly for the import jobs to run. However, if you are doing a subsequent data import, these can be done individually or set up to run as scheduled jobs (please contact your Account Manager to set up a scheduled import job). For individual imports, you can access the relevant page in Exceed which provides step-by-step instructions to do so. Relevant Help articles exist for each import type:

Bulk User Import

Bulk Activity Import

Note: When importing activity data, besides the unique activity code the import file will also contain the activity name, activity type, and all other important data that needs to be moved into the LMS. After the import file is loaded the "shell" activities are created with the migrated data; they are shells since any assets for the activities (e.g., such as File activities that need additional assets, like SCORM zip files) aren't loaded yet. Depending on the size of the assets it may be necessary for us to load them or write a script to associate them with the appropriate activity shells. Also, it is important to be aware of how many activity records need to be migrated into the LMS. If a large number of records exists, breaking the import up into 2000 records or less will eliminate issues.

Bulk Enrollments Import

Note: When importing historical enrollments, we typically migrate all active/current as well as inactive/legacy enrollment data to ensure clients still have access to all historical records after the migration. In this case, usually all that's required is the activity code (activity must exist in system), user code (user must exist in system), completion status, and completed on date. Also, be aware that Enrollment imports done through the Bulk Enrollments Import page are for a specific activity; if you need to import enrollment data across many activities please contact your Account Manager.

Bulk Session Import


Finally, you can track the status of scheduled data imports via the System Log, where successes, warnings and failures are communicated.



Have more questions? Submit a request


Article is closed for comments.