EchoVideo provides for retrieval (export) of object lists, including IDs. This allows users to copy the data from those lists and use them to make bulk changes to the system via CSV Import. This provides a full round-trip system for retrieving, updating, and deleting system objects.
Some create-action imports create objects belonging to an existing object (such as creating sections for a term and course). In this case, we require the use of unique IDs for these existing objects. These unique IDs ensure accuracy and proper validation for the associated objects. They can be either the EchoVideo internal system IDs, or they can be External IDs established for the object (typically by an external SIS or other system). You can obtain the needed IDs by generating one or more Exports from which you can copy and paste into the worksheet you will import.
If you are using Version 2 imports / exports (currently only available for Schedules), you can simply run a Version 2 export, remove the rows that are not changing, edit the values that are changing, and then import the altered file. Version 2 exports are structurally formatted to be identical to the Version 2 imports, with the same fields in the same order.
Support for Designated Administration: If designated administration is enabled for the institution, institution-level admins can see all imports and exports performed on the system through the Imports / Exports tab. Organization and Department level admins can only see the imports / exports THEY initiated.
If designated administration is not enabled for the institution, all admins can see all imports / exports run through this tab.
Generating a sample import file
Each import type / action provides a link for downloading a sample import file. In addition, the dialog box where the link appears also provides a list of the fields (columns) accepted for the import and whether or not a value is required for that field.
If you use the sample file to generate your import file, delete the sample data but retain the header row.
To generate a sample import file
- Log in as an Administrator and click IMPORTS / EXPORTS, located to the right of Users.
- On the Imports tab (which appears by default - click Imports if coming from the Exports tab) click Import CSV as shown in the figure below.
- In the dialog box that appears, use the drop-down lists on the left side, identified in the below figure, to select an object Type and the Action you want to perform.
- If you are performing a Version 2 Schedule Import, select Version 2 from the Version drop-down. All other imports default to Version 1.
- On the right side of the Import dialog box, above the list of fields needed in the import, click Download a sample CSV file. This is also shown in the figure below.
A sample file is downloaded to your Downloads directory or the location specified in your browser settings.
- Remove the sample data from the sample file download, but leave the headings in place. You can now enter or copy (from an export) data into the fields as needed.
Performing an Import
The import process is the same, regardless of the type of object being imported or the action being taken. The only thing that differs (by type and by action) is the data required in the imported file.
NOTE that if designated administration is enabled for your institution, your import can only include objects you have been granted access to. If you are not given permissions to create / update / delete an object in your import file, the row will be rejected.
Large imports can take some time to process. For this reason, your imported CSV file should contain only the rows being created or that require updates. Every row in the file must be parsed and validated, even if it makes no changes; having unnecessary rows in the imported file will needlessly increase processing time.
To perform bulk actions by import
- Log in as an Administrator and click IMPORTS / EXPORTS, located to the right of Users.
- On the Imports tab (which appears by default - click Imports if coming from the Exports tab) click Import CSV.
- In the dialog box that appears, use the drop-down lists to select an object Type and the Action you want to perform.
- Click Upload CSV.
- In the FileStack window that appears, navigate to and select the CSV file you want to import.
- Once the upload is finished, the file appears in the list of Imported files along with a status. Use the refresh button to update the table if necessary.
Viewing import status and errors
Once your import has been processed, you can see the import along with its status, in the Import tab of the Imports / Exports page.
Click on any row to see a pop-up window with details, including any rows that may have thrown errors on import. Each error message is shown with the row number to which it applies (including the header row, so your row number may be offset by one).
The pop-up also allows you to download the file that was imported, in case you need to review it and do not have the original (e.g., you were not the admin who imported it).
NOTE: The errors list currently shows a maximum of 100 errors. We are working on a method for providing a full list of errors over 100, and when that is available, this note will be removed.
Creating objects via CSV import
Creating objects can be done by downloading the sample file and entering the field data. Depending on the object type you are creating, you may want or need to generate an export to copy information into your new import file.
The following object types can be created via import. Each is linked to the topic that provides details on requested fields for the import:
- Campus
- Building
- Organization
- Department
- Course
- Term
- Section
- Section Enrollments (adding users to a section)
- Schedules V1
- Schedules V2
- Users
- Rooms
NOTE that if designated administration is enabled for your institution, your import can only include objects you have been granted access to. If you are not given permissions to create / update / delete an object in your import file, the row will be rejected.
Updating objects via CSV import
CSV Updates can be done by performing an export of the same object type, selecting the rows that require updates, copying them to a new file, and entering field changes. Then import your new file. Also know that if you have External IDs established for objects in the system, you can use those in place of any system IDs requested by the import file.
IMPORTED FILES MUST HAVE ALL FIELDS / COLUMNS REQUESTED: If the Update-import example contains a field, that field MUST be included in the final import, even if you are not making changes to the values for that field. As cited below, if a value is blank for an optional field, the value is removed for that item. Similarly, if the FIELD itself is missing from the import file for an optional field, that value will be removed from ALL of the items in the update file. If the field is required, it must both exist in the import file and must have a value in it.
Removing or Appending Field Values on update
Since you can copy existing values from an export into an update-action import file, we expect that if you wish to retain the existing values, those will be resident in the import. This means that for updates:
- To REMOVE the value(s) for a field where the value is optional, remove the existing value and leave the field blank.
- If the value is required and the field is blank, the row will be rejected.
- If the value is optional and the field is blank, the value will be removed from the object's properties.
- If the value is optional and the field is missing (the column is not resident) from the import, that value will be removed from ALL of the items in the update.
- To REPLACE the value for a field, remove the existing value and replace it with the new / updated value.
- To APPEND the values in a field where multiple values are allowed, retain the existing values but add the new values into the field (separating with a semi-colon.
The following object types can be updated via import. Each is linked to the topic that provides details on requested fields for the import:
- Campus
- Building
- Organization
- Department
- Course
- Section
- LMS Course IDs for a Section
- Schedules V1
- Schedules V2
- Users
- Rooms
NOTE that if designated administration is enabled for your institution, your import can only include objects you have been granted access to. If you are not given permissions to create / update / delete an object in your import file, the row will be rejected.
Deleting objects via CSV import
Delete-action imports do not require any fields other than ID because the values in the other fields don't matter if the item is being deleted. The only validation we have is to see that the ID given matches the object type you have selected to delete.
The exception is the Enrollments deletion import, which requires the User ID and the Section ID (from which you are removing the user).
If you have External IDs established for objects in the system, you can use those in place of the system IDs requested for the import file fields.
You may want to, however, retain one or more other fields in the Delete-action CSV file, to do your own validation that the listed items are the ones you want to delete or to confirm those items have been deleted once the import is finished.
You can simply use a CSV export, limiting the rows included to those you need to delete, then reimport the file to make those changes. The Export file contains fields not needed by the delete-action import, but in this case, the import ignores them.
The following object types can be deleted via import. Each is linked to the topic that provides details on requested fields for the import:
- Organization
- Department
- Section
- Schedules V1
- Schedules V2
- Section Enrollments (removing users from a section OR removing sections from a user)
- Rooms
NOTE that if designated administration is enabled for your institution, your import can only include objects you have been granted access to. If you are not given permissions to create / update / delete an object in your import file, the row will be rejected.