Sharebar?

IMS Common Data Definitions Information Model

IMS Logo

IMS Enterprise Services Common Data Definitions

Version 1.0 Final Specification

Copyright © 2004 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a registered trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Enterprise Services Common Data Definitions
Revision: 11 June 2004

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

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

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.


Table of Contents


1. Introduction
1.1 Scope and Context
1.2 Structure of this Document
1.3 Nomenclature
1.4 References

2. Summary of Common Data Definitions

3. DataSource Class Data Model
3.1 Description
3.2 Attributes
3.3 Associations
3.4 OCL Definitions
3.5 XSD Binding

4. Email Class Data Model
4.1 Description
4.2 Attributes
4.3 Associations
4.4 OCL Definitions
4.5 XSD Binding

5. Identifier and IdentifierSet Class Data Model
5.1 Identifier Class Data Model
5.1.1 Description
5.1.2 Attributes
5.1.3 Associations
5.1.4 OCL Definitions
5.1.5 XSD Binding
5.2 IdentifierSet Class Data Model
5.2.1 Description
5.2.2 Attributes
5.2.3 Associations
5.2.4 OCL Definitions
5.2.5 XSD Binding

6. IdentifierPair and IdentifierPairSet Class Data Model
6.1 IdentifierPair Class Data Model
6.1.1 Description
6.1.2 Attributes
6.1.3 Associations
6.1.4 OCL Definitions
6.1.5 XSD Binding
6.2 IdentifierPairSet Class Data Model
6.2.1 Description
6.2.2 Attributes
6.2.3 Associations
6.2.4 OCL Definitions
6.2.5 XSD Binding

7. IMSextension Class Data Model
7.1 Description
7.2 Attributes
7.3 Associations
7.4 OCL Definitions
7.5 ExtensionField Class Data Model
7.5.1 Description
7.5.2 Attributes
7.5.3 Associations
7.5.4 OCL Definitions
7.6 XSD Binding

8. LangString and SeqLangString Class Data Models
8.1 LangString Class Data Model
8.1.1 Description
8.1.2 Attributes
8.1.3 Associations
8.1.4 OCL Definitions
8.1.5 XSD Binding
8.2 SeqLangString Class Data Model
8.2.1 Description
8.2.2 Attributes
8.2.3 Associations
8.2.4 OCL Definitions
8.2.5 XSD Binding

9. RecordMetadata Class Data Model
9.1 Description
9.2 Attributes
9.3 Associations
9.4 OCL Definitions
9.5 XSD Binding

10. Status and StatusInfoSet Class Data Model
10.1 Status Class Data Model
10.1.1 Description
10.1.2 Attributes
10.1.3 Associations
10.1.4 OCL Definitions
10.1.5 CodeMajor/Severity Interpretation Matrix
10.1.6 CodeMinor Values
10.1.7 XSD Binding
10.2 StatusInfoSet Class Data Model
10.2.1 Description
10.2.2 Attributes
10.2.3 Associations
10.2.4 OCL Definitions
10.2.5 XSD Binding

11. TimeFrame Class Data Model
11.1 Description
11.2 Attributes
11.3 Associations
11.4 OCL Definitions
11.5 RestrictDate Class Data Model
11.5.1 Description
11.5.2 Attributes
11.5.3 Associations
11.5.4 OCL Definitions
11.6 XSD Binding

12. URL Class Data Model
12.1 Description
12.2 Attributes
12.3 Associations
12.4 OCL Definitions
12.5 XSD Binding

13. UserId Class Data Model
13.1 Description
13.2 Attributes
13.3 Associations
13.4 OCL Definitions
13.5 XSD Binding

14. Message Header Structures
14.1 Synchronous Request Message Header
14.1.1 <messageIdentifier> Element
14.2 Synchronous Response Message Header
14.2.1 <messageIdentifier> Element
14.2.2 <statusInfo> Element
14.2.3 <statusInfoSet> Element
14.3 Asynchronous Request Message Header
14.3.1 <messageIdentifier> Element
14.4 Asynchronous Request Acknowledgement Message Header
14.4.1 <messageIdentifier> Element
14.4.2 <statusInfo> Element
14.5 Asynchronous Response Message Header
14.5.1 <messageIdentifier> Element
14.5.2 <statusInfo> Element
14.5.3 <statusInfoSet> Element
14.6 Asynchronous Response Acknowledgement Message Header
14.6.1 <messageIdentifier> Element
14.6.2 <statusInfo> Element

Appendix A - XSD Binding Files for Common Objects

About This Document
List of Contributors

Revision History

Index


1. Introduction

1.1 Scope and Context

This document contains the definition of data models that are available to all of the IMS specification information models. A specific information model is responsible for establishing and explaining the context within which the classes defined herein are used. These models are described using the Unified Modelling Language (UML) and the syntax adopted for the description of the UML is given in the IMS Specifications, Methods and Best Practices document [SpecDev, 03]. The corresponding XML bindings, using XML Schema Definitions (XSDs) are also supplied for each class. This component-based approach to specification development is explained in the IMS Abstract Framework [AbsWhite, 03], [AbsGloss, 03], [AbsASCs, 03].

The content of this document will grow as the set of IMS specifications expands. Each specification development activity will identify new common data models that should be made available outside of the specification being defined. This means that this document will undergo regular extension however new data models will not, in all but the rarest cases, require changes to any of the other established data models.

1.2 Structure of this Document

The structure of this document is:

 
2. Summary of Common Data Definitions A summary of the set of data models defined within this document;
3. DataSource Class Data Model The data model definition and XML binding for the DataSource class;
4. Email Class Data Model The data model definition and XML binding for the Email class;
5. Identifier & IdentifierSet Class data Model The data model definitions and XML binding for the Identifier and IdentifierSet classes. The IdentifierSet is a collection of Identifier classes;
6. IdentifierPair & IdentifierPairSet Class Data Model The data model definitions and XML binding for the IdentifierPair and IdentifierPairSet classes. The IdentifierPairSet is a collection of IdentifierPair classes;
7. IMSextension Class Data Model The data model definition and XML binding for the IMSextension class. This is used to support proprietary extensions to a data model;
8. LangString & SeqLangString Class Data Model The data model definition and XML binding for the LangString and sequence of LangString classes;
9. RecordMetaData Class Data Model The data model definition and XML binding for the RecordMetaData class;
10. Status & StatusInfoSet Class data Model The data model definitions and XML binding for the StatusInfo and StatusInfoSet classes. The StatusInfoSet is a collection of StatusInfo classes;
11. TimeFrame Class Data Model The data model definition and XML binding for the TimeFrame class;
12. URL Class Data Model The data model definition and XML binding for the URL class;
13. UserId Class Data Model The data model definition and XML binding for the UserId class.
14. Message Header Structures The XML binding for the synchronous and asynchronous protocol message headers;
Appendix A - XSD Binding Files for the Common Objects The XSD representation of the Enterprise Service Common Data Definition objects and the message headers.

1.3 Nomenclature

 
IAF IMS Abstract Framework
UML Unified Modelling Language
URL Universal Resource Locator
W3C World Wide Web Consortium
WSDL Web Services Description Language
XML Extensible Mark-up Language

1.4 References

 
[AbsASCs, 03] IMS Abstract Framework: Applications, Services & Components v1.0, Ed. C.Smythe, IMS Global Learning Consortium, Inc., July 2003.
[AbsGloss, 03] IMS Abstract Framework: Glossary v1.0, Ed. C.Smythe, IMS Global Learning Consortium, Inc., July 2003.
[AbsWhite, 03] IMS Abstract Framework: White Paper v1.0, Ed. C.Smythe, IMS Global Learning Consortium, Inc., July 2003.
[GWS, 04a] IMS General Web Services Base Profiles v1.0, C.Schroeder, S.Raju, and C.Smythe, IMS Global Learning Consortium, Inc., June 2004.
[GWS, 04b] IMS General Web Services UNL to XML Transformation Rules v1.0, C.Schroeder, S.Raju, and C.Smythe, IMS Global Learning Consortium, Inc., June 2004.
[SpecDev, 03] IMS Specification Development Methods & Best Practices Draft 5.0, C.Smythe, IMS Global Learning Consortium, Inc., August 2003.

2. Summary of Common Data Definitions

The set of common data definitions described in this document is summarized in Table 2.1.

Table 2.1 Summary of common data definitions.

 
Common Class Description
DataSource A container for the identifier of the original source of data content.
Email The representation of an email address.
ExtensionField The extension field name/value tuple that is used to define a single extension field.
Identifier The container for a unique identifier (globally or locally unique).
IdentifierPair A pair of Identifiers.
IdentifierPairSet A collection of a pair of Identifiers (IdentifierPair).
IdentifierSet A collection of unique identifiers (Identifier).
IMSextension The container for the permitted extensions for any IMS data model.
LangString A language specific string entry.
RecordMetaData Object local meta-data.
RestrictDate Definition of a restriction about a particular date of activity.
SeqLangString A collection of related LangStrings i.e. to support alternative entry languages.
StatusInfo The status information class that is used to contain all of the status information describing the outcome of an invoked operation.
StatusInfoSet A collection of status information classes (StatusInfo) that result from an invoked operation that contains more than one transaction request.
TimeFrame Definition of activity period in terms of its start and finish times.
URL The representation of a URL.
UserId Identification information for a user's access to a learning management environment.

3. DataSource Class Data Model

3.1 Description

The DataSource class diagram is shown in Figure 3.1. The DataSource class is the container for any form of global unique or locally unique identifier that refers to the original source of the identifier. There is no internal sub-structure defined for the DataSource.

DataSource class diagram
Figure 3.1 DataSource class diagram.

3.2 Attributes

None.

3.3 Associations

The set of associations for the Identifier class are summarized in Table 3.1.

Table 3.1 Summary of associations for the Identifier class.

 
Association Class Name Multiplicity Description
String 1 A DataSource is a type of String.

3.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context Identifier
inv: DataSource.size <= 2048


3.5 XSD Binding

The XML binding for the DataSource class is shown in Figure 3.2. This binding is based upon the simple-type 'string'. The XSD listing is given in Appendix A.

DataSource class XSD binding
Figure 3.2 DataSource class XSD binding.

4. Email Class Data Model

4.1 Description

The Email class diagram is shown in Figure 4.1. The Email class is the container for any email address. There is no internal sub-structure defined for the Email.

Email class diagram
Figure 4.1 Email class diagram.

4.2 Attributes

None.

4.3 Associations

The set of associations for the Identifier class are summarized in Table 4.1.

Table 4.1 Summary of associations for the Identifier class.

 
Association Class Name Multiplicity Description
String 1 An Email is a type of String.

4.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context Identifier
inv: Email.size <= 2048


4.5 XSD Binding

The XML binding for the Email class is shown in Figure 4.2. This binding is based upon the simple-type 'string'. The XSD listing is given in Appendix A.

Email class XSD binding
Figure 4.2 Email class XSD binding.

5. Identifier and IdentifierSet Class Data Model

5.1 Identifier Class Data Model

5.1.1 Description

The Identifier class diagram is shown in Figure 5.1. The Identifier class is the container for any form of global unique or locally unique identifier. There is no internal sub-structure defined for the Identifier.

Identifier class diagram
Figure 5.1 Identifier class diagram.

5.1.2 Attributes

None.

5.1.3 Associations

The set of associations for the Identifier class are summarized in Table 5.1.

Table 5.1 Summary of associations for the Identifier class.

 
Association Class Name Multiplicity Description
String 1 An Identifier is a type of String.

5.1.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context Identifier inv: identifier.size <= 4096

5.1.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 5.2. This binding is a simple-type 'string'. The XSD listing is given in Appendix A.

Identifier class XSD binding
Figure 5.2 Identifier class XSD binding.

5.2 IdentifierSet Class Data Model

5.2.1 Description

The IdentifierSet class diagram is shown in Figure 5.3. The IdentifierSet class is a collection of Identifiers.

IdentifierSet class diagram
Figure 5.3 IdentifierSet class diagram.

5.2.2 Attributes

None.

5.2.3 Associations

The set of associations for the IdentifierSet class are summarized in Table 5.2.

Table 5.2 Summary of associations for the IdentifierSet class.

 
Association Class Name Multiplicity Description
Identifier 2..* The set of Identifiers. The significance of the order of the Identifiers is not defined as part of the class.

5.2.4 OCL Definitions

None.

5.2.5 XSD Binding

The XML binding for the IdentifierSet class is shown in Figure 5.4. This binding is based upon the creation of the complex-type 'identifierSetDType'. The XSD listing is given in Appendix A.

IdentifierSet class XSD binding
Figure 5.4 IdentifierSet class XSD binding.

6. IdentifierPair and IdentifierPairSet Class Data Model

6.1 IdentifierPair Class Data Model

6.1.1 Description

The IdentifierPair class diagram is shown in Figure 6.1. The IdentifierPair is a tuple of Identifiers whose relationship is not defined as part of the class. The relationship is defined by the context of use.

IdentifierPair class diagram
Figure 6.1 IdentifierPair class diagram.

6.1.2 Attributes

The set of attributes for the IdentifierPair class are summarized in Table 6.1.

Table 6.1 Summary of attributes for the IdentifierPair class.

 
Attribute Name Type Multiplicity Description
firstId Identifier 1 The first Identifier.
secondId Identifier 1 The second Identifier.

6.1.3 Associations

None.

6.1.4 OCL Definitions

None.

6.1.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 6.2. This binding is based upon the creation of the complex-type 'identifierPairDType'. The XSD listing is given in Appendix A.

IdentifierPair class XSD binding
Figure 6.2 IdentifierPair class XSD binding.

6.2 IdentifierPairSet Class Data Model

6.2.1 Description

The IdentifierPairSet class diagram is shown in Figure 6.3. The IdentifierPairSet is a collection of IdentifierPairs.

IdentifierPairSet class diagram
Figure 6.3 IdentifierPairSet class diagram.

6.2.2 Attributes

None.

6.2.3 Associations

The set of associations for the IdentifierPairSet class are summarized in Table 6.2.

Table 6.2 Summary of associations for the IdentifierPairSet class.

 
Association Class Name Multiplicity Description
IdentifierPair 2..* The set of IdentifierPairs. The significance of the order of the IdentifierPairs is not defined as part of the class.

6.2.4 OCL Definitions

None.

6.2.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 6.4. This binding is based upon the creation of the complex-type 'identifierPairSetDType'. The XSD listing is given in Appendix A.

IdentifierPairSet class XSD binding
Figure 6.4 IdentifierPairSet class XSD binding.

7. IMSextension Class Data Model

7.1 Description

The IMSextension class diagram is shown in Figure 7.1. The IMSextension class is used to enable proprietary extensions to be added to the data models defined within the IMS service specifications.

IMSextension class diagram
Figure 7.1 IMSextension class diagram.

7.2 Attributes

None.

7.3 Associations

The set of associations for the IMSextension class are summarized in Table 7.1.

Table 7.1 Summary of associations for the IMSextension class.

 
Association Class Name Multiplicity Description
ExtensionField 1..* The set of extension fields which are available to support the extensions to be defined.

7.4 OCL Definitions

None.

7.5 ExtensionField Class Data Model

7.5.1 Description

The ExtensionField class is a set name/type/value three-tuple that enables a single extension field to have a value assigned to the named field. This means that the set of extension fields must take the form of a flat list, i.e., no hierarchical extension forms are permitted.

7.5.2 Attributes

The set of attributes for the ExtensionField class are summarized in Table 7.2.

Table 7.2 Summary of attributes for the ExtensionField class.

 
Attribute Name Type Multiplicity Description
fieldName String 1 The name of the extension field that is being defined.
fieldType String 1 The data-type of the extension field being defined.
fieldValue String 1 The data value of the previously named extension field that is being defined.

7.5.3 Associations

None.

7.5.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context ExtensionField inv: fieldName.size <= 2048
inv: fieldType.size <= 2048
inv: fieldValue.size <= 2048

7.6 XSD Binding

The XML binding for the Identifier class is shown in Figure 7.2. This binding is based upon the creation of the complex-type 'IMSextensionDType'. The XSD listing is given in Appendix A.

IMSextension class XSD binding
Figure 7.2 IMSextension class XSD binding.

8. LangString and SeqLangString Class Data Models

8.1 LangString Class Data Model

8.1.1 Description

The LangString class diagram is shown in Figure 8.1. This enforces the language of the text string to be supplied along with the text string itself.

LangString class diagram
Figure 8.1 LangString class diagram.

8.1.2 Attributes

The set of attributes for the LangString class are summarized in Table 8.1.

Table 8.1 Summary of attributes for the LangString class.

 
Attribute Name Type Multiplicity Description
language String 1 The language of the text. This is an enumerated list from ISO 603.
text String 1 The text entry itself.

8.1.3 Associations

None.


8.1.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context LangString
-- The LangString language set is as per ISO 603.
inv: Set{}.includes(language)
inv: text.size <= 2048


8.1.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 8.2. This binding is based upon the creation of the complex-type 'LangStringDType'. The XSD listing is given in Appendix A.

LangString class XSD binding
Figure 8.2 LangString class XSD binding.

8.2 SeqLangString Class Data Model

8.2.1 Description

The SeqLangString class diagram is shown in Figure 8.3. This enforces the language of the text string to be supplied along with the text string itself.

SeqLangString class diagram
Figure 8.3 SeqLangString class diagram.

8.2.2 Attributes

None.

8.2.3 Associations

The set of associations for the SeqLangString class are summarized in Table 8.2.

Table 8.2 Summary of associations for the SeqLangString class.

 
Association Class Name Multiplicity Description
LangString 2..* The set of LangStrings. The significance of the order of the LangStrings is not defined as part of the class.

8.2.4 OCL Definitions

None.

8.2.5 XSD Binding

The XML binding for the SeqLangString class is shown in Figure 8.4. This binding is based upon the creation of the complex-type 'SeqLangStringDType'. The XSD listing is given in Appendix A.

SeqLangString class XSD binding
Figure 8.4 SeqLangString class XSD binding.

9. RecordMetadata Class Data Model

9.1 Description

The RecordMataData class diagram is shown in Figure 9.1. This class is the container for all object-specific descriptive meta-data that may be required to define the usage context of the object.

RecordMetaData class diagram
Figure 9.1 RecordMetaData class diagram.

9.2 Attributes

The set of attributes for the RecordMetaData class are summarized in Table 9.1.

Table 9.1 Summary of attributes for the RecordMetaData class.

 
Attribute Name Type Multiplicity Description
comments String 0..1 Human readable comments that are used to supply descriptive and contextual information about the object containing this class.

Further attributes will be added as required by other objects. All of the attributes are optional.

9.3 Associations

None.

9.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context RecordMetaData inv: comments.size <= 2048

9.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 9.2. This binding is based upon the creation of the complex-type 'RecordMetaDataDType'. The XSD listing is given in Appendix A.

Identifier class XSD binding
Figure 9.2 Identifier class XSD binding.

10. Status and StatusInfoSet Class Data Model

10.1 Status Class Data Model

10.1.1 Description

The StatusInfo class diagram is shown in Figure 10.1. This class is used to return the status information reporting on the outcome of the associated request.

StatusInfo class diagram
Figure 10.1 StatusInfo class diagram.

10.1.2 Attributes

The set of attributes for the StatusInfo class are summarized in Table 10.1.

Table 10.1 Summary of attributes for the StatusInfo class.

 
Attribute Name Type Multiplicity Description
codeMajor String 1 The major code assigned to the status block. This is a fixed enumerated list. This is used in conjunction with the 'severity'.
severity String 1 The severity of the status report. This is a fixed enumerated list. This is used in conjunction with the 'codeMajor'.
codeMinor String 0..1 This is a detailed report code that is used to identify specific causes of failure.
messageRefIdentifier String 1 The message identifier of the request message invoking this response.
operationRefIdentifier String 0..* The identifier of the specific operation(s) whose status are being reported in this status block.
description LangString 0..1 A human readable message or report.

10.1.3 Associations

None.

10.1.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context StatusInfo inv: Set{'Success', 'Processing', 'Failure', 'Unsupported'}.includes(codeMajor)
inv: Set{'Status', 'Warning', 'Error'}.includes(severity)
inv: codeMinorName.size <= 32
inv: codeMinorValue.size <= 32
inv: messageRefIdentifier.size <= 32
inv: operationRefIdentifier.size <= 32

10.1.5 CodeMajor/Severity Interpretation Matrix

The interpretation of the 'codeMajor/severity' matrix is shown in Table 10.2.

Table 10.2 Interpretation of the 'codeMajor/severity' matrix.

 
Severity CodeMajor
Success Processing Failure Unsupported
Status All of the request has been completed successfully. The request is being processed by the target, i.e., the request has been received and acknowledged by the target. Not permitted. Target does not support the requested operation.
Warning Some of the request has been completed successfully, e.g., partial storage of the data structure sent. The request is being processed (this does not imply reception by the target communications handler) but it has not yet been acknowledged as received by the target. Not permitted. Not permitted.
Error Not permitted. An error has been detected in the immediate transmission communications handler, i.e., the message has not left the end-system. The request has failed but it was issued from the local communications handler. Detailed failure reports could be included. Not permitted.

10.1.6 CodeMinor Values

The information to be entered in the 'codeMinorName' should reflect the service responsible for generating the state code. In the case of the Enterprise Services these will be:

  • 'personmanagement' - for the Person Management Service;
  • 'groupmanagement' - for the Group Management Service;
  • 'membershipmanagement' - for the Membership Management Service;

The set of predefined 'codeMinor' codes available for entry in the 'codeMinorField' are listed in Table 10.3.

Table 10.3 Set of predefined 'codeMinor' codes.

 
Logical Name Explanation for Generation
Successful Service Completion Codes
'fullsuccess' The request has been fully and successfully implemented by the target system.
'statealreadysuccess' The request has been successfully implemented because the target object was already in the required state.
'unsupported' The service requested is not supported by the target system.
...
 
Transactions Service Source Failure Condition Codes
'incompletesourcedata' The source cannot send the message as the minimum set of data for the record is not present.
'invalidsourcedata' The source cannot send the message as some of the data is invalid, e.g., wrong type.
...
 
Transactions Service Target Failure Condition Codes
'overflowfail' The target could not create the object record due to lack of target allocation memory.
'idallocfail' The target could not allocate a unique 'identifier' to the object as there are no more spare identifiers available.
'incompletetargetdatafail' The target has detected that the minimum set of data received for the record is not present.
'invalidtargetdatafail' The target has detected that some of the data received is invalid e.g. wrong type.
'duplicateidallocfail' The target could not allocate a presented 'sourcedid' because it is has already been allocated to an object.
'unknownidfail' The target could not find an object that had the supplied 'sourcedid'
'invalididfail' The record that was been identified using the supplied 'sourcedid was not of the right object type.
'corruptionfail' The target found a stored record that was corrupted and as such could not be returned;
'partialdatastorage' The target has stored only a subset of the data structure received e.g. only the mandatory elements have been stored.
...
 
Common Service Source Failure Condition Codes
TBD
 

 

 
Common Service Target Failure Condition Codes
TBD
 

 

 
Infrastructure Source Failure Condition Codes
'targetcommsfail' The target system has not responded to the request. There is a communications link failure.
'sourcecommsfail' The source system cannot send the request. There is a communications link failure.
...
 
Infrastructure Target Failure Condition Codes
TBD
 

 

 

10.1.7 XSD Binding

The XML binding for the Identifier class is shown in Figure 10.2. This binding is based upon the creation of the complex-type 'statusInfoDType'. The XSD listing is given in Appendix B.

Identifier class XSD binding
Figure 10.2 Identifier class XSD binding.

10.2 StatusInfoSet Class Data Model

10.2.1 Description

The StatusInfoSet class diagram is shown in Figure 10.3. This is a collection of StatusInfo classes and the order of these reflects the sequence in which the individual operations were requested.

StatusInfoSet class diagram
Figure 10.3 StatusInfoSet class diagram.

10.2.2 Attributes

None.

10.2.3 Associations

The set of associations for the StatusInfoSet class are summarized in Table 10.4.

Table 8.4 Summary of associations for the StatusInfoSet class.

 
Association Class Name Multiplicity Description
StatusInfo 1..* The status information class returned for each and every operation. Each StatusInfo instance references the status of each operation.

10.2.4 OCL Definitions

None.

10.2.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 10.4. This binding is based upon the creation of the complex-type 'StatusInfoSetDType'. The XSD listing is given in Appendix B.

StatusInfoSet class XSD binding
Figure 10.4 StatusInfoSet class XSD binding.

11. TimeFrame Class Data Model

11.1 Description

The TimeFrame class diagram is shown in Figure 11.1. The TimeFrame class defines the period for which a particular activity is permitted.

TimeFrame class diagram
Figure 11.1 TimeFrame class diagram.

11.2 Attributes

The set of attributes for the TimeFrame class are summarized in Table 11.1.

Table 11.1 Summary of attributes for the TimeFrame class.

 
Attribute Name Type Multiplicity Description
begin RestrictDate 0..1 The start date of the activity.
begin RestrictDate 0..1 The end date of the activity.
adminPeriod String 0..1 A short descriptive name of the period being defined. This should be human readable.

11.3 Associations

None.

11.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context TimeFrame -- Timeframe, where present, cannot be empty.
inv: adminPeriod.size <= 32

11.5 RestrictDate Class Data Model

11.5.1 Description

The RestrictDate class allows a restriction on an activity to be defined from a particular date.

11.5.2 Attributes

The set of attributes for the RestrictDate class are summarized in Table 11.2.

Table 11.2 Summary of attributes for the RestrictDate class.

 
Attribute Name Type Multiplicity Description
date Date 1 The date at which the restriction is activated. The date is defined as per the ISO 8601 format of: YYYY-MM-DD.
restrict Boolean 1 If the restriction is active. Enumerated as '0=No' or '1=Yes'.

11.5.3 Associations

None.

11.5.4 OCL Definitions

None.

11.6 XSD Binding

The XML binding for the Identifier class is shown in Figure 11.2. This binding is based upon the creation of the complex-type 'TimeFrameDType'. The XSD listing is given in Appendix A.

TimeFrame class XSD binding
Figure 11.2 TimeFrame class XSD binding.

12. URL Class Data Model

12.1 Description

The URL class diagram is shown in Figure 12.1. The URL class is the container for a Universal Resource Locator There is no internal sub-structure defined for the URL.

UserId class diagram
Figure 12.1 URL class diagram.

12.2 Attributes

None.

12.3 Associations

The set of associations for the Identifier class are summarized in Table 12.1.

Table 12.1 Summary of associations for the UserId class.

 
Association Class Name Multiplicity Description
String 1 A URL is a type of String.

12.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context Identifier inv: URL.size <= 4096

12.5 XSD Binding

The XML binding for the URL class is shown in Figure 12.2. This binding is based upon the simple-type 'string'. The XSD listing is given in Appendix A.

UserId class XSD binding
Figure 12.2 UserId class XSD binding.

13. UserId Class Data Model

13.1 Description

The UserId class diagram is shown in Figure 13.1. This class is used to contain the information that defines the access control for a user to the learning environment.

UserId class diagram
Figure 13.1 UserId class diagram.

13.2 Attributes

The set of attributes for the UserId class are summarized in Table 13.1.

Table 13.1 Summary of attributes for the UserId class.

 
Attribute Name Type Multiplicity Description
userIdValue String 1 The actual user identifier for access to the learning environment.
userIdType String 0..1 The type of user identification. An example could be 'National Identifier', etc.
passWord String 0..1 The password that is assigned to the user for accessing a system.
pwEncryption String 0..1 The type of encryption that has been applied to the system access. Examples include 'PKC', 'MD5', etc.
authentication String 0..1 The type of authentication that is to be applied to the system access. Examples include 'Kerberos', etc.

13.3 Associations

None.

13.4 OCL Definitions

The associated object constraint language description for this class is:

package Common

context UserId inv: userIdValue.size <= 256
inv: userIdType.size <= 32
inv: passWord.size <= 1024
inv: pwEncryption.size <= 32
inv: authentication.size <=32

13.5 XSD Binding

The XML binding for the Identifier class is shown in Figure 13.2. This binding is based upon the creation of the complex-type 'UserIdDType'. The XSD listing is given in Appendix A.

UserId class XSD binding
Figure 13.2 UserId class XSD binding.

14. Message Header Structures

The following structures are the message headers that are to be used in the 'Request' and 'Response' messages exchanged to implement the behaviors.

14.1 Synchronous Request Message Header

The synchronous request message header structure is shown in Figure 14.1. The corresponding XSD definition is given in Appendix B.

SyncRequestHeaderInfo message header XSD binding
Figure 14.1 SyncRequestHeaderInfo message header XSD binding.

14.1.1 <messageIdentifier> Element

This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.

14.2 Synchronous Response Message Header

The synchronous response message header structure is shown in Figure 14.2. The corresponding XSD definition is given in Appendix B.

SyncResponseHeaderInfo message header XSD binding
Figure 14.2 SyncResponseHeaderInfo message header XSD binding.

14.2.1 <messageIdentifier> Element

This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.

14.2.2 <statusInfo> Element

The status information returned as a response to single transaction request; see sub-section 10.1.

14.2.3 <statusInfoSet> Element

The status information returned as a response to multiple transaction request; see sub-section 10.2.

14.3 Asynchronous Request Message Header

The synchronous request message header structure is shown in Figure 14.3. The corresponding XSD definition is given in Appendix B.

AsyncRequestHeaderInfo message header XSD binding
Figure 14.3 AsyncRequestHeaderInfo message header XSD binding.

14.3.1 <messageIdentifier> Element

This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.

14.4 Asynchronous Request Acknowledgement Message Header

The asynchronous request acknowledgement message header structure is shown in Figure 14.4. The corresponding XSD definition is given in Appendix B.

AsyncReqAckHeaderInfo message header XSD binding
Figure 14.4 AsyncReqAckHeaderInfo message header XSD binding.

14.4.1 <messageIdentifier> Element

This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.

14.4.2 <statusInfo> Element

The status information returned to indicate the initial status of the asynchronous request; see sub-section 10.1.

14.5 Asynchronous Response Message Header

The synchronous request message header structure is shown in Figure 14.5. The corresponding XSD definition is given in Appendix B.

AsyncResponseHeaderInfo message header XSD binding
Figure 14.5 AsyncResponseHeaderInfo message header XSD binding.

14.5.1 <messageIdentifier> Element

This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.

14.5.2 <statusInfo> Element

The status information returned as the final response to original transaction request; see sub-section 10.1.

14.5.3 <statusInfoSet> Element

The status information returned as the final response to the original multiple transaction request; see sub-section 10.2.

14.6 Asynchronous Response Acknowledgement Message Header

The asynchronous response acknowledgement message header structure is shown in Figure 14.6. The corresponding XSD definition is given in Appendix B.

AsyncResAckHeaderInfo message header XSD binding
Figure 14.6 AsyncResAckHeaderInfo message header XSD binding.

14.6.1 <messageIdentifier> Element

This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.

14.6.2 <statusInfo> Element

The status information returned to indicate the final status of the asynchronous request; see sub-section 10.1.

Appendix A - XSD Binding Files for Common Objects

The set of XML binding files for the common objects are listed in Table A.1. The file names are hot links to the files themselves.

Table A.1 XSD binding files for common objects.

 
Description File Name
XML binding of the common data objects /services/common/imsCommonSchema_v1p0.xsd
XML binding of the message headers /services/common/imsMessBindSchema_v1p0.xsd

About This Document

 
Title IMS Enterprise Services Common Data Definitions Specification
Editor Colin Smythe (IMS)
Team Co-Lead Chris Vento (WebCT Inc.)
Version 1.0
Version Date 11 June 2004
Status Final Specification
Summary This document presents the IMS Enterprise Services Common Data Definitions Information Model and XML Binding. The classes described within this document are available as foundation classes to all of the service specifications. This document also includes the XML Binding of the operation message headers for the synchronous and asynchronous protocols.
Revision Information 11 June 2004
Purpose This document has been approved by the IMS Technical Board and is made available for adoption.
Document Location http://www.imsglobal.org/es/esv1p0/imscommon_infov1p0.html

 
To register any comments or questions about this specification please visit: http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=20

List of Contributors

The following individuals contributed to the development of this document:

 
Name Organization Name Organization
Scott Baker Oracle Inc. Les Smith SCT Inc.
Fred Beshears UC Berkeley, USA Colin Smythe Dunelm Services Ltd.
Kerry Blinco IMS Australia Chris Vento WebCT Inc.
Chris Etesse Blackboard Inc. Kimberley Voltero WebCT Inc.
John Hallet WebCT Inc. Scott Wilson JISC (CETIS), UK
Cathy Schroeder Microsoft Inc. Nathaniel Zinn Blackboard Inc.

Revision History

 
Version No. Release Date Comments
Public Draft 1.0 12 January 2004 The final approved Public Draft Document for the IMS Common Data Model Definition. In this document the Common Data Models are described in their own stand-alone information model.
Final Specification 1.0 11 June 2004 This is the formal Final Specification of the IMS Enterprise Services Common Data Definitions specification.

Index

A
Abstract Framework 1, 2
Asynchronous Request Message 1
Asynchronous Response Message 1
Attributes
Common
 

email 1, 2

extension 1, 2, 3, 4 ExtensionField
 

fieldName 1

fieldValue 1 Identifier
 

firstId 1

secondId 1 LangString
 

language 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

text 1, 2 Org
 

type 1, 2, 3, 4, 5 Person
 

email 1, 2 RecordMetaData
 

comments 1 Result
 

result 1 Role
 

status 1, 2, 3, 4, 5, 6 StatusInfo
 

codeMajor 1, 2

codeMinor 1, 2

description 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

messageRefIdentifier 1, 2

operationRefIdentifier 1, 2

severity 1, 2 TimeFrame
 

adminPeriod 1

begin 1

end 1 TypeValue
 

type 1, 2, 3, 4, 5 UserId
 

authentication 1, 2

passWord 1

pwEncryption 1, 2

userIdType 1

userIdValue 1 Values
 

list 1, 2, 3

C
Classes
Common
 

DataSource 1, 2

Email 1, 2

ExtensionField 1, 2, 3

Identifier 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

IdentifierPairSet 1, 2, 3, 4

IdentifierSet 1, 2, 3

IMSextension 1, 2, 3, 4

LangString 1, 2, 3, 4

RecordMetaData 1, 2, 3

RestrictDate 1, 2, 3

StatusInfo 1, 2, 3, 4, 5, 6

StatusInfoSet 1, 2, 3, 4

TimeFrame 1, 2, 3, 4

UserId 1, 2, 3, 4, 5 Group 1
 

Description 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 Membership 1
Person 1
 

Name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 Role
 

Values 1

E
Enterprise Service 1, 2

G
Group Management Service 1

M
Membership Management Service 1
Message headers
Asynchronous Request 1
Asynchronous Response 1
Synchronous Request 1
Synchronous Response 1
 

O
OCL 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

P
Person Management Service 1

S
Services
Group Management 1
Membership Management 1
Person Management 1
Status Codes
fullsuccess 1
idallocfail 1
overflowfail 1
unsupported 1
Synchronous Request Message 1
Synchronous Response Message 1
 

W
WDSL 1

 

 

 

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Enterprise Services Common Data Definitions ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS 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 would appreciate receiving your comments and suggestions.

Please contact IMS through our website at http://www.imsglobal.org

Please refer to Document Name:
IMS Enterprise Services Common Data Definitions Revision: 11 June 2004