If you are familiar with Legacy Snapshot (the Command Line Snapshot Tools) the SIS Framework Flat File type brings no change to the format other than the addition of headers for the new data objects supported and the requirement for including a few previously optional fields.
The same rules of order apply for Snapshot Flat Files as for Legacy Snapshot – in short feeds will not succeed unless dependencies have been met. For example, a membership feed will not succeed until both the user feed and the course feed containing the membership related objects has been processed or a child course may not be tied to a parent course until the master course (parent) has been created. This logic applies to terms and nodes as well.
Also note that system behavior on processing data posted to the endpoints is configurable via the integration edit page.
For a complete description of URLs and their functions, see Snapshot Flat File.
There are differences between Learn and ANGEL data feed formats. These differences are called out in the ANGEL to LEARN data mapping knowledge path.
Note these samples are the minimal required data for the feed – additional objects for each feed may be derived from the SIS Framework Snapshot Flat File Advanced Configuration Custom Headers UI. Also you may derive the required nature of a field from the Field Mapping UI. A full listing with descriptions, examples of default and acceptable values for each object is at the end of this document. Full URLs as used for your installation are discoverable via the SIS Framework Admin UI under HTTP Configuration. To learn more, see Snapshot Flat File.
The below samples use the pipe character - '|' - as the delimiter. You may select which delimiter is used when you configure your implementation.
For more complex data usage samples, see Snapshot Flat File Examples.
Task: Creating/Updating Users (Persons)
URL: Person Store or Refresh
While email is not a required field to create a User, not doing so will limit system capabilities such as emailing of course notifications, etc.
Task: Deleting/Disabling users (Persons)
URL: Person Delete
Task: Person Secondary Institution Role Feed
URL: Role Store/Refresh /Delete
Task: Person to Observer Association Feed
URL: Association Store/Refresh /Delete
Task: Creating/Updating new Courses
URL: Course Store or Refresh
testCourse1|TEST_COURSE_1|Test Course 1
testCourse2|TEST_COURSE_2|Test Course 2
testCourse3|TEST_COURSE_3|Test Course 3
Task: Deleting/Disabling new Courses
URL: Course Delete
Task: Creating/Updating new Organizations
URL: Organizations Store or Refresh
testOrg1|TEST_ORG_1|Test Org 1
testOrg2|TEST_ORG_2|Test Org 2
testOrg3|TEST_ORG_3|Test Org 3
Task: Disabling new Organizations
URL: Organizations Delete
Task: Creating/Updating Course Memberships
URL: Course Membership Store or Refresh
Task: Disabling Course Memberships
URL: Course Membership Delete
Task: Creating/Updating Organization Memberships
URL: Organization Membership Store or Refresh
Task: Disabling Organization Memberships
URL: Organization Membership Store or Refresh
Task: Create/Update Terms
URL: Term Store or Refresh
testTerm1|Test Term 1
Task: Disable a Term
URL: Term Delete URL
Task: Create/Update Nodes
URL: Node Store or Refresh
testNode1|Test Node 1
testNode2|Test Node 2
Task: Disable Terms
URL: Node Delete
Task: Create/Update /Disable Course to Node Association
URL: Course Association Store/Refresh /delete
Task: Create/Update /Disable User to Node Association
URL: User Association Store/Refresh /Delete
Task: Create/Update /Disable Organization to Node Association Feed
URL: Organization Association Store/Refresh /Delete
Task: Create/Update /Disable Course Category Feed
URL: Course Category Store/Refresh /Delete
testCourseCategory1|Course Category 1
testCourseCategory2|Course Category 2
Task: Create/Update /Disable Organizations Category Feed
URL: Organizations Category Store/Refresh /Delete
testOrgCategory1|Org Category 1
testOrgCategory2|Org Category 2
Task: Create/Update /Disable Course Category Membership Feed
URL: Course Category Membership Store/Refresh /Delete
Task: Create/Update /Disable Organization Category Membership Feed
URL: Organization Category Membership Store/Refresh /Delete
Add the ‘master_course_key’ field to a course feed when there a parent:child relationship is desired.
You must create parent courses before assigning child relationships.
Task: Create a Parent Child relationship between courses
testCourse1|TEST_COURSE_1|Test Course 1|
testCourse2|TEST_COURSE_2|Test Course 2|testCourse1
testCourse3|TEST_COURSE_3|Test Course 3|testCourse1
testCourse4|TEST_COURSE_4|Test Course 4|
testCourse5|TEST_COURSE_5|Test Course 5|testCourse4
In this example, TEST_COURSE_2 and TEST_COURSE_3 are children of the parent course TEST_COURSE_1 while TEST_COURSE_4 is not. You may also run a child course feed separately from a course feed where all courses would contain an entry for the appropriate master_course_key - use Course Store for this operation to retain previously stored courses.
Add the ‘template_course_key’ field to course feed populating when you wish for a new course to be populated with the contents of a 'Master' course. Eg: all new math courses should initially contain the materials from a master math course.
testCourse1|TEST_COURSE_1|Test Course 1||test_course_template1
testCourse2|TEST_COURSE_2|Test Course 2|testCourse1|
testCourse3|TEST_COURSE_3|Test Course 3|testCourse1|
testCourse4|TEST_COURSE_4|Test Course 4||test_course_template1
For an understanding of course copy and course templates, refer to Create Courses by Copying Existing Courses.