To configure the Course Loading integration profile, you must have one of the following roles:
- Fulfillment Administrator
- General System Administrator
For general information about courses, see Managing Courses. For information about course rollover, see Rolling Over Courses (Alma) and Leganto Course Rollover (Leganto).
You can import course information from your course management system. Alma supports this using the Course Loader integration profile that runs on the schedule you configure. You can also manually run the profile after it is configured, and you can edit or delete the profile.
The course information must be in a tab-separated value file (not comma-separated) in a dedicated directory on an FTP server accessible by Alma, saved either as a .txt or .csv file.
The first row can contain comma-separated values because it is assumed to be a header row, and is ignored.
- The FTP directory must not be used for any other purposes.
- Each file must have a valid date stamp. The profile loads only a file with a date stamp later than the last time that the profile ran.
- The file must be in UTF-8 or ASCII format with CRLF line termination.
The file must contain a list of courses, one on each line, with the following columns, in order. Each line indicates a course that is new, changed, deleted, or rolled over (see the Operation column).
- The values in the following columns can contain comma-separated values because the commas are only used to separate between values within a column. Each is described in more detail in the Course Loader Fields table below:
- All columns must be present, even if values for a column in a row/all rows are not included.
- Key fields are Code and Section ID. These fields identify the course. Valid values in the Course Title and Processing Department fields are also mandatory. Operation is mandatory (but see below). All other fields are optional.
- Only the first line with a specific code and section ID is processed. Any subsequent lines with the same code and section raise an error and are ignored.
- Start Date and End Date, and Submit By Date must be strings in the format specified in the integration profile. Number of Participants, Weekly Hours, and Year are integer fields. All other fields are strings.
- Old Course Code and Old Course Section are only required if the Operation field has the value ROLLOVER; see below.
- You can edit a course in a subsequent file by including a line with the same Code and Section ID.
- By default, only the Number of Participants and Instructor fields are changed; changes in other fields are ignored. You can select various checkboxes to change this behavior (see below).
- Changing the number of participants is informational only; it does not change the status of any citations attached to reading lists associated with the course.
- Changing the instructors changes who can associate a reading list with the course. It does not change any reading lists already associated with the course.
- When editing a course and a field is marked for overwrite (see overwrite options in step 8, below), or when rolling over a course, then entering a plus sign (+) as a value in the field instructs the job to keep the old value in this field (as if overwrite was not selected). If the old field contained multiple values, all old values are kept. Any other value (including an empty value) is used in place of the old value.
New Field Value When Editing Course The field in the input file is ... left empty a plus sign (+) any other value Overwrite selected Empty (old value is removed) Old value New value Overwrite not selected Old value Old value Old valueFor any of the Searchable ID fields, if + is entered as a value in addition to other values, then the old values are kept and all other entered values are added as additional values.
|Field||Code (in example file, below)||Description||Values|
|Course Code (mandatory)||COURSE_CODE||Mandatory. Up to 50 char. If using the LTI integration profile, this field must match the course identifier imported using the LTI integration profile.|
|Course Title (mandatory)||COURSE_TITLE||The course name||Up to 255 char|
|Section ID||SECTION_ID||Course section ID. Courses are divided into sections to better organize resources and activities for students. Each section may be taught by a different faculty member, have a separate description, and contain as many resources as the faculty member requires.||Not mandatory, but see note, above. Up to 50 char.|
|Academic Department||ACAD_DEPT||The academic department code. Use a code (not label or name) from the Academic Department table; any other value is ignored. See Configuring Academic Departments.|
|Processing Department (mandatory)||PROC_DEPT||The processing department code. Use a code (not label or name) from the Processing Department table; any other value is ignored. See Configuring Processing Departments.|
|Term1||TERM1||A term code from the Terms table. See Configuring Course Terms.|
|Start Date||START_DATE||Start date of the course. If not entered, the value is taken from course_start_date, or the current date if it is not defined.||String in the format specified in the integration profile.|
|End Date||END_DATE||End date of the course. If not entered, the value is taken from course_end_date, or the current date if it is not defined.||String in the format specified in the integration profile.|
|Number of Participants||NUM_OF_PARTICIPANTS||Integer up to 10 char.|
|Weekly Hours||WEEKLY_HOURS||Integer up to 10 char.|
|Year||YEAR||Course year||Integer up to 4 char.|
|Searchable ID 1||SEARCH_ID1||Course ID(s), if you are using additional course IDs in the CMS that are different from the course code you entered above.||Up to 50 char. When editing or rolling over a course, if a + is entered here, then any IDs added in the Searchable ID columns are merged with any existing IDs in the course.|
|Searchable ID 2||SEARCH_ID2|
|All searchable IDs||MULTI_SEARCH_ID||The list of all of the searchable IDs. You can use this field instead of the above 2 fields.||A list of searchable IDs, separated by commas (,). There is no character limit for this field. Use this field to enter multiple search IDs in one column. When editing or rolling over a course, if a + is entered anywhere in here, then any IDs added in the Searchable ID columns are merged with any existing IDs in the course.|
|Instructor 1||INSTR1||The name of one of the instructors||An Alma user's primary identifier. Any value that does not match an existing user in Alma is ignored. If the user does not already have the Instructor role, you can configure that Alma adds the role. You can also configure whether a newly added instructor is automatically added as an owner to any existing reading lists for the course. See Configuring Reading List Ownership. When editing a course, if a + is entered here, then any instructors added in any instructor columns are merged with any existing instructors in the course (note that this feature does not work for rollovers).|
|All Instructors||MULTI_INST||The list of all of the instructors. You can use this field instead of the above 10 fields.||A list of instructors separated by commas (,). There is no character limit for this field. When editing or rolling over a course, if a + is entered anywhere in here, then any instructors added in any instructor columns are merged with any existing instructors in the course.|
|Operation (mandatory)||OPERATION||This field is technically only mandatory in either of the following cases:
||Empty, NEW, UPDATE, DELETE, or ROLLOVER.
If left empty, the course is added if no such course with the same code and section already exists in Alma; otherwise the course is edited. See the note, above.
If set to DELETE, the associated course (identified by the first and third columns (Code and Section ID)) is deleted from Alma. If set to ROLLOVER, see the next two fields.
|Old Course Code (rollover only)||OLD_COURSE_CODE||The information from the old course is copied to the new course.||When Operation is set to ROLLOVER, enter the old course code here and the old course section in the next field. These fields are not required if Operation is not ROLLOVER.|
|Old Course Section ID (rollover only)||OLD_COURSE_SECTION||The information from the old course is copied to the new course.||When Operation is set to ROLLOVER, enter the old course section in this field and the old course code in the previous field. The old course section should be identical to the section id in order to perform ROLLOVER to the record. These fields are not required if Operation is not ROLLOVER.|
|Submit By Date||SUBMIT_LISTS_BY||String in the format specified in the integration profile.|
|Campuses and Campus Participants||CAMPUS_AND_PARTICIPANTS||If a campus code is not defined in Alma, the campus is created with the name <code> not found. The number of participants is optional.||The list of campus codes, separated by commas. Each code can include the number of participants after a vertical bar, as follows: <code>|<number of participants>. For example, RIVERCAMPUS|10, UPCAMPUS.|
|Reading List Name||READING_LIST_NAME||When Operation is set to ROLLOVER, enter the Reading List Name. This field is not required if Operation is not ROLLOVER.|
See an example file here.
To configure a course loading integration profile:
- Create an S/FTP connection for the integration profile. For more information, see Configuring S/FTP Connections.
This profile requires a unique, dedicated directory on the FTP server.
- Ensure that the Activate/Deactivate Courses job is enabled. See Configuring Fulfillment Jobs.
- On the Integration Profile List page (Configuration Menu > General > External Systems > Integration Profiles), select Add Integration Profile. The Integration Profile page appears.
- In the Integration type field, select Course Loader. The page refreshes with different fields.
- Enter a Code and Name for the profile.
- Select the S/FTP connection for the profile. You can also enter an optional Description. Note: the Default field is reserved for future use.
- The System field is mandatory and for Ex Libris' information purposes only.
- Select Next. The second page of the wizard appears.
Integration Profile Course Loader - Actions Tab
- Configure the following fields:
- Active — Whether this profile is active or inactive. An inactive profile cannot be scheduled or run.
- Input File Path — If the course file information is located in a subdirectory at the FTP connection, enter the subdirectory. Otherwise, enter /.
- Delete associated reading lists when deleting a course — Whether reading lists (and associated sections and citations) are deleted from Alma when their associated course is deleted. When not selected, the reading list remains in Alma without a course association.
If any courses are deleted, the profile’s job report indicates the number of deleted courses.
When deleting associated reading lists, delete copyright records — Whether to also delete the copyright information about a deleted reading list if you enabled the previous setting (Delete Associated Reading List when Deleting a Course); this information is normally preserved for record keeping.
- Add instructor role to users — Whether to automatically add the Instructor role to all users listed in columns as instructors.
- Date format — The expected date format for date fields (for example, MM/dd/yyyy). For permitted values, see https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html.
- Overwrite options — Whether new values overwrite existing values for: instructors, number of participants, course title, academic department, processing department, term, start date, end date, weekly hours, and year.
- Rollover options — When performing a rollover, select whether:
- On rollover include archived lists — Whether to include archived lists.
- On rollover delete existing reading lists — Whether the old lists are removed.
- On rollover copy citation tags — Whether citation tags are copied.
- On rollover copy section tags — Whether section tags are copied.
- On rollover citation statuses — Whether to copy the citation statuses, recalculate them (When recalculated, some may automatically be set to Complete; see Configuring Default Statuses for Citations/Reading Lists. All others are set to Ready for Processing.), or set all citations to Being Prepared.
- On rollover reading list statuses — The status of the new reading lists: Being Prepared, Ready for Processing, Complete, or Rolled Over.
- On rollover reading list publication statuses — Whether to copy the reading lists' publication statuses or set the new ones to Draft.
- On rollover copy copyright approvals or copyright status — Whether to copy any existing copyright records or manual statuses (Copy), not copy existing records or statuses (None), or submit all new citations for copyright approval (Recalculate). Note that a DCS license type and status is copied, regardless of what this is set to; see Integrating with the UK's Digital Content Store (DCS). If a copyright record is copied, the copyright approval date range is updated to the course's date range.
- On rollover list creation mode — Multiple (create a new reading list for each course) or Single (if the reading list already exists, attach it to the new course). This option is relevant when multiple courses can be associated with a single reading list. As an example, if, in your file, you would like to roll over course C1 ro C2 and also roll over course C1 to C3, the following will happen:
- This option is set to Multiple — Two lists are created, one associated with C2, and one associated with C3.
- This option is set to Single — One list is created, associated with both courses C2 and C3.
- On rollover copy public note — Whether to copy citations' public notes.
- On rollover copy private note — Whether to copy the citation's fulfillment notes.
- On rollover copy student discussion (Leganto only) — Whether to copy student discussions. The names of the users are removed from each comment.
- On rollover copy reading list owners — Whether to copy the reading list's owners.
- On rollover send owner subscription letter — Whether to send an owner subscription letter after the completion of a rollover. For more details on letters, see Configuring Alma Letters.
- On rollover copy reading list collaborators — Whether to copy the reading list's collaborators.
- On rollover reset old list owners — Whether to reset the old list owners.
- On rollover, existing permalinks will point to the new list once the list is published — Whether existing permalinks should point to the new list (once it is published) or remain pointed at the old list.
- On rollover, copy syllabus (Leganto only) — Whether to copy the reading list's syllabus.
- On rollover Copy Assignee — Whether to copy the reading list's assignee.
- On Rollover copy only newest list — Whether to copy only the newest list during rollover. This avoids duplicated lists during rollover if, for some reason, multiple lists are associated with your course.
- On rollover:
- Keep course instructors — Keep the existing course instructors, and ignore the instructors in the uploaded file.
- Overwrite course instructors — Remove the old instructors and add the instructors from the file.
- On rollover visibility of old reading list (Leganto only) — Select the publication status of the old list after a rollover (the new list will be in Draft). Leave blank to keep the existing publication status, whatever it is.
A lists' copyright clearance is reset on rollover. However, if a creative commons license is declared for the citation, this declaration is rolled over.
- Select when you want the profile to run. The scheduling options vary depending on your time zones but include not scheduled, every 6 hours, every day, every week, and every month.
- Select Save to save the profile.
When Operation is set to ROLLOVER, you can set the name of the newly created list using the Field Normalization table (Leganto configuration menu > General > Field Normalization). See Configuring Normalization Rules. If the name is not configured, the name will default to the old name with a suffix of 1.
You can see the job on the list of scheduled jobs. See Viewing Scheduled Jobs.
To manually run a course loading profile:
- On the Integration Profile List page (Configuration Menu > General > External Systems > Integration Profiles), select Edit in the row actions list for the course loader integration profile. The profile appears with the General Information tab pre-selected.
The Contact Info tab is reserved for future use.
- Select the Actions tab. The Actions tab appears.
- Select Run to run the profile. The job number appears on the page
Select Run in Report Mode to run the job in report mode. Report Mode creates a report as if the Course Loader had run, detailing the course records that would have been created, updated, and deleted, and a list of anticipated issues, warnings, or errors. Report Mode is only relevant for course loading, including updating and deleting course records. When running a rollover file in Report Mode, the report validates the file but does not show the full results of the job.
You can monitor the job on the Monitor Jobs page. See Viewing Running Jobs and Viewing Completed Jobs.
To edit a course loading profile:
- On the Integration Profile List page (Configuration Menu > General > External Systems > Integration Profiles), select Edit in the row actions list for the course loader integration profile.
- Enter any changes (see To manually run a course loading profile, above) and Select Save. The profile is modified.
To delete a course loading profile:
On the Integration Profile List page (Configuration Menu > General > External Systems > Integration Profiles), select Delete in the row actions list for the course loader integration profile, and then select Confirm in the confirmation dialog box. The profile is deleted.