
IMS GLC Learning Information Services: Core Profiles
Version 1.0
Public Draft Release
Version 1.0
Date Issued: 25 August 2010
Latest version: http://www.imsglobal.org/lis/
IPR and Distribution Notices
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.
IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf .
Copyright © IMS Global Learning Consortium 2010. All Rights Reserved.
If you wish to distribute this document or use this document to implement a product or service, you must complete a valid license registration with IMS and receive an email from IMS granting the license. To register, follow the instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm .
This document may be copied and furnished to others by Licensee organizations registered on the IMS website provided that the above copyright notice and this paragraph are included on all such copies. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to IMS, except as needed for the purpose of developing IMS specifications, under the auspices of a chartered IMS work group.
Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/lis/lisv2p0pd/lisv2p0pdspeclicense.html .
The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.
THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
Join the discussion and post comments on the LIS Public Forum: http://www.imsglobal.org/community/forum/categories.cfm?catid=59
1.1 Learning Information Service Core Profiles Overview
1.3 Structure of this Document
2 Profiling the Learning Information Services
3 Information Model of the Core Profile
3.2 The Person Management Service Statement
3.2.2 The Data Model Statement
3.3 The Group Management Service Statement
3.3.2 The Data Model Statement
3.4 The Membership Management Service Statement
3.4.2 The Data Model Statement
3.5 The Course Management Service Statement
3.5.2 The Data Model Statement
3.6 The Outcomes Management Service Statement
3.6.2 The Data Model Statement
3.7 The Bulk Data Exchange Management Service Statement
3.7.2 The Data Model Statement
4 Information Models of the Profile Additions
4.1 The Grade Addition Profile Statement
4.1.2 The Data Model Statements
4.2 The Combined Sections Addition Profile Statement
4.2.2 The Data Model Statements
4.3 The Full Course Hierarchy Addition Profile Statement
4.3.2 The Data Model Statements
5 WSDL Bindings of the Core Profiles
5.2 The Grade Addition Profile WSDL Binding
5.3 The Combined Sections Addition Profile WSDL Binding
5.4 The Full Course Hierarchy Addition Profile WSDL Binding
6 Best Practices & Implementation Guidance
6.1.2 Supporting the Use-cases
6.2 Using the Grade Addition Profile
6.2.2 Supporting the Use-cases
6.3 Using the Combined Sections Addition Profile
6.3.2 Supporting the Use-cases
6.4 Using the Full Course Hierarchy Addition Profile
6.4.2 Supporting the Use-cases
6.5 Combining the Core and Addition Profiles
6.5.2 Supporting the Use-cases
7 Conformance & Compliance to the Core Profiles
7.1 Compliance to the Core Profile
7.2 Compliance to the Addition Profiles
7.2.1 Grade Addition Profile Conformance
7.2.2 Combined Sections Addition Profile
7.2.3 Fill Course Hierarchy Addition Profile
Appendix A Summary of the Services for the Profiles
A2 Grade Addition Profile Summary
A3 Combined Sections Addition Profile Summary
A4 Full Course Hierarchy Addition Profile Summary
Appendix B The HE Profile Binding Files
B2 Grade Addition Profile Binding Files
B3 Combined Section Addition Profile Binding Files
B4 Full Course Hierarchy Addition Profile Binding Files
Figure 5.1 PSM for the BDEMS in the core profile.
Figure 5.2 PSM for the CMS in the core profile.
Figure 5.3 PSM for the GMS in the core profile.
Figure 5.4 PSM for the MMS in the core profile.
Figure 5.5 PSM for the OMS in the core profile.
Figure 5.6 PSM for the PMS in the core profile.
Figure 5.7 PSM for the OMS in the grade addition profile.
Figure 5.8 PSM work the CMS in the combined sections addition profile.
Figure 5.9 PSM for the CMS in the full course hierarchy addition profile.
Table 3.1 PMS core profile operations conformance statement.
Table 3.2 Permitted status codes for the PMS core profile operations.
Table 3.3 PMS data model profile changes.
Table 3.4 GMS core profile operations conformance statement.
Table 3.5 Permitted status codes for the GMS core profile operations.
Table 3.6 GMS data model profile changes.
Table 3.7 MMS core profile operations conformance statement.
Table 3.8 Permitted status codes for the MMS core profile operations.
Table 3.9 MMS data model profile changes.
Table 3.10 CMS Course Section core profile operations conformance statement.
Table 3.11 Permitted status codes for the CMS core profile operations.
Table 3.12 CMS data model profile changes.
Table 3.13 OMS Result core profile operations conformance statement.
Table 3.14 Permitted status codes for the OMS core profile operations.
Table 3.15 OMS data model profile changes.
Table 3.16 BDEMS core profile operations conformance statement.
Table 3.17 Status codes for the BulkDataExchangeManager interface operations.
Table 3.18 BDEMS data model profile changes.
Table 4.1 OMS LineItem grade addition profile operations conformance statement.
Table 4.2 Permitted status codes for the LineItem grade addition profile operations.
Table 4.3 OMS Result grade addition profile operations conformance statement.
Table 4.4 Permitted status codes for the Result grade addition profile operations.
Table 4.5 OMS ResultValue grade addition profile operations conformance statement.
Table 4.6 Permitted status codes for the ResultValue grade addition profile operations.
Table 4.7 OMS data model grade addition profile changes.
Table 4.8 CMS Section combined sections addition profile operations conformance statement.
Table 4.9 Permitted status codes for the Section combined section addition profile operations.
Table 4.10 CMS Association combined sections addition profile operations conformance statement.
Table 4.11 Permitted status codes for the Association combined section addition profile operations.
Table 4.12 CMS combined sections data model addition profile changes.
Table 4.13 CMS Template full course hierarchy addition profile operations conformance statement.
Table 4.15 CMS Offering full course hierarchy addition profile operations conformance statement.
Table 4.17 CMS Section full course hierarchy addition profile operations conformance statement.
Table 4.18 Permitted status codes for the Section full course hierarchy addition profile operations.
Table 4.19 CMS Association full course hierarchy addition profile operations conformance statement.
Table 4.21 CMS data model profile changes.
Table 7.1 Interoperability provided by different combinations of the core profiles.
Table A1.1 Summary of the service behaviors required in the core profile.
Table A2.1 Summary of the service behaviors required in the grade addition profile.
Table A3.1 Summary of the service behaviors required in the combined sections addition profile.
Table A4.1 Summary of the service behaviors required in the full course hierarchy addition profile.
The Learning Information Services (LIS) specification is the definition of how systems manage the exchange of information that describes people, groups, memberships, courses and outcomes within the context of learning. The Learning Information Services specification is constructed following the recommendations documented in the IMS GLC Abstract Framework (IAF) [IAF, 03a], [IAF, 03b], [IAF, 03c]. This means that this specification is based upon the concepts of:
· Interoperability – Learning Information Services focuses on the exchange of information between Learning Information Services systems. There are no assumptions in the specification on how the data is managed within the Learning Information Services systems;
· Service-oriented – Learning Information Services defines the exchange of information in terms of the services being supplied by the collaboration of the systems;
· Component-based – the Learning Information Services are composed of the Person Management Service (PMS), Group Management Service (GMS), Membership Management Services (MMS), Course Management Service (CMS), Outcomes Management Service (OMS) and the Bulk Data Exchange Management Service (BDEMS);
· Behaviors and Data Models – the Learning Information Services are defined in terms of their behaviors and data models. The behaviors cause changes in the state of the data model and the state of the data model will only be altered as a result of a clearly defined behavior;
· Multiple Bindings – the Learning Information Services information model is to be defined using the Unified Modeling Language (UML). This enables reliable mapping of the information model into a range of different bindings. The binding of immediate importance is to the Web Services Description Language (WSDL);
· Adoption – whenever appropriate, the Learning Information Services specification makes use of other IMS GLC and non-IMS GLC standards and specifications.
The Core Profiles identify the minimal subset of the functionality of the IMS GLC LIS specification that must be supported by systems developed for deployment between a Student Information Systems and Learning Management Systems. These Profiles (there is a Core plus several Additions) define the set of operations and data models that must be supported by the systems supporting the set of services within the LIS. A system can support greater functionality but there is no guarantee of interoperability for those extra features. Interoperability is only guaranteed for the functionality described in the Core Profiles.
This document is the IMS GLC Learning Information Services Core Profiles v1.0 document. It contains the minimum service and data functionality statements that must be supported by systems that are used to support the exchange of learning information between a Student Information System (SIS) and a Learning Management System (LMS). These statements define a subset of the service and data functionality in each of the services that comprise the LIS.
Other Profiles can be defined for LIS. There is no guarantee of interoperability between the Core and other profiles.
The structure of this document is:
|
2. Profiling the Learning Information Services |
An overview of the Core Profiles defined for LIS; |
|
3. Information Model of the Core Profile |
Identifies the subset of the full Learning Information Services i.e. the services, their operations and the associated data models, that form the requirement of the core profile; |
|
4. Information Models of the Profile Additions |
Identifies the subset of the full Learning Information Services i.e. the services, their operations and the associated data models, that form the requirement of the three addition profiles. The three addition profiles are grade, combined sections and full course hierarchy; |
|
5. WSDL Bindings of the HE Profiles |
Describes the mapping of the information model descriptions to the WSDL bindings; |
|
6. Best Practices & Implementation Guidance |
Best practice recommendations for the use of the core and the addition profiles. This includes coverage of the use-cases addressed by the Core Profiles; |
|
7. Conformance & Compliance to the Profiles |
A discussion of conformance and compliance to the individual Profiles and the various combinations of Core/Addition Profiles; |
|
Appendix A Summary of the Services for the Profiles |
A summary of the services and operations supported for each of the Profiles; |
|
Appendix B The Core Profile Binding Files |
The set of WSDL and XSD binding files that should be used for the binding of the HE profiles. |
a-API Abstract Application Programming Interface
API Application Programming Interface
BDEMS Bulk Data Exchange Management Service
CMS Course Management Service
GMS Group Management Service
IAF IMS GLC Abstract Framework
IMS GLC IMS Global Learning Consortium Inc.
LDAP Lightweight Directory Access Protocol
LIS Learning Information Services
LMS Learning Management System
MMS Membership Management Service
OMS Outcomes Management Service
PIM Platform Independent Model
PMS Person Management Service
PSM Platform Specific Model
RFC Request For Comment
SDN Specification Development Note
SIS Student Information System
UML Unified Modeling Language
WSDL Web Services Description Language
XSD XML Schema Definition
[APG, 05a] IMS GLC Application Profile Guidelines Overview: Part 1 – Management Overview v1.0, IMS Global Learning Consortium, K.Riley, October 2005. http://www.imsglobal.org/ap/index.html.
[APG, 05b] IMS GLC Application Profile Guidelines White Paper: Part 2 Technical Manual, S.Wilson and K.Riley, Version 1.0, IMS Global Learning Consortium, October 2005. http://www.imsglobal.org/ap/index.html.
[BDEMS, 10a] IMS GLC Bulk Data Exchange Management Service Information Model v1.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, June 2010.
[BDEMS, 10b] IMS GLC Bulk Data Exchange Management Service WSDL Binding v1.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, June 2010.
[CMS, 10a] IMS GLC Course Management Service Information Model v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[CMS, 10b] IMS GLC Course Management Service WSDL Binding v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[GWS, 05] IMS GLC General Web Services WSDL Binding Guidelines v1.0 Final Specification, C.Schroeder, J.Simon and C.Smythe, IMS Global Learning Consortium, December 2005.
[IAF, 03a] IMS GLC Abstract Framework: Applications, Services & Components v1.0, Ed. C.Smythe, IMS Global Learning Consortium, July 2003.
[IAF, 03b] IMS GLC Abstract Framework: Glossary v1.0, Ed. C.Smythe, IMS Global Learning Consortium, July 2003.
[IAF, 03c] IMS Abstract Framework: White Paper v1.0, Ed. C.Smythe, IMS Global Learning Consortium, July 2003.
[LIS, 10a] IMS GLC Learning Information Services Overview v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[LIS, 10b] IMS GLC Learning Information Services Best Practices & Implementation Guide v2.0 CM/DN Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[MMS, 10a] IMS GLC Membership Management Service Information Model v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[MMS, 10b] IMS GLC Membership Management Service WSDL Binding v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[OMS, 10a] IMS GLC Outcomes Management Service Information Model v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[OMS, 10b] IMS GLC Outcomes Management Service WSDL Binding v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[PMS, 10a] IMS GLC Person Management Service Information Model v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[PMS, 10b] IMS GLC Person Management Service WSDL Binding v2.0 Public Draft Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.
[SDN07, 06] IMS GLC Specification Note 07: UML Profile for Platform Independent Model Descriptions of Specifications for Data Models v1.0, C.Smythe, IMS Global Learning Consortium, October 2006.
[SDN11, 06] IMS GLC Specification Note 11: Vocabulary Definition, Registration & Maintenance Procedures, C.Smythe, IMS Global Learning Consortium, October 2006.
[VDEX, 04] IMS GLC Vocabulary Definition Exchange Best Practice and Implementation Guide, Version 1.0 Final Specification, A. Cooper, IMS Global Learning Consortium, 2005. Online version: http://www.imsglobal.org/vdex/vdexv1p0/imsvdex_bestv1p0.html
This is the Core Profiles of the IMS GLC LIS specification. The aim of the Core Profiles is to define the simplest subset of the full LIS specification that is required to support the exchange of information between a Student Information System and a Learning Management System.
The Core Profiles consists of the Core Profile and a set of Addition Profiles. All systems claiming compliance to the Core Profiles must conform to the Core Profile and may support none, some or all of the Addition Profiles. The Core Profiles are defined with respect to a ‘Sync Agent’ and ‘Ref Agent’. Both the ‘Sync Agent’ and ‘Ref Agent’ will act as service provider and service consumer depending on the specific operation being supported (a ‘Ref Agent’ is the system of reference i.e. the source of the data to be exchanged and the ‘Sync Agent’ is the receiving system i.e. the system that is to be synchronized with the ‘Ref Agent’).
The Core Profiles have been produced by:
a) Selecting which service(s) need to be supported;
b) Selecting the minimal set of operations that must be supported for each service;
c) Identifying the status codes that will be supported for each operation;
d) Listing the data models so that a check-list reflecting the objects supported can be identified for an implementation;
e) Defining the vocabularies that support the data models (these are reduced forms of the default vocabularies defined in the specification).
The content of this document is a result of the application of the above process to the full LIS specification.
The Core Profile consists of the minimal set of services that every LIS implementation must support for SIS/LMS interoperability. All six services are required but they have been severely restricted in range of functionality i.e. only 5% of the operations defined in the full specification are required.
Currently there are three Addition Profiles, namely:
· Grades Addition Profile – to provide the capability to exchange detailed information about student grades. This is a profile of the Outcomes Management Service;
· Combined Sections Addition profile – to provide the capability to exchange detailed information about Course Sections and related Course Sections using Section Associations. This is a profile of the Course Management Service;
· Full Course Hierarchy Addition Profile – to provide the capability to exchange detailed information about courses. This is a profile of the Course Management Service.
An implementation may or may not support any of these Addition Profiles. A consequence of optional combinations of the Addition Profiles makes interoperability more complicated; full interoperability requires the systems to support the same range of Addition Profiles.
The Core Profile consists of:
· Person Management Service – with significantly reduced number of operations and unchanged data model;
· Group Management Service – with significantly reduced number of operations and unchanged data model;
· Membership Management Service – with significantly reduced number of operations and unchanged data model;
· Outcomes Management Service – with significantly reduced number of operations and with a significantly changed data model;
· Course Management Service – with significantly reduced number of operations and with a significantly changed data model;
· Bulk Data Exchange Management Service – with unchanged service and data models[1].
The set of operations supported within each service are defined from the perspectives of the Synch Agent and Ref Agent. If either the Sync/Ref Agents ‘Calls’ the service then it is acting as a service consumer for that operation. If the Sync/Ref Agents ‘Implements’ the service then it is acting as a service provider for that operation.
The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the PMS are summarized in Table 3.1.
Table 3.1 PMS core profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createPerson |
Implements |
Calls |
|
createByProxyPerson |
|
|
|
deletePerson |
Implements |
Calls |
|
readPerson |
Calls |
Implements |
|
readPersonCore |
|
|
|
readAllPersonIds |
|
|
|
readPersonIdsFromSavePoint |
|
|
|
readPersons |
Calls |
Implements |
|
readPersonsFromSavePoint |
|
|
|
updatePerson |
|
|
|
replacePerson |
Implements |
Calls |
|
discoverPersonIds |
|
|
|
changePersonIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 3.2. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 3.2 Permitted status codes for the PMS core profile operations.
|
CodeMinor Status Code
|
createPerson |
deletePerson |
readPerson |
readPersons |
replacePerson |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
Y |
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
‘partialreadfail’ |
|
|
|
Y |
|
|
‘unknownvocabulary’ |
Y |
|
|
|
Y |
|
‘unknownextension’ |
Y |
|
Y |
|
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 3.3. The nomenclature used in Table 3.3 (and in the later similar tables) is:
· The Class/Attribute column – the name of the Class and corresponding Attributes (as per the UML descriptions). The class name always starts with an uppercase character and each attribute starts with a lowercase character;
· The Baseline Constraints columns are composed of:-
— Min – the minimum multiplicity (this is not applicable for the Class) as defined in the original Information Model
— Max – the maximum multiplicity (this is not applicable for the Class) as defined in the original Information Model
— SPMax – the smallest permitted maximum that an implementation MUST support as defined in the original Information Model. An implementation may exceed his maximum but interoperability is not guaranteed for those exceeding the value of the SPMax;
— Type – the data type of the attribute (this is not applicable for the Class) as defined in the original Information Model. This type will either be a primitive data type or a Class described elsewhere in the tabular description. This description may also be accompanied by a note that adds further information e.g. to identify the associated vocabulary;
· The Profile Notes column – defines the changes that are imposed by the Profile.
Table 3.3 PMS data model profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
Type |
||
|
PersonRecordSet |
– |
– |
– |
– |
|
|
personRecord |
0 |
* |
100,000 |
PersonRecord |
|
|
|
|
|
|
|
|
|
PersonRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
person |
1 |
1 |
1 |
Person |
|
|
|
|
|
|
|
|
|
Person |
– |
– |
– |
– |
|
|
formname |
0 |
* |
? |
FormName |
|
|
name |
1 |
* |
? |
Name |
SPMax = 1. |
|
address |
0 |
* |
? |
Address |
|
|
contactinfo |
0 |
* |
? |
ContactInfo |
|
|
demographics |
0 |
* |
? |
Demographics |
|
|
agent |
0 |
* |
? |
Agent |
|
|
roles |
0 |
* |
? |
EnterpriseRoles |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
PersonCore |
– |
– |
– |
– |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
formname |
1 |
1 |
1 |
FormName |
|
|
userId |
1 |
1 |
1 |
UserId |
|
|
|
|
|
|
|
|
|
FormName |
– |
– |
– |
– |
|
|
formnameType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’. [1] |
|
|
formattedName |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
|
|
|
|
|
|
|
Name |
– |
– |
– |
– |
|
|
nameType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [2] |
Require: ‘Full’ |
|
partName |
1 |
* |
5 |
BaseValueSingle |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceName |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [3] |
Require: ‘Family’ and ‘Given’. If ordinal then only the first is returned. |
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
|
|
|
|
|
|
|
Address |
– |
– |
– |
– |
|
|
addressType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [4] |
|
|
addressPart |
1 |
* |
5 |
BaseValueSingle |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceName |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [5] |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
|
|
|
|
|
|
|
ContactInfo |
– |
– |
– |
– |
|
|
contactInfoType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [6] |
|
|
contactInfoValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
|
|
|
|
|
|
|
Demographics |
– |
– |
– |
– |
|
|
demographicsType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [7] |
|
|
Representation |
0 |
* |
1 |
Representation |
|
|
eventDate |
0 |
* |
1 |
BaseValueSingle |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceName |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [8] |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Date in the
form ISO8601: |
|
|
gender |
0 |
1 |
1 |
Int
Vocabulary. [9] |
|
|
demographicsInfo |
0 |
* |
5 |
BaseValueSingle |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceName |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [10] |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
|
|
|
|
|
|
|
Representation |
– |
– |
– |
– |
|
|
representationType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [11] |
|
|
date |
1 |
1 |
1 |
Date in the
form ISO8601: |
|
|
description |
1 |
1 |
1 |
Description |
|
|
|
|
|
|
|
|
|
Agent |
– |
– |
– |
– |
|
|
agentType |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [12] |
|
|
agentId |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
agentDomain |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
description |
0 |
1 |
1 |
Description |
|
|
|
|
|
|
|
|
|
EnterpriseRoles |
– |
– |
– |
– |
|
|
enterpriserolesType |
1 |
1 |
1 |
BaseValueSingle |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [13] |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
systemRole |
0 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
institutionRole |
0 |
* |
2 |
InstitutionRole |
|
|
userId |
0 |
1 |
1 |
UserId |
|
|
|
|
|
|
|
|
|
InstitutionRole |
– |
– |
– |
– |
|
|
institutionroletype |
1 |
1 |
1 |
BaseValueToken |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ [15] |
|
|
primaryroletype |
1 |
1 |
1 |
Boolean: {True=primary role; False=not primary role} |
|
|
|
|
|
|
|
|
|
UserId |
– |
– |
– |
– |
|
|
useridValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
userIdType |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
password |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
pwWncryptionType |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
authenticationType |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-255] |
|
|
|
|
|
|
|
|
|
BaseValueToken |
– |
– |
– |
– |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’. |
|
|
|
|
|
|
|
|
|
BaseValueSingle |
– |
– |
– |
– |
|
|
instanceIdentifier |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
instanceVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
instanceName |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Entry in ‘instanceVocabulary’ |
|
|
instanceValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
|
|
|
|
|
|
|
Description |
– |
– |
– |
– |
|
|
shortDescription |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
longDescription |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-2095] |
|
|
fullDescription |
0 |
1 |
1 |
FullDescription |
|
|
|
|
|
|
|
|
|
FulDescription |
– |
– |
– |
– |
|
|
mediamode |
1 |
1 |
1 |
Int Vocab. [16] |
|
|
contentRefType |
1 |
1 |
1 |
Int Vocab. [17] |
|
|
mimeType |
1 |
1 |
1 |
Normalized String: [1-63] |
|
|
descriptionText |
|
|
|
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-1024] |
|
|
|
|
|
|
|
|
|
GUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
GUIDSet |
– |
– |
– |
This is only used as a parameter. |
|
|
sourcedId |
0 |
* |
250,000 |
GUID |
|
|
|
|
|
|
|
|
|
IMSExtension |
– |
– |
– |
– |
|
|
extensionNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionField |
1 |
* |
5 |
ExtensionField |
|
|
|
|
|
|
|
|
|
ExtensionField |
– |
– |
– |
– |
|
|
fieldName |
1 |
1 |
1 |
Normalized String: [1-127] |
|
|
fieldType |
1 |
1 |
1 |
Entry in ‘extensionVocabulary’ [18] |
|
|
fieldValue |
1 |
1 |
1 |
Normalized String: [1-1023] |
|
|
|
|
|
|
|
|
|
QueryObject |
– |
– |
– |
Normalized String: [1-1023] This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
SequenceIdentifier |
– |
– |
– |
DateTime This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
Text |
– |
– |
– |
– |
|
|
language |
1 |
1 |
1 |
Ext Vocab: Default=’en-US’ [19] |
|
|
textString |
1 |
1 |
1 |
String [1..4095] |
|
Data Model Notes:
[1] External VDEX vocabulary: ‘formnameType’ – the set of permitted types of formatted names;
[2] External VDEX vocabulary: ‘nameType’ – the set of permitted types of names;
[3] External VDEX vocabulary: ‘partName’ – the set of permitted types of parts for a name;
[4] External VDEX vocabulary: ‘addressType’ – the set of permitted types of addresses;
[5] External VDEX vocabulary: ‘addressPart’ – the set of permitted types of parts for an addresses;
[6] External VDEX vocabulary: ‘contactInfoType’ – the set of permitted types of contact information;
[7] External VDEX vocabulary: ‘demographicsType’ – the set of permitted types of demographic information;
[8] External VDEX vocabulary: ‘eventDate’ – the set of permitted types of event date;
[9] Internal vocabulary: ‘gender’ – the permitted values for gender;
[10] External VDEX vocabulary: ‘demographicsInfo’ – the set of permitted types of demographic content;
[11] External VDEX vocabulary: ‘representationType’ – the set of permitted types of representation;
[12] External VDEX vocabulary: ‘agentType’ – the set of permitted types of agent;
[13] External VDEX vocabulary: ‘enterpriserolesType’ – the set of permitted types of Enterprise Role;
[14] External VDEX vocabulary: ‘systemRole’ – the set of permitted types of System Role;
[15] External VDEX vocabulary: ‘institutionRole’ – the set of permitted types of Institution Role;
[16] Internal vocabulary: ‘mediaMode’ – set of permitted types of content reference;
[17] Internal vocabulary: ‘contentRefType’ – set of permitted types of content;
[18] External VDEX vocabulary: ‘fieldType’ – set of types permitted as extensions;
[19] External vocabulary: ‘language’ – use ISO639 as the source.
The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the GMS are summarized in Table 3.4.
Table 3.4 GMS core profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createGroup |
Implements |
Calls |
|
createByProxyGroup |
|
|
|
deleteGroup |
Implements |
Calls |
|
readGroup |
Calls |
Implements |
|
readAllGroupIds |
|
|
|
readGroupIdsForPerson |
|
|
|
readGroupIdsFromSavePoint |
|
|
|
readGroups |
Calls |
Implements |
|
readGroupsFromSavePoint |
|
|
|
updateGroup |
|
|
|
replaceGroup |
Implements |
Calls |
|
discoverGroupIds |
|
|
|
changeGroupIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 3.5. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 3.5 Permitted status codes for the GMS core profile operations.
|
CodeMinor Status Code
|
createGroup |
deleteGroup |
readGroup |
readGroups |
replaceGroup |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
Y |
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
|
Y |
|
‘unknownrelation’ |
|
|
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
‘partialreadfail’ |
|
|
|
Y |
|
|
‘unknownvocabulary’ |
Y |
|
|
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘unknownextension’ |
Y |
|
|
|
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 3.6.
Table 3.6 GMS data model profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
Type |
||
|
GroupRecordSet |
– |
– |
– |
– |
|
|
groupRecord |
0 |
* |
100,000 |
GroupRecord |
|
|
|
|
|
|
|
|
|
GroupRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
group |
1 |
1 |
1 |
Group |
|
|
|
|
|
|
|
|
|
Group |
– |
– |
– |
– |
|
|
groupType |
1 |
1 |
1 |
GroupType |
|
|
|
0 |
1 |
1 |
Normalized String: [1-4095]. |
|
|
url |
0 |
1 |
1 |
URL |
|
|
timeFrame |
0 |
1 |
1 |
Timeframe |
|
|
relationship |
0 |
* |
5 |
Relationship |
|
|
enrollControll |
0 |
1 |
1 |
EnrollControll |
|
|
org |
0 |
1 |
1 |
Org |
|
|
description |
0 |
1 |
1 |
Description |
|
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
GroupType |
– |
– |
– |
– |
|
|
scheme |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
TypeValue |
1 |
* |
1 |
TypeValue |
|
|
|
|
|
|
|
|
|
TypeValue |
– |
– |
– |
– |
|
|
id |
1 |
1 |
1 |
NormalizedString |
|
|
type |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-63] |
|
|
level |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-63] |
|
|
|
|
|
|
|
|
|
Relationship |
– |
– |
– |
– |
|
|
relationId |
1 |
1 |
1 |
GUID |
|
|
relation |
1 |
1 |
1 |
Int Vocab [1] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
label |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
|
|
|
|
|
|
|
EnrollControl |
– |
– |
– |
– |
|
|
enrollAccept |
0 |
1 |
1 |
Boolean: {true=accept enrollment; false=do not accept enrollment} |
|
|
enrollAllowed |
0 |
1 |
1 |
Boolean: {true=allow enrollment; false=do not allow enrollment} |
|
|
|
|
|
|
|
|
|
Org |
– |
– |
– |
– |
|
|
orgName |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
orgUnit |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
type |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
id |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
|
|
|
|
|
|
|
TimeFrame |
– |
– |
– |
– |
|
|
begin |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
end |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
restrict |
0 |
1 |
1 |
Boolean: {true=restriction is active; false=restriction is not active} |
|
|
adminPeriod |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
|
|
|
|
|
|
|
Description |
– |
– |
– |
– |
|
|
shortDescription |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
longDescription |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-2095] |
|
|
fullDescription |
0 |
1 |
1 |
FullDescription |
|
|
|
|
|
|
|
|
|
FulDescription |
– |
– |
– |
– |
|
|
mediamode |
1 |
1 |
1 |
Int Vocab. [2] |
|
|
contentRefType |
1 |
1 |
1 |
Int Vocab. [3] |
|
|
mimeType |
1 |
1 |
1 |
Normalized String: [1-63] |
|
|
descriptionText |
|
|
|
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-1024] |
|
|
|
|
|
|
|
|
|
Metadata |
– |
– |
– |
– |
|
|
metadataNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
IMSExtension |
– |
– |
– |
– |
|
|
extensionNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
ExtensionField |
– |
– |
– |
– |
|
|
fieldName |
1 |
1 |
1 |
Normalized String: [1-127] |
|
|
fieldType |
1 |
1 |
1 |
Entry in ‘extensionVocabulary’ [4] |
|
|
fieldValue |
1 |
1 |
1 |
Normalized String: [1-1023] |
|
|
|
|
|
|
|
|
|
GUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
GUIDSet |
– |
– |
– |
This is only used as a parameter. |
|
|
sourcedId |
0 |
* |
250,000 |
GUID |
|
|
|
|
|
|
|
|
|
QueryObject |
– |
– |
– |
Normalized String: [1-1023] This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
SequenceIdentifier |
– |
– |
– |
DateTime This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
Text |
– |
– |
– |
– |
|
|
language |
1 |
1 |
1 |
Ext Vocab: Default=’en-US’ [5] |
|
|
textString |
1 |
1 |
1 |
String [1..4095] |
|
|
|
|
|
|
|
|
|
URL |
– |
– |
– |
Normalized String: [1-4095] |
|
Data Model Notes:
[1] Internal vocabulary: ‘relation’ – set of permitted types of relationship
[2] Internal vocabulary: ‘mediaMode’ – set of permitted types of content reference;
[3] Internal vocabulary: ‘contentRefType’ – set of permitted types of content;
[4] External VDEX vocabulary: ‘fieldType’ – set of types permitted as extensions;
[5] External vocabulary: ‘language’ – use ISO639 as the source.
The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the MMS are summarized in Table 3.7.
Table 3.7 MMS core profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createMembership |
Implements |
Calls |
|
createByProxyMembership |
|
|
|
deleteMembership |
Implements |
Calls |
|
readMembership |
Calls |
Implements |
|
readMembershipIdsForPerson |
|
|
|
readMembershipIdsForPersonWithRole |
|
|
|
readMembershipIdsForCollection |
|
|
|
readAllMembershipIds |
|
|
|
readMembershipIdsFromSavePoint |
|
|
|
readMemberships |
Calls |
Implements |
|
readMembershipsFromSavePoint |
|
|
|
updateMembership |
|
|
|
replaceMembership |
Implements |
Calls |
|
discoverMembershipIds |
|
|
|
changeMembershipIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 3.8. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 3.8 Permitted status codes for the MMS core profile operations.
|
CodeMinor Status Code
|
createMembership |
deleteMembership |
readMembership |
readMemberships |
replaceMembership |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
Y |
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
‘partialreadfail’ |
|
|
|
Y |
|
|
‘unknownvocabulary’ |
Y |
|
|
|
Y |
|
‘unknownextension’ |
Y |
|
|
|
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 3.9.
Table 3.9 MMS data model profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes |
|||
|
Min |
Max |
SPMax |
Type |
||
|
MembershipRecordSet |
– |
– |
– |
– |
|
|
membershipRecord |
0 |
* |
100,000 |
MembershipRecord |
|
|
|
|
|
|
|
|
|
MembershipRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
membership |
1 |
1 |
1 |
Membership |
|
|
|
|
|
|
|
|
|
Membership |
– |
– |
– |
This is a required field. |
|
|
collectionSourcedId |
1 |
1 |
1 |
GUID |
|
|
membershipIdType |
1 |
1 |
1 |
Int Vocab. [1] |
|
|
member |
1 |
1 |
1 |
Member |
|
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
|
|
|
|
|
|
|
Member |
– |
– |
– |
This is a required field. |
|
|
personSourcedid |
1 |
1 |
1 |
GUID |
|
|
role |
1 |
* |
5 |
Role |
|
|
|
|
|
|
|
|
|
Role |
– |
– |
– |
This is a required field. |
|
|
roleType |
1 |
1 |
1 |
Ext Vocab. [2] |
|
|
subRole |
0 |
1 |
1 |
Ext Vocab. [3] |
The Teaching Assistant subroles to be reduced to TeachingAssistant subrole only; |
|
timeFrame |
0 |
1 |
1 |
Timeframe |
|
|
status |
0 |
1 |
1 |
Int Vocab. [4] |
|
|
dateTime |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
creditHours |
0 |
1 |
1 |
Integer: [1-9999] |
|
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
TimeFrame |
– |
– |
– |
This is an optional field. |
|
|
begin |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
end |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
restrict |
0 |
1 |
1 |
Boolean: {true=restriction is active; false=restriction is not active} |
|
|
adminPeriod |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
|
|
|
|
|
|
|
Metadata |
– |
– |
– |
This is an optional field. |
|
|
metadataNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
IMSExtension |
– |
– |
– |
This is an optional field. |
|
|
extensionNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
ExtensionField |
– |
– |
– |
This is a required field. |
|
|
fieldName |
1 |
1 |
1 |
Normalized String: [1-127] |
|
|
fieldType |
1 |
1 |
1 |
Entry in ‘extensionVocabulary’ [5] |
|
|
fieldValue |
1 |
1 |
1 |
Normalized String: [1-1023] |
|
|
|
|
|
|
|
|
|
GUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
GUIDSet |
– |
– |
– |
This is only used as a parameter. |
|
|
sourcedId |
0 |
* |
250,000 |
GUID |
|
|
|
|
|
|
|
|
|
QueryObject |
– |
– |
– |
Normalized String: [1-1023] This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
SequenceIdentifier |
– |
– |
– |
DateTime This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
Text |
– |
– |
– |
– |
|
|
language |
1 |
1 |
1 |
Ext Vocab: Default=’en-US’ [6] |
|
|
textString |
1 |
1 |
1 |
String [1..4095] |
|
Data Model Notes:
[1] Internal vocabulary: ‘membershipIdType’ – set of permitted types of membership identifier;
[2] External VDEX vocabulary: ‘roleType’ – set of types permitted roles;
[3] External VDEX vocabulary: ‘subRole’ – set of permitted sub-roles. The Teaching Assistant subroles are to be reduced to the TeachingAssistant subrole only;
[4] Internal vocabulary: ‘status’ – set of permitted values for the status;
[5] External VDEX vocabulary: ‘fieldType’ – set of types permitted as extensions. NO changes for the Profile;
[6] External vocabulary: ‘language’ – use ISO639 as the source. NO changes for the Profile.
The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the CMS are summarized in Table 3.10.
Table 3.10 CMS Course Section core profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createCourseSection |
Implements |
Calls |
|
createByProxyCourseSection |
|
|
|
createCourseSectionFromCourseSection |
|
|
|
deleteCourseSection |
Implements |
Calls |
|
readCourseSection |
Calls |
Implements |
|
readAllCourseSectionIds |
|
|
|
readCourseSectionIdsFromSavePoint |
|
|
|
readCourseSections |
Calls |
Implements |
|
readCourseSectionsFromSavePoint |
|
|
|
replaceCourseSection |
Implements |
Calls |
|
updateCourseSection |
|
|
|
updateCourseSectionStatus |
|
|
|
discoverCourseSectionIds |
|
|
|
changeCourseSectionIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 3.11. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 3.11 Permitted status codes for the CMS core profile operations.
|
CodeMinor Status Code
|
createCourseSection |
deleteCourseSection |
readCourseSection |
readCourseSections |
replaceCourseSection |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
Y |
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
‘partialreadfail’ |
|
|
|
Y |
|
|
‘unknownextension’ |
Y |
|
|
|
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 3.12.
Table 3.12 CMS data model profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
Type |
||
|
CourseTemplateRecordSet |
– |
– |
– |
– |
Not required. |
|
courseTemplateRecord |
0 |
* |
2,000 |
CourseTemplateRecord |
Not required. |
|
CourseOfferingRecordSet |
– |
– |
– |
– |
Not required. |
|
courseOfferingRecord |
0 |
* |
10,000 |
CourseOfferingRecord |
Not required. |
|
CourseSectionRecordSet |
– |
– |
– |
– |
|
|
courseSectionRecord |
0 |
* |
10,000 |
CourseSectionRecord |
|
|
SectionAssociationRecordSet |
– |
– |
– |
– |
Not required. |
|
sectionAssociationRecord |
0 |
* |
10,000 |
SectionAssociationRecord |
Not required. |
|
|
|
|
|
|
|
|
CourseSectionRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
courseSection |
1 |
1 |
1 |
CourseSection |
|
|
|
|
|
|
|
|
|
CourseSection |
– |
– |
– |
– |
|
|
label |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
title |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
parentOfferingId |
0 |
1 |
1 |
GUID |
|
|
catalogDescription |
0 |
1 |
1 |
Description |
|
|
status |
0 |
1 |
1 |
Ext Vocab. [1] |
|
|
defaultCredits |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-2047] |
|
|
category |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
maxNumberofStudents |
0 |
1 |
1 |
Integer: [1-999]. |
|
|
numberofStudents |
0 |
1 |
1 |
Integer: [1-999]. |
|
|
org |
0 |
1 |
1 |
Org |
|
|
timeFrame |
0 |
* |
5 |
TimeFrame |
|
|
enrollControl |
0 |
1 |
1 |
EnrollControl |
|
|
location |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
notes |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-2047] |
|
|
meeting |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
Org |
– |
– |
– |
– |
|
|
orgName |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
orgUnit |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
type |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
id |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-255] |
|
|
|
|
|
|
|
|
|
EnrollControl |
– |
– |
– |
– |
|
|
enrollAccept |
0 |
1 |
1 |
Boolean: {true=accept enrollment; false=do not accept enrollment} |
|
|
enrollAllowed |
0 |
1 |
1 |
Boolean: {true=allow enrollment; false=do not allow enrollment} |
|
|
|
|
|
|
|
|
|
TimeFrame |
– |
– |
– |
– |
|
|
begin |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
end |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
restrict |
0 |
1 |
1 |
Boolean: {true=restriction is active; false=restriction is not active} |
|
|
adminPeriod |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
{As base type} |
|
|
|
|
|
|
|
|
|
Description |
– |
– |
– |
– |
|
|
shortDescription |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-127] |
|
|
longDescription |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-2095] |
|
|
fullDescription |
0 |
1 |
1 |
FullDescription |
|
|
|
|
|
|
|
|
|
FulDescription |
– |
– |
– |
– |
|
|
mediamode |
1 |
1 |
1 |
Int Vocab. [2] |
|
|
contentRefType |
1 |
1 |
1 |
Int Vocab. [3] |
|
|
mimeType |
1 |
1 |
1 |
Normalized String: [1-63] |
|
|
descriptionText |
|
|
|
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String [1-1024] |
|
|
|
|
|
|
|
|
|
Metadata |
– |
– |
– |
– |
|
|
metadataNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
IMSExtension |
– |
– |
– |
– |
|
|
extensionNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
ExtensionField |
– |
– |
– |
– |
|
|
fieldName |
1 |
1 |
1 |
Normalized String: [1-127] |
|
|
fieldType |
1 |
1 |
1 |
Entry in ‘extensionVocabulary’ [4] |
|
|
fieldValue |
1 |
1 |
1 |
Normalized String: [1-1023] |
|
|
|
|
|
|
|
|
|
GUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
GUIDSet |
– |
– |
– |
This is only used as a parameter. |
|
|
sourcedId |
0 |
* |
250,000 |
GUID |
|
|
|
|
|
|
|
|
|
QueryObject |
– |
– |
– |
Normalized String: [1-1023] This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
SequenceIdentifier |
– |
– |
– |
DateTime This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
Text |
– |
– |
– |
– |
|
|
language |
1 |
1 |
1 |
Ext Vocab: Default=’en-US’ [5] |
|
|
textString |
1 |
1 |
1 |
String [1..4095] |
|
Data Model Notes:
[1] External VDEX vocabulary: ‘status’ – set of permitted values of the status field;
[2] Internal vocabulary: ‘mediaMode’ – set of permitted types of content reference;
[3] Internal vocabulary: ‘contentRefType’ – set of permitted types of content;
[4] External VDEX vocabulary: ‘fieldType’ – set of types permitted as extensions;
[5] External vocabulary: ‘language’ – use ISO639 as the source.
The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the OMS are summarized in Table 3.13.
Table 3.13 OMS Result core profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createResult |
|
|
|
createByProxyResult |
|
|
|
deleteResult |
|
|
|
readResult |
Implements |
Calls |
|
readAllResultIds |
|
|
|
readResultIdsForPerson |
|
|
|
readResultIdsForLineItem |
|
|
|
readResultIdsForCourseOffering |
|
|
|
readResultIdsForCourseSection |
|
|
|
readResultIdsForCourseSectionWithStatus |
|
|
|
readResultIdsForLineItemWithLineItemType |
Implements |
Calls |
|
readResultIdsFromSavePoint |
|
|
|
readResults |
|
|
|
readResultsFromSavePoint |
|
|
|
updateResult |
|
|
|
replaceResult |
|
|
|
discoverResultIds |
|
|
|
changeResultIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 3.14. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 3.14 Permitted status codes for the OMS core profile operations.
|
CodeMinor Status Code
|
readResult |
readResultIdsForLineItemWithLineItemType |
|
‘fullsuccess’ |
Y |
Y |
|
‘nosourcedids’ |
|
Y |
|
‘invalidlineitemtype’ |
|
Y |
|
‘incompletedata’ |
Y |
Y |
|
‘unknownobject’ |
Y |
Y |
|
‘targetreadfailure’ |
Y |
Y |
|
‘unknownextension’ |
Y |
Y |
|
‘targetisbusy’ |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
The profiled data model is given in Table 3.15.
Table 3.15 OMS data model profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
Type |
||
|
LineItemRecordSet |
– |
– |
– |
– |
Not required. |
|
lineItemRecord |
0 |
* |
1,000 |
LineItemRecord |
Not required. |
|
ResultRecordSet |
– |
– |
– |
– |
|
|
resultRecord |
0 |
* |
1,000 |
ResultRecord |
|
|
ResultValeRecordSet |
– |
– |
– |
– |
Not required. |
|
resultValueRecord |
0 |
* |
1,000 |
ResultValueRecord |
Not required. |
|
|
|
|
|
|
|
|
ResultRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
result |
1 |
1 |
1 |
Result |
|
|
|
|
|
|
|
|
|
Result |
– |
– |
– |
– |
|
|
statusofResult |
0 |
1 |
1 |
ResultStatus |
|
|
lineItemSourcedId |
1 |
1 |
1 |
GUID |
If the LineItemManager interface is unsupported then this value is set to ‘0’. [1], [2] |
|
personSourcedId |
0 |
1 |
1 |
GUID |
|
|
date |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
resultValue |
0 |
1 |
1 |
ResultValue |
Not required. |
|
resultScore |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-127] |
|
|
resultMessageSettings |
0 |
1 |
1 |
PropertySet |
Not required. |
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
ResultStatus |
– |
– |
– |
– |
|
|
resultStatusVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
resultStatusValue |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Ext Vocab. [3] |
Only the entry ‘Final’ is required. |
|
localeKey |
0 |
1 |
1 |
NormalizedString |
Not required. |
|
defaultDisplayName |
0 |
1 |
1 |
NormalizedString |
Not required. |
|
|
|
|
|
|
|
|
Metadata |
– |
– |
– |
– |
|
|
metadataNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
IMSExtension |
– |
– |
– |
– |
|
|
extensionNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
ExtensionField |
– |
– |
– |
– |
|
|
fieldName |
1 |
1 |
1 |
Normalized String: [1-127] |
|
|
fieldType |
1 |
1 |
1 |
Entry in ‘extensionVocabulary’ [4] |
|
|
fieldValue |
1 |
1 |
1 |
Normalized String: [1-1023] |
|
|
|
|
|
|
|
|
|
GUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
GUIDSet |
– |
– |
– |
This is only used as a parameter. |
|
|
sourcedId |
0 |
* |
250,000 |
GUID |
|
|
|
|
|
|
|
|
|
QueryObject |
– |
– |
– |
Normalized String: [1-1023] This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
SequenceIdentifier |
– |
– |
– |
DateTime This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
Text |
– |
– |
– |
– |
|
|
language |
1 |
1 |
1 |
Ext Vocab: Default=’en-US’ [5] |
|
|
textString |
1 |
1 |
1 |
String [1..4095] |
|
Data Model Notes:
[1] The LineItem data model is not required for this Profile. However, the operation ‘readResultIdsForLineItemWithLineItemType’ indicates that the end-system must understand and support the relationship between a Result’ and the LineItemType;
[2] External VDEX vocabulary: ‘lineItemTypeValue’ – set of permitted ‘lineItem’ types (this is required to define the permitted parameter values for LineItemtype);
[3] External VDEX vocabulary: ‘resultStatusValue’ – set of permitted values for the status of a result. Only the entry ‘Final’ is required;
[4] External VDEX vocabulary: ‘fieldType’ – set of types permitted as extensions;
[5] External vocabulary: ‘language’ – use ISO639 as the source.
The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the BDEMS are summarized in Table 3.16.
Table 3.16 BDEMS core profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
announceBulkDataExchange |
Implements |
Calls |
|
announceFailureBulkDataExchange |
Implements |
Calls |
|
reportBulkDataExchange |
Calls |
Implements |
|
requestBulkDataExchange |
Calls |
Implements |
|
ignoreBulkDataExchange |
Implements |
Calls |
|
cancelBulkDataExchange |
Implements |
Calls |
|
HTTPSget |
Calls |
Implements |
NOTE: The HTTPSget operation is a direct binding to HTTP.
Every implementation of the Core Profiles is
required to support the full BDEMS. The data models supported by
each implementation are reflected in the status codes returned by
the BDEMS.
The summary list of status codes that can be returned by the
different operations through the StatusInfo object is given in
Table 3.17. The key to the entries is: ‘Y’ denotes
the code may be returned by that operation. A blank entry means
that the code cannot be returned by that operation.
Table 3.17 Status codes for the BulkDataExchangeManager interface operations.
|
CodeMinor Status Code
|
announce |
announceFailure |
report |
request |
ignore |
cancel |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘invalidtransactionid’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘invaliddata’ |
Y |
|
Y |
|
|
|
|
‘incompletedata’ |
Y |
|
Y |
|
|
|
|
‘invalidurl’ |
Y |
|
|
|
|
|
|
‘savepointerror’ |
|
|
|
Y |
|
|
|
‘savepointsyncerror’ |
|
|
|
Y |
|
|
|
‘unsupportedservices’ |
Y |
|
|
|
|
|
|
‘unsupportedoperations’ |
Y |
|
|
|
|
|
|
‘expireddate’ |
|
|
Y |
|
|
|
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISservice’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unknownservice’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unknownoperation’ |
Y |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 3.18.
Table 3.18 BDEMS data model profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
|
||
|
BulkBlockManifest |
– |
– |
– |
– |
|
|
bulkBlockId |
1 |
1 |
1 |
LUID |
|
|
expiryDate |
1 |
1 |
1 |
DateTime:
ISO8601 |
|
|
bulkBlockDataFile |
1 |
* |
5 |
BulkBlockDataFile |
|
|
|
|
|
|
|
|
|
BulkBlockDataFile |
– |
– |
– |
– |
|
|
url |
1 |
1 |
1 |
URL |
|
|
checkSum |
1 |
1 |
1 |
Hexadecimal
(128bit): |
|
|
totalSize |
1 |
1 |
1 |
Integer: [1-(232-1)] |
|
|
savePoint |
1 |
1 |
1 |
DateTime |
|
|
serviceSet |
1 |
1 |
1 |
ServiceSet |
|
|
|
|
|
|
|
|
|
ServiceSet |
– |
– |
– |
– |
|
|
serviceRecord |
1 |
* |
5 |
ServiceRecord |
|
|
|
|
|
|
|
|
|
ServiceRecord |
– |
– |
– |
– |
|
|
serviceName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
interfaceName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
operationSet |
1 |
1 |
1 |
OperationSet |
|
|
|
|
|
|
|
|
|
OperationSet |
– |
– |
– |
– |
|
|
operationName |
1 |
* |
5000 |
Normalized String: [1-255] |
|
|
|
|
|
|
|
|
|
BulkBlockReport |
– |
– |
– |
– |
|
|
bulkBlockManifestIdRef |
1 |
1 |
1 |
LUID |
|
|
transactionReport |
0 |
* |
1000 |
TransactionReport |
|
|
|
|
|
|
|
|
|
TransactionReport |
– |
– |
– |
– |
|
|
transactionOpIdentifierRef |
1 |
1 |
1 |
GUID |
|
|
serviceName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
transactionFailStatus |
1 |
1 |
1 |
Ext Vocab. [1] |
|
|
|
|
|
|
|
|
|
BulkDataRecord |
– |
– |
– |
– |
|
|
transactionRecord |
1 |
* |
100,000 |
TransactionRecord |
|
|
|
|
|
|
|
|
|
TransactionRecord |
– |
– |
– |
– |
|
|
transactionOpIdentifier |
1 |
1 |
1 |
LUID |
|
|
serviceName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
interfaceName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
operationName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
parameterSet |
1 |
1 |
1 |
ParameterSet |
|
|
|
|
|
|
|
|
|
ParameterSet |
– |
– |
– |
– |
|
|
parameterRecord |
1 |
* |
5 |
ParameterRecord |
|
|
|
|
|
|
|
|
|
ParameterRecord |
– |
– |
– |
– |
|
|
parameterInvoc |
1 |
1 |
1 |
Int Vocab. [2] |
|
|
parameterName |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
parameterType |
1 |
1 |
1 |
Ext Vocab. [3] |
|
|
parameterValue |
1 |
1 |
1 |
ParameterValue |
|
|
|
|
|
|
|
|
|
ParameterValue |
– |
– |
– |
– |
|
|
guid [XOR1] |
0 |
1 |
1 |
GUID |
|
|
guidSet [XOR1] |
0 |
1 |
1 |
GUIDSet |
|
|
queryObject [XOR1] |
0 |
1 |
1 |
QueryObject |
|
|
sequenceIdentifier [XOR1] |
0 |
1 |
1 |
SequenceIdentifier |
|
|
text [XOR1] |
0 |
1 |
1 |
Text |
|
|
url [XOR1] |
0 |
1 |
1 |
URL |
|
|
personRecord [XOR1] |
0 |
1 |
1 |
PersonRecord |
|
|
personCoreRecord [XOR1] |
0 |
1 |
1 |
PersonCoreRecord |
|
|
personRecordSet [XOR1] |
0 |
1 |
1 |
PersonRecordSet |
|
|
groupRecord [XOR1] |
0 |
1 |
1 |
GroupRecord |
|
|
membershipRecord [XOR1] |
0 |
1 |
1 |
MembershipRecord |
|
|
membershipRecordSet [XOR1] |
0 |
1 |
1 |
MembershipRecordSet |
|
|
courseTemplate [XOR1] |
0 |
1 |
1 |
CourseTemplate |
|
|
courseTemplateSet [XOR1] |
0 |
1 |
1 |
CourseTemplateSet |
|
|
courseOffering [XOR1] |
0 |
1 |
1 |
CourseOffering |
|
|
courseOfferingSet [XOR1] |
0 |
1 |
1 |
CourseOfferingSet |
|
|
courseSection [XOR1] |
0 |
1 |
1 |
CourseSection |
|
|
courseSectionSet [XOR1] |
0 |
1 |
1 |
CourseSectionSet |
|
|
sectionAssociation [XOR1] |
0 |
1 |
1 |
SectionAssociation |
|
|
sectionAssociationSet [XOR1] |
0 |
1 |
1 |
SectionAssociationSet |
|
|
resultRecord [XOR1] |
0 |
1 |
1 |
ResultRecord |
|
|
resultRecordSet [XOR1] |
0 |
1 |
1 |
ResultRecordSet |
|
|
resultValueRecord [XOR1] |
0 |
1 |
1 |
ResultValueRecord |
|
|
resultValueRecordSet [XOR1] |
0 |
1 |
1 |
ResultValueRecordSet |
|
|
lineItemRecord [XOR1] |
0 |
1 |
1 |
LineItemRecord |
|
|
lineItemRecordSet [XOR1] |
0 |
1 |
1 |
LineItemRecordSet |
|
|
lineItemType [XOR1] |
0 |
1 |
1 |
LineItemType |
|
|
membershipIdType [XOR1] |
0 |
1 |
1 |
MembershipIdType |
|
|
relationship [XOR1] |
0 |
1 |
1 |
relationship |
|
|
role [XOR1] |
0 |
1 |
1 |
Role |
|
|
resultStatus [XOR1] |
0 |
1 |
1 |
ResultStatus |
|
|
status [XOR1] |
0 |
1 |
1 |
Status |
|
|
|
|
|
|
|
|
|
FailureObject |
– |
– |
– |
|
|
|
failureCode |
1 |
1 |
1 |
Ext Vocab. [4] |
|
|
failureDescription |
1 |
1 |
1 |
Normalized String: [1-255] |
|
|
|
|
|
|
|
|
|
FilterObject |
– |
– |
– |
|
|
|
filterRule |
1 |
* |
2 |
FilterRule |
|
|
|
|
|
|
|
|
|
FilterRule |
– |
– |
– |
|
|
|
filterType |
1 |
1 |
1 |
Int Vocab. [5] |
|
|
filterValue |
1 |
1 |
1 |
Normalized String: [1-31] |
|
|
|
|
|
|
|
|
|
LUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
URL |
– |
– |
– |
Normalized String: [1-4095] |
|
Data Model Notes:
[1] External VDEX vocabulary: ‘transactionsFailStatus’ – set of permitted as failure status codes for a transaction request;
[2] Internal vocabulary: ‘parameterInvoc’ – set of permitted set of parameter kinds;
[3] External VDEX vocabulary: ‘parameterType’ – set of permitted types of parameter;
[4] External VDEX vocabulary: ‘fileValue’ – the set of permitted values of data object to be supplied;
[5] Internal vocabulary: ‘filterType’ – enumerated as { object | savepoint }
The Grade Addition Profile is based upon more detailed functionality supplied through the OMS. The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the Grade Addition profile of the OMS are summarized in Tables 4.1 (for LineItem), 4.3 (for Result) and 4.5 for (ResultValue).
Table 4.1 OMS LineItem grade addition profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createLineItem |
Implements |
Calls |
|
createByProxyLineItem |
|
|
|
deleteLineItem |
Implements |
Calls |
|
readLineItem |
Calls |
Implements |
|
readAllLineItemIds |
|
|
|
readLineItemIdsWithLineItemType |
|
|
|
readLineItemIdsForPerson |
|
|
|
readLineItemIdsForCourseOffering |
|
|
|
readLineItemIdsForCourseSection |
|
|
|
readLineItemIdsFromSavePoint |
|
|
|
readLineItems |
Calls |
Implements |
|
readLineItemsFromSavePoint |
|
|
|
updateLineItem |
|
|
|
replaceLineItem |
Implements |
Calls |
|
discoverLineItemIds |
|
|
|
changeLineItemIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 4.2. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 4.2 Permitted status codes for the LineItem grade addition profile operations.
|
CodeMinor Status Code
|
createLineItem |
deleteLineItem |
readLineItem |
readLineItems |
replaceLineItem |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
Y |
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
Y |
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
Y |
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
Y |
|
|
‘unknownextension’ |
Y |
|
Y |
Y |
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
Table 4.3 OMS Result grade addition profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createResult |
Implements |
Calls |
|
createByProxyResult |
|
|
|
deleteResult |
Implements |
Calls |
|
readResult |
Calls |
Implements |
|
readAllResultIds |
|
|
|
readResultIdsForPerson |
|
|
|
readResultIdsForLineItem |
|
|
|
readResultIdsForCourseOffering |
|
|
|
readResultIdsForCourseSection |
|
|
|
readResultIdsForCourseSectionWithStatus |
|
|
|
readResultIdsForLineItemWithLineItemType |
Implements |
Calls |
|
readResultIdsFromSavePoint |
|
|
|
readResults |
Calls |
Implements |
|
readResultsFromSavePoint |
|
|
|
updateResult |
|
|
|
replaceResult |
Implements |
Calls |
|
discoverResultIds |
|
|
|
changeResultIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 4.4. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 4.4 Permitted status codes for the Result grade addition profile operations.
|
CodeMinor Status Code
|
createResult |
deleteResult |
readResult |
readResults |
readResultIdsForLineItemWithLineItemType |
replaceResult |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘nosourcedids’ |
|
|
|
|
Y |
|
|
‘overflowfail’ |
Y |
|
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
|
‘invaliddata’ |
Y |
|
|
Y |
|
Y |
|
‘invalidlineitemtype’ |
|
|
|
|
Y |
|
|
‘incompletedata’ |
Y |
|
Y |
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
Y |
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
Y |
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
|
‘unknownextension’ |
Y |
|
Y |
Y |
Y |
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
Y |
Table 4.5 OMS ResultValue grade addition profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createResultValue |
Implements |
Calls |
|
createByProxyResultValue |
|
|
|
deleteResultValue |
Implements |
Calls |
|
readResultValue |
Calls |
Implements |
|
readAllResultValueIds |
|
|
|
readAllResultIdsForLineItem |
|
|
|
readAllResultIdsForResult |
|
|
|
readResultValueIdsFromSavePoint |
|
|
|
readResultValues |
Calls |
Implements |
|
readResultValuesFromSavePoint |
|
|
|
updateResultValue |
|
|
|
replaceResultValue |
Implements |
Calls |
|
discoverResultValueIds |
|
|
|
changeResultValueIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 4.6. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 4.6 Permitted status codes for the ResultValue grade addition profile operations.
|
CodeMinor Status Code
|
createResultValue |
deleteResultValue |
readResultValue |
readResultValues |
replaccResultValue |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘nosourcedids’ |
|
|
Y |
|
|
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
|
Y |
Y |
|
‘invalidlineitemtype’ |
|
|
Y |
|
|
|
‘incompletedata’ |
Y |
|
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘unknownobject’ |
|
Y |
Y |
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
‘unknownextension’ |
Y |
|
Y |
|
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 4.7.
Table 4.7 OMS data model grade addition profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
Type |
||
|
LineItemRecordSet |
– |
– |
– |
– |
|
|
lineItemRecord |
0 |
* |
1,000 |
LineItemRecord |
|
|
ResultRecordSet |
– |
– |
– |
– |
|
|
resultRecord |
0 |
* |
1,000 |
ResultRecord |
|
|
ResultValeRecordSet |
– |
– |
– |
– |
|
|
resultValueRecord |
0 |
* |
1,000 |
ResultValueRecord |
|
|
|
|
|
|
|
|
|
LineItemRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
lineItem |
1 |
1 |
1 |
LineItem |
|
|
|
|
|
|
|
|
|
ResultRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
result |
1 |
1 |
1 |
Result |
|
|
|
|
|
|
|
|
|
ResultValueRecord |
– |
– |
– |
– |
|
|
sourcedGUID |
1 |
1 |
1 |
SourcedGUID |
|
|
refAgentInstance |
0 |
1 |
1 |
Normalized String [1-4095] |
|
|
sourcedId |
1 |
1 |
1 |
GUID |
|
|
resultValue |
1 |
1 |
1 |
ResultValue |
|
|
|
|
|
|
|
|
|
LineItem |
– |
– |
– |
– |
|
|
context |
0 |
1 |
1 |
Context |
|
|
lineItemType |
0 |
1 |
1 |
LineItemType |
|
|
label |
0 |
1 |
1 |
NormalizedString |
|
|
resultValueSourcedId |
0 |
1 |
1 |
GUID |
Both or these must NOT be present. |
|
resultValue |
0 |
1 |
1 |
ResultValue |
|
|
lineItemSettings |
0 |
1 |
1 |
PropertySet |
Not required. |
|
outcomesHandlerSourcedId |
0 |
1 |
1 |
AnyURI |
Not required. |
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
Context |
|
|
|
|
|
|
contextIdentifier |
1 |
1 |
1 |
GUID |
|
|
contextType |
1 |
1 |
1 |
AnyURI |
|
|
|
|
|
|
|
|
|
LineItemType |
|
|
|
|
|
|
lineItemTypeVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
lineItemTypeValue |
1 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Ext Vocab. [1] |
|
|
resourceHandlerId |
0 |
1 |
1 |
AnyURI |
Not required. |
|
localeKey |
0 |
1 |
1 |
NormalizedString |
Not required. |
|
defaultDisplayName |
0 |
1 |
1 |
NormalizedString |
Not required. |
|
|
|
|
|
|
|
|
Result |
– |
– |
– |
– |
|
|
statusofResult |
0 |
1 |
1 |
ResultStatus |
|
|
lineItemSourcedId |
1 |
1 |
1 |
GUID |
|
|
personSourcedId |
0 |
1 |
1 |
GUID |
|
|
date |
0 |
1 |
1 |
DateTime:
ISO8601 |
|
|
resultValue |
0 |
1 |
1 |
ResultValue |
|
|
resultScore |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-127] |
|
|
resultMessageSettings |
0 |
1 |
1 |
PropertySet |
Not required. |
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
ResultStatus |
– |
– |
– |
– |
|
|
resultStatusVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
statusofResult |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
Ext Vocab. [2] |
Only the entry ‘Final’ is required. |
|
localeKey |
0 |
1 |
1 |
NormalizedString |
Not required. |
|
defaultDisplayName |
0 |
1 |
1 |
NormalizedString |
Not required. |
|
|
|
|
|
|
|
|
ResultValue |
– |
– |
– |
– |
|
|
label |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-63] |
|
|
valueList [XOR1] |
0 |
1 |
1 |
ValueList |
|
|
valueRange [XOR1] |
0 |
1 |
1 |
ValueRange |
|
|
dataSource |
0 |
1 |
1 |
GUID |
|
|
recordInfo |
0 |
1 |
1 |
Metadata |
|
|
extension |
0 |
1 |
1 |
IMSExtension |
|
|
|
|
|
|
|
|
|
ValueList |
– |
– |
– |
– |
|
|
orderValue |
1 |
* |
5 |
OrderedValue |
|
|
|
|
|
|
|
|
|
ValueRange |
– |
– |
– |
– |
|
|
min |
0 |
1 |
1 |
Decimal: ±32676.00 |
|
|
max |
0 |
1 |
1 |
Decimal: ±32676.00 |
|
|
|
|
|
|
|
|
|
OrderedValue |
– |
– |
– |
– |
|
|
ordinal |
0 |
1 |
1 |
Integer: ±216-1 |
|
|
grade |
0 |
1 |
1 |
Text |
|
|
language |
1 |
1 |
1 |
{As base type} |
|
|
textString |
1 |
1 |
1 |
String: [1-15] |
|
|
valueRange |
0 |
1 |
1 |
ValueRange |
|
|
|
|
|
|
|
|
|
Metadata |
– |
– |
– |
– |
|
|
metadataNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
IMSExtension |
– |
– |
– |
– |
|
|
metadataNameVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
metadataValueVocabulary |
1 |
1 |
1 |
AnyURI |
|
|
extensionField |
1 |
* |
? |
ExtensionField |
|
|
|
|
|
|
|
|
|
ExtensionField |
– |
– |
– |
– |
|
|
fieldName |
1 |
1 |
1 |
Normalized String: [1-127] |
|
|
fieldType |
1 |
1 |
1 |
Entry in ‘extensionVocabulary’ [3] |
|
|
fieldValue |
1 |
1 |
1 |
Normalized String: [1-1023] |
|
|
|
|
|
|
|
|
|
GUID |
– |
– |
– |
Normalized String: [1-4095] |
|
|
|
|
|
|
|
|
|
GUIDSet |
– |
– |
– |
This is only used as a parameter. |
|
|
sourcedId |
0 |
* |
250,000 |
GUID |
|
|
|
|
|
|
|
|
|
QueryObject |
– |
– |
– |
Normalized String: [1-1023] This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
SequenceIdentifier |
– |
– |
– |
DateTime This is only used as a parameter. |
Not required. |
|
|
|
|
|
|
|
|
Text |
– |
– |
– |
– |
|
|
language |
1 |
1 |
1 |
Ext Vocab: Default=’en-US’ [4] |
|
|
textString |
1 |
1 |
1 |
String [1..4095] |
|
Data Model Notes:
[1] External VDEX vocabulary: ‘lineItemType’ – set of permitted as lineItem types;
[2] External VDEX vocabulary: ‘statusofResult’ – set of permitted value for the status of a result. Only the entry ‘Final’ is required;
[3] External VDEX vocabulary: ‘fieldType’ – set of types permitted as extensions;
[4] External vocabulary: ‘language’ – use ISO639 as the source.
The Combined Sections Addition Profile is based upon more detailed functionality supplied through the CMS. The set of operations that must be supported by ‘Sync Agent’ and ‘Ref Agent’ implementations of the Combined Sections Addition Profile of the CMS are summarized in Tables 4.8 (for CourseSection) and 4.10 for (SectionAssociation).
Table 4.8 CMS Section combined sections addition profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createCourseSection |
Implements |
Calls |
|
createByProxyCourseSection |
|
|
|
createCourseSectionFromCourseSection |
|
|
|
deleteCourseSection |
Implements |
Calls |
|
readCourseSection |
Calls |
Implements |
|
readAllCourseSectionIds |
|
|
|
readCourseSectionIdsFromSavePoint |
|
|
|
readCourseSections |
Calls |
Implements |
|
readCourseSectionsFromSavePoint |
|
|
|
replaceCourseSection |
Implements |
Calls |
|
updateCourseSection |
|
|
|
updateCourseSectionStatus |
|
|
|
discoverCourseSectionIds |
|
|
|
changeCourseSectionIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 4.9. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 4.9 Permitted status codes for the Section combined section addition profile operations.
|
CodeMinor Status Code
|
createCourseSection |
deleteCourseSection |
readCourseSection |
readCourseSections |
replaceCourseSection |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
|
‘nosourcedids’ |
|
|
Y |
|
|
|
‘overflowfail’ |
Y |
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
‘invaliddata’ |
Y |
|
|
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
|
Y |
|
‘partialdatastorage’ |
Y |
|
|
|
Y |
|
‘partialreadfail’ |
|
|
|
Y |
|
|
‘unknownobject’ |
|
Y |
Y |
|
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
‘unknownextension’ |
Y |
|
Y |
|
Y |
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
Table 4.10 CMS Association combined sections addition profile operations conformance statement.
|
Operation |
Synch Agent |
Ref Agent |
|
createSectionAssociation |
Implements |
Calls |
|
createByProxySectionAssociation |
|
|
|
deleteSectionAssociation |
Implements |
Calls |
|
readSectionAssociation |
Calls |
Implements |
|
readAllSectionAssociationIds |
|
|
|
readSectionAssociationIdsFromSavePoint |
|
|
|
readSectionAssociations |
Calls |
Implements |
|
readSectionAssociationsFromSavePoint |
|
|
|
addCourseSection |
Implements |
Calls |
|
removeCourseSection |
Implements |
Calls |
|
replaceSectionAssociation |
Implements |
Calls |
|
updateSectionAssociation |
|
|
|
discoverSectionAssociationIds |
|
|
|
changeSectionAssociationIdentifier |
|
|
The summary list of status codes that can be returned by the different operations through the StatusInfo object is given in Table 4.11. The key to the entries is: ‘Y’ denotes the code may be returned by that operation. A blank entry means that the code cannot be returned by that operation.
Table 4.11 Permitted status codes for the Association combined section addition profile operations.
|
CodeMinor Status Code
|
createSectionAssociation |
deleteSectionAssociation |
readSectionAssociation |
readSectionAssociation |
replaceSectionAssociations |
addCourseSection |
removeCourseAssociation |
|
‘fullsuccess’ |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘nosourcedids’ |
|
|
Y |
|
|
|
|
|
‘overflowfail’ |
Y |
|
|
|
|
|
|
|
‘idallocinusefail’ |
Y |
|
|
|
|
|
|
|
‘invaliddata’ |
Y |
|
|
Y |
Y |
|
Y |
|
‘incompletedata’ |
Y |
|
Y |
Y |
Y |
|
|
|
‘partialdatastorage’ |
Y |
|
|
Y |
Y |
|
|
|
‘partialreadfail’ |
|
|
|
Y |
|
|
|
|
‘unknownobject’ |
|
Y |
Y |
Y |
Y |
Y |
Y |
|
‘deletefailure’ |
|
Y |
|
|
|
|
|
|
‘targetreadfailure’ |
|
|
Y |
|
|
|
|
|
‘unknownextension’ |
Y |
|
Y |
Y |
Y |
|
|
|
‘targetisbusy’ |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘linkfailure’ |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unauthorizedrequest’ |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|
‘unsupportedLISoperation’ |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
The profiled data model is given in Table 4.12.
Table 4.12 CMS combined sections data model addition profile changes.
|
Class/Attribute |
Baseline Constraints |
Profile Notes
|
|||
|
Min |
Max |
SPMax |
Type |
||
|
CourseTemplateRecordSet |
– |
– |
– |
– |
Not required. |
|
courseTemplateRecord |
0 |
* |
2,000 |
CourseTemplateRecord |
Not required. |
|
CourseOfferingRecordSet |
– |
– |
– |
– |
Not required. |
|
courseOfferingRecord |
0 |
* |
10,000 |
CourseOfferingRecord |
Not required. |
|
CourseSectionRecordSet |
– |
– |
– |
– |
|
|
courseSectionRecord |
0 |
* |
10,000 |
CourseSectionRecord |
|
|
SectionAssociationRecordSet |
– |
– |
– |
– |
|
|
sectionAssociationRecord |
0 |
||||