IMS GLC Learning Information Services Specification

Version 2.0

 

 

Public Draft Release
Version 1.0

 

 

Date Issued:             15 March 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

Executive Summary

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 LIS v2.0 specification supersedes the IMS GLC Enterprise Services v1.0 specification.  The LIS specification is based upon the aggregation of the Person Management, Group Management, Membership Management, Course Management, Outcomes Management and the Bulk Data Exchange Management Services specifications. The LIS v2.0 can be implemented using both a Web Services infrastructure (based upon a SOAP/http transport mechanism) and the Lightweight Directory Access Protocol (LDAP).

An implementation is not required to support each and every service.  Neither is an implementation required to support each and every operation.  The specific requirements are defined in the corresponding profile.  Interoperability is supported between systems that implement the same profile.  Cross-profile interoperability may occur but this is a by-product and should NOT be used as the basis for any system realization.  One of the outputs of the LIS specification is the set of Web Services Description Language/XML Schema Definition (WSDL/XSD) binding files.    Each service has its own set of WSDL/XSD files.  It is these files that are used by code-generation tools to create the source code that handles the SOAP messages and XML data structures.  Some small changes are required to the WSDL files to map the SOAP messages to the actual server-based implementation of the Web Service.

The LIS documentation set consists of:

·         Information Models – these documents contain the normative description of the various service definitions, data structures and their relationships. These descriptions use the Unified Modeling Language (UML).  Each of the six services has its own Information Model;

·         WSDL Bindings – these documents contain the Platform Specific Model (PSM) for the service.  This PSM has been transformed into the corresponding WSDL/XSD files using the IMS GLC Binding Auto-generation Tool-kit (I-BAT).  The Binding document describes the underlying structure of the WSDL/XSD, the associated vocabulary files and the formats of the corresponding SOAP messages;

·         LDAP Bindings – these documents contain the PSM for the service (this is very similar to the PSM for the WSDL bindings).  A manual translation of the PSM has been undertaken to create the corresponding LDAP files.

·         Best Practice & Implementation Guide – this document is intended to provide vendors with an overall understanding of the IMS GLC LIS Specification, the relationship of the specification with other IMS GLC specifications, and a best practices guide derived from experiences of those using the specification.  The guide also includes a several actual examples that describe how vendors can make the best use of the IMS LIS Specification.

·         Core Profile & Conformance Specification – the Core Profile defines the minimal subset of the functionality that must be supported by systems developed for deployment between a Student Information System and a Learning Management System.  This Profile (there is a Common plus several Additions) defines the set of operations and data models that must be supported by the systems implementing 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 Profile.

 

Table of Contents

Executive Summary.. 2

1          Introduction.. 6

1.1     Learning Information Service Systems. 6

1.2     The Scope and Context.. 6

1.3     Structure of this Document.. 7

1.4     Nomenclature.. 7

1.5     References. 8

2          The Learning Information Services Specification.. 10

2.1     Core Use-cases. 10

2.1.1   Management and Manipulate Information about People. 10

2.1.2   Management and Manipulate Enrolment of People on Courses. 10

2.1.3   Management and Manipulate Organizational Structures. 10

2.1.4   Management and Manipulate Course Structure Information. 10

2.1.5   Management and Manipulate of Grade Book Information. 11

2.1.6   Batch Processing. 11

2.2     An Abstract Representation.. 12

2.3     Building Real Systems. 12

3          The Historic Perspective.. 14

3.1     Past Versions. 14

3.2     A Summary of Changes from Version 1. 14

3.2.1   Person Management Service. 14

3.2.2   Group Management Service. 14

3.2.3   Membership Management Service. 15

3.2.4   Course Management Service. 15

3.2.5   Outcomes Management Service. 16

3.2.6   Bulk Data Exchange Management Service. 16

3.3     Version 2 and Version 1 Compatibility.. 16

4          Using the New Version.. 17

4.1     Building an Interoperable Solution.. 17

4.2     The Core Profile.. 17

4.3     Creating a Profile.. 17

4.4     Conformance to a Profile.. 18

5          The Document Set.. 19

5.1     The Set of Documents. 19

5.1.1   The LIS Specification. 19

5.1.2   Information Models. 19

5.1.3   WSDL Bindings. 19

5.1.4   LDAP Bindings. 19

5.1.5   Best Practice & Implementation Guide. 19

5.1.6   Core Profile & Conformance Specification. 19

5.1.7   Related Documents. 19

5.2     The Binding Files. 20

5.2.1   WSDL Files. 20

5.2.2   LDAP Files. 20

5.2.3   XSD Files. 20

5.2.4   Vocabulary Files. 20

5.3     Using the Documents. 20

Appendix A Person Management Service 2.0 Overview... 22

A1      PMS Description.. 22

A2      PMS Operations. 22

Appendix B Group Management Service 2.0 Overview... 24

B1      GMS Description.. 24

B2      GMS Operations. 24

Appendix C Membership Management Service 2.0 Overview... 26

C1      MMS Description.. 26

C2      MMS Operations. 26

Appendix D Course Management Service 1.0 Overview... 28

D1      CMS Description.. 28

D2      CMS Operations. 30

D2.1   CourseTemplateManager Interface Description. 30

D2.2   CourseOfferingManager Interface Description. 31

D2.3   CourseSectionManager Interface Description. 33

D2.4   SectionAssociationManager Interface Description. 34

Appendix E Outcomes Management Service 1.0 Overview... 35

E1      OMS Description.. 35

E2      OMS Operations. 37

E2.1    LineItemManager Interface Description. 37

E2.2    ResultManager Interface Description. 38

E2.3    ResultValueManager Interface Description. 39

Appendix F Bulk Data Exchange Management Service 1.0 Overview... 40

F1      BDEMS Description.. 40

F2      BDEMS Operations. 40

About This Document.. 41

List of Contributors. 41

Revision History.. 42

Index   43

 

List of Figures

Figure 2.1 Schematic architecture of the learner information services. 12

Figure 5.1 Schematic representation of the documentation set. 21

Figure A.1 PersonManagementService interface definition. 22

Figure B.1 GroupManagementService interface definition. 24

Figure C.1 MembershipManagementService interface definition. 26

Figure D.1 CourseManagementService CourseTemplateManager interface definition. 28

Figure D.2 CourseManagementService CourseOfferingManager interface definition. 29

Figure D.3 CourseManagementService CourseSectionManager interface definition. 29

Figure D.4 CourseManagementService SectionAssociationManager interface definition. 30

Figure E.1 OutcomesManagementService LineItemManager interface definitions. 35

Figure E.2 OutcomesManagementService ResultManager interface definitions. 36

Figure E.3 OutcomesManagementService ResultValueManager interface definitions. 36

Figure F.1 BulkDataExchangeManagementService interface definition. 40

 

List of Tables

Table 3.1 Version history for Enterprise/LIS specifications. 14

Table A.1 Summary of operations for PersonManager. 22

Table B.1 Summary of operations for GroupManager. 24

Table C.1 Summary of operations for the MMS. 26

Table D.1 Summary of operations for CourseTemplateManager. 30

Table D.2 Summary of operations for CourseOfferingManager. 31

Table D.3 Summary of operations for CourseSectionManager. 33

Table D.4 Summary of operations for SectionAssociationManager. 34

Table E.1 Summary of operations for LineItemManager. 37

Table E.2 Summary of operations for ResultManager. 38

Table E.3 Summary of operations for ResultValueManager. 39

Table F.1 Summary of operations for BulkDataExchangeManager. 40

 

1                  Introduction

1.1            Learning Information Service Systems

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 bindings of immediate importance are to the Web Services Description Language (WSDL) and the Lightweight Directory Access Protocol (LDAP);

·         Adoption – whenever appropriate, the Learning Information Services specification makes use of other IMS GLC and non-IMS GLC standards and specifications.

1.2            The Scope and Context

This document is the IMS GLC Learning Information Services Specification v1.0; an overview is available in [LIS, 10a].  The Learning Information Services specification supersedes the IMS GLC Enterprise Services specification [ES, 04a].  This specification is based upon the aggregation of the Person Management, Group Management, Membership Management, Course Management, Outcomes Management and the Bulk Data Exchange Management Services specifications, namely:

a)       IMS GLC Person Management Service Information Model v2.0 [PMS, 10a];

b)       IMS GLC Group Management Service Information Model v2.0 [GMS, 10a];

c)       IMS GLC Membership Management Service Information Model v2.0 [MMS, 10a];

d)       IMS GLC Course Management Service Information Model v2.0 [CMS, 10a];

e)       IMS GLC Outcomes Management Service Information Model v2.0 [OMS, 10a];

f)        IMS GLC Bulk Data Exchange Management Services Information Model v2.0 [BDEMS, 10a].

The Learning Information Services Specification v2.0 can be implemented using both a Web Services infrastructure (based upon a SOAP/http transport mechanism) and the LDAP.  The Web Service bindings are detailed in the corresponding service binding documents [PMS, 10b], [GMS, 10b], [MMS, 10b], [OMS, 10b], [CMS, 10b], [BDEMS, 10b].  The LDAP bindings are detailed in the corresponding binding documents [PMS, 10c], [GMS, 10c], and [MMS, 10c].

1.3            Structure of this Document

The structure of this document is:

2.     The Learning Information Services Specification

Provides an overview of the specification as a whole and explains how the six component services are orchestrated to provide the full range of services;

3.     The Historic Perspective

Provides the historic context for this specification as it has evolved from a pure data model to this current service description.  This includes a summary of the changes from the IMS GLC Enterprise Services v1.0 specification;

4.     Using the New Version

Provides an overview of the various ways in which this specification can be used to support different learning administration requirements;

5.     The Document Set

Lists and explains the set of documents produced as part of the specification.  This includes an explanation of the relevant set of IMS GLC Specification Development Notes;

Appendix A: Person Management Service 2.0 Overview

An overview of the operations provided in the Person Management Service;

Appendix B: Group Management Service 2.0 Overview

An overview of the operations provided in the Group Management Service;

Appendix C: Membership Management Service 2.0 Overview

An overview of the operations provided in the Membership Management Service;

Appendix D: Course Management Service 1.0 Overview

An overview of the operations provided in the Course Management Service;

Appendix E: Outcomes Management Service 1.0 Overview

An overview of the operations provided in the Outcomes Management Service;

Appendix F: Bulk Data Exchange Management Service 1.0 Overview

An overview of the operations provided in the Bulk Data Exchange Management Service.

1.4            Nomenclature

BDEMS                 Bulk Data Exchange Management Service

CMS                       Course Management Service

GMS                       Group Management Service

IAF                         IMS GLC Abstract Framework

I-BAT                    IMS GLC Binding Auto-generation Tool-kit

IMS GLC              IMS Global Learning Consortium Inc.

LDAP                     Lightweight Directory Access Protocol

LIP                         Learner Information Packaging

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

SIS                          Student Information System

UML                      Unified Modeling Language

URL                       Uniform Resource Locator

VDEX                    Vocabulary Definition Exchange

WSDL                    Web Services Description Language

XSD                        XML Schema Description

1.5            References

[BDEMS, 10a]     IMS GLC Bulk Data Exchange Management Service Information Model v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[BDEMS, 10b]     IMS GLC Bulk Data Exchange Management Service WSDL Binding v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[CMS, 10a]           IMS GLC Course Management Service Information Model v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[CMS, 10b]           IMS GLC Course Management Service WSDL Binding v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[ES, 04a]               IMS GLC Enterprise Services Specification Final Release v1.0, C.Smythe and C.Vento, IMS Global Learning Consortium, June 2004.

[ES, 04b]               IMS GLC Enterprise Services Use-cases Final Release v1.0, C.Smythe and C.Vento, IMS Global Learning Consortium, June 2004.

[GMS, 04]             IMS GLC Group Management Service Information Model v1.0 Final Release, C.Smythe and C.Vento, IMS Global Learning Consortium, June 2004.

[GMS, 10a]           IMS GLC Group Management Service Information Model v2.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[GMS, 10b]           IMS GLC Group Management Service WSDL Binding v2.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[GMS, 10c]           IMS GLC Group Management Service LDAP Binding v2.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, January 2010.

[GWS, 06a]           IMS GLC General Web Services Base Profile Final Release, C.Schroeder, J.Simon and C.Smythe, V1.0, IMS Global Learning Consortium, January 2006.

[GWS, 06b]           IMS GLC General Web Services WSDL Binding Guidelines Final Release, C.Schroeder, J.Simon and C.Smythe, V1.0, IMS Global Learning Consortium, January 2006.

[IAF, 03a]             IMS 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 GLC Abstract Framework: White Paper v1.0, Ed. C.Smythe, IMS Global Learning Consortium, July 2003.

[LIS, 10a]              IMS GLC Learning Information Services Specification Overview v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[LIS, 10b]              IMS GLC Learning Information Services Best Practices & Implementation Guide v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[LIS, 10c]              IMS GLC Learning Information Services: Core Profile v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[MMS, 04]            IMS GLC Membership Management Service Information Model v1.0 Final Release, C.Smythe and C.Vento, IMS Global Learning Consortium, June 2004.

[MMS, 10a]          IMS GLC Membership Management Service Information Model v2.0 Public Draft, 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, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[MMS, 10c]          IMS GLC Membership Management Service LDAP Binding v2.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[OMS, 10a]           IMS GLC Outcomes Management Service Information Model v1.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[OMS, 10b]           IMS GLC Outcomes Management Service WSDL Binding v1.0 Public Draft, 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, 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, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[PMS, 10c]            IMS GLC Person Management Service LDAP Binding v2.0 Public Draft, L.Feng, W.Lee and C.Smythe, IMS Global Learning Consortium, March 2010.

[SAN11, 06]          IMS GLC Profile Definition, Registration and Maintenance Procedures, SAN-11, C.Smythe, IMS Global Learning Consortium, November 2006.

[SDN07, 06]          IMS GLC UML Profile for Platform Independent Model Descriptions of Specifications, SDN-07, C.Smythe, IMS Global Learning Consortium, October 2006.

[SDN08, 06]          IMS GLC UML Profile for Platform Specific Model Descriptions of Specification Bindings, SDN-08, C.Smythe, IMS Global Learning Consortium, October 2006.

[SDN11, 06]          IMS GLC Vocabulary Definitions, Registration and Maintenance Procedures, SDN-11, C.Smythe, IMS Global Learning Consortium, July 2006.

[VDEX, 04]           IMS GLC Vocabulary Definition Exchange Information Model v1.0, A.Cooper, IMS Global Learning Consortium, February 2004. http://www.imsglobal.org/vdex/

 

 

2                  The Learning Information Services Specification

2.1            Core Use-cases

The core set of use-cases addressed by this specification is:

·         Manage and manipulate information about People ­– to provide data exchange about people who are participating in learning;

·         Manage and manipulate enrolment of People on Courses – to control the exchange of information for people attending courses;

·         Manage and manipulate organizational structures – to control the exchange of information for people attending courses;

·         Manage and manipulate Course structure information – to provide data exchange for information about taught courses; 

·         Manage and manipulate of Grade-book information – to provide data exchange for outcomes information;

·         Batch processing – to provide initialization and synchronization transfer of very large amounts of data.

2.1.1           Management and Manipulate Information about People

People undertake learning and as such attend, or are members of, courses, undertake assessment and obtain grades, and undertake other groups of activities.  The specific set of operational needs is:

·         Initialize Person, Organization Structure, Enrolment Data;

·         Synchronize Person, Organization Structure, Enrolment Data;

·         Create Person;

·         Change Person Information;

·         Update Authentication Credentials for a Person;

·         Update Authentication Credentials for all Persons;

·         Get All New Persons;

·         Get Updated Person Information;

·         Get Deleted Persons.

2.1.2           Management and Manipulate Enrolment of People on Courses

The specific set of operational needs is:

·         Enroll a Person in a Course Template, Course Offering and Course Section;

·         Un-enroll a Person in a Course Template, Course Offering and Course Section;

·         Change the Role of a Person in a Course Template, Course Offering and Course Section;

·         Get All Enrollment Information for a Person;

·         Get All Enrollment Information for All Persons.

2.1.3           Management and Manipulate Organizational Structures

The specific set of operational needs is:

·         Create a Parent/Child Relationship in an Organizational Structure;

·         Delete a Parent/Child Relationship in an Organizational Structure;

·         Get All Persons Enrolled in an Organizational Structure Entity;

·         Get All Enrollment Information for an Organizational Structure Entity;

·         Use a Learning Context for Several Administrative Contexts;

·         Use Differing Kinds of Learning Context for Differing Administrative Contexts.

2.1.4           Management and Manipulate Course Structure Information

The specific set of operational needs is:

·         Create a Course Template, Course Offering and Course Section;

·         Update Course Template, Course Offering and Course Section information;

·         Update Status of Course Template, Course Offering and Course Section;

·         Roll-over a Course Template, Course Offering and Course Section;

·         Delete a Course Template, Course Offering and Course Section;

·         Get Information for a Course Offering;

·         Get All Course Offerings for a Semester;

·         Get All Active Course Offerings under a Given Organization Structure Entity;

·         Get Course Offerings for an Instructor;

·         Get Equivalent Course Templates and Course Offerings;

·         Get All Enrollment information for a Semester;

·         Search for a Course Template or Offering.

2.1.5           Management and Manipulate of Grade Book Information

The specific set of operational needs is:

·         Get Grade Book Information for All Persons Enrolled in a Course Offering;

·         Get Grade Book Information for a Person;

·         Get Grade Book Information for All Persons Enrolled in a Course Section;

·         Get Grade Book Information for a Person;

·         Get All Final Grade for All Persons Enrolled in a Course Offering;

·         Get the Final Grade for All Active Course Offerings for a Given Person.

2.1.6           Batch Processing

There are operational points when the service consumer (the Synchronization Agent) needs to be bulk synchronized or initialized with the service provider (the Reference Agent).  The synchronization/initialization point is typically declared as changes from a particular reference point.  Specific synchronization/initialization needs are:

·         Batch Initialization and Synchronization of all Person objects;

·         Batch Initialization and Synchronization of all Group objects;

·         Batch Initialization and Synchronization of all Membership objects;

·         Batch Initialization and Synchronization of all Course Template objects;

·         Batch Initialization and Synchronization of all Course Offering objects;

·         Batch Initialization and Synchronization of all Course Section objects;

·         Batch Initialization and Synchronization of all Grade-book objects;

·         Batch Initialization of everything.

 


2.2            An Abstract Representation

The basic architectural model for the LIS specification is shown in Figure 2.1. In this architecture the scope of the data exchange provided by the services is shown as the dotted line.  The scope of the interoperability is the data and behavioral models of the objects being exchanged.

Figure 2.1 Schematic architecture of the learner information services.

Six services are defined.  Instances of the data models are stored in the service consumer/provider object repositories.  It is the persistence of the data in these repositories that reflects the dynamic changes in the system.  The set of services are realized as SOAP messages to exchange the XML-based data objects[1].

2.3            Building Real Systems

An implementation is not required to support each and every service.  Neither is an implementation required to support each and every operation.  The specific requirements are defined in the corresponding profile[2].  Interoperability is supported between systems that implement the same profile.  Cross-profile interoperability may occur but this is a by-product and should NOT be used as the basis for any system realization.

One of the outputs of the LIS specification is the set of WSDL/XSD binding files.    Each service has its own set of WSDL/XSD files.  It is these files that are used by code-generation tools to create the source code that handles the SOAP messages and XML data structures.  Some small changes are required to the WSDL files to map the SOAP messages to the actual server-based implementation of the Web Service.  These changes can either be manually applied to the WSDL files or to the UML files.  The UML files must then be processed using the IMS GLC Binding Auto-generation Tool-kit (I-BAT) to create the new, tailored WSDL/XSD files.

3                  The Historic Perspective

3.1            Past Versions

The release history for the LIS is listed in Table 3.1.  The original Enterprise v1.0 data model was the second specification released by IMS GLC.  It has undergone several revisions in response to feedback from the experience gained in the various implementations.

Table 3.1 Version history for Enterprise/LIS specifications.

Version

Release Date

Description

Enterprise 1.0

November, 1999

Original data model for Enterprise systems interoperability.

Enterprise 1.0.1

January, 2000

Correction of a small number of bugs identified in version 1.

Enterprise 1.1

July, 2002

Revised data model to introduce new functionality based on commonly used extensions.

Enterprise Services v1.0

August, 2004

Introduction of services, based upon the IMS GLC General Web Services, to support the exchange of the information based upon the Enterprise v1.1 data model.

LIS v2.0 is a radical reworking of both the original services and data models.

3.2            A Summary of Changes from Version 1

3.2.1           Person Management Service

The functional changes in version 2 compared to version 1 are:

a)       A single service interface is used.  With the exception of the ‘ReadPersons’ operation all of the operations in the original ‘Persons Manager’ interface have been removed;

b)       The ‘ReadPersons’ operation has been changed such that it returns a single StatusInfo object;

c)       New service operations have been added, namely:-

d)       The core data model has been extended to support both the PMSv1.0 and the IMS GLC Learner Information Packaging (LIP) v1.0 ‘identification’ data models.  The data model has also been modified to use external vocabularies.

3.2.2           Group Management Service

The changes in version 2 compared to version 1 are:

a)       A single service interface is used.  With the exception of the ‘ReadGroups’ operation all of the operations in the original ‘GroupsManager’ interface have been removed;

b)       The ‘ReadGroups’ operation has been changed such that it returns a single StatusInfo object;

c)       New service operations have been added, namely:-

d)       Version 1.0 implementations of the Group Management Service were used to exchange information about courses.  For Version 2 this is only permitted for additional features that are added to the Course Management Service capabilities (see [CMS, 10a] for more details).

3.2.3           Membership Management Service

The changes in version 2 compared to version 1 are:

a)       A single service interface is used.  With the exception of the ‘ReadMemberships’ operation all of the operations in the original ‘MembershipsManager’ interface have been removed;

b)       The ‘ReadMemberships’ operation has been changed such that it returns a single StatusInfo object;

c)       New service operations have been added, namely:-

d)       The data model has been modified such that:

3.2.4           Course Management Service

The Course Management Service was not part of the IMS GLC Enterprise Services v1.0 specification [ES, 04a].  Instead, this functionality was supported using the IMS GLC Group Management Service v1.0 [GMS, 04] specification in a variety of different ways.  This created interoperability problems hence the creation of the CMS specification.  The Course Management Service v1.0 is closely linked to the Group Management Service v2.0 and Membership Management Service (MMS) v2.0.  The MMS is used to define the participants in a Course defined by the CMS and Courses are extended using the GMS.  Therefore the GMS and MMS must be implemented to obtain the full functionality of the CMS.

3.2.5           Outcomes Management Service

The Outcomes Management Service was not developed in the IMS GLC Enterprise Services v1.0 specification [ES, 04a].  Instead, a simplified form of functionality was supported using the IMS GLC Membership Management Services (MMS) v1.0 [MMS, 04].  In general, there is NO backwards compatibility between the usage of the OMSv2.0 and the ways in which MMSv1.0 has been implemented to support outcomes management.  Vendors may define compatibility bridges for their own implementations but these are outside the scope of this specification.

3.2.6           Bulk Data Exchange Management Service

The Bulk Data Exchange Management Service was not developed in the IMS GLC Enterprise Services v1.0 specification [ES, 04a].

3.3            Version 2 and Version 1 Compatibility

The release of the Learning Information Services 2.0 creates the issue of compatibility between version 1 and version 2 implementations.  Compatibility issues occur when:

a)       A version 1 service implementation initiates data exchange with a version 2 implementation;

b)       A version 2 service implementation initiates data exchange with a version 1 implementation.

The binding of the Information Model recommends that the Uniform Resource Locator (URL) for the messaging actions is dependent on the type and version number of the source specification: in such a case it is not possible for cross-interaction between implementations of version 1 and 2.  However, if a common URL is used then cross-interaction becomes possible.  The definition of the behavior for interactions between different versions is beyond the scope of this specification.

4                  Using the New Version

4.1            Building an Interoperable Solution

 

[ED NOTE : To be completed in the Final Release.]

 

 

4.2            The Core Profile

The Core Profile identifies the minimal subset of the functionality that must be supported by systems developed for Student Information System/Learning Management System (SIS/LMS) deployment.  These Profiles (there is a Common 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 HE Profiles.

The Common Profile consists of:

·         The createPerson, deletePerson, readPerson, readPersons and replacePerson operations for the Person Management Service;

·         The createMembership, deleteMembership, readMembership, readMemberships and replaceMembership operations for the Membership Management Service;

·         The createCourseSection, deleteCourseSection, readCourseSection, readCourseSections and replaceCourseSection operations for the Course Management Service;

·         The readResult and readResultIdsForLineItemWithLineItemType operations for the Outcomes Management Service;

·         The announceBulkDataExchange and the reportBulkDataExchange operations for the Bulk Data Exchange Management Service.

The four Addition Profiles are:

·         Group – provides support for the management of Groups using the Group Management Service;

·         Grade – provides support for the management of grades and grade books using the Outcomes Management Service;

·         Combined Sections – provides support for the management of SectionAssociations using the Course Management Service

·         Full Course Hierarchy – provides support for the management of the full course structure (templates, offerings, sections and section associations) using the Course Management Service.

4.3            Creating a Profile

If the Common Profile, either alone or in combination with one or more of the Addition Profiles, is inadequate then a new profile can be created and registered with IMS GLC [SAN11, 06].  The recommended steps for creating a profile of the LIS are:

·         Identify which of the six services are to be included in the Profile;

·         For each service identify the set of operations that are to be included in the Profile of the service;

·         For each operation identify the set of status codes that are to be supported in the Profile of the operation;

·         For each data model in each service identify which parts of any vocabulary are to be supported in the Profile of the vocabulary;

·         For each data model identify any increased constraints on the multiplicity of any attributes i.e. optional can become mandatory, optional can be prohibited and many can be reduced to one.

It is recommended that the profile be documented using the original UML PIM/PSM descriptions.  Each change should have a documented comment.  Once the Profile has been completed, the I-BAT should be used to generate the new WSDL/XSD from the profiled UML PSM.

4.4            Conformance to a Profile

Conformance to LIS is non-trivial even when this is against a Profile.  An inclusive approach to conformance has been adopted.  The conformance statement for a profile is described as the set of business capabilities that are supported by the Profile e.g. student enrolment on a course, reporting of a student result, etc.  An implementation claiming conformance must identify which of the capabilities are supported; this takes the form of a checklist.  Therefore, interoperability between two systems is determined by the extent of the overlap in the corresponding checklists.

As an aid to implementers, once the business capability checklist has been produced a corresponding functional map is produced.  This functional map identifies the set of services, operations and data model features that must be supported to realize the business capability.  Any list of business capabilities will require a common set of LIS functional capabilities (the extent defines how much of the LIS is required to support a Profile).  This list of functionality defines how a business capability MUST be realized using the LIS specification.

This approach has been used to allow incremental adoption of the LIS specification.  Therefore, there are degrees of interoperability and it becomes the responsibility of developers to clearly identify which features of the LIS specification are implemented.  Over time, the degree of interoperability across the community should increase.

 

 

5                  The Document Set

5.1            The Set of Documents

5.1.1           The LIS Specification

This document.  It describes how the LIS is composed using its six component services.  There is an overview version of this document [LIS, 10a].  A schematic representation of the document set is shown in Figure 5.1.

5.1.2           Information Models

The Information Model documents contain the normative description of the various service definitions, data structures and their relationships. These descriptions use the Unified Modelling Language (UML), and in particular, the IMS GLC UML Profile Platform Independent Model (PIM) Description for Specifications [SDN07, 06].  Each of the six services has its own Information Model [PMS, 10a], [GMS, 10a], [MMS, 10a], [CMS, 10a], [OMS, 10a] and [BDEMS, 10a].

5.1.3           WSDL Bindings

The WSDL Binding documents contain the Platform Specific Model (PSM) for the service.  This PSM has been transformed into the corresponding Web Services Description Language (WSDL) and XML Schema Definition (XSD) files using the I-BAT.  The Binding document describes the underlying structure of the WSDL/XSD, the associated Vocabulary Definition Exchange (VDEX) vocabulary files and the formats of the corresponding SOAP messages.

5.1.4           LDAP Bindings

The LDAP Binding documents contain the PSM for the service (this is very similar to the PSM for the WSDL bindings).  A manual translation of the PSM has been undertaken to create the corresponding LDAP files.

5.1.5           Best Practice & Implementation Guide

The IMS GLC LIS Best Practice and Implementation Guide [LIS, 10b] is intended to provide vendors with an overall understanding of the IMS GLC LIS Specification, the relationship of the specification with other IMS GLC specifications, and a best practices guide derived from experiences of those using the specification[3].  The guide also includes a several actual examples that describe how vendors can make the best use of the IMS LIS Specification.

5.1.6           Core Profile & Conformance Specification

A Core Profile for the LIS has been created [LIS, 10c]. The Core Profile identifies the minimal subset of the functionality that must be supported by systems developed for SIS/LMS interaction.  This Profile (there is a Common plus several Additions) define the set of operations and data models that must be supported by the systems implementing 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 HE Profiles.

For the Common and the set of Additions (of which there are four) there is a set of conformance statements.  These statements constitute the Conformance Specification for each profile.

5.1.7           Related Documents

The following related documents were used to support the development of this specification:

·         IMS GLC General Web Services Base Profile Final Release [GWS, 06a] – provides the definition of how a service is to be implemented using SOAP-based Web Services

·         IMS GLC General Web Services WSDL Binding Guidelines Final Release [GWS, 06b] – provides the context by which the WSDL description is derived from the UML-based Information Model;

·         IMS GLC SDN 07: UML Profile for PIM Descriptions of Specifications [SDN07, 06] – provides the definition and description of the syntax and semantic of the UML profile used for the PIM description of the data models in the set of information model documents;

·         IMS GLC SDN 08: UML Profile for PSM Descriptions of Specification Bindings [SDN08, 06] – provides the definition and description of the syntax and semantics of the UML Profile used for the PSM description of the XML Binding aspects of the service definitions;

·         IMS GLC SDN 11: Vocabulary Definition, Registration and Maintenance Procedures [SDN11, 06] – provides the definition and description of how the set of external attribute vocabularies are expressed as instances of the IMS Vocabulary Definition Exchange (VDEX) specification [VDEX, 04].

5.2            The Binding Files

5.2.1           WSDL Files

Each of the services has a WSDL file that describes the nature of the service.  Each service has a single combined WSDL/XSD file.  Separate WSDL and XSD files are also available. 

5.2.2           LDAP Files

The person, group and membership services have an LDAP binding file.

5.2.3           XSD Files

Apart from the separate XSD file that complements the corresponding separate WSDL file, there are other XSD files.  These files are used to validate the content of external data files that are exchanged using an appropriate file transfer protocol.

5.2.4           Vocabulary Files

Each of the services has a set of VDEX files that contain the set of default vocabularies defined in the Information Model.  The VDEX files conform to the IMS GLC VDEX specification [VDEX, 04].

5.3            Using the Documents

The documentation set of the IMS GLC Learning Information Services Specification is daunting.  However, a few simple guidelines make it considerably easier for even a newcomer to work through the documents.  A schematic representation of the document set is shown in Figure 5.1 and the recommended approach to reviewing the set is:

a)       Always start with the specification overview (the shorter version of this document);

b)       The IMS GLC LIS Best Practices & Implementation Guide is an excellent way to understand the why, what, and how of a specification. The set of examples described in the guide is an excellent way to understand what is being created by the specification. The guide should always be read before attempting to work through either the Information Models or the WSDL/LDAP Bindings;

c)       Once the set of examples has been digested, it is time to work through the Information Models. These models provide the formal definition of all of the service operations, data structures and their behaviors and relationships;

d)       Finally, work through the WSDL/LDAP Binding documents. Often, only the implementation/engineering team needs to understand the details of these documents. Each binding document is the definitive statement of how interoperability is achieved using WSDL or LDAP. The WSDL Bindings are formally realized as the WSDL/XSD files (these files can be used to generate the corresponding SOAP messages);

e)       The IMS GLC LIS Core Profile [LIS, 10c] should be used as the basis for providing the core service capability.  This profile identifies the minimal set of service operations that are required to create a ‘useful’ learning information service (the profile identified less than 5% of the full set of service operations as necessary).

 

Figure 5.1 Schematic representation of the documentation set.

 

Appendix A Person Management Service 2.0 Overview

A1     PMS Description

The Person Management Service is used to model the service responsible for manipulating information about people.  The PersonManagementService interface is shown in Figure A.1.

 

 

Figure A.1 PersonManagementService interface definition.

A2     PMS Operations

The PersonManager interface class describes the operations that are permitted on Person objects.  These operations are based upon the classic Create/Read/Update/Delete model with variations defined to differentiate subtleties of functionality.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table A.1.

Table A.1 Summary of operations for PersonManager.

Operation

Description

createPerson

To request the creation of a populated Person object on the target system where the source is responsible for the allocation of the unique identifier.

createByProxyPerson

To request the creation of a populated Person object on the target system where the target is responsible for the allocation of the unique identifier.

deletePerson

To request the deletion of a Person object.  The Person object is deleted and all of its associated Memberships.

readPerson

To read the full contents of the identified Person object.  The target must return all of the data it has for the identified Person object.

readPersonCore

To read the minimal mandatory contents of the identified Person object.  Only the data structures that form the core of a Person object must be returned.

readAllPersonIds

To obtain the set of identifiers which have been assigned to Person objects.

readPersonIdsFromSavePoint

To obtain the set of identifiers for Person objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readPersons

To obtain the Person objects for a defined set of identifiers.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readPersonsFromSavePoint

To obtain the set of Person objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may require the exchange of a large volume of data in the response message.

updatePerson

To write new content into the identified Person object.  The target must write the new data into the Person object.  This is an additive operation.

replacePerson

To replace the content of the identified Person object.  The target must write the new data into the Person object.  This is a destructive write-over of all of the original information.

discoverPersonIds

To obtain the set of identifiers for Person objects whose properties agree with those defined in the query.

changePersonIdentifier

To change the SourcedId of the Person object.  The completion of this operation will result in later actions using the original SourcedId reporting an unknown identifier status. 

 

 

Appendix B Group Management Service 2.0 Overview

B1     GMS Description

The Group Management Service is used to model the service responsible for manipulating information about Groups.  The GroupManagementService is shown in Figure B.1.

 

 

Figure B.1 GroupManagementService interface definition.

B2     GMS Operations

The GroupManager interface class describes the operations that are permitted on Group objects.  These operations are based upon the classic Create/Read/Update/Delete model with variations defined to differentiate subtleties of functionality.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table B.1.

Table B.1 Summary of operations for GroupManager.

Operation

Description

createGroup

To request the creation of a populated Group object on the target system where the source is responsible for the allocation of the unique identifier.

createByProxyGroup

To request the creation of a populated Group object on the target system where the target is responsible for the allocation of the unique identifier.

deleteGroup

To request the deletion of a Group.  All of the associated Membership objects are also deleted.

addGroupRelationship

To request the creation of a relationship between two Group objects.  This does not create the Group objects themselves.

removeGroupRelationship

To request the deletion of a relationship between two Group objects.  This does not delete the Group objects themselves.

readGroup

To read the full contents of the identified Group object.  The target must return all of the data it has for the identified Group object.

readAllGroupIds

To obtain the set of identifiers which have been assigned to Group objects.

readGroupIdsForPerson

To read the identifiers for all of the Group objects associated with the identified Person object.

readGroupIdsFromSavePoint

To obtain the set of identifiers for Group objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readGroups

To obtain the Group objects for a defined set of identifiers.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readGroupsFromSavePoint

To obtain the set of Group objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may require the exchange of a large volume of data in the response message.

updateGroup

To write new content into the identified Group object.  The target must write the new data into the Group object.  This is an additive operation.

replaceGroup

To replace the content of the identified Group object.  The target must write the new data into the Group object.  This is a destructive write-over of all of the original information.

discoverGroupIds

To obtain the set of identifiers for Group objects whose properties agree with those defined in the query/filter.

changeGroupIdentifier

To change the identifier of the Group object.  The completion of this operation will result in later actions using the original identifier reporting an unknown identifier status.

 

 

 

Appendix C Membership Management Service 2.0 Overview

C1     MMS Description

The Membership Management Service is used to model the service responsible for manipulating information about people’s memberships of Groups [GMS, 09a] and Courses [CMS, 09a].  The MembershipManagementService is shown in Figure C.1.

 

 

Figure C.1 MembershipManagementService interface definition.

C2     MMS Operations

The MembershipManager interface class describes the operations that are permitted on Membership objects.  These operations are based upon the classic Create/Read/Update/Delete model with variations defined to differentiate subtleties of functionality.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table C.1.

Table C.1 Summary of operations for the MMS.

Operation

Description

createMembership

To request the creation of a populated Membership object on the target system where the source is responsible for the allocation of the unique identifier.

createByProxyMembership

To request the creation of a populated Membership object on the target system where the target is responsible for the allocation of the unique identifier.

deleteMembership

To request the deletion of a Membership object.  The Membership object is deleted along with all of its associated relationships (the associated Group and Person objects are not deleted).

readMembership

To read the full contents of the identified Membership object.  The target must return all of the data it has for the identified Membership object.

readMembershipIdsForPerson

To obtain the set of identifiers for all of the Membership objects for the identified Person object.

readMembershipIdsForPersonWithRole

To obtain the set of identifiers for all of the Membership objects for the identified Person object with a specific Member Role.

readMembershipIdsForCollection

To obtain the set of identifiers for all of the Membership objects for the identified collection object i.e. Group, CourseTemplate, CourseOffering, CourseSection or SectionAssociation.

readAllMembershipIds

To obtain the set of identifiers which have been assigned to Membership objects.

readMembershipIdsFromSavePoint

To obtain the set of identifiers for Membership objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readMemberships

To obtain the Membership objects for a defined set of identifiers.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readMembershipsFromSavePoint

To obtain the set of Membership objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may require the exchange of a large volume of data in the response message.

updateMembership

To write new content into the identified Membership object.  The target must write the new data into the Membership object.  This is an additive operation.

replaceMembership

To replace the content of the identified Membership object.  The target must write the new data into the Membership object.  This is a destructive write-over of all of the original information.

discoverMembershipIds

To obtain the set of identifiers for Membership objects whose properties agree with those defined in the query.

changeMembershipIdentifier

To change the SourcedId of the Membership record.  The completion of this operation will result in subsequent actions using the original SourcedId reporting an unknown identifier status. 

 

 

Appendix D Course Management Service 1.0 Overview

D1     CMS Description

The Course Management Service is used to model the service responsible for manipulating information about course structures.  The CourseManagementService interfaces are shown in Figures D.1, D.2, D.3 and D.4.

Figure D.1 CourseManagementService CourseTemplateManager interface definition.

Figure D.2 CourseManagementService CourseOfferingManager interface definition.

Figure D.3 CourseManagementService CourseSectionManager interface definition.

Figure D.4 CourseManagementService SectionAssociationManager interface definition.

 

D2     CMS Operations

The Course Management Service is defined by four interfaces: CourseTemplateManager that supports the manipulation of CourseTemplates; CourseOfferingManager that supports the manipulation of CourseOfferings; CourseSectionManager that supports the manipulation of CourseSections; and SectionAssociation Manager that supports the manipulation of SectionAssociations.

D2.1       CourseTemplateManager Interface Description

The CourseTemplateManager interface class describes the operations on a CourseTemplate.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table D.1.

Table D.1 Summary of operations for CourseTemplateManager.

Operation

Description

createCourseTemplate

To request the creation of a populated CourseTemplate object on the target system where the source assigns the unique identifier.

createByProxyCourseTemplate

To request the creation of a populated CourseTemplate object on the target system where the target assigns the unique identifier.

deleteCourseTemplate

To request the deletion of a CourseTemplate object.  The CourseTemplate object is deleted and all of its associated relationships.

readCourseTemplate

To read the full contents of the identified CourseTemplate object.  The target must return all of the data it has for the CourseTemplate object.

readAllCourseTemplateIds

To obtain the set of SourcedIds which have been assigned to CourseTemplate objects.

readCourseOfferingIdsForCourseTemplate

To obtain the set of SourcedIds of the CourseOfferings associated with the CourseTemplate.

readCourseTemplateIdsFromSavePoint

To obtain the set of SourcedIds for CourseTemplates objects which have been altered since the requested reference point.  The reference point is set as zero at creation and incremented after every write operation.

readCourseTemplates

To get the CourseTemplate objects for a defined set of SourcedIds.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readCourseTemplatesFromSavePoint

To obtain the set of CourseTemplate objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may require the exchange of a large volume of data in the response message.

updateCourseTemplate

To write new content into the identified CourseTemplate object.  The target must write the new data into the CourseTemplate object.  This is an additive operation.

replaceCourseTemplate

To replace the content of the identified CourseTemplate object.  The target must write the new data into the CourseTemplate object.  This is a destructive write-over of all of the original information.

discoverCourseTemplateIds

To obtain the set of SourcedIds for CourseTemplate objects whose properties agree with those defined in the query.

changeCourseTemplateIdentifier

To change the SourcedId of the CourseTemplate record.  The completion of this operation will result in later actions using the original SourcedId reporting an unknown identifier status. 

 

D2.2       CourseOfferingManager Interface Description

The CourseOfferingManager interface class describes the operations that are permitted on a CourseOffering.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table D.2.

Table D.2 Summary of operations for CourseOfferingManager.

Operation

Description

createCourseOffering

To request the creation of a populated CourseOffering object on the target system where the source is responsible for the allocation of the unique identifier.

createByProxyCourseOffering

To request the creation of a populated CourseOffering object on the target system where the target is responsible for the allocation of the unique identifier.

createCourseOfferingFromCourseOffering

To create a new CourseOffering from the supplied CourseOffering for a particular academic session.

deleteCourseOffering

To request the deletion of a CourseOffering object.  The CourseOffering object is deleted and all of its associated relationships.

readCourseOffering

To read the full contents of the identified CourseOffering object.  The target must return all of the data it has for the identified CourseOffering object.

readAllCourseOfferingIds

To obtain the set of SourcedIds which have been assigned to CourseOffering objects.

readAllActiveCourseOfferingIdsForAcademicSession

To obtain the set of SourcedIds for all of the active CourseOfferings for the identified academic session.

readCourseSectionIdsForCourseOffering

To obtain the set of SourcedIds of the CourseSections associated with the CourseOffering.

readCourseOfferingIdsFromSavePoint

To obtain the set of SourcedIds for CourseOfferings objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readCourseOfferings

To obtain the CourseOffering objects for a defined set of identifiers. This results in a single transaction that may require the exchange of a large volume of data in the response message.

readCourseOfferingsFromSavePoint

To obtain the set of CourseOffering objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

replaceCourseOffering

To replace the content of the identified CourseOffering object.  The target must write the new data into the CourseOffering object.  This is a destructive write-over of all of the original information.

updateCourseOffering

To write new content into the identified CourseOffering object.  The target must write the new data into the CourseOffering object.  This is an additive operation.

updateCourseOfferingStatus

To change the status of the identified CourseOffering to the supplied value.

discoverCourseOfferingIds

To obtain the set of SourcedIds for CourseOffering objects whose properties agree with those defined in the query.

changeCourseOfferingIdentifier

To change the SourcedId of the CourseOffering record.  The completion of this operation will result in later actions using the original SourcedId reporting an unknown identifier status. 

 


D2.3       CourseSectionManager Interface Description

The CourseSectionManager interface class describes the operations that are permitted on a CourseSection.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table D.3.

Table D.3 Summary of operations for CourseSectionManager.

Operation

Description

createCourseSection

To request the creation of a populated CourseSection object on the target system where the source is responsible for the allocation of the unique identifier.

createByProxyCourseSection

To request the creation of a populated CourseSection object on the target system where the target is responsible for the allocation of the unique identifier.

createCourseSectionFromCourseSection

To create a new CourseSection from the supplied CourseSection for a particular academic session.

deleteCourseSection

To request the deletion of a CourseSection object.  The CourseSection object is deleted along with all of its associated Memberships.

readCourseSection

To read the full contents of the identified CourseSection object.  The target must return all of the data it has for the identified CourseSection object.

readAllCourseSectionIds

To obtain the set of sourcedIds which have been assigned to CourseSection objects.

readCourseSectionIdsFromSavePoint

To obtain the set of sourcedIds for CourseSection objects which have been altered since the supplied reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readCourseSections

To obtain the CourseSection objects for a defined set of identifiers.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readCourseSectionsFromSavePoint

To obtain the set of CourseSection objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

replaceCourseSection

To replace the content of the identified CourseSection object.  The target must write the new data into the CourseSection object.  This is a destructive write-over of all of the original information.

updateCourseSection

To write new content into the identified CourseSection object.  The target must write the new data into the CourseSection object.  This is an additive operation.

updateCourseSectionStatus

To change the status of the identified CourseSection.

discoverCourseSectionIds

To obtain the set of SourcedIds for CourseSection objects whose properties agree with those defined in the query.

changeCourseSectionIdentifier

To change the SourcedId of the CourseSection record.  The completion of this operation will result in later actions using the original SourcedId reporting an unknown identifier status. 

D2.4       SectionAssociationManager Interface Description

The SectionAssociationManager interface class describes the operations that are permitted on a SectionAssociation.  The interface stereotype indicates that there are no attributes.  The operations are summarized in Table D.4.

Table D.4 Summary of operations for SectionAssociationManager.

Operation

Description

createSectionsAssociation

To request the creation of a populated SectionsAssociation object on the target system where the source is responsible for the allocation of the unique identifier.

createByProxySectionsAssociation

To request the creation of a populated SectionsAssociation object on the target system where the target is responsible for the allocation of the unique identifier.

deleteSectionAssociation

To request the deletion of a SectionAssociation object.  The SectionAssociation object is deleted and all of its associated relationships.

readSectionAssociation

To read the full contents of the identified SectionAssociation object.  The target must return all of the data it has for the identified SectionAssociation object.

readAllSectionsAssociationIds

To obtain the set of SourcedIds which have been assigned to SectionAssociation objects.

readSectionAssociationIdsFromSavePoint

To obtain the set of SourcedIds for SectionAssociations objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readCourseSectionAssociations

To obtain the SectionAssociation objects for a defined set of identifiers.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readSectionAssociationsFromSavePoint

To obtain the set of SectionAssociation objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may require the exchange of a large volume of data in the response message.

addCourseSection

To add a new Course Section identifier to the SectionAssociation. 

removeCourseSection

To remove a Course Section identifier from the SectionAssociation.

replaceSectionAssociation

To replace the content of the identified SectionAssociation object.  The target must write the new data into the SectionAssociation object.  This is a destructive write-over of the original information.

updateSectionAssociation

To write new content into the identified SectionAssociation object.  The target must write the new data into the SectionAssociation object.  This is an additive operation.

discoverSectionAssociationIds

To obtain the set of sourcedIds for SectionAssociation objects whose properties agree with those defined in the query.

changeSectionAssociationIdentifier

To change the sourcedId of the SectionAssociation record.  The completion of this operation will result in later actions using the original sourcedId reporting an unknown identifier status. 

 

Appendix E Outcomes Management Service 1.0 Overview

E1     OMS Description

The Outcomes Management Service is used to model the service responsible for manipulating information about outcomes.  The Outcomes Management Service interfaces are shown in Figures E.1, E.2 and E.3.

 

 

Figure E.1 OutcomesManagementService LineItemManager interface definitions.


Figure E.2 OutcomesManagementService ResultManager interface definitions.

Figure E.3 OutcomesManagementService ResultValueManager interface definitions.

E2     OMS Operations

The Outcomes Management Service is split into three interfaces: LineItemManager that supports the manipulation of LineItem objects; ResultManager that supports the manipulation of Result objects; ResultValueManager that supports the manipulation of ResultValue objects.

E2.1       LineItemManager Interface Description

The LineItemManager interface class describes the operations that are permitted on LineItems object (as shown in Figure E.1).  The set of operations are summarized in Table E.1.

Table E.1 Summary of operations for LineItemManager.

Operation

Description

createLineItem

To request the creation of a populated LineItem object on the target system where the source is responsible for the allocation of the unique SourcedId.

createByProxyLineItem

To request the creation of a populated LineItem object on the target system where the target is responsible for the allocation of the unique SourcedId.

deleteLineItem

To request the deletion of a LineItem object.  The LineItem object is deleted with all of its associated relationships.

readLineItem

To read the full contents of the identified LineItem object.  The target must return all of the data it has for the identified LineItem object.

readAllLineItemIds

To obtain all the SourcedIds assigned to LineItem objects.

readLineItemIdsWithLineItemType

To obtain the set of SourcedIds for the LineItem objects which have a particular state.

readLineItemIdsForPerson

To obtain the set of SourcedIds for the LineItem objects which are associated with a particular Person object.

readLineItemIdsForCourseOffering

To obtain the set of SourcedIds for the LineItem objects which are associated with a particular CourseOffering object.

readLineItemIdsForCourseSection

To obtain the set of SourcedIds for the LineItem objects which are associated with a particular CourseSection object.

readLineItemIdsFromSavePoint

To obtain the set of SourcedIds for LineItem objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readLineItems

To obtain the LineItem objects for a defined set of SourcedIds.  This results in a single transaction that may require the exchange of a large volume of data in the response message.

readLineItemsFromSavePoint

To obtain the set of LineItem objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may exchange a large volume of data in the response.

updateLineItem

To write new content into the identified LineItem object.  The target must write the new data into the LineItem object.  This is an additive operation.

replaceLineItem

To replace the content of the identified LineItem object.  The target must write the new data into the LineItem object.  This is a destructive write-over of all of the original information.

discoverLineItemIds

To obtain the set of SourcedIds for LineItem objects whose properties agree with those defined in the query/filter.

changeLineItemIdentifier

To change the SourcedId for a LineItem object.

E2.2       ResultManager Interface Description

The ResultManager interface class describes the operations that are permitted on Result objects (as shown Figure E.2).  The set of operations are summarized in Table E.2.

Table E.2 Summary of operations for ResultManager.

Operation

Description

createResult

To request the creation of a populated Result object on the target system where the source allocates the unique SourcedId.  The Result object is tied to a LineItem object.

createByProxyResult

To request the creation of a populated Result object on the target system where the target allocates the unique SourcedId. The Result object is tied to a LineItem object.

deleteResult

To request the deletion of a Result object.  The Result object is deleted but the associated ResultValue and LineItems remain.

readResult

To read the full contents of the identified Result object.  The target must return all of the data it has for the identified Result object.

readAllResultIds

To obtain the set of SourcedIds assigned to Result objects.

readResultIdsForPerson

To obtain the set of SourcedIds for the Result objects which are associated with a particular Person object.

readResultIdsForLineItem

To obtain the set of SourcedIds for the Result objects which are associated with a particular LineItem object.

readResultIdsForCourseOffering

To obtain the set of SourcedIds for the Result objects which are associated with a particular CourseOffering object.

readResultIdsForCourseSection

To obtain the set of SourcedIds for the Result objects which are associated with a particular CourseSection object.

readResultIdsForCourseSectionWithStatus

To obtain the set of SourcedIds for the Result objects that are associated with a particular CourseSection object and have results of a particular status.

readResultIdsForLineItemWithLineItemType

To obtain the SourcedIds for the Result objects that are associated with a LineItem that has a particular LineItemType state.

readResultIdsFromSavePoint

To obtain the set of identifiers for Result objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readResults

To obtain the Result objects for a defined set of identifiers.  This results in a single transaction that may exchange of a large volume of data.

readResultsFromSavePoint

To obtain the set of Result objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may require the exchange of a large volume of data in the response message.

updateResult

To add content to the identified Result object.  The target must write the new data into the Result object.  This is an additive operation.

replaceResult

To replace the content of the identified Result object.  The target must write the new data into the Result object.  This is a destructive write-over of all of the original information.

discoverResultIds

To obtain the set of SourcedIds for Result objects whose properties agree with those defined in the query/filter.

changeResultIdentifier

To change the SourcedId of a Result object.

E2.3       ResultValueManager Interface Description

The ResultValueManager interface class describes the operations that are permitted on ResultValue objects (as shown Figure E.3).  The set of operations are summarized in Table E.3.

Table E.3 Summary of operations for ResultValueManager.

Operation

Description

createResultValue

To request the creation of a populated ResultValue object on the target system.  The source is responsible for the allocation of the unique SourcedId.

createByProxyResultValue

To request the creation of a populated ResultValue object on the target system.  The target is responsible for the allocation of the unique SourcedId.

deleteResultValue

To request the deletion of a ResultValue object.  The ResultValue object is deleted along with all of its associated relationships.

readResultValue

To read the full contents of the identified ResultValue object.  The target must return all of the data it has for the identified ResultValue object.

readAllResultValueIds

To obtain the set of SourcedIds that have been assigned to ResultValue objects.

readResultValueIdForLineItem

To obtain the SourcedId for the ResultValue object which has been associated with a particular LineItem object.

readResultValueIdForResult

To obtain the SourcedId for the ResultValue object which is associated with a particular Result object.

readResultValueIdsFromSavePoint

To obtain the set of identifiers for ResultValue objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation.

readResultValues

To obtain the ResultValue objects for a defined set of identifiers. This results in a single transaction that may require the exchange of a large volume of data in the response message.

readResultValuesFromSavePoint

To obtain the set of ResultValue objects which have been altered since the requested reference point.  The reference point is set as ‘zero’ at creation and incremented after every write operation. This results in a single transaction that may exchange of a large volume of data in the response message.

updateResultValue

To write new content into the identified ResultValue object.  The target must write the new data into the ResultValue object.  This is an additive operation.

replaceResultValue

To replace the content of the identified ResultValue object.  The target must write the new data into the ResultValue object.  This is a destructive write-over of all of the original information.

discoverResultValueIds

To obtain the set of SourcedIds for ResultValue objects whose properties agree with those defined in the query/filter.

changeResultValueIdentifier

To change the SourcedId for a ResultValue object.

Appendix F Bulk Data Exchange Management Service 1.0 Overview

F1     BDEMS Description

The Bulk Data Exchange Management Service is used to model the service responsible for manipulating information used in Learning Information Services systems.  The BulkDataExchangeManagementService interface is shown in Figure F.1.

 

 

Figure F.1 BulkDataExchangeManagementService interface definition.

F2     BDEMS Operations

The BulkDataExchangeManager interface class describes the operations that are permitted on ‘bulk data’ objects.  The interface stereotype indicates that there are no attributes for this class.  The set of operations are summarized in Table F.1.

Table F.1 Summary of operations for BulkDataExchangeManager.

Operation

Description

announceBulkDataExchange

To announce the availability of a bulk data object that is ready to be retrieved by service consumers.

reportBulkDataExchange

To report the retrieval of the bulk data object whose availability was announced previously.

syncBulkDataExchange

To request and undertake a synchronization bulk data exchange.

syncFromSavePointBulkDataExchange

To request and undertake a synchronization bulk data exchange for all of the data changed from a defined sequence point.

getStatusBulkDataExchange

To obtain the status of the creation of the data file(s) to be made available for bulk data exchange.

getDataBulkDataExchange

To obtain a remote data file previously identified as containing some, or all, of the bulk data.

 

 

About This Document

 

Title:                                                      IMS GLC Learning Information Services Specification

Editor:                                                  Colin Smythe (IMS GLC)

Co-chairs:                                            Linda Feng (Oracle) and Bill Lee (Desire2learn)

Version:                                                2.0

Version Date:                                      15 March 2010

Release:                                                Final 1.0

Status:                                                   Public Draft

Summary:                                            This document contains the description of the IMS GLC Learning Information Services (LIS) specification.  LIS is a collection of six component services that are combined to provide the required functionality.  These component services are: Person Management Service; Group Management Service; Membership Management Service; Course Management Service; Outcomes Management Service; and Bulk Data Exchange Management Service.  As part of the specification a Core Profile has been created.

Revision Information:                      Original Public Draft Release

Purpose:                                               This document is made available for adoption by the public community at large.

Document Location:                          Join the discussion and post comments on the LIS Public Forum: http://www.imsglobal.org/community/forum/categories.cfm?catid=59

 

 

 

 

 

List of Contributors

The following individuals contributed to the development of this document:


Kerry Blinco                 DEEWR (Australia)

Kirk Bunte                    SungardHE (USA)

Adam Cooper              JISC/JISC-CETIS (UK)

Michael Feldstein        Oracle (USA)

Linda Feng                    Oracle (USA)

Chris Hatton                 Pearson (USA)

Jon Fontaine                 Blackboard (USA)

Zack Leavitt                 Pearson (USA)

Bill Lee                          Desire2Learn (Canada)

Richard Moon              SungardHE (USA)

Colin Smythe               IMS GLC (UK)

Nick Terrible                 University of Wisconsin (USA)


Revision History

 

Version No.

Release Date

Comments

CM/DN Release
Final v1.0

31 January 2009

The first formal release of the CM/DN Document.  This document is released for interoperability implementation by the IMS GLC Members and IMS GLC Developer Network Subscribers.

Public Draft Release v1.0

15 March 2010

The first formal release of the Public Draft Document.  This document is released for interoperability adoption by the community at large.

 

 

 

 

Index


A

Abstract Framework......... 6, 7, 8

Addition Profiles....................... 17

Attributes

Common

email.................................... 1

recordInfo........................ 15

sourcedId.......................... 34

Course

section............................... 17

Membership

membership............... 15, 20

Org

type............................. 15, 16

Person

email.................................... 1

RecordMetaData

comments........................... 1

Result 6, 18, 23, 25, 27, 31, 32, 33, 34

result 6, 18, 23, 25, 27, 31, 32, 33, 34

Role

status 17, 23, 25, 27, 31, 32, 33, 34, 38, 40

StatusInfo

description.. 2, 7, 19, 20, 41

TypeValue

type............................. 15, 16

Values

list....................................... 18

B

Binding technologies

LDAP 2, 3, 4, 6, 7, 8, 9, 12, 19, 20

SOAP......... 2, 6, 12, 13, 19, 20

WSDL 2, 3, 4, 6, 8, 9, 13, 18, 19, 20

XSD....... 2, 4, 8, 13, 18, 19, 20

Bulk Data Exchange Management Service   2, 3, 4, 6, 7, 8, 16, 17, 19, 40, 41

C

Classes

Common

StatusInfo.................. 14, 15

Course

CourseOffering 15, 27, 31, 32, 37, 38

CourseSection 15, 27, 33, 37, 38

CourseTemplate 15, 27, 30, 31

Offering...................... 10, 11

Section................. 10, 11, 34

SectionAssociation 15, 27, 30, 34

Template.................... 10, 11

Group 2, 3, 4, 6, 7, 8, 11, 14, 15, 17, 24, 25, 26, 27, 41

Description 2, 4, 6, 8, 14, 19, 22, 24, 26, 28, 30, 31, 33, 34, 35, 37, 38, 39, 40

Relationship..................... 10

LineItem.................. 37, 38, 39

Member...................... 5, 26, 27

Role............................. 10, 27

Membership 2, 3, 4, 6, 7, 9, 11, 15, 16, 17, 24, 26, 27, 41

Outcomes

ResultValue........ 37, 38, 39

Person 2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 17, 22, 23, 25, 26, 27, 37, 38, 41

Result........................ 37, 38, 39

Role

Result................... 37, 38, 39

Conformance........ 2, 3, 4, 18, 19

Course 2, 3, 4, 6, 7, 8, 10, 11, 15, 17, 28, 30, 34, 41

Course Management Service 3, 4, 6, 7, 8, 15, 17, 19, 26, 28, 30, 41

Course Structures

CourseOffering 15, 27, 31, 32, 37, 38

CourseSection 15, 27, 33, 37, 38

CourseTemplate 15, 27, 30, 31

Offering........................... 10, 11

Section...................... 10, 11, 34

SectionAssociation 15, 27, 30, 34

Template........................ 10, 11

G

Group Management Service 3, 4, 6, 7, 8, 14, 15, 17, 24, 41

H

Higher Education Profile.. 17, 19

I

Interface Class

BulkDataExchangeManager 5, 40

GroupManager................ 5, 24

GroupsManager................... 14

LineItemManager 4, 5, 35, 37

MembershipManager......... 26

MembershipsManager........ 15

PersonManager................ 5, 22

ResultManager 4, 5, 36, 37, 38

ResultValueManager 4, 5, 36, 37, 39

L

LDAP 2, 3, 4, 6, 7, 8, 9, 12, 19, 20

Learning Information Services 1, 2, 3, 6, 7, 8, 9, 10, 16, 20, 40, 41

Learning Information Services Best Practices & Implementation Guide 9

Lightweight Directory Access Protocol            2, 3, 4, 6, 7, 8, 9, 12, 19, 20

LIS

Bulk Data Exchange Management Service               2, 3, 4, 6, 7, 8, 16, 17, 19, 40, 41

Course Management Service 3, 4, 6, 7, 8, 15, 17, 19, 26, 28, 30, 41

Group Management Service 3, 4, 6, 7, 8, 14, 15, 17, 19, 24, 26, 41

Membership Management Service              3, 4, 5, 6, 7, 9, 15, 16, 17, 19, 26, 41

Outcomes Management Service  3, 4, 6, 7, 9, 15, 16, 17, 19, 35, 37, 41

Person Management Service 3, 4, 6, 7, 8, 9, 14, 17, 19, 22, 41

M

Membership Management Service  3, 4, 6, 7, 9, 15, 16, 17, 26, 41

O

Operations

BDEMS

announceBulkDataExchange 17, 40

reportBulkDataExchange 17, 40

Course

addCourseSection........... 34

changeCourseOfferingIdentifier              32

changeCourseSectionIdentifier               33

changeCourseTemplateIdentifier           31

changeSectionAssociationIdentifier       34

createByProxyCourseOffering                31

createByProxyCourseSection  33

createByProxyCourseTemplate              30

createCourseOffering..... 31

createCourseOfferingFromCourseOffering           31

createCourseSection 17, 33

createCourseSectionFromCourseSection              33

createCourseTemplate... 30

deleteCourseOffering..... 31

deleteCourseSection 17, 33

deleteCourseTemplate... 30

deleteSectionAssociation 34

discoverCourseOfferingIds 32

discoverCourseSectionIds 33

discoverCourseTemplateIds    31

discoverSectionAssociation..... 34

readAllActiveCourseOfferingIdsForAcademicSession       32

readAllCourseOfferingIds 32

readAllCourseSectionIds 33

readAllCourseTemplateIds 30

readCourseOffering........ 31

readCourseOfferingIdsFromSavePoint  32

readCourseOfferings...... 32

readCourseOfferingsFromSavePoint      32

readCourseSection... 17, 33

readCourseSectionIdsForCourseOffering              32

readCourseSectionIdsFromSavePoint   33

readCourseSections. 17, 33

readCourseSectionsFromSavePoint       33

readCourseTemplate...... 30

readCourseTemplateIdsFromSavePoint               31

readCourseTemplates.... 31

readCourseTemplatesFromSavePoint   31

readSectionAssociation. 34

readSectionAssociationIdsFromSavePoint           34

readSectionAssociationsFromSavePoint               34

removeCourseSection.... 34

replaceCourseOffering... 32

replaceCourseSection 17, 33

replaceCourseTemplate. 31

replaceSectionAssociation 34

updateCourseOffering... 32

updateCourseOfferingStatus   32

updateCourseSection..... 33

updateCourseSectionStatus     33

updateCourseTemplate. 31

updateSectionAssociation 34

Group

addGroupRelationship... 24

changeGroupIdentifier... 25

createByProxyGroup..... 24

createGroup..................... 24

deleteGroup...................... 24

discoverGroupIds............ 25

readGroup........................ 25

readGroupIdsForPerson. 25

readGroupIdsFromSavePoint  25

readGroups....................... 25

readGroupsFromSavePoint..... 25

removeGroupRelationship 25

replaceGroup................... 25

updateGroup.................... 25

Membership

changeMembershipIdentifier   27

createByProxyMembership     26

createMembership... 17, 26

deleteMembership.... 17, 26

discoverMembershipIds 27

readAllMembershipIds.. 27

readMembership...... 17, 26

readMembershipIdsForPerson 27

readMembershipIdsFromSavePoint       27

readMembershipIdsPersonWithRole      27

readMemberships..... 17, 27

readMembershipsFromSavePoint           27

replaceMembership. 17, 27

updateMembership........ 27

Outcomes

changeLineItemIdentifier 38

changeResultIdentifier... 39

changeResultValueIdentifier   39

createByProxyLineItem 37

createByProxyResult..... 38

createByProxyResultValue..... 39

createLineItem................ 37

createResult..................... 38

createResultValue........... 39

deleteLineItem................ 37

deleteResult...................... 38

deleteResultValue........... 39

discoverLineItemIds...... 37

discoverResultIds............ 39

discoverResultValue....... 39

readAllLineItemIds........ 37

readAllResultIds.............. 38

readAllResultValueIds... 39

readLineItem................... 37

readLineItemIdsForCourseOffering       37

readLineItemIdsForCourseSection         37

readLineItemIdsForPerson 37

readLineItemIdsFromSavePoint             37

readLineItems................. 37

readLineItemsFromSavePoint 37

readResult.................. 17, 38

readResultIdsForCourseOffering            38

readResultIdsForCourseSection              38

readResultIdsForCourseSectionWithStatus          38

readResultIdsForLineItem 38

readResultIdsForPerson. 38

readResultIdsFromSavePoint  38

readResults....................... 38

readResultsFromSavePoint..... 38

readResultValue.............. 39

readResultValueIdsFromSavePoint       39

readResultValues............ 39

readResultValuesFromSavePoint           39

replaceLineItem.............. 37

replaceResult................... 39

replaceResultValue......... 39

updateLineItem.............. 37

updateResult.................... 38

updateResultValue......... 39

Person

changePersonIdentifier.. 23

createByProxyPerson..... 22

createPerson.............. 17, 22

deletePerson.............. 17, 22

discoverPersonIds........... 23

readPerson................. 17, 22

readPersonCore............... 22

readPersons............... 17, 23

replacePerson............ 17, 23

updatePerson................... 23

Outcomes Management Service 3, 4, 6, 7, 9, 16, 17, 35, 37, 41

P

Person Management Service 3, 4, 6, 7, 8, 9, 14, 17, 22, 41

Profiles

Higher Education Profile 17, 19

S

SectionAssociation 15, 27, 30, 34

Services

Bulk Data Exchange Management             2, 3, 4, 6, 7, 8, 16, 17, 40, 41

Course Management Service 3, 4, 6, 7, 8, 15, 17, 28, 30, 41

Group Management 3, 4, 6, 7, 8, 14, 15, 17, 24, 41

Membership Management 3, 4, 6, 7, 9, 15, 16, 17, 26, 41

Outcomes Management Service  3, 4, 6, 7, 9, 16, 17, 35, 37, 41

Person Management 3, 4, 6, 7, 8, 9, 14, 17, 22, 41

SOAP............. 2, 6, 12, 13, 19, 20

Specifications

IMS

Enterprise Service

Best Practices & Implementation Guide           9

Other

LDAP 2, 3, 4, 6, 7, 8, 9, 12, 19, 20

W

WDSL 2, 3, 4, 6, 8, 9, 13, 18, 19, 20

X

XSD........... 2, 4, 8, 13, 18, 19, 20


 

 

 

 

 

 

 

 

 

 

IMS Global Learning Consortium, Inc. (“IMS GLC”) is publishing the information contained in this document (“Specification”) for purposes of scientific, experimental, and scholarly collaboration only.
IMS GLC makes no warranty or representation regarding the accuracy or completeness of the Specification.
This material is provided on an “As Is” and “As Available” basis.
The Specification is at all times subject to change and revision without notice.
It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.
IMS GLC would appreciate receiving your comments and suggestions.
Please contact IMS GLC through our website at http://www.imsglobal.org
Please refer to Document Name:
IMS GLC Specification v2.0 Public Draft v1.0
Date: 15 March 2010

 



[1] The LDAP bindings use a different set of message and data structures.

[2] IMS GLC has created one such profile called the ‘Core Profile’ [LIS, 10c].

[3] We recommend that new users of the IMS GLC LIS Specification start with the IMS GLC LIS Best Practices & Implementation Guide. The examples in this document show how we intend the specification to be used, whereas the Information Model and WSDL Binding documents contain the formal description of the services, data structures, their syntax and semantics.