IMS GLC Learning Information Services: Profiles

Version 2.0

 



Final Release
Version 1.0

 

Date Issued:            31 December 2011

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 © 2011 IMS Global Learning Consortium. All Rights Reserved.

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/license.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

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.

 

Table of Contents

List of Tables. 4

1       Introduction.. 6

1.1   Learning Information Service Profiles Overview... 6

1.2   Scope and Context.. 6

1.3   Structure of this Document.. 6

1.4   Nomenclature.. 7

1.5   References. 7

2       Profiling the Learning Information Services. 9

2.1   The Core Profile.. 9

2.2   The Addition Profiles. 9

3       Information Model of the Core Profile.. 11

3.1   The Set of Services. 11

3.2   The Person Management Service Statement.. 11

3.2.1    The Service Statement 11

3.2.2    The Data Model Statement 13

3.3   The Group Management Service Statement.. 21

3.3.1    The Service Statement 21

3.3.2    The Data Model Statement 23

3.4   The Membership Management Service Statement.. 27

3.4.1    The Service Statement 27

3.4.2    The Data Model Statement 29

3.5   The Course Management Service Statement.. 31

3.5.1    The Service Statement 31

3.5.2    The Data Model Statement 33

3.6   The Bulk Data Exchange Management Service Statement.. 37

3.6.1    The Service Statement 37

3.6.2    The Data Model Statement 39

4       Information Models of the Profile Additions. 42

4.1   The Final Grade Addition Profile Statement.. 42

4.1.1    The Service Statements. 42

4.1.2    The Data Model Statements. 46

4.2   The Combined Sections Addition Profile Statement.. 50

4.2.1    The Service Statements. 50

4.2.2    The Data Model Statements. 54

4.3   The Full Course Hierarchy Addition Profile Statement.. 58

4.3.1    The Service Statements. 58

4.3.2    The Data Model Statements. 66

5       WSDL Bindings of the Core Profiles. 72

6       Best Practices & Implementation Guidance.. 73

6.1   Using the Core Profile.. 73

6.2   Using the Final Grade Addition Profile.. 73

6.3   Using the Combined Sections Addition Profile.. 73

6.4   Using the Full Course Hierarchy Addition Profile.. 73

7       Conformance & Compliance to the Core Profiles. 74

7.1   Compliance to the Core Profile.. 74

7.2   Compliance to the Addition Profiles. 75

7.2.1    Final Grade Addition Profile Conformance. 76

7.2.2    Combined Sections Addition Profile. 77

7.2.3    Fill Course Hierarchy Addition Profile. 77

7.3   Mixed Compliance.. 78

Appendix A Summary of the Services for the Profiles. 79

A1    Core Profile Summary.. 79

A2    Final Grade Addition Profile Summary.. 80

A3    Combined Sections Addition Profile Summary.. 80

A4    Full Course Hierarchy Addition Profile Summary.. 81

Appendix B The Core Profiles Binding Files. 82

B1    Core Profile Binding Files. 82

B1.1     Bulk Data Exchange Data Management Service (BDEMS) 82

B1.2     Course Management Service (CMS) 82

B1.3     Group Management Service (GMS) 82

B1.4     Membership Management Service (MMS) 82

B1.5     Person Management Service (PMS) 82

B2    Final Grade Addition Profile Binding Files. 83

B3    Combined Section Addition Profile Binding Files. 83

B4    Full Course Hierarchy Addition Profile Binding Files. 83

About This Document.. 84

List of Contributors. 84

Revision History .. 85

Index...... 86

 


List of Tables

 

Table 3.1 PMS core profile operations conformance statement. 11

Table 3.2 Permitted status codes for the PMS core profile operations. 12

Table 3.3 PMS data model profile changes. 13

Table 3.4 GMS core profile operations conformance statement. 21

Table 3.5 Permitted status codes for the GMS core profile operations. 22

Table 3.6 GMS data model profile changes. 23

Table 3.7 MMS core profile operations conformance statement. 27

Table 3.8 Permitted status codes for the MMS core profile operations. 28

Table 3.9 MMS data model profile changes. 29

Table 3.10 CMS Course Section core profile operations conformance statement. 31

Table 3.11 Permitted status codes for the CMS core profile operations. 32

Table 3.12 CMS data model profile changes. 33

Table 3.13 BDEMS core profile operations conformance statement. 37

Table 3.14 Status codes for the BulkDataExchangeManager interface operations. 38

Table 3.15 BDEMS data model profile changes. 39

Table 4.1 OMS LineItem grade addition profile operations conformance statement. 42

Table 4.2 Permitted status codes for the LineItem grade addition profile operations. 43

Table 4.3 OMS Result grade addition profile operations conformance statement. 44

Table 4.4 Permitted status codes for the Result grade addition profile operations. 45

Table 4.5 OMS data model grade addition profile changes. 46

Table 4.6 CMS Section combined sections addition profile operations conformance statement. 50

Table 4.7 Permitted status codes for the Section combined section addition profile operations. 51

Table 4.8 CMS Association combined sections addition profile operations conformance statement. 52

Table 4.9 Permitted status codes for the Association combined section addition profile operations. 53

Table 4.10 CMS combined sections data model addition profile changes. 54

Table 4.11 CMS Template full course hierarchy addition profile operations conformance statement. 58

Table 4.12 Permitted status codes for the Template full course hierarchy addition profile operations. 59

Table 4.13 CMS Offering full course hierarchy addition profile operations conformance statement. 60

Table 4.14 Permitted status codes for the Offering full course hierarchy addition profile operations. 61

Table 4.15 CMS Section full course hierarchy addition profile operations conformance statement. 62

Table 4.16 Permitted status codes for the Section full course hierarchy addition profile operations. 63

Table 4.17 CMS Association full course hierarchy addition profile operations conformance statement. 64

Table 4.18 Permitted status codes for the Association full course hierarchy addition profile operations. 65

Table 4.19 CMS data model profile changes. 66

Table 7.1 Interoperability provided by different combinations of the core profiles. 76

Table A1.1 Summary of the service behaviors required in the core profile. 79

Table A2.1 Summary of the service behaviors required in the grade addition profile. 80

Table A3.1 Summary of the service behaviors required in the combined sections addition profile. 80

Table A4.1 Summary of the service behaviors required in the full course hierarchy addition profile. 81

 

 

1                  Introduction

1.1            Learning Information Service Profiles Overview

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 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 Profiles.

1.2            Scope and Context

This document is the IMS GLC Learning Information Services 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.

1.3            Structure of this Document

The structure of this document is:

2.     Profiling the Learning Information Services

An overview of the 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 final grade, combined sections and full course hierarchy;

5.     WSDL Bindings of the Core 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 Profiles Binding Files

The set of WSDL and XSD binding files that should be used for the binding of the Profiles.

1.4            Nomenclature

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.

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

URL                       Uniform Resource Locator

WSDL                    Web Services Description Language

XSD                        XML Schema Definition

1.5            References

[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, 11a]     IMS GLC Bulk Data Exchange Management Service v1.0 Information Model v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[BDEMS, 11b]     IMS GLC Bulk Data Exchange Management Service WSDL Binding v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[CMS, 11a]           IMS GLC Course Management Service v1.0 Information Model v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[CMS, 11b]           IMS GLC Course Management Service v1.0 WSDL Binding v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[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, 11a]              IMS GLC Learning Information Services v2.0 Overview v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[LIS, 11b]              IMS GLC Learning Information Services Best Practices & Implementation Guide v2.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[MMS, 11a]          IMS GLC Membership Management Service v2.0 Information Model v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[MMS, 11b]          IMS GLC Membership Management Service 2.0 WSDL Binding v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[OMS, 11a]           IMS GLC Outcomes Management Service Information Model v1.0 Public Draft v2.0, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[OMS, 11b]           IMS GLC Outcomes Management Service v1.0 WSDL Binding v1.0 Public Draft v2.0, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[PMS, 11a]            IMS GLC Person Management Service v2.0 Information Model v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[PMS, 11b]            IMS GLC Person Management Service v2.0 WSDL Binding v1.0 Final Release, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, November 2011.

