Purpose
This document is intended as a guide to map the fields from Holding Tank XML Parser 2 to the fields within IPSIS D2L Standard CSV for the purposes of switching integrations. The data listed consists of examples only. Specific client data may differ slightly from what is presented here. For further assistance mapping the data, clients can speak to the Holding Tank End of Life Transition team (sis_transitions@d2l.com) to obtain their specific data from the Holding Tank in the D2L Standard CSV format.
Key Differences
- Implicit Enrollments Holding Tank – Implicit Enrollments is the process of only leaving users enrolled in a course when they are within the XML dataset. Any previously enrolled users are unenrolled if they are not included in the dataset. XML 2 does not support explicit unenrollments.
- D2L Standard CSV – D2L Standard CSV requires enrollments and unenrollments to be explicitly defined. The previously completed enrollments do not need to be included, only any changes to enrollments in subsequent datasets.
- Full Dataset Holding Tank – XML Parser 2 required all current data to be included to support Implicit Enrollments.
- D2L Standard CSV – D2L Standard CSV allows for use of differential data, meaning only data that has changed since your last data set needs to be included. This reduces the processing time required.
- One Enrollment File Holding Tank – XML Parser 2, due to the Implicit Enrollment workflow, only allowed one enrollment file to be included with each scheduled run.
- D2L Standard CSV – D2L Standard CSV can process more than one enrollment file within a single zip package if required.
- Course Mapping Holding Tank - Fully automated course mappings were not possible with XML Parser 2. Meaning the Autogroup process or manual grouping using the Course Mappings interface was required within Holding Tank to connect the courses contained in the Holding Tank to course offerings in the Learning Environment.
- D2L Standard CSV - Course offerings are created based on the data within the CSV files without a separate mapping process.
- Deletion of courses or users Holding Tank - XML Parser 2 did not support deletion of courses or users.
- D2L Standard CSV - supports deletion of any object managed within the CSV files.
- Org structure Holding Tank - XML Parser 2 enforced an org structure based on the value of various strings within the short code of the course sent through the XML files. (Note: if you reviewed the XML 1 Parser Guide, XML 2 uses a slightly different naming convention so ensure you are looking at the correct guide for your configuration). The underscores within the short code field separate the various data elements.
- D2L Standard CSV - The org structure to use is based on the parent to child relationships established between org units within the CSV files. No naming convention is enforced for objects as a result of this change.
- Preferred first and last names Holding Tank - XML Parser 2 does not support preferred first and last name.
- D2L Standard CSV - Both preferred first name and preferred last name are supported.
- Department and semester creation Holding Tank - XML Parser 2 required that any departments or semesters that would be used must be created manually within the Learning Environment prior to sending the objects in the XML file.
- D2L Standard CSV - These org units are created through their own CSV files, allowing for full automation of the org unit creation process.
- AllDone files Holding Tank - XML Parser 2 required AllDone files to be provided for each XML file.
- D2L Standard CSV - All CSV files to be processed are included within the Zip file uploaded to IPSIS with no requirement for AllDone files.
- Section org unit codes Holding Tank – XML Parser 2 automatically creates either a group or section org unit type with the same org unit code as the course offering
- D2L Standard CSV – D2L Standard CSV requires the use of sections and the section codes must be unique in the org structure, meaning they cannot share the same code as the course offering.
Field Mappings
Other Org Unit File
The other org unit file can contain any custom org unit types to be created. This functionality was not supported by Holding Tank XML Parser 2 but was available using the OrgUnitXML Tool.
Department Org Unit File
The department org unit file will be completely new. Previously, departments were created manually within Brightspace and the org unit code of the manually created objects were included in the course listing file. With D2L Standard CSV, the department org units should be created via the CSV files rather than manually. Any previously existing department org units can be used (without duplication of the org units) if the exact same org unit codes are used in the CSV files. The org unit code to be used for departments should match the codes used in the first element of the short description in the course listing file. The other required field, name, can be populated with the name within your SIS system.
Semester Org Unit File
The semester org unit file will be completely new. Previously, semesters were created manually within Brightspace and the org unit code of the manually created objects were included in the course listing file. With D2L Standard CSV, the semester org units should be created via the CSV files rather than manually. Any previously existing semester org units can be used (without duplication of the org units) if the exact same org unit codes are used in the CSV files. The org unit code to be used for semesters should match the codes used in the last element of the short description in the course listing file. The other required field, name, can be populated with the name within your SIS system.
Course Template Org Unit File
The course template org unit file will be completely new. Previously, course templates were created automatically based on the data contained in the course listing’s short description. Clients can choose to change the relationship between course templates and course offerings if needed because IPSIS relies on an explicit definition of the relationship rather than a relationship established from the naming convention. Using Holding Tank XML Parser 2, the template code was formed using elements 4 through 5 of the course listings’ short description. The course template name was the same as the course offering, derived from the course listing’s long description. The department code should be specified within the course template file and populated with the first element in the course listing short description.
Course Offering Org Unit File
The course offering file will be created by modifying the extract that currently creates the course listing file. The course offering org unit code, org unit name, start date, and end date can all be directly mapping to fields in the course listing file. XML Parser 2 does not provide a mechanism for managing the start and end dates for courses. All courses are created as active by default unless clients have a customization to create them as inactive by default. Managing changing the active status is done within Brightspace directly. It is a client decision whether to manage the active status from a status within the SIS, or create all courses as default active or default inactive. The template_code comes from the elements within the course listing’s ID field. The format used for templates should match the template code used within the course template CSV file. The semester_code similarly comes from the course listing’s ID field and should match the code used within the semester CSV file.
Course Section Org Unit File
The course section org unit file will be completely new. For most clients, XML Parser 2 was automatically creating course sections based on the naming within the course listing file. The same org unit code and org unit names can be used to form the course section using D2L Standard CSV, however, the org unit code should have something added to it so it is unique from the course offering. For instance, BIOL-101-01 as the course offering code should be something like SEC-BIOL-101-01 to ensure it is unique. Any characters to make the code unique from the course offering can be used, SEC- is an example only and is not required. The offering_code used within the course section file should be the org unit code for the course offerings created in the course offering file, which would be the value contained in the course listing ID field.
Note: If the transition is occurring while courses are ongoing requiring IPSIS to take control over courses that were created by the Holding Tank, a script update will be required to change the section codes to include the section designation decided upon after the Holding Tank has been turned off but prior to beginning IPSIS use. If this update is not completed, duplicate sections will be created with the new section code format.
Org Units Field Mapping
Holding Tank Data ElementXML FieldD2L Standard CSV FileD2L Standard CSV Field Listing Code<Group> <SourcedId> <ID>Course OfferingsOrgUnitCodeSIS Code<Group> <Description> <Short> 4th data elementDepartmentsOrgUnitCodeSIS Code<Group> <Description> <Short> 4th-5th data elementsTemplatesOrgUnitCodeSIS Code<Group> <Description> <Short> 2nd data elementSemestersOrgUnitCodeListing Name<Group> <Description> <Long>Course Offerings, Course TemplatesOrgUnitNameStartDate<Group> <Timeframe> <Begin>Course OfferingsStart DateEndDate<Group> <Timeframe> <End>Course OfferingsEnd DateHolding Tank XML Parser 2 Course Listing Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<group>
<sourcedid>
<id>D2L_FA2007_CR_PSYC_101_001_PSYC101001FA2007</id>
</sourcedid>
<description>
<short>D2L_FA2007_CR_PSYC_101_001_PSYC101001FA2007</short>
<long>Physics 101 – Section 001 – Fall 2007</long>
</description>
<timeframe>
<begin>2007-9-1</begin>
<end>2007-12-25</end>
</timeframe>
<enrollcontrol>
<enrollaccept>0</enrollaccept>
</enrollcontrol>
</group>
</enterprise>
D2L Standard CSV Sample (mapped fields from above highlighted)
Note: custom_code is not required unless custom org units in the other org unit file are being used
Other Org Unit File (all new, if needed)
type,action,code,name,start_date,end_date,is_active,department_code,template_code,semester_code,offering_code,custom_code
school,UPDATE,school101,Brightspace School,,,1,,,,,
Department Org Unit File (new file)
type,action,code,name,start_date,end_date,is_active,department_code,template_code,semester_code,offering_code,custom_code
department,UPDATE, PSYC,Psychology,,,,,,,, school101
Semester Org Unit File (new file)
type,action,code,name,start_date,end_date,is_active,department_code,template_code,semester_code,offering_code,custom_code
semester,UPDATE, FA2007,Fall 2007,,,,,,,,
Course Template Org Unit File (new file)
type,action,code,name,start_date,end_date,is_active,department_code,template_code,semester_code,offering_code,custom_code
course template,UPDATE, PSYC_101, Physics 101 – Section 001 – Fall 2007,,,, PSYC,,,,
Course Offering Org Unit File (re-write of course listing file)
type,action,code,name,start_date,end_date,is_active,department_code,template_code,semester_code,offering_code,custom_code
course offering,UPDATE,D2L_FA2007_CR_PSYC_101_001_PSYC101001FA2007, Physics 101 – Section 001 – Fall 2007,2007-09-01,2007-12-25,1,PSYC, PSYC_101,FA2007,,
Course Section Org Unit File (new file)
type,action,code,name,start_date,end_date,is_active,department_code,template_code,semester_code,offering_code,custom_code
course section,UPDATE,SEC- D2L_FA2007_CR_PSYC_101_001_PSYC101001FA2007, Physics 101 – Section 001 – Fall 2007,,,,,,, D2L_FA2007_CR_PSYC_101_001_PSYC101001FA2007,
User File
The User file will be created by modifying the user file in use currently. Most of the fields map directly to fields with the CSV file with no manipulation of the data required. The ability to change the active status of a user account as well as set preferred first and last name will be new functionality. For clients using Auditors or Brightspace for Parents those relationships can be set within the CSV file as well.
Users Field Mapping
Holding Tank Data ElementXML FieldD2L Standard CSV FileD2L Standard CSV Field OrgDefinedId<Person> <SourcedId> <ID>UsersOrg_Defined_IdUsername<Person> <UserId>UsersUsernamePassword<Person> <UserId> PasswordUsersPasswordLastName<Person> <Name> <n> <Family>UsersLast_NameFirstName<Person> <Name> <n><Given>UsersFirst_NameEmail<Person> <Email>UsersEmailRoleCode<Person> <Extension> <UserRole>UsersRole_nameHolding Tank XML Parser 2 User Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<person>
<sourcedid>
<id>D2L0001</id>
</sourcedid>
<userid password="d2l">Ragnar.Frisch</userid>
<name>
<n>
<family>Frisch</family>
<given>Ragnar</given>
<partname partnametype="Middle">Mao</partname>
</n>
</name>
<gender>1</gender>
<email>Ragnar.Frisch@d2l.ca</email>
<extension>
<userrole>Sample Role</userrole>
</extension>
</person>
</enterprise>
User File - D2L Standard CSV Sample (mapped fields from above highlighted)
type,action,username,org_defined_id,first_name,last_name,password,is_active,role_name,email,relationships,pref_first_name,pref_last_name
user,UPDATE, Ragnar.Frisch, D2L0001,Ragnar,Frisch, d2l,1, Sample Role, Ragnar.Frisch@d2l.ca,, ,
Enrollment File
The Enrollment file will be created by modifying the existing enrollment file in use. All the fields map directly between the XML file and CSV file.
Enrollment Field Mapping
Holding Tank Data ElementXML FieldD2L Standard CSV FileD2L Standard CSV Field ListingCode<Membership> <SourcedId> <ID>EnrollmentsParent_CodeOrgDefinedId<Membership> <Member> <SourcedId> <ID>EnrollmentsChild_CodeRoleCode<Membership> <Member> <Role> RoleTypeEnrollmentsRole_NameIsActive<Membership> <Member> <Role> <Status>EnrollmentsActionHolding Tank XML Parser 2 Enrollment Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<membership>
<sourcedid>
<id>PHYS_101_001_FA2007</id>
</sourcedid>
<member>
<sourcedid>
<id>D2LU0001</id>
</sourcedid>
<role roletype="Sample Role">
<status>1</status>
</role>
</member>
<member>
<sourcedid>
<id>D2LU0002</id>
</sourcedid>
<role roletype="Sample Role">
<status>1</status>
</role>
</member>
</membership>
</enterprise>
Enrollment File - D2L Standard CSV Sample (mapped fields from above highlighted)
type,action,child_code,role_name,parent_code
enrollment,UPDATE, D2LU0001, Sample Role, PHYS_101_001_FA2007