Purpose
This document is intended as a guide to map the fields from Holding Tank XML Parser 4 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
- Course Mapping
- Holding Tank - Fully automated course mappings could be completed using XML 4. Meaning the explicit relationships in the XML files or the Autogroup could be used 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.
- Preferred first and last names
- Holding Tank - XML Parser 4 does not support preferred first and last name.
- D2L Standard CSV - Both preferred first name and preferred last name are supported.
- Course Paths
- AllDone files
- Holding Tank - XML Parser 4 requires AllDone files to be provided for each XML file.
- D2L Standard CSV - All CSV files to be processed are included within the Zip file that is uploaded to IPSIS, there is no requirement for AllDone files.
- Department and semester creation
- Holding Tank - XML Parser 4 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 – Department and Semester org units are created through their own CSV files, allowing for full automation of the org unit creation process.
- Holding Tank – XML Parser 4 allows for explicitly setting the course file path.
- D2L Standard CSV – D2L Standard CSV does not allow for modification of a course file path. The file path is determined automatically by Brightspace. This is the best practice for creating file paths.
Field Mappings
NOTE: See the documentation for D2L Standard CSV file formats for further information about each field.
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 4 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 template 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 Category code element in the course template 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 offering 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 Semester Code field in the course offering 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 created by modifying the extract that currently creates the course template XML file. Like XML 4, IPSIS relies on an explicit definition of the relationship between course offerings and course templates. The department code should be specified within the course template file and populated with the element that was used in the Category Code field in the course template file.
Course Offering Org Unit File
The course offering file will be created by modifying the current course offering file. The course offering org unit code, org unit name, start date, and end date can all be directly mapped to fields in the XML file. The format used for templates should match the template code used within the course template CSV file. The semester_code should match the code used within the semester CSV file.
Course Section Org Unit File
The course section org unit file will be created by modifying the current course section file. 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.
Org Units Field Mapping
Figure: A chart of org unit fields.
Holding Tank XML Parser 4 Course Template Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<group recstatus=”2”>
<sourcedid>
<id>PSYC_101_001</id>
</sourcedid>
<grouptype>
<scheme>D2L</scheme>
<typevalue level=”4”>Course Template</typevalue>
</grouptype>
<description>
<short>PSYC_101_001</short>
<long>Physics 101 – Section 001</long>
</description>
<relationship relation=”1”>
<sourcedid>
<id>PSYC</id>
</sourcedid>
<label>A Parent of PSYC_101_001 is the PSYC department</label>
</relationship>
<extension>
<path>PSYC/template/PSYC_101_001/</path>
</extension>
</group>
</enterprise>
Holding Tank XML Parser 4 Course Offering Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<group recstatus=”2”>
<sourcedid>
<id>PSYC_101_001_FA2007</id>
</sourcedid>
<grouptype>
<typevalue level=”5”>Course Offering</typevalue>
</grouptype>
<description>
<short>PSYC_101_001_FA2007</short>
<long>Physics 101 – Section 001-FA2007</long>
</description>
<timeframe>
<begin>2015-09-01</begin>
<end>2015-12-29</end>
</timeframe>
<relationship relation=”1”>
<sourcedid>
<id>PSYC_101_001</id>
</sourcedid>
<label>A Parent of PSYC_101_001 is the PSYC_101_001 template</label>
</relationship>
<relationship relation=”1”>
<sourcedid>
<id>FA2007</id>
</sourcedid>
<label>A Parent of PSYC_101_001 is the FA2007 Semester</label>
</relationship>
<extension>
<path>PSYC/FA2007/PSYC_101_001_FA2007</path>
<status>1</status>
</extension>
</group>
</enterprise>
Holding Tank XML Parser 4 Course Section Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<group recstatus=”2”>
<sourcedid>
<id>SEC-PSYC_101_001_FA2007</id>
</sourcedid>
<grouptype>
<typevalue level=”6”>Section</typevalue>
</grouptype>
<description>
<short>SEC-PSYC_101_001_FA2007</short>
<long>Physics 101 – Section 001-FA2007</long>
</description>
<relationship relation=”1”>
<sourcedid>
<id>PSYC_101_001_FA2007</id>
</sourcedid>
<label>A Parent of SEC-PSYC_101_001 is the PSYC_101_001_FA207 offering</label>
</relationship>
</group>
</enterprise>
Note: Holding Tank Documentation lists the SourcedID field as the field that populates the org unit code for sections and that the short description field should match the SourcedId field. That is slightly inaccurate as the short description field actually populates the org unit code so by making the two fields match it appears that the SourcedId populates the org unit code but if the values are different, you will notice this inaccuracy.
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_001, Physics 101 – Section 001,,,, 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, PSYC_101_001_FA2007, Physics 101 – Section 001 – Fall 2007,2007-09-01,2007-12-25,1,PSYC, PSYC_101_001,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-PSYC_101_001_ FA2007, Physics 101 – Section 001 – Fall 2007,,,,,,, PSYC_101_001_FA2007,
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 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
Figure: A chart of user fields.
Holding Tank XML Parser 4 User Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<person recstatus=”2”>
<sourcedid>
<id>D2L0001</id>
</sourcedid>
<userid password="d2l">Ragnar.Frisch</userid>
<name>
<n>
<family>Frisch</family>
<given>Ragnar</given>
</n>
</name>
<email>Ragnar.Frisch@d2l.ca</email>
<extension>
<role roletype= »Sample Role »>
<status>1</status>
</role >
</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 of the fields map directly between the XML file and CSV file.
Enrollment Field Mapping
Figure: A chart of enrollment fields.
Holding Tank XML Parser 4 Enrollment Sample (mapped fields from above highlighted)
<?xml version='1.0'?>
<enterprise>
<membership recstatus=”2”>
<sourcedid>
<id>PHYS_101_001_FA2007</id>
</sourcedid>
<member>
<sourcedid>
<id>D2LU0001</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