Creating courses and course groups
How to create a course
Brief description: | Using IMS-ES it is possible to create a course by creating a group with some extension data. This means that in itslearning both a hierarchy and a (connected) course will be created. | |
Methods to set organisation type: | IMS ES Request | Comments |
createGroup |
| |
Methods to get organisation type: | readGroup | |
Input parameters: |
| |
Example in itslearning: | Example 1: I want to add a new course to the organisation with syncId = "SchoolA" Example 2: I want to read all the courses for the user with syncId = "UserA". NOTE: This will actually return all hierarchies for the user. You will have to filter the courses yourself by checking the OrganisationType. | |
Example 1 Request to create course: | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0" xmlns:ims1="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0" xmlns:ims2="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <soapenv:Header/> <soapenv:Body> <ims:createGroupRequest> <ims:sourcedId> <ims1:identifier>CourseA</ims1:identifier> </ims:sourcedId> <ims:group> <ims2:groupType> <ims2:scheme>ItslearningOrganisationTypes</ims2:scheme> <ims2:typeValue> <ims2:type>Course</ims2:type> </ims2:typeValue> </ims2:groupType> <ims2:relationship> <ims2:relation>Parent</ims2:relation> <ims2:sourceId> <ims1:identifier>SchoolA</ims1:identifier> </ims2:sourceId> </ims2:relationship> <ims2:description> <ims2:descShort>Description of the hierarchy connected to the course</ims2:descShort> </ims2:description> <ims2:extension> <ims1:extensionField> <ims1:fieldName>course</ims1:fieldName> <ims1:fieldType>String</ims1:fieldType> <ims1:fieldValue>CourseA</ims1:fieldValue> </ims1:extensionField> <ims1:extensionField> <ims1:fieldName>course/code</ims1:fieldName> <ims1:fieldType>String</ims1:fieldType> <ims1:fieldValue>CourseA</ims1:fieldValue> </ims1:extensionField> </ims2:extension> </ims:group> </ims:createGroupRequest> </soapenv:Body></soapenv:Envelope> | |
Example 1 Response: | <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <s:Header> <h:syncResponseHeaderInfo xmlns:h="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <messageIdentifier/> <statusInfo> <codeMajor>success</codeMajor> <severity>status</severity> <messageIdRef/> </statusInfo> </h:syncResponseHeaderInfo> <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <u:Timestamp u:Id="_0"> <u:Created>2013-08-30T10:42:35.384Z</u:Created> <u:Expires>2013-08-30T10:47:35.384Z</u:Expires> </u:Timestamp> </o:Security> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <createGroupResponse xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0"/> </s:Body></s:Envelope> | |
Example 2: Request to get course for a user: | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0" xmlns:ims1="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <soapenv:Header/> <soapenv:Body> <ims:readGroupsForPersonRequest> <ims:personSourcedId> <ims1:identifier>UserA</ims1:identifier> </ims:personSourcedId> </ims:readGroupsForPersonRequest> </soapenv:Body></soapenv:Envelope> | |
Example 2 Response: | <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <s:Header> <h:syncResponseHeaderInfo xmlns:h="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <messageIdentifier/> <statusInfoSet> <statusInfo> <codeMajor>success</codeMajor> <severity>status</severity> </statusInfo> </statusInfoSet> </h:syncResponseHeaderInfo> <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <u:Timestamp u:Id="_0"> <u:Created>2013-08-30T13:54:30.466Z</u:Created> <u:Expires>2013-08-30T13:59:30.466Z</u:Expires> </u:Timestamp> </o:Security> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <readGroupsForPersonResponse xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0"> <groupSet> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">autogenerated_IMS_59969085</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>Site</type> <level>0</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">autogenerated_IMS_59969085</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>IMS</descShort> <descFull/> </description> <extension xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>visibleinsearch</fieldName> <fieldType>Boolean</fieldType> <fieldValue>True</fieldValue> </extensionField> </extension> </group></group> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">SchoolA</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>School</type> <level>1</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">autogenerated_IMS_59969085</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>SchoolA</descShort> <descFull/> </description> </group></group> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">CourseA</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>Course</type> <level>2</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">SchoolA</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>Description of the hierarchy connected to the course</descShort> <descFull/> </description> <extension xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>visibleinsearch</fieldName> <fieldType>Boolean</fieldType> <fieldValue>True</fieldValue> </extensionField> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>course</fieldName> <fieldType>String</fieldType> <fieldValue>CourseA</fieldValue> </extensionField> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>course/code</fieldName> <fieldType>String</fieldType> <fieldValue>CourseA</fieldValue> </extensionField> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>course/credits</fieldName> <fieldType>String</fieldType> <fieldValue/> </extensionField> </extension> </group></group> </groupSet> </readGroupsForPersonResponse> </s:Body> </s:Envelope> | |
Creating course groups
Brief description: | Since release 43 it is now possible to create course groups using IMS-ES. This can be easily achieved by setting the OrganisationType of the hierarchy (see Managing groups) to CourseGroup. | |
Methods to set organisation type: | IMS ES Request | Comments |
createGroup |
| |
Methods to get organisation type: | readGroup | |
Input parameters: |
| |
Example in itslearning: | Example 1: I want to add a new course group to the course with syncId = "CourseA" Example 2: I want to read all the course groups for the user with syncId = "UserA". NOTE: This will actually return all hierarchies for the user. You will have to filter the course groups yourself by checking the OrganisationType. | |
Example 1 Request to create course group: | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0" xmlns:ims1="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0" xmlns:ims2="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <soapenv:Header/> <soapenv:Body> <ims:createGroupRequest> <ims:sourcedId> <ims1:identifier>CourseGroupA</ims1:identifier> </ims:sourcedId> <ims:group> <ims2:groupType> <ims2:scheme>ItslearningOrganisationTypes</ims2:scheme> <ims2:typeValue> <ims2:type>CourseGroup</ims2:type> </ims2:typeValue> </ims2:groupType> <ims2:relationship> <ims2:relation>Parent</ims2:relation> <ims2:sourceId> <ims1:identifier>CourseA</ims1:identifier> </ims2:sourceId> </ims2:relationship> <ims2:description> <ims2:descShort>Test group</ims2:descShort> </ims2:description> </ims:group> </ims:createGroupRequest> </soapenv:Body></soapenv:Envelope> | |
Example 1 Response: | <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <s:Header> <h:syncResponseHeaderInfo xmlns:h="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <messageIdentifier/> <statusInfo> <codeMajor>success</codeMajor> <severity>status</severity> <messageIdRef/> </statusInfo> </h:syncResponseHeaderInfo> <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <u:Timestamp u:Id="_0"> <u:Created>2013-08-30T10:42:35.384Z</u:Created> <u:Expires>2013-08-30T10:47:35.384Z</u:Expires> </u:Timestamp> </o:Security> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <createGroupResponse xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0"/> </s:Body></s:Envelope> | |
Example 2: Request to get course group for a user: | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0" xmlns:ims1="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <soapenv:Header/> <soapenv:Body> <ims:readGroupsForPersonRequest> <ims:personSourcedId> <ims1:identifier>UserA</ims1:identifier> </ims:personSourcedId> </ims:readGroupsForPersonRequest> </soapenv:Body></soapenv:Envelope> | |
Example 2 Response: | <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <s:Header> <h:syncResponseHeaderInfo xmlns:h="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <messageIdentifier/> <statusInfoSet> <statusInfo> <codeMajor>success</codeMajor> <severity>status</severity> </statusInfo> </statusInfoSet> </h:syncResponseHeaderInfo> <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <u:Timestamp u:Id="_0"> <u:Created>2013-08-30T13:54:30.466Z</u:Created> <u:Expires>2013-08-30T13:59:30.466Z</u:Expires> </u:Timestamp> </o:Security> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <readGroupsForPersonResponse xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0"> <groupSet> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">autogenerated_IMS_59969085</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>Site</type> <level>0</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">autogenerated_IMS_59969085</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>IMS</descShort> <descFull/> </description> <extension xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>visibleinsearch</fieldName> <fieldType>Boolean</fieldType> <fieldValue>True</fieldValue> </extensionField> </extension> </group></group> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">SchoolA</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>School</type> <level>1</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">autogenerated_IMS_59969085</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>SchoolA</descShort> <descFull/> </description> </group></group> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">CourseA</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>Course</type> <level>2</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">SchoolA</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>Description of the hierarchy connected to the course</descShort> <descFull/> </description> <extension xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>visibleinsearch</fieldName> <fieldType>Boolean</fieldType> <fieldValue>True</fieldValue> </extensionField> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>course</fieldName> <fieldType>String</fieldType> <fieldValue>CourseA</fieldValue> </extensionField> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>course/code</fieldName> <fieldType>String</fieldType> <fieldValue>CourseA</fieldValue> </extensionField> <extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"> <fieldName>course/credits</fieldName> <fieldType>String</fieldType> <fieldValue/> </extensionField> </extension> </group></group> <group> <sourcedId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">CourseGroupA</identifier> </sourcedId> <group> <groupType xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <scheme>ItslearningOrganisationTypes</scheme> <typeValue> <type>CourseGroup</type> <level>3</level> </typeValue> </groupType> <relationship xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <relation>Parent</relation> <sourceId> <identifier xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">CourseA</identifier> </sourceId> <label>Is parent of</label> </relationship> <description xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0"> <descShort>Test group</descShort> <descFull/> </description> </group></group> </groupSet> </readGroupsForPersonResponse> </s:Body> </s:Envelope> Course archivingA course is not deleted when a hierarchy group attached to the course is deleted though the IMS ES import. The course will be be detached from the hierarchy group and will live on as a manually created course.
If you create a new hierarchy and use the same synckey as the course in the archive, you will NOT be able to re-attach the new hierarchy to the course in the archive. | |