[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

2                  Profiling the Learning Information Services

This is the Profiles of the IMS GLC LIS specification.  The aim of the 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 Profiles consists of the Core Profile and a set of Addition Profiles.  All systems claiming compliance to the Profiles must conform to the Core Profile and may support none, some or all of the Addition Profiles.  The 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 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.

2.1            The Core Profile

The LIS Core Profile is a subset of the IMS LIS 2.0 API. Conformance with this profile is designed to meet typical use cases where an Administrative System is interfaced with a Teaching and Learning Environment.  In this profile the Administrative system is intended to act as an authoritative repository of user, course, group, section and membership information.  The Administrative system is a consumer of outcomes information for purposes of maintaining final grades and other outcomes information.  The LIS Core Profile supports both a near real time and event driven and batch / bulk data integrations.  We anticipate that the administrative system will be the Ref agent and the teaching and learning system will be a Sync Agent.  This profile is designed to support the following key integration cases between these systems:

·         Provisioning and updating the teaching and learning environment through Bulk operations;

·         Supporting near real time enrolment and, section and course provisioning;

·         Allowing the posting of final grades to the administrative system using workflows with the teaching and learning environment or the administrative system;

·         Supporting the data structures necessary to allow management of cross-listing and coordinated course sections.

2.2            The Addition Profiles

Currently there are three Addition Profiles, namely:

·         Final 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.

 

 

3                  Information Model of the Core Profile

3.1            The Set of Services

The Core Profile[1] 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 – significantly reduced number of operations and unchanged 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[2].

The set of operations supported within each service are defined from the perspectives of the Sync 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.

3.2            The Person Management Service Statement

3.2.1           The Service Statement

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

 

 

createByProxyPerson

 

 

deletePerson

Implements

Calls

readPerson[3]

 

 

readPersonCore

 

 

readAllPersonIds

 

 

readPersonIdsFromSavePoint

 

 

readPersons

 

 

readPersonsFromSavePoint

 

 

updatePerson

 

 

replacePerson[4]

Implements

Calls

discoverPersonIds

 

 

changePersonIdentifier

 

 

In Table 3.1 (and all of the following similar tables) the implementation terms are used to mean:

·         ‘Implements’ – the corresponding agent must implement the operation i.e., process service requests and not respond with the ‘unsupported’ status code;

·         ‘Calls’ – the corresponding agent may make a service request using this operation.  A system is not required to make use of this operation.  Any such service call must be implemented correctly.

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

 

 

deletePerson

replacePerson

‘fullsuccess’

Y

Y

‘createsuccess’

 

Y

‘overflowfail’

 

Y

‘invaliddata’

 

Y

‘incompletedata’

 

Y

‘partialdatastorage’

 

Y

‘unknownobject’

Y

Y

‘deletefailure’

Y

 

‘unknownvocabulary’

 

Y

unknownextension’

 

Y

‘targetisbusy’

Y

Y

‘unauthorizedrequest’

Y

Y

‘linkfailure’

Y

Y

‘unsupportedLISoperation’

Y

Y

 

NOTE:   Both ‘Sync Agent’ and ‘Ref Agent’ implementations must respond with the ‘unsupportedLISoperation’ for all and any of the operations under the LIS which are not implemented.

 


3.2.2           The Data Model Statement

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

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’.  [1]

 

        formattedName

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

String [1-255]

 

 

 

 

 

 

 

Name

 

        nameType

1

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’    [2]

Require: ‘Full’

        partName

1

*

5

BaseValueSingle

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceName

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’    [3]

Require: ‘First’ and ‘Last’.  If ordinal then only the first value is returned.

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-127]

 

 

 

 

 

 

 

Address

 

        addressType

1

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’    [4]

 

        addressPart

1

*

5

BaseValueSingle

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        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

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’    [6]

 

        contactInfoValue

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

String [1-127]

 

 

 

 

 

 

 

Demographics

 

        demographicsType

1

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        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

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceName

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        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:
YYYY-MM-DD.

 

        Gender

0

1

1

Int Vocabulary.                          [9] 
Default=’unknown’.

 

        demographicsInfo

0

*

5

BaseValueSingle

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceName

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’  [10]

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-255]

 

 

 

 

 

 

 

Representation

 

        representationType

1

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’  [11]

 

        date

1

1

1

Date in the form ISO8601:
YYYY-MM-DD.

 

        Description

1

1

1

Description

 

 

 

 

 

 

 

Agent

 

        agentType

1

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’  [12]

 

        agentId

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

String [1-127]

 

        agentDomain

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

String [1-255]

 

        description

0

1

1

Description

 

 

 

 

 

 

 

EnterpriseRoles

 

        enterpriserolesType

1

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

Entry in ‘instanceVocabulary’  [13]

 

        systemRole

0

1

1

BaseValueToken

 

                instanceIdentifier

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        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

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

                                {As base type}

 

                instanceVocabulary

1

1

1

AnyURI

 

                instanceValue

1

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        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

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-255]

 

        userIdType

0

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-127]

 

        password

0

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-255]

 

        pwEncryptionType

0

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-255]

 

        authenticationType

0

1

1

Text

 

                        language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                        textString

1

1

1

String [1-255]

 

 

 

 

 

 

 

BaseValueToken

 

        instanceIdentifier

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

                                {As base type}

 

        instanceVocabulary

1

1

1

AnyURI

 

        instanceValue

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

Entry in ‘instanceVocabulary’.

 

 

 

 

 

 

 

BaseValueSingle

 

        instanceIdentifier

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

                                {As base type}

 

        instanceVocabulary

1

1

1

AnyURI

 

        instanceName

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

Entry in ‘instanceVocabulary’

 

        instanceValue

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

String [1-127]

 

 

 

 

 

 

 

Description

 

        shortDescription

1

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                textString

1

1

1

String [1-127]

 

        longDescription

0

1

1

Text

 

                language

1

1

1

Ext Vocab: Default=’en-US’     [19]

 

                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

Ext Vocab: Default=’en-US’     [19]

 

                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
(YYYY-MM-DDTHH:MM:SS.NNN)

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.

3.3            The Group Management Service Statement

3.3.1           The Service Statement

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

 

 

createByProxyGroup

 

 

deleteGroup

Implements

Calls

addGroupRelationship

 

 

removeGroupRelationship

 

 

readGroup[5]

 

 

readAllGroupIds

 

 

readGroupIdsForPerson

 

 

readGroupIdsFromSavePoint

 

 

readGroups

 

 

readGroupsFromSavePoint

 

 

updateGroup

 

 

replaceGroup[6]

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

 

 

deleteGroup

replaceGroup

‘fullsuccess’

Y

Y

‘createsuccess’

 

Y

‘overflowfail’

 

Y

‘idallocinusefail’

 

Y

‘invaliddata’

 

Y

‘incompletedata’

 

Y

‘partialdatastorage’

 

Y

‘unknownobject’

Y

Y

‘unknowngtvocabulary’

 

Y

unknownvocabulary’

 

Y

unknownmdvocabulary’

 

Y

‘deletefailure’

Y

 

unknownextension’

 

Y

‘targetisbusy’

Y

Y

‘linkfailure’

Y

Y

‘unauthorizedrequest’

Y

Y

‘unsupportedLISoperation’

Y

Y

 

NOTE:   Both ‘Sync Agent’ and ‘Ref Agent’ implementations must respond with the ‘unsupportedLISoperation’ for all and any of the operations under the LIS which are not implemented.


3.3.2           The Data Model Statement

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

 

        email

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]

Support for the value ‘TERM’ is required.

 

 

 

 

 

 

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
(YYYY-MM-DDTHH:MM:SS)

 

        end

0

1

1

DateTime: ISO8601
(YYYY-MM-DDTHH:MM:SS)

 

        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
(YYYY-MM-DDTHH:MM:SS.NNN)

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.

 

 


3.4            The Membership Management Service Statement

3.4.1           The Service Statement

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

 

 

createByProxyMembership

 

 

deleteMembership

Implements

Calls

readMembership[7]

 

 

readMembershipIdsForPerson

 

 

readMembershipIdsForPersonWithRole

 

 

readMembershipIdsForCollection

 

 

readAllMembershipIds

 

 

readMembershipIdsFromSavePoint

 

 

readMemberships

 

 

readMembershipsFromSavePoint

 

 

updateMembership

 

 

replaceMembership[8]

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

 

 

deleteMembership

replaceMembership

‘fullsuccess’

Y

Y

‘createsuccess’

 

Y

‘overflowfail’

 

Y

‘idallocinusefail’

 

Y

‘invaliddata’

 

Y

‘incompletedata’

 

Y

‘partialdatastorage’

 

Y

‘unknownobject’

Y

Y

‘deletefailure’

Y

 

‘unknownvocabulary’

 

Y

‘unknownmdvocabulary’

 

Y

unknownextension’

 

Y

‘targetisbusy’

Y

Y

‘unauthorizedrequest’

Y

Y

‘linkfailure’

Y

Y

‘unsupportedLISoperation’

Y

Y

 

NOTE:   Both ‘Sync Agent’ and ‘Ref Agent’ implementations must respond with the ‘unsupportedLISoperation’ for all and any of the operations under the LIS which are not implemented.

 


3.4.2           The Data Model Statement

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
(YYYY-MM-DDTHH:MM:SS±TZ)

 

        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
(YYYY-MM-DDTHH:MM:SS)

 

        end

0

1

1

DateTime: ISO8601
(YYYY-MM-DDTHH:MM:SS)

 

        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
(YYYY-MM-DDTHH:MM:SS.NNN)

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.

 

3.5            The Course Management Service Statement

3.5.1           The Service Statement

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

 

 

createByProxyCourseSection

 

 

createCourseSectionFromCourseSection

 

 

deleteCourseSection

Implements

Calls

readCourseSection[9]

 

 

readAllCourseSectionIds

 

 

readCourseSectionIdsFromSavePoint

 

 

readCourseSections

 

 

readCourseSectionsFromSavePoint

 

 

replaceCourseSection[10]

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

 

 

deleteCourseSection

replaceCourseSection

‘fullsuccess’

Y

Y

‘createsucess’

 

Y

‘overflowfail’

 

Y

‘idallocinusefail’

 

Y

‘invaliddata’

 

Y

‘incompletedata’

 

Y

‘partialdatastorage’

 

Y

‘unknownobject’

Y

Y

‘deletefailure’

Y

 

unknownextension’

 

Y

‘unknownvocabulary’

 

Y

‘unknownmdvocabulary’

 

Y

‘targetisbusy’

Y

Y

‘linkfailure’

Y

Y

‘unauthorizedrequest’

Y

Y

‘unsupportedLISoperation’

Y

Y

 

NOTE:   Both ‘Sync Agent’ and ‘Ref Agent’ implementations must respond with the ‘unsupportedLISoperation’ for all and any of the operations under the LIS which are not implemented.

 


3.5.2           The Data Model Statement

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