ELIS 2.0 Manual

ELIS Data Hub 2

Batch Import of Enrollment Information

Enrollment in Moodle and ELIS is dependant on the context. If a user is enrolled as a student in a course, then they are given the role called 'student' - with permissions that are set for that role in Moodle's roles administration area, in the context of a course. A teacher could also be enrolled in a course - in this case they are given the role of teacher (with the permissions that are set for that role), in the context of a given course. In ELIS, we extend the roles concept to include ELIS Programs, Courses, Tracks, and Classes, though users can not be assigned to roles on the ELIS roles tabs with ELIS Data Hub.

ELIS Data Hub enables you to enroll, update, and unenroll student users and instructors in classes. ELIS DH also enables you to assign users to programs, tracks, and user sets. Users can also be enrolled in a user context, e.g., a user can be assigned the parent role for another user. The most common types of enrollment are for students and instructors in ELIS classes.

The Enrollment fields tab is where you can set the import parameters for enrollment fields. Go to the Settings block > Site Administration > Plugins > Blocks > Data Hub Plugins > Version 1 ELIS import > Field mapping. Then select the Enrollment fields tab.

The names of the different properties can be set in the mapping table - for example if your system's data export calls a locked record a "frozen" record, you can map the Data Hub property "locked" to "frozen".

Enrollment fields tab

If you make changes to any property values, be sure to save your changes with the Save changes button on the bottom of the screen. Use the Restore defaults button to restore the profile fields to their original state.

The properties that can be set via the enrollment file are listed below with brief descriptions.

action: The action field is always required. Enter create/enrol/enroll, update, or delete/unenrol/unenroll.

context: The context in which the enrollment occurs, e.g. user A is enrolled as an instructor in class B, etc. The available context are track, class, user, cluster (user set), curriculum (program). The format here is context_instance. For example, class_idnumber. The only time it is different is for user sets because there is no id number. The user set format is cluster_name.

user_idnumber: The idnumber for the user - as the idnumber is the key identifier that all user data is tied to, you can't update it, only create it.

user_username: The username for the user.
user_email: The email for the user.
enrolmenttime: the time for the enrollment in question - e.g. if you are enrolling a user via the csv file, and need to set a different enrollment time than the current time.

assigntime: This field is for class instructor enrollments only. Use the new date format of MMM/DD/YYYY, e.g., Jan/01/2013. Date formats used in Data Hub 1.0 will work as well.

completetime: The completion date for a student is for class enrollments only. Use the MMM/DD/YYYY format or any of the Data Hub 1.0 date formats. Make sure the record is locked after setting a completion date or the completion date will change to the current day when the cron runs.

completestatusid: This field is for class enrollments only. The completion status for the user - this can be set to 0,1,2, with 0 = incomplete, 1 = fail, and 2 = pass.

grade: This is for class enrollments only. The grade a user earned for the enrollment (if they earned one).

credits: The credits a user earned for the enrollment (if they earned any).

locked: Is the enrollment locked (if it is locked, then the grade can't be changed unless by administrator over ride). The values for this field are 0 for unlocked, and 1 for locked.

role: This field is required for instructor enrollment in classes and for enrollments in a user context. Enter the role shortname. For instructor assignments in classes enter "instructor" for this field.


The required fields for enrollments are:
  1. action
  2. context
  3. user_idnumber or user_username or user_email
  4. role - the role field is required for instructor assignments in classes and for enrollments in a user context, e.g., a user is assigned the parent role in a user context.

Example file

Image of enrollment csv file

In the example above:
  • Row 2 and row 3 are enrolling students in a class, this assigns them to the Enrollments tab of the class. When assigning a student user to the class Enrollments tab, the role field is not required.
  • Row 4 is enrolling a user as an instructor in the class, instructors are located on the Instructors tab of the class. When adding a user to the Instructor tab of the class the role field is required, enter "instructor".
  • Row 5 is assigning a user to a program/curriculum, on the Users tab.
  • Row 6 is assigning a user to a track, if the classes of the track are set to auto-enroll then the user will be enrolled in the classes of the track as well. Users assigned to tracks can be located on the Users tab.
  • Row 7 is assigning a user to a user set/cluster, on the Users tab.
  • Row 8 is assigning a user the parent role for a another user.
Select this link to download the sample enrollment file shown above.

For the file to process successfully the users, class, program/curriculum, track, and user set/cluster have to be added to the site.

Note: When a student user is enrolled in an ELIS class the are also assigned the student role in the attached Moodle course. If you want Instructors to be automatically assigned a role in the attached Moodle course you must use a setting in the Admin > Configuration screen. Go to the Program Management block > Admin > Configuration and then locate the "Default Instructor Role" setting. Use the drop down menu and select the Teacher role. This will automatically add the user to the Teacher role in the Moodle course when they are assigned as an instructor in the ELIS class.


Importing/Processing Data Hub Files


ELIS Data Hub import files can be scheduled to automatically process or can be manually processed. Import files should be scheduled to process in most instances, docs for scheduling imports are at this link. Manual processing should be used for testing small files only. Manual processing is currently limited to 28 seconds of processing time in our standard Data Hub installs. Scheduled processing will continue imports on subsequent cron runs when processing takes to long, manual processing does not do this.

The sample file being used here is simple enough to process manually. To manually process files go to the Settings block > Site Administration > Plugins > Blocks > Data Hub plugins > Manage Plugins. Under the Import Plugins section go to the Version 1 ELIS import row and select the "Go" link in the Run manually column.

Manage plugins go link

Select the "Choose a file" button. Select a file to process and then select the Run Now button.

Run manually screen

Once the file is processed there will be a brief log message stating whether or not the file import was successful.

A complete log of all actions is kept in the logs file, as well as (optionally) emailed to an address or addresses each time the Data Hub script runs. Logs can be accessed from the Data Hub block > Data Hub logs link.

For information about scheduling imports to automatically process go to this page Importing/Processing files.