Batch Managing User Data

Each function requires an import file to drive the process. The source of this input could come from various places, such as, your HRIS system, manual input, or data from a CourseMill report that you previously ran.

The file must be formatted as a tab-delimited text file (.txt or .csv). Before actual processing of the file, you can run an error check to verify that the file is properly formatted.

This document concentrates on the tab-delimited text file.  For further instruction on LDAP, see Working with LDAP and SS0.

Let’s review in more detail the six types of batch operations that are available.

Importing User Data (New Users or Modifications to Existing Users)

You can add new user accounts by importing users from a file that contains the entire user’s profile data. 

Once added, you can also update existing users using the same import approach. Based on the fields that are available to import, you can also do the following:

Exporting User Data

You can download user data to a text file (.txt) that you can save and open from your desktop.  Once CourseMill displays the data on your screen, click Save Page As from your toolbar and save it as the text (.txt) file.  You can then open it with Excel by designating it as a tab delimited file in order for it to display properly.

This allows you to easily make mass changes to your user population (by changing values in the excel file) and then uploading them back in by using the Import User Data operation.

Bulk Unenroll Users

You can unenroll users from a course/curriculum by importing users from a file that contains the course/curriculums that you want to unenroll them from.  This is typically only used when you have mistakenly enrolled them in a course or curriculum.

Bulk Delete Users

You can delete users in mass by importing a file with the user IDs you wish to delete.  Deleting users will completely erase all history of the students. Deactivating the users and then archiving them is recommended.

Bulk Archive Users

You can bulk archive users in mass by importing a file with the users you wish to archive. If you archive students, they will not appear on any lists within your interface. However, there is now a new general report called List of Archived Students.

There are two other reports that will allow you to select from archived students. These are the Transcript Report and the Completions Report. Both have check boxes where you can select this option. For further documentation on reporting, see Reporting.

Bulk Restore Users

You can bulk restore users in mass by importing a file with the user IDs you wish to restore. It will restore the users back to whatever state (active/inactive) they were archived in.

When a user is restored that is in a SubOrg which is tied to a course or curriculum which automatically enrolls a student, the student will not be automatically enrolled in a course at the time they are restored, but they will get enrolled when the evening batch job runs.

Setting up the Batch Process

Anyone who has been given rights to import user data (admin, instructor, or reporter) can follow these steps to process the tab-delimited file.

Open Manage Users on the left navigation pane and click Batch User Data button. The dialog box (below) opens.

  1. Select the Org ID in the Org ID drop-down list, select one of the six operations available in the Batch Operation field and click Browse to navigate and select the file.

  2. To run an error check on the tab-delimited file before processing it, select Error Check Data in the Process Data field.

  3. To process the file, select Process Data in the Process Data field.

  4. Click the Process button.

The Error Check and the Process Data will display the number of errors encountered or records added.

If a user records already exist, the information will be updated according to the information in the file.

Requirements of the Tab-Delimited Management File

Column name

Description

User ImportBulk Add or Mod

User ImportBulk Enroll

Bulk Unenroll

User Import Bulk Grade

Bulk Archive or Restore

Bulk Delete

Bulk Export

OrgID

The user's organization  *

Y Y Y Y Y Y Y

ID (or StudentID)

The user's user ID  *

Y Y Y Y Y Y Y

LastName

The user's last name  *

Y Y Y Y Y Y Y

FirstName

The user's first name  *

Y Y Y Y Y Y Y

Password

The user's password – when importing a user for the first time, you can create a password by supplying this field.  If you do not supply this field in the import file, the default password (manage property ImportDefaultPassword will be inserted as the user’s password. On export, CourseMill will provide a field for the password but does not insert it in that field.

When resetting current users’ passwords, use something other than the default password. If you do not, the password will not be modified.

Y

Y

PasswordResetType

Specifies what type of password changing restrictions are allowed. Options are:

  • N = Password Never Expires
  • X = User cannot change password
  • T = Password Expires Every xx Days where xx is the number you put in the managed property DefaultPasswordExpiration
  • M = User must change password at next login
The user setting will then switch to either N or T depending on the value in the managed property DefaultPasswordExpiration. If DefaultPasswordExpiration is 0, it will switch to N; if value is greater than 0, it will switch to T.

Y

Y
EmailID The user's email address Y           Y
MiddleInitial The user's middle initial Y           Y
Address The user's address Y           Y
City The user's city Y           Y
State The user's state Y           Y
Zip The user's zip Y           Y
Country The user's country Y           Y
Phone The user's phone Y           Y
HireDate Date yyyy-mm-dd format. On export, it may also insert a time into the field depending on what type of database you are using. Y           Y
LangPref

The language preferred by the User. Values are:

USA – English BRA - Brazilian Portuguese
DEU – German ESP – Spanish
FRA – French HUN – Hungarian
POL – Polish ZHS - Simplified Chinese
Y           Y
SubOrg0-15 Values for the custom fields that were defined when the organization was added. For detailed information about defining Sub-Org fields, see Adding an Organization in the Help. Y           Y
GuestFlag

Is user a Guest? Values can be:

  • "y","yes", or "1" for True.
  • "n", "no", or 0" for False.

There really is no need to ever import a guest as you will typically only have one, at most. Once a user is set to Guest, it can never be changed to anything else. If a user is already a reporter or instructor, it can’t be changed to a guest.

This field is exported as GroupFlag.
Y           Y
InstructorFlag Is user a instructor? Values can be:
  • "y","yes", or "1" for True.
  • "n", "no", or 0" for False.
Y           Y
ReporterFlag Is user a reporter? Values can be:
  • "y","yes", or "1" for True.
  • "n", "no", or 0" for False.
Y           Y
TermsOfUseAccept Date user accepted the Terms of Use if your organization is using this. Depending on the database you are using the time might also be exported. Y           Y
PersonalInfo0-15 Values for the custom fields that were defined when the organization was added. For detailed information about defining Sub-Org fields, see Adding an Organization in the Help. Y           Y
CurrPermissions

Permission given to update curriculums: If allowing more than 1 value, separate with commas.

Cre Add curriculum
Mod Modify curriculum
Del Delete curriculum
Reg Register in curriculum
Y           Y
CoursePermissions Permission given to update courses: If allowing more than 1 value, separate with commas.
CreAdd course
SesAdd Session
ModModify course
DelDelete course
RegRegister in course
ImpImport Course Content
GbkGradebook
Y           Y
UserPermissions

Permission given to update users: If allowing more than 1 value, separate with commas.

Cre Add user
Mod Modify user
Del Delete user
Reg Register a student
Imp Import user data
Gbk Gradebook
Pwd Change password
Y           Y
ActiveFlag Is user active? Values can be:
  • "y","yes", or "1" for True.
  • "n", "no", or 0" for False.
Y           Y
ReportsTo The user ID of their reporter Y           Y
UserNotes Notes to be associated with the user Y           Y
CurrID Curriculum into which the student should be enrolled or un-enrolled.   Y Y Y      
CourseID CourseID of the course into which the user should be enrolled or un-enrolled.
It is best if the course has at least one content item.
  Y Y Y      
SessionID SessionID of the session into which the user should be enrolled or un-enrolled   Y Y Y      
EnrollDate Enrollment date (yyyy-mm-dd) for course/curr   Y          
PassDate Pass Date (yyyy-mm-dd) for the course/curr       Y      
CourseStatus

Any valid SCORM course status (including blank), such as:

  • Not Attempted
  • Incomplete
  • Completed
  • Passed
  • Exempted
  • Failed
  • Browsed
      Y      
Score The score a user received in a session or course (not a curriculum). (0-100)       Y      
Comment

The comment for reason of grade change in the Gradebook as to why you changed the grade.

      Y      

Tab-Delimited File Examples

OrgID

ID

Password

LastName

FirstName

EmailID

SubOrg0

TestOrg

lpra1234

cotton

Prather

Linda

sampleuser@trivantis.com

Midwest

Register a student to Curriculum/Course/Session

OrgID

ID

LastName

FirstName

CurrID

CourseID

SessionID EnrollDate

TestOrg

lpra1234

Prather

Linda

HistoryCurr100

History101

567 2012-04-01

Pass a student on Curriculum/Course/Session

OrgID

ID

LastName

FirstName

CourseID

SessionID

PassDate

CourseStatus Score

TestOrg

lpra1234

Prather

Linda

History101

567

2012-06-30

Completed 97

Bulk Un-Enroll

OrgID

ID

LastName

FirstName

CurrID

CourseID

SessionID

TestOrg

lpra1234

Prather

Linda

HistoryCurr100

History101

567

Bulk Delete or Archive/Restore

OrgID

ID

LastName

FirstName

TestOrg

lpra1234

Prather

Linda

  • If you have leading zeros (0), Excel will truncate off the zero leading to a failed data load.Save the field as a text field to retain the zeros.

  • All date columns must be in YYYY-MM-DD format.

  • If a data column from the host system does not contain a value for each user, ‘ -None-‘ should be inserted to avoid blank or null data columns.

  • When loading SubOrg values on a batch import, be sure the values match the values you have set up in your Org.  If you import bad data, the user will end up having bad data.

  • If an organization is setup to have ‘External Org Email’, then the email address becomes a required field for all new users and is enforced during the manual creation of new users within the Manage Users area of CourseMill. But, if an email address is not supplied with a new user in a batch load, the user will be loaded with no error on the email address.  It will only require the email address if you are updating their user profile within CourseMill.

Creation of Historical Records

Historical student completion records from another LMS can be imported into CourseMill. Here are some points to consider.

Using the Batch Process to Merge Students

A batch import can also be used in merging two students into one. To do this, use the following file format:

OrgID StudentID LastName FirstName MergeOldID
TestOrg lpra5678 Prather

Linda

lpra1234

Scheduling the Batch Process

An import file can be loaded on an automatically scheduled timeframe that is suitable to your needs. Once the file has been completed and tested, it can be submitted to the CourseMill scheduler to process on a nightly basis.If the import file is coming from another system (like an HRIS or ERP system), the admin will need to perform two (2) tasks:

Change Manage Properties relating to Import

Manage Property Description Values

AddSubOrgValuesOnImport

Specifies whether new valid SubOrg Values are added from the import file.

Note:Each SubOrg value must have at least one value added before running the import for this to execute. “–None-“ is recommended.

0 - Prevent importing new valid SubOrg Values (default) or “No”.

1 - Allow importing new valid SubOrg Values or “Yes”.

ForceSubOrgValues

Specifies whether the SubOrg values in the user profile are required (true) or optional (false) when using the scheduled import.

0 (false) [default]

1 (true)

ImportFileName

Specifies the full path to the import file to be processed and deleted.

ImportDefaultEmail

Specifies the default email when importing students if the email is not supplied in the file.

ImportDefaultPassword

Specifies the default password when importing students if the password is not supplied in the file.

PASSWORD is the default

ImportEmailResults

Specifies whether the results of the scheduled import are automatically emailed to the system administrator.

1 = Yes – email (default)

0 = Do not email

ImportPostCmd

Specifies an optional command file/script that will be run on the server after successfully importing the import file.

ImportPreCmd

Specifies an optional command file/script that will be run on the server prior to importing the file. This allows for either a pre-decrypting of the import file or a database backup/extract to be performed before the import is conducted.

ImportSchedule

Specifies when bulk imports are to run. This value is set for you when you select a schedule in Manage Scheduled Tasks

0 0 4 ? * SUN (Every Sunday at 4AM/default)

After modifying any Manage Properties option, make sure to click the Apply Changes button in order to apply the changes to the system.

Manage Scheduled Tasks related to Import

The admin will need to schedule the import by clicking on Admin Tasks > Manage Scheduled Tasks as shown below.

Automated Scheduling of Batch Process

Once the file has been tested and run once to ensure proper processing, it can be submitted to the CourseMill scheduler to process on a nightly basis. If using the CourseMill hosting services, an SFTP username and password will be provided to allow you to upload the file on a scheduled basis. Please contact your Account Rep or Trivantis Support (support@trivantis.com) to request these credentials.

Multiple import files are permitted each day. The CourseMill scheduler will need to be aware of the incoming files so it can process each independently. To set the scheduler, review the functionality in Admin Tasks -> Manage Scheduled Tasks.

Data loads are cumulative, so each time the load file is received from the host system, CourseMill will match the ID, FirstName and LastName then overwrite the information from the import file. CourseMill does not save an audit trail of the data prior to each load.

  • Be sure the import.txt file is located in the directory identified in Managed Properties. If the file is not found in the directory, the person listed under the Admin email will receive the message, Error opening file /usr/file/home/import.txt.

  • Mapping from an HRIS or ERP system requires the internal IT group create a download data file to comply with this data format. You might want to set up another Org for testing, where you can process these imports.
  • Important: If changes are made to the Organizational structure and imported into CourseMill, the automated enrollment rules in Curriculum or Course must be reviewed for changes. In addition, if Sub_Org values are used for Reporter assignments these will need to be reviewed for possible changes.

© Copyright Trivantis Corporation 2015