OneRoster: Conformance and Certification 1.2 IMS Candidate Final Public
IMS OneRoster: Conformance and Certification
Version 1.2
Date Issued: | 1st July, 2021 |
Status: | This document is for review and adoption by the IMS membership. |
This version: | https://www.imsglobal.org/spec/or/v1p2/cert/ |
Latest version: | https://www.imsglobal.org/spec/or/latest/cert/ |
Errata: | https://www.imsglobal.org/spec/or/v1p2/errata/ |
IPR and Distribution Notice
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.
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/speclicense.html.
Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.
The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.
THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
Public contributions, comments and questions can be posted here: http://www.imsglobal.org/forums/ims-glc-public-forums-and-resources.
© 2021 IMS Global Learning Consortium, Inc. All Rights Reserved.
Trademark information: http://www.imsglobal.org/copyright.html
Abstract
The OneRoster® standard addresses the exchange of student data (primarily about people, courses, enrollments and grades) between different educational systems for the specific needs of K-12. The primary use-cases are: the exchange of data between a Student Information System (SIS) and Learning Management System (LMS), and the rostering of learning tools. In OR 1.2, the service has been split into three core services.
The underlying OneRoster specification is available in:
- OR 1.2 Rostering Service Model [ORROS-SM]
- OR 1.2 Resources Service Model [ORRES-SM]
- OR 1.2 Gradebook Service Model [ORGBK-SM]
The purpose of this document is provide the details of the conformance process and certifications available for the IMS OneRoster 1.2 standard. Conformance certification is available for:
- Systems that import and/or export OneRoster CSV files;
- Systems that act as service providers and/or service consumers of the REST-based OneRoster services.
1. Introduction
1.1 Scope and Context
The OneRoster® standard is designed to be a subset of the full IMS Learning Information Services (LIS) standard that focuses on the K-12/Schools needs to exchange roster information and grades. The standard includes a REST-based binding (also described by an OpenAPI [OpenAPI2] and [OpenAPI3] file) to make it quicker and easier to implement the exchange of information about people, membership, courses and gradebooks. In addition to the REST binding description, a format for CSV file based exchange has also been included (CSV files are typically exchanged between the school and the vendor to populate the roster information needed to gain access to learning tools, portals and learning environments). In OneRoster 1.2, the service has been split into three core services:
- OneRoster Rostering Service [ORROS-SM]
- OneRoster Gradebook Service [ORGBK-SM]
- OneRoster Resources Service [ORRES-SM].
In OneRoster 1.2 a further service has been included: 'Assessment Results' [ORARS-SM]. This service is a formal Profile of the OneRoster 1.2 Gradebook Service that is focused the delivery of detailed scores/grades for an assignment.
The purpose of this document is provide the details of the conformance process and certifications available for the IMS OneRoster 1.2 standard. Conformance certification is available for:
- Systems that import and/or export OneRoster CSV files;
- Systems that act as service providers and/or service consumers of the REST-based OneRoster services.
This document is the Final Release, meaning the technical solution is now made available as a public document and as such several IMS Members have aleady successfully completed conformance certification at the time of release of the document.
IMS strongly encourages its members and the community to provide feedback to continue the evolution and improvement of the OneRoster standard. To join the IMS developer and conformance certification community focused on OneRoster please visit the IMS OneRoster Alliance online here: http://www.imsglobal.org/lis/index.html
Public contributions, comments and questions can be posted here: Public OneRoster Forums.
1.2 Changes in the OneRoster 1.2 Specification
In the context of conformance and certification the following changes have occured in OR 1.2:
- The conformance requirements for eight new CSV files has been addessed. The new files are:
- lineItemLearningObjectiveIds.csv
- lineItemScoreScales.csv
- resultLearningObjectiveIds.csv
- resultScoreScales.csv
- roles.csv
- scoreScales.csv
- userProfiles.csv
- userResources.csv;
- The conformance requirements for twenty-one new endpoints have been addessed. The new endpoints are:
- getAcademicStandardIdsForClass() - '/classes/{classSourcedId}/academicStandardIds'
- getAcademicStandardIdsForSchool() - '/schools/{schoolSourcedId}/academicStandardIds'
- getAssessmentLineItems() - '/assessmentLineItems'
- getAssessmentLineItem() - '/assessmentLineItems/{id}'
- deleteAssessmentLineItem() - '/assessmentLineItems/{id}'
- putAssessmentLineItem() - '/assessmentLineItems/{id}'
- getAssessmentResults() - '/assessmentResults'
- getAssessmentResult() - '/assessmentResults/{id}'
- deleteAssessmentResult() - '/assessmentResults/{id}'
- putAssessmentResult() - '/assessmentResults/{id}'
- postLineItemsForClass() - '/classes/{classSourcedId}/lineItems'
- postLineItemsForSchool() - '/schools/{schoolSourcedId}/lineItems'
- postResultsForLineItem() - '/lineItems/{lineItemSourcedId}/results'
- postResultsForAcademicSessionForClass() - '/classes/{classSourcedId}/academicSessions/{academicSessionSourcedId}/results'
- getAllScoreScales() - '/scoreScales'
- getScoreScale() - '/scoreScales/{id}'
- getScoreScalesForClass() - '/classes/{classSourcedId}/scoreScales'
- getScoreScalesForSchool() - '/schools/{schoolSourcedId}/scoreScales'
- putScoreScale() - '/scoreScales/{id}'
- deleteScoreScale() - '/scoreScales/{id}'
- getResourcesForUser() - '/users/{user_id}/resources';
- Use of OAuth 1.0a message signing has been removed. The use of OAuth 2.0 Bearer Tokens (Client Credentials Grant) is REQUIRED.
- Addition of support for certification testing of the optional Bulk Services.
1.3 Conformance Statements
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words "MAY", "MUST", "MUST NOT", "OPTIONAL", "RECOMMENDED", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", and "SHOULD NOT" in this document are to be interpreted as described in [RFC2119].
An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.
1.4 Structure of this Document
The structure of the rest of this document is:
2. The Conformance Process | The formal process to be undertaken by a vendor wishing to obtain OneRoster conformance certification; |
3. CSV Exchange Conformance | Conformance testing to be undertaken by systems seeking CSV exchange certification and/or verification that the CSV files are conformant; |
4. REST-based Exchange Conformance | Conformance testing and the available conformance certifications for vendors seeking conformance to the OneRoster REST-based exchange; |
5. OneRoster Certifications | A summary of the set of possible OneRoster certifications that a product could obtain and an explanation of how these could be combined to make a product solution. |
Appendix A Summary of the Conformance Tests for a Service Provider | A summary of the set of tests that are used to certify if a system is service provider compliant; |
Appendix B Summary of the Conformance Tests for a Consumer | A summary of the set of tests that are used to certify if a system is consumer compliant. |
1.5 Terminology and Acronyms
- API
- Application Programming Interface
- Consumer
- The entity that is contained with an application/system/tool to obtain data from a Service Provider.
- CSV
- Comma Separated Values
- HTTP
- HyperText Transfer Protocol
- IUT
- Implementation Under Test. An IUT may be claiming compliance as a Consumer and/or a Service Provider and may also support CSV import and/or CSV export.
- LIS
- Learning Information Services
- REST
- Representational State Transfer
- Service Provider
- The entity that is responsible for supplying data to a Consumer. In general a Service Provider will support many Consumers concurrently.
2. The Conformance Process
2.1 Conformance Testing Process
The process for conformance testing implementations of OneRoster includes the following:
- Go to the IMS Conformance Test Suite for OneRoster for either the REST or CSV version of OneRoster. Conformance Test Suite links are available in the IMS LIS Alliance and the relevant link details are given in Sections 3 (CSV import/export certification), 4 (Service Provider and Consumer certification) of this document;
- Follow the onscreen instructions to run the tests;
- Once the test has been successfully run, submit a print out of the test results along with the following information to conformance@imsglobal.org:
- Your Name
- Your Organization
- Your Product Name and Version
- Date the Product was tested
- Whether you are a Service/Data Provider or a Service/Data Consumer
- Whether you support the REST version, the CSV Version or both REST and CSV
- The set of operational modes that are supported - all systems must support at least one core service ('Rostering', 'Resources', 'Gradebook' and/or 'Assessment Results').
All Tests for the appropriate operational modes must be passed successfully to be considered IMS compliant.
2.1.1 Requirements for OneRoster v1.2 Conformance
All Tests for either the REST version or the CSV version must be passed successfully to be considered IMS OneRoster compliant. There are four core functional modes:
- Rostering - the enrolment of people in classes;
- Resources - the association of teaching/learning resources with courses/classes;
- Gradebooks - the scores/grades for a learner who has completed some assessment of their learning activity on a class/course;
- Assessment Results - the detailed scores/grades for a learner who has completed some assessment of their learning activity.
For CSV conformance ALL systems MUST support the 'Rostering' mode and for every operational processing mode that is supported by the product. For example, if both CSV import and export processing are supported then 'Rostering' for BOTH of these is required.
For the REST binding ALL systems MUST support at LEAST one of the 'Rostering', 'Resources', 'Gradebooks' and 'Assessment Results' modes. Also, in the case of the REST binding, the Bulk Service exchange may be supported.
2.1.2 OneRoster Conformance Mark
After you have submitted your successful conformance information to conformance@imsglobal.org, and received confirmation and a registration number from IMS Global you may then apply the appropriate conformance mark. The IMS Global conformance chart will list your conformance details. If you have any questions, please feel free to contact us at any point.
Membership in the OneRoster/Learning Information Services Alliance is the only way to achieve official conformance to the OneRoster standard. Products without a IMS conformance Registration Number are not considered to be compliant by IMS Global.
3. CSV Exchange Conformance
The IMS Conformance program provides conformance testing for:
- The set of CSV files that are to be exchanged;
- The systems that either import and/or export CSV files.
It should be noted that all filenames, column headers and data values are case sensitive. Incorrect use of case will result in the corresponding conformance error being reported.
Details about OneRoster conformance are available at the webpage: https://www.imsglobal.org/oneroster-conformance-testing.
3.1 CSV File Compliance
The IMS OneRoster CSV validator is available to test the validity of CSV files. This validator is available at: https://onerostervalidator.imsglobal.org:8443/oneroster-server-cts-webapp/instructions. For OneRoster 1.0 this validator requires the CSV files to be submitted individually. For OneRoster v1.1 and v1.2 the set of CSV files are submitted as single zipped file. The validator will check that the ‘manifest.csv’ file is present and correctly structured. Next it will check the accompanying data CSV files for indvidual correctness. Next it will check for cross-file semantic consistency. Finally it will provide a report on the correctness of the set of CSV files. Note that ONLY the ‘manifest.csv’ file is required in the zip file i.e. any combination of accompanying data model CSV files is permitted provided that these are semantically complete and self-consistent.
CSV files are defined as either 'BULK' or 'DELTA' processing. Bulk and Delta based CSV files have different content requirements and the validator will check for that consistency: all records in a single CSV file must be bulk or delta processing i.e. a mixture is NOT permitted and will be result in the file being declared invalid.
The set of files for a BULK exchange MUST be semantically complete i.e. any reference to a record, for example the reference to the user in the enrollment, requires that record to be in the file set. For a DELTA file set only the files that contain records that have been changed MUST be included.
The OneRoster CSV validator is definitive when establishing whether or not a set of CSV files is conformant to the OneRoster specification.
3.2 Systems File Compliance
All systems, whether supporting import and/or export, must handle BULK processing content. Support for DELTA content is optional. Also, all systems must support the core set of rostering CSV files (this minimum set ensures semantic consistency for rostering information). Support for the non-rostering-oriented files is optional but the set of supported files must still create semantically consistent data exchange.
3.2.1 Importing CSV Files
Determining whether or not a system that imports OneRoster CSV files is conformant is based upon a report generated from the importing of the reference test set of OneRoster CSV files. This test set contains multiple zip files each of which must be imported by the Implementation Under Test (IUT). This set of zip files consists of two types of test files:
- CSV files that are syntactically correct and semantically consistent;
- CSV files which are syntactically incorrect and/or semantically inconsistent.
In the case of the files with known errors, a system must indicate that the files are incorrect. How those errors are reported and the subsequent file processing is implementation dependent and not subject to conformance. However, establishing whether or not a system is compliant requires the vendor to demonstrate that the CSV files have been appropriately processed and any errors detected.
A conformant system is NOT required to import every type of data model CSV file. A conformant system must import, completely, the ‘manifest.csv’ file, the mandatory set of CSV data files and any of the optional data model CSV files supported by the OneRoster system undergoing conformance (the set of supported CSV files must be identified during conformance). The correct CSV files must be processed appropriately i.e. updates according to any delta changes, etc.
An importing system MUST support all of the required and optional data fields within the OneRoster specification. It is not a requirement that all of the data is stored internally but an importer must not flag as in error a CSV file that contains data that cannot be stored by the importing system.
The test set includes files sets that are semantically incomplete and these inconsistencies must be detected and the appropriate error messages logged. The test set also includes CSV files that have extensions. A system is not required to process these extensions but it must not result in the import files being rejected as invalid. A system that can process bulk files only must be capable of detecting delta files as invalid and logging the appropriate error information.
If a 'manifest.csv' file is NOT present in the zip file then an importing system MUST assume the set of files are as per the OR 1.0 CSV specification. The importing system must flag an error. Subsequent error handling is implementation dependent BUT if a system wishes to claim it can correctly process the OR 1.0 CSV files it MUST also be OR 1.0 compliant i.e. it MUST have been certified for both OR 1.0 and OR 1.1/1.2 specifications.
The set of OneRoster Reference Test CSV Files are available from IMS Global through the OneRoster Conformance web pages (https://www.imsglobal.org/oneroster-conformance-testing).
3.2.1.1 Support for Importing Rosters
The mandatory set, or core, of CSV data files that MUST be supported for rosters import is (note that it is NOT a requirement that every set of CSV files contain this core set):
- ‘academicSessions.csv’ - bulk mode;
- ‘classes.csv’ - bulk mode;
- ‘courses.csv’ - bulk mode;
- ‘enrollments.csv’ - bulk mode;
- ‘orgs.csv’ - bulk mode;
- ‘roles.csv’ (§) - bulk mode;
- ‘users.csv’ - bulk mode.
Therefore, the CSV data files that MAY be supported for rosters import are:
- ‘academicSessions.csv’ - delta mode;
- ‘classes.csv’ - delta mode;
- ‘courses.csv’ - delta mode;
- ‘demographics.csv’ - bulk and/or delta mode;
- ‘enrollments.csv’ - delta mode;
- ‘orgs.csv’ - delta mode;
- ‘roles.csv’ (§) - delta mode;
- ‘users.csv’ - delta mode;
- ‘userProfiles.csv’ (§) - bulk and/or delta mode.
The '§' denotes the CSV files added in OR 1.2.
Any system claiming that it supports import of the above optional data files MUST demonstrate the correct importing of the reference test set as part of the conformance. Note that the requirement for semantic consistency means that not all combinations of the set of optionally supported file imports is permitted.
3.2.1.2 Support for Importing Resources
Systems that are certifed to support the importing of resources as well as rostering must support the following files (the files marked by '*' are the extra files to be supported):
- ‘academicSessions.csv’ - bulk mode;
- ‘classes.csv’ - bulk mode;
- ‘courses.csv’ - bulk mode;
- ‘enrollments.csv’ - bulk mode;
- ‘orgs.csv’ - bulk mode;
- ‘roles.csv’ (§) - bulk mode;
- ‘users.csv’ - bulk mode;
- ‘classResources.csv’ - bulk mode*;
- ‘courseResources.csv’ - bulk mode*;
- ‘resources.csv’ - bulk mode*;
- ‘userResources.csv’ (§) - bulk mode*.
Therefore, the CSV data files that MAY be supported for resources import are:
- ‘academicSessions.csv’ - delta mode;
- ‘classes.csv’ - delta mode;
- ‘courses.csv’ - delta mode;
- ‘demographics.csv’ - bulk and/or delta mode;
- ‘enrollments.csv’ - delta mode;
- ‘orgs.csv’ - delta mode;
- ‘roles.csv’ (§) - delta mode;
- ‘users.csv’ - delta mode;
- ‘userProfiles.csv’ (§) - bulk and/or delta mode;
- ‘classResources.csv’ - delta mode*;
- ‘courseResources.csv’ - delta mode*;
- ‘resources.csv’ - delta mode*;
- ‘userResources.csv’ (§) - delta mode.
The '§' denotes the CSV files added in OR 1.2.
Any system claiming that it supports import of the above optional data files MUST demonstrate the correct importing of the reference test set as part of the conformance. Note that the requirement for semantic consistency means that not all combinations of the set of optionally supported file imports is permitted.
3.2.1.3 Support for Importing Gradebooks
Systems that are certifed to support the importing of gradebooks as well rostering must support the following files (the files marked by '*' are the extra files to be supported):
- ‘academicSessions.csv’ - bulk mode;
- ‘classes.csv’ - bulk mode;
- ‘courses.csv’ - bulk mode;
- ‘enrollments.csv’ - bulk mode;
- ‘orgs.csv’ - bulk mode;
- ‘roles.csv’ (§) - bulk mode;
- ‘users.csv’ - bulk mode;
- ‘categories.csv’ - bulk mode*;
- ‘lineItems.csv’ - bulk mode*;
- ‘lineItemLearningObjectiveIds.csv’ (§) - bulk mode;
- ‘lineItemScoreScales.csv’ (§) - bulk mode;
- ‘results.csv’ - bulk mode*;
- ‘resultLearningObjectiveIds.csv’ (§) - bulk mode;
- ‘resultScoreScales.csv’ (§) - bulk mode;
- ‘scoreScales.csv’ (§) - bulk mode.
Therefore, the CSV data files that MAY be supported for gradebook import are:
- ‘academicSessions.csv’ - delta mode;
- ‘classes.csv’ - delta mode;
- ‘courses.csv’ - delta mode;
- ‘demographics.csv’ - bulk and/or delta mode;
- ‘enrollments.csv’ - delta mode;
- ‘orgs.csv’ - delta mode;
- ‘roles.csv’ (§) - delta mode;
- ‘users.csv’ - delta mode;
- ‘userProfiles.csv’ (§) - bulk and/or delta mode;
- ‘categories.csv’ - delta mode*;
- ‘lineItems.csv’ - delta mode*;
- ‘lineItemLearningObjectiveIds.csv’ (§) - delta mode;
- ‘lineItemScoreScales.csv’ (§) - delta mode;
- ‘results.csv’ - delta mode*;
- ‘resultLearningObjectiveIds.csv’ (§) - delta mode;
- ‘resultScoreScales.csv’ (§) - delta mode;
- ‘scoreScales.csv’ (§) - delta mode.
The '§' denotes the CSV files added in OR 1.2.
Any system claiming that it supports import of the above optional data files MUST demonstrate the correct importing of the reference test set as part of the conformance. Note that the requirement for semantic consistency means that not all combinations of the set of optionally supported file imports is permitted.
3.2.2 Exporting CSV Files
Determining whether or not a system that exports OneRoster CSV files is conformant is based upon the use of the OneRoster CSV validator to determine that the exported CSV files are valid. The IUT is required to export a set of CSV files that demonstrates the full range of the export capabilities of the IUT. These zip files must be validated by the IMS OneRoster validator. The resulting set of reports, and the corresponding CSV files, must be submitted to IMS Global as part of the conformance claim.
The submitted set of zipped CSV files must include examples of every one of the possible CSV files and must support contain ‘bulk’ and, if appropriate, ‘delta’ data sets. Support for the full range of the data models must also be demonstrated.
The demonstration set may contain extension fields but these must be the last set of columns. The header names for the extensions must not duplicate any of the other header names in CSV.
A system is NOT required to create all of the CSV files. A conformant system MUST be capable of creating the ‘manifest.csv’ file, the set of core data CSV files plus any of the other OneRoster CSV file as identified by the conformance claim and sustaining the semantic consistency. The range of data model CSV files created by the OneRoster system under test MUST be defined as part of the conformance. The mandatory, or core, set of CSV data files that MUST be supported for export is (note that it is NOT a requirement that every set of CSV files contain this core set):
3.2.2.1 Support for Exporting Rosters
The mandatory set, or core, of CSV data files that MUST be supported for rosters export is (note that it is NOT a requirement that every set of CSV files contain this core set):
- ‘academicSessions.csv’ - bulk mode;
- ‘classes.csv’ - bulk mode;
- ‘courses.csv’ - bulk mode;
- ‘enrollments.csv’ - bulk mode;
- ‘orgs.csv’ - bulk mode;
- ‘roles.csv’ (§) - bulk mode;
- ‘users.csv’ - bulk mode.
Therefore, the CSV data files that MAY be supported for rosters export are:
- ‘academicSessions.csv’ - delta mode;
- ‘classes.csv’ - delta mode;
- ‘courses.csv’ - delta mode;
- ‘demographics.csv’ - bulk and/or delta mode;
- ‘enrollments.csv’ - delta mode;
- ‘orgs.csv’ - delta mode;
- ‘roles.csv’ (§) - delta mode;
- ‘users.csv’ - delta mode;
- ‘userProfiles.csv’ - bulk and/or delta mode.
The '§' denotes the CSV files added in OR 1.2.
Any system claiming that it supports export of the above optional data files MUST demonstrate the correct exporting of the files using the OneRoster CSV Validator. The set of exported files MUST be semantically consistent otherwise the export capability will be declared invalid (the IMS OneRoster CSV validator will check for this semantic consistency).
Exporting systems must supply all of the data that is defined as required and may supply any of the data fields defined as optional.
3.2.2.2 Support for Exporting Resources
Systems that are certifed to support the exporting of resources as well rostering must support the following files (the files marked by '*' are the extra files to be supported):
- ‘academicSessions.csv’ - bulk mode;
- ‘classes.csv’ - bulk mode;
- ‘courses.csv’ - bulk mode;
- ‘enrollments.csv’ - bulk mode;
- ‘orgs.csv’ - bulk mode;
- ‘roles.csv’ - bulk mode;
- ‘users.csv’ - bulk mode;
- ‘classResources.csv’ - bulk mode*;
- ‘courseResources.csv’ - bulk mode*;
- ‘resources.csv’ - bulk mode*;
- ‘userResources.csv’ (§) - bulk mode.
Therefore, the CSV data files that MAY be supported for resources export are:
- ‘academicSessions.csv’ - delta mode;
- ‘classes.csv’ - delta mode;
- ‘courses.csv’ - delta mode;
- ‘demographics.csv’ - bulk and/or delta mode;
- ‘enrollments.csv’ - delta mode;
- ‘orgs.csv’ - delta mode;
- ‘roles.csv’ (§) - delta mode;
- ‘users.csv’ - delta mode;
- ‘userProfiles.csv’ - bulk and/or delta mode;
- ‘classResources.csv’ - delta mode*;
- ‘courseResources.csv’ - delta mode*;
- ‘userResources.csv’ (§) - delta mode.
The '§' denotes the CSV files added in OR 1.2.
Any system claiming that it supports export of the above optional data files MUST demonstrate the correct exporting of the files using the OneRoster CSV Validator. The set of exported files MUST be semantically consistent otherwise the export capability will be declared invalid (the IMS OneRoster CSV validator will check for this semantic consistency).
Exporting systems must supply all of the data that is defined as required and may supply any of the data fields defined as optional.
3.2.2.3 Support for Exporting Gradebooks
Systems that are certifed to support the exporting of gradebooks as well rostering must support the following files (the files marked by '*' are the extra files to be supported):
- ‘academicSessions.csv’ - bulk mode;
- ‘classes.csv’ - bulk mode;
- ‘courses.csv’ - bulk mode;
- ‘enrollments.csv’ - bulk mode;
- ‘orgs.csv’ - bulk mode;
- ‘roles.csv’ (§) - bulk mode;
- ‘users.csv’ - bulk mode;
- ‘categories.csv’ - bulk mode*;
- ‘lineItems.csv’ - bulk mode*;
- ‘lineItemLearningObjectiveIds.csv’ (§) - bulk mode;
- ‘lineItemScoreScales.csv’ (§) - bulk mode;
- ‘results.csv’ - bulk mode*;
- ‘resultLearningObjectiveIds.csv’ (§) - bulk mode;
- ‘resultScoreScales.csv’ (§) - bulk mode;
- ‘scoreScales.csv’ (§) - bulk mode.
Therefore, the CSV data files that MAY be supported for gradebook import are:
- ‘academicSessions.csv’ - delta mode;
- ‘classes.csv’ - delta mode;
- ‘courses.csv’ - delta mode;
- ‘demographics.csv’ - bulk and/or delta mode;
- ‘enrollments.csv’ - delta mode;
- ‘orgs.csv’ - delta mode;
- ‘roles.csv’ (§) - delta mode;
- ‘users.csv’ - delta mode;
- ‘userProfiles.csv’ (§) - bulk and/or delta mode;
- ‘categories.csv’ - delta mode*;
- ‘lineItems.csv’ - delta mode*;
- ‘lineItemLearningObjectiveIds.csv’ (§) - delta mode;
- ‘lineItemScoreScales.csv’ (§) - delta mode;
- ‘results.csv’ - delta mode*;
- ‘resultLearningObjectiveIds.csv’ (§) - delta mode;
- ‘resultScoreScales.csv’ (§) - delta mode;
- ‘scoreScales.csv’ (§) - delta mode.
The '§' denotes the CSV files added in OR 1.2.
Any system claiming that it supports export of the above optional data files MUST demonstrate the correct exporting of the files using the OneRoster CSV Validator. The set of exported files MUST be semantically consistent otherwise the export capability will be declared invalid (the IMS OneRoster CSV validator will check for this semantic consistency).
Exporting systems must supply all of the data that is defined as required and may supply any of the data fields defined as optional.
3.3 CSV File Processing Certification
System that are certified as OneRoster CSV compliant will be categorised as:
- CSV Importers - that support OneRoster CSV file importing only;
- CSV Exporters - that support OneRoster CSV file exporting only;
- CSV Importers/Exporters - that support OneRoster CSV file importing and exporting.
3.3.1 CSV Importers Certification
The functional capabilities of such systems are:
- They shall support the importing of the manifest file;
- They shall support the importing of the set of core rostering files in bulk processing mode;
- They may support the importing of the 'demographics.csv' files in bulk processing mode;
- They may support the importing of the 'userProfiles.csv' files in bulk processing mode;
- They may support the importing of the full set of rostering files in delta processing mode (the nine files used for rostering);
- They may support the importing of the set of non-rostering files in bulk and/or delta processing modes;
- They must support all of the data fields;
- They may support the processing of extension data fields.
A checklist for the required CSV file support for importing systems for each of the three service modes is shown in Table 3.1 (the shaded rows denote the new CSV files added in OR 1.2).
CSV File Name | Bulk Mode | Delta Mode | ||||
---|---|---|---|---|---|---|
Roster | Resource | Gradebook | Roster | Resource | Gradebook | |
manifest | R | R | R | R | R | R |
academicSessions | R | R | R | O | O | O |
classes | R | R | R | O | O | O |
courses | R | R | R | O | O | O |
enrollments | R | R | R | O | O | O |
orgs | R | R | R | O | O | O |
roles | R | R | R | O | O | O |
users | R | R | R | O | O | O |
demographics | O | O | O | O | O | O |
userProfiles | O | O | O | O | O | O |
classResources | O | R | O | O | O | O |
courseResources | O | R | O | O | O | O |
resources | O | R | O | O | O | O |
userResources | O | R | O | O | O | O |
categories | O | O | R | O | O | O |
lineItems | O | O | R | O | O | O |
lineItemLearningObjectiveIds | O | O | R | O | O | O |
lineItemScoreScales | O | O | R | O | O | O |
results | O | O | R | O | O | O |
resultLearningObjectiveIds | O | O | R | O | O | O |
resultScoreScales | O | O | R | O | O | O |
scoreScales | O | O | R | O | O | O |
3.3.2 CSV Exporters Certification
The functional capabilities of such systems are:
- They shall support the exporting of the manifest file;
- They shall support the exporting of the set of core rostering files in bulk processing mode;
- They may support the exporting of the 'demographics.csv' files in bulk processing mode;
- They may support the exporting of the 'userProfiles.csv' files in bulk processing mode;
- They may support the exporting of the set of full rostering files in delta processing mode (the nine files used for rostering);
- They may support the exporting of the set of non-rostering files in bulk and/or delta processing modes;
- They must supply all of the required data fields;
- They may supply any of the optional data fields;
- They may supply extension data fields.
A checklist for the required CSV file support for exporting systems for each of the three service modes is shown in Table 3.2 (the shaded rows denote the new CSV files added in OR 1.2).
CSV File Name | Bulk Mode | Delta Mode | ||||
---|---|---|---|---|---|---|
Roster | Resource | Gradebook | Roster | Resource | Gradebook | |
manifest | R | R | R | R | R | R |
academicSessions | R | R | R | O | O | O |
classes | R | R | R | O | O | O |
courses | R | R | R | O | O | O |
enrollments | R | R | R | O | O | O |
orgs | R | R | R | O | O | O |
roles | R | R | R | O | O | O |
users | R | R | R | O | O | O |
demographics | O | O | O | O | O | O |
userProfiles | O | O | O | O | O | O |
classResources | O | R | O | O | O | O |
courseResources | O | R | O | O | O | O |
resources | O | R | O | O | O | O |
userResources | O | R | O | O | O | O |
categories | O | O | R | O | O | O |
lineItems | O | O | R | O | O | O |
lineItemLearningObjectiveIds | O | O | R | O | O | O |
lineItemScoreScales | O | O | R | O | O | O |
results | O | O | R | O | O | O |
resultLearningObjectiveIds | O | O | R | O | O | O |
resultScoreScales | O | O | R | O | O | O |
scoreScales | O | O | R | O | O | O |
3.3.3 CSV Importers/Exporters Certification
The functional capabilities of such systems are:
- They shall support the importing and exporting of the manifest file;
- They shall support the importing and exporting of the core set of rostering files in bulk processing mode;
- They may support the importing and exporting of the 'demographics.csv' files in bulk processing mode;
- They may support the importing and exporting of the 'userProfiles.csv' files in bulk processing mode;
- They may support the importing and exporting of the full set of rostering files in delta processing mode;
- They may support the importing and exporting of the set of non-rostering files in bulk and/or delta processing modes;
- They must support the importing of all of the data fields;
- When exporting, they must supply all of the required data fields;
- When exporting they may supply any of the optional data fields;
- They may support the import and/or export processing of extension data fields.
There is no requirement to maintain the integrity of the data set that is created by the import/export round-tripping.
A checklist for the required CSV file support for importing/exporting systems for each of the three service modes is shown in Table 3.3 (the shaded rows denote the new CSV files added in OR 1.2).
CSV File Name | Bulk Mode | Delta Mode | ||||
---|---|---|---|---|---|---|
Roster | Resource | Gradebook | Roster | Resource | Gradebook | |
manifest | R | R | R | R | R | R |
academicSessions | R | R | R | O | O | O |
classes | R | R | R | O | O | O |
courses | R | R | R | O | O | O |
enrollments | R | R | R | O | O | O |
orgs | R | R | R | O | O | O |
roles | R | R | R | O | O | O |
users | R | R | R | O | O | O |
demographics | O | O | O | O | O | O |
userProfiles | O | O | O | O | O | O |
classResources | O | R | O | O | O | O |
courseResources | O | R | O | O | O | O |
resources | O | R | O | O | O | O |
userResources | O | R | O | O | O | O |
categories | O | O | R | O | O | O |
lineItems | O | O | R | O | O | O |
lineItemLearningObjectiveIds | O | O | R | O | O | O |
lineItemScoreScales | O | O | R | O | O | O |
results | O | O | R | O | O | O |
resultLearningObjectiveIds | O | O | R | O | O | O |
resultScoreScales | O | O | R | O | O | O |
scoreScales | O | O | R | O | O | O |
4. REST-based Exchange Conformance
The IMS Conformance program provides conformance testing for:
- Systems that act as OneRoster Service Providers – these are, primarily, systems that store OneRoster data and MUST enable that data to be returned to requests from a consumer;
- Systems that act as OneRoster Service Consumers – these are, primarily, systems that enable a OneRoster repository to be accessed and MUST enable requests to be made by the consumer.
For conformance the endpoint functionality is split into four classifications:
- Rostering endpoints – the endpoints that handle rostering information, in particular, data about people, clases, courses, and enrollments;
- Gradebooks endpoints – the endpoints that handle gradebooks information, in particular, data about results, lineItems and categories;
- Assessment Results endpoints – the endpoints that handle detailed results information, in particular, data about results, lineItems and categories;
- Resources endpoints – the endpoints that handle resources information.
For the REST binding ALL systems MUST support at LEAST one of the 'Rostering', 'Resources', 'Gradebooks' and 'Assessment Results' set of endpoints.
In the tabular summaries of the endpoint requirements the following should be noted:
- For a OneRoster 1.2 Rostering implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/roster/v1p2';
- For a OneRoster 1.2 Resource implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/resource/v1p2';
- For a OneRoster 1.2 Gradebook implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/gradebook/v1p2';
- For a OneRoster 1.2 Assessment Result implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/gradebook/v1p2';
- The 'Mode' is used denote whether the system is responsible for issuing the request (Init) or responding to the request (Resp).
4.1 Service Providers Compliance
4.1.1 Rostering Endpoint Compliance
For service provider rostering conformance the endpoints listed in Table 4.1 MUST be supported.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllAcademicSessions | /academicSessions | GET | Resp |
getAcademicSession | /academicSessions/{id} | GET | Resp |
getAllClasses | /classes | GET | Resp |
getClass | /classes/{id} | GET | Resp |
getAllCourses | /courses | GET | Resp |
getCourse | /courses/{id} | GET | Resp |
getAllEnrollments | /enrollments | GET | Resp |
getEnrollment | /enrollments/{id} | GET | Resp |
getAllGradingPeriods | /gradingPeriods | GET | Resp |
getGradingPeriod | /gradingPeriods/{id} | GET | Resp |
getAllOrgs | /orgs | GET | Resp |
getOrg | /orgs/{id} | GET | Resp |
getAllSchools | /schools | GET | Resp |
getSchool | /schools/{id} | GET | Resp |
getAllStudents | /students | GET | Resp |
getStudent | /students/{id} | GET | Resp |
getAllTeachers | /teachers | GET | Resp |
getTeacher | /teachers/{id} | GET | Resp |
getAllTerms | /terms | GET | Resp |
getTerm | /terms/{id} | GET | Resp |
getAllUsers | /users | GET | Resp |
getUser | /users/{id} | GET | Resp |
Support for ANY of the other endpoints and service modes is OPTIONAL. For 'GET' requests a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.
4.1.2 Gradebooks Endpoint Compliance
For service provider gradebook conformance the endpoints listed in either Tables 4.2 or/and 4.3 MUST be supported. Table 4.2 lists the 'pull' endpoints i.e. where the consumer reads the data from the provider. Table 4.3 list the 'push' endpoints where the provider writes the endpoints into the consumer.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllCategories | /categories | GET | Resp |
getCategory | /categories/{id} | GET | Resp |
getAllLineItems | /lineItems | GET | Resp |
getLineItem | /lineItems/{id} | GET | Resp |
getAllResults | /results | GET | Resp |
getResult | /results/{id} | GET | Resp |
getAllScoreScales | /scoreScales | GET | Resp |
getScoreScale | /scoreScales/{id} | GET | Resp |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
putLineItem | /lineItems/{id} | PUT | Init |
putResult | /results/{id} | PUT | Init |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL.
4.1.3 Assessment Results Endpoint Compliance
For service provider gradebook conformance the endpoints listed in either Tables 4.4 or/and 4.5 MUST be supported. Table 4.4 lists the 'pull' endpoints i.e. where the consumer reads the data from the provider. Table 4.5 list the 'push' endpoints where the provider writes the endpoints into the consumer.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllAssessmentLineItems | /assessmentLineItems | GET | Resp |
getAssessmentLineItem | /assessmentLineItems/{id} | GET | Resp |
getAllAssessmentResults | /assessmentResults | GET | Resp |
getAssessmentResult | /assessmentResults/{id} | GET | Resp |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
putAssessmentLineItem | /assessmentResults/{id} | PUT | Init |
putAssessmentResult | /assessmentResults/{id} | PUT | Init |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL.
4.1.4 Resources Endpoint Compliance
For service provider resources conformance the endpoints listed in Tables 4.4 MUST be supported.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllResources | /resources | GET | Resp |
getResource | /resources/{id} | GET | Resp |
Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.
4.2 Service Consumers Compliance
4.2.1 Rostering Endpoint Compliance
For service consumer rostering conformance AT LEAST ONE of the endpoints listed in Table 4.5 MUST be supported.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllAcademicSessions | /academicSessions | GET | Init |
getAcademicSession | /academicSessions/{sourcedId} | GET | Init |
getAllClasses | /classes | GET | Init |
getlClass | /classes/{sourcedId} | GET | Init |
getAllCourses | /courses | GET | Init |
getCourse | /courses/{sourcedId} | GET | Init |
getAllEnrollments | /enrollments | GET | Init |
getEnrollment | /enrollments/{sourcedId} | GET | Init |
getAllOrgs | /orgs | GET | Init |
getOrg | /orgs/{sourcedId} | GET | Init |
getAllUsers | /users | GET | Init |
getUser | /users/{sourcedId} | GET | Init |
Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.
4.2.2 Gradebooks Endpoint Compliance
For service consumer gradebooks conformance the endpoints listed in either Table 4.8 and/or Table 4.9 MUST be supported.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllCategories | /categories | GET | Init |
getAllLineItems | /lineItems | GET | Init |
getAllResults | /results | GET | Init |
getAllScoreScales | /scoreScales | GET | Init |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
putLineItem | /lineItems/{id} | PUT | Resp |
putResult | /results/{id} | PUT | Resp |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL.
4.2.3 Assessment Results Endpoint Compliance
For service consumer assessment results conformance the endpoints listed in either Table 4.10 and/or Table 4.11 MUST be supported.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllAssessmentLineItems | /assessmentLineItems | GET | Init |
getAllAssessmentResults | /assessmentResults | GET | Init |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
putAssessmentLineItem | /assessmentLineItems/{id} | PUT | Resp |
putAssessmentResult | /assessmentResults/{id} | PUT | Resp |
The shaded rows denote the endpoints introduced in OR 1.2.
Support for ANY of the other endpoints and service modes is OPTIONAL.
4.2.4 Resources Endpoint Compliance
For service consumer resources conformance the endpoints listed in Table 4.12 MUST be supported.
Service Call | Endpoint | HTTP Verb | Mode |
---|---|---|---|
getAllResources | /resources | GET | Init |
getResource | /resources/{id} | GET | Init |
Support for ANY of the other endpoints and service modes is optional. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.
4.3 OneRoster REST Service Certification
4.3.1 Service Provider Certification
The functional capabilities of such systems are:
- The OpenAPI file(s) that describe the functionality of the available OneRoster 1.2 services MUST be published at the endpoint base URL. This must be a valid OpenAPI 3.0 JSON file. The name and location of thes files are:
- Rostering Service - "...hostname..."/ims/oneroster/rostering/v1p2/discovery/imsorv1p2_rostering_openapi3_v1p0.json
- Resources Service - "...hostname..."/ims/oneroster/resources/v1p2/discovery/imsorv1p2_resources_openapi3_v1p0.json
- Gradebook Service - "...hostname..."/ims/oneroster/gradebook/v1p2/discovery/imsorv1p2_gradebook_openapi3_v1p0.json
- At least one of the rostering, gradebooks and resources set of endpoints MUST be supported;
- If rostering is supported, all of the required endpoints MUST be supported;
- If rostering is supported, any of the optional endpoints MAY be supported;
- If resources is supported, all of the required endpoints MUST be supported;
- If resources is supported, any of the optional endpoints MAY be supported;
- If gradebooks is supported, all of either the pull or the push modes required endpoints MUST be supported;
- If gradebooks is supported, any of the optional endpoints may be supported (from both the pull and push modes);
- If assessment results is supported, all of either the pull or the push modes required endpoints MUST be supported;
- If assessment results is supported, any of the optional endpoints MAY be supported (from both the pull and push modes);
- They MUST supply all of the required data fields;
- They MAY supply any of the optional data fields;
- They MAY provide extension data fields;
- They MUST support the endpoint payload pagination mechanism for all responses that provide a collection in the payload;
- They MUST support the endpoint payload filtering mechanism for all responses that provide a collection in the payload. When the rostering service is supported the following filtering rules MUST be supported:-
- Filtering for students using the filter of "filter=roles.role~'student'" on the "getAllUsers()" endpoint
- Filtering for teachers using the filter of "filter=roles.role~'teacher'" on the "getAllUsers()" endpoint
- Filtering for grading periods using the filter of "filter=type='gradingPeriod'" on the "getAllAcademicSessions()" endpoint
- Filtering for terms using the filter of "filter=type='term'" on the "getAllAcademicSessions()" endpoint
- Filtering for schools using the filter of "filter=type='school'" on the "getAllAcademicSessions()" endpoint
- They MUST support the endpoint payload sorting mechanism for all responses that provide a collection in the payload;
- They MUST support the endpoint payload field selection mechanism for all responses that provide a collection or a singleton in the payload;
- They MUST support the OAuth 2.0 Bearer Token authentication mechanism.
Systems that wish to undertake conformance testing as a Service Provider should use the coformance test system located at: https://138.197.66.237/ORv1p2_CTS_ServiceProvider/
4.3.2 Service Consumer Certification
The functional capabilities of such systems are:
- At least one of the rostering, gradebooks and resources set of endpoints MUST be supported;
- If rostering is supported, all of the required endpoints MUST be supported;
- If rostering is supported, any of the optional endpoints MAY be supported;
- If resources is supported, all of the required endpoints MUST be supported;
- If resources is supported, any of the optional endpoints MAY be supported;
- If gradebooks is supported, all of either the pull or the push modes required endpoints MUST be supported;
- If gradebooks is supported, any of the optional endpoints MAY be supported (from both the pull and push modes);
- If assessment results is supported, all of either the pull or the push modes required endpoints MUST be supported;
- If assessment results is supported, any of the optional endpoints MAY be supported (from both the pull and push modes);
- They MUST support all of the required data fields;
- They MUST support all of the optional data fields;
- They MAY process extension data fields;
- They MUST support the endpoint payload pagination mechanism for all requests that provide a collection in the response payload;
- They MUST support the endpoint payload filtering mechanism for all requests that provide a collection in the response payload;
- They MUST support the endpoint payload sorting mechanism for all requests that provide a collection in the response payload;
- They MUST support the endpoint payload field selection mechanism for all requests that provide a collection or a singleton in the response payload;
- They MUST support the OAuth 2.0 Bearer Token authentication mechanism;
- MAY read the Service Provider's OpenAPI service description file(s) to obtain the details of the sertvcie(s) made available by that provider.
Systems that wish to undertake conformance testing as a Service Consumer should use the conformance test system loacted at: https://onerostervalidator.imsglobal.org:8443/oneroster-client-cts-webapp/
4.3.3 Comparison of the Certifications
A comparison of the available certifications for the defined OneRoster endpoints is shown in Table 4.13. In this table the key is:
- 'C' denotes a service consumer;
- 'P' denotes a service provider;
- 'Init' denotes that the end-system issues the request (a shaded box denotes that support for the endpoint is required for that mode and a black cell indicates that AT LEAST ONE of those endpoints MUST be supported);
- 'Resp' denotes that the end-system responds to the request (a shaded box denotes that support for the endpoint is required for that mode);
- '-' denotes that the endpoint is not available to that operational mode.
Service Call | Endpoint | HTTP Verb | Rostering | Gradebooks | Assessment Results | Resources | ||||
---|---|---|---|---|---|---|---|---|---|---|
C | P | C | P | C | P | C | P | |||
getAllAcademicSessions | /academicSessions | GET | Init | Resp | - | - | - | - | - | - |
getAcademicSession | /academicSessions/{id} | GET | Init | Resp | - | - | - | - | - | - |
getAllClasses | /classes | GET | Init | Resp | - | - | - | - | - | - |
getClass | /classes/{id} | GET | Init | Resp | - | - | - | - | - | - |
getResourcesForClass | /classes/{class_id}/resources | GET | - | - | - | - | - | - | Init | Resp |
getStudentsForClass | /classes/{class_id}/students | GET | Init | Resp | - | - | - | - | - | - |
getTeachersForClass | /classes/{class_id}/teachers | GET | Init | Resp | - | - | - | - | - | - |
getAllCourses | /courses | GET | Init | Resp | - | - | - | - | - | - |
getCourse | /courses/{id} | GET | Init | Resp | - | - | - | - | - | - |
getClassesForCourse | /courses/{course_id}/classes | GET | Init | Resp | - | - | - | - | - | - |
getResourcesForCourse | /courses/{course_id}/resources | GET | - | - | - | - | - | - | Init | Resp |
getAllDemographics | /demographics | GET | Init | Resp | - | - | - | - | - | - |
getDemographics | /demographics/{id} | GET | Init | Resp | - | - | - | - | - | - |
getAllEnrollments | /enrollments | GET | Init | Resp | - | - | - | - | - | - |
getEnrollment | /enrollments/{id} | GET | Init | Resp | - | - | - | - | - | - |
getAllGradingPeriods | /gradingPeriods | GET | Init | Resp | - | - | - | - | - | - |
getGradingPeriod | /gradingPeriods/{id} | GET | Init | Resp | - | - | - | - | - | - |
getAllOrgs | /orgs | GET | Init | Resp | - | - | - | - | - | - |
getOrg | /orgs/{id} | GET | Init | Resp | - | - | - | - | - | - |
getAllResources | /resources | GET | - | - | - | - | - | - | Init | Resp |
getResource | /resources/{id} | GET | - | - | - | - | - | - | Init | Resp |
getAllSchools | /schools | GET | Init | Resp | - | - | - | - | - | - |
getSchool | /schools/{id} | GET | Init | Resp | - | - | - | - | - | - |
getClassesForSchool | /schools/{school_id}/classes | GET | Init | Resp | - | - | - | - | - | - |
getCoursesForSchool | /schools/{id}/courses | GET | Init | Resp | - | - | - | - | - | - |
getEnrollmentsForSchool | /schools/{school_id}/enrollments | GET | Init | Resp | - | - | - | - | - | - |
getEnrollmentsForClassInSchool | /schools/{school_id}/classes/{class_id}/enrollments | GET | Init | Resp | - | - | - | - | - | - |
getStudentsForClassInSchool | /schools/{school_id}/classes/{class_id}/students | GET | Init | Resp | - | - | - | - | - | - |
getStudentsForSchool | /schools/{school_id}/students | GET | Init | Resp | - | - | - | - | - | - |
getTeachersForClassInSchool | /schools/{school_id}/classes/{class_id}/teachers | GET | Init | Resp | - | - | - | - | - | - |
getTeachersForSchool | /schools/{school_id}/teachers | GET | Init | Resp | - | - | - | - | - | - |
getTermsForSchool | /schools/{school_id}/terms | GET | Init | Resp | - | - | - | - | - | - |
getAllStudents | /students | GET | Init | Resp | - | - | - | - | - | - |
getStudent | /students/{id} | GET | Init | Resp | - | - | - | - | - | - |
getClassesForStudent | /students/{student_id}/classes | GET | Init | Resp | - | - | - | - | - | - |
getAllTeachers | /teachers | GET | Init | Resp | - | - | - | - | - | - |
getTeacher | /teachers/{id} | GET | Init | Resp | - | - | - | - | - | - |
getClassesForTeacher | /teachers/{teacher_id}/classes | GET | Init | Resp | - | - | - | - | - | - |
getAllTerms | /terms | GET | Init | Resp | - | - | - | - | - | - |
getTerm | /terms/{id} | GET | Init | Resp | - | - | - | - | - | - |
getClassesForTerm | /terms/{term_id}/classes | GET | Init | Resp | - | - | - | - | - | - |
getGradingPeriodsForTerm | /terms/{term_id}/gradingPeriods | GET | Init | Resp | - | - | - | - | - | - |
getAllUsers | /users | GET | Init | Resp | - | - | - | - | - | - |
getUser | /users/{id} | GET | Init | Resp | - | - | - | - | - | - |
getClassesForUser | /users/{user_id}/classes | GET | Init | Resp | - | - | - | - | - | - |
getResourcesForUser | /users/{user_id}/resources | GET | - | - | - | - | - | - | Init | Resp |
getAcademicStandardIdsForClass | /classes/{classSourcedId}/academicStandardIds | GET | - | - | Resp (Pull) |
Init (Pull) |
- | - | - | - |
getAcademicStandardIdsForSchool | /schools/{schoolSourcedId}/academicStandardIds | GET | - | - | Resp (Pull) |
Init (Pull) |
- | - | - | - |
getAllCategories | /categories | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getCategory | /categories/{id} | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getCategoriesForClass | /classes/{classSourcedId}/categories | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
putCategory | /categories/{id} | PUT | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
deleteCategory | /categories/{id} | DELETE | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
getAllAssessmentLineItems | /assessmentLineItems | GET | - | - | - | - | Init (Pull) |
Resp (Pull) |
- | - |
getAssessmentLineItem | /assessmentLineItems/{id} | GET | - | - | - | - | Init (Pull) |
Resp (Pull) |
- | - |
putAssessmentLineItem | /assessmentLineItems/{id} | PUT | - | - | - | - | Resp (Push) |
Init (Push) |
- | - |
deleteAssessmentLineItem | /assessmentLineItems/{id} | DELETE | - | - | - | - | Resp (Push) |
Init (Push) |
- | - |
getAllLineItems | /lineItems | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getLineItem | /lineItems/{id} | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
postLineItemsForClass | /classes/{classSourcedId}/lineItems | POST | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
postLineItemsForSchool | /schools/{schoolSourcedId}/lineItems | POST | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
putLineItem | /lineItems/{id} | PUT | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
deleteLineItem | /lineItems/{id} | DELETE | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
getLineItemsForClass | /classes/{class_id}/lineItems | GET | - | - | Resp (Pull) |
Init (Pull) |
- | - | - | - |
getAllAssessmentResults | /assessmentResults | GET | - | - | - | - | Init (Pull) |
Resp (Pull) |
- | - |
getAssessmentResult | /assessmentResults/{id} | GET | - | - | - | - | Init (Pull) |
Resp (Pull) |
- | - |
putAssessmentResult | /assessmentResults/{id} | PUT | - | - | - | - | Resp (Push) |
Init (Push) |
- | - |
deleteAssessmentResult | /assessmentResults/{id} | DELETE | - | - | - | - | Resp (Push) |
Init (Push) |
- | - |
getAllResults | /results | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getResult | /results/{id} | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
postResultsForLineItem | /lineItems/{lineItemSourcedId}/results | POST | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
postResultsForAcademicSessionForClass | /classes/{classSourcedId}/academicSessions/{academicSessionSourcedId}/results | POST | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
putResult | /results/{id} | PUT | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
deleteResult | /results/{id} | DELETE | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
getResultsForClass | /classes/{class_id}/results | GET | - | - | Resp (Pull) |
Init (Pull) |
- | - | - | - |
getResultsForLineItemForClass | /classes/{class_id}/lineItems/{li_id}/results | GET | - | - | Resp (Pull) |
Init (Pull) |
- | - | - | - |
getResultsForStudentForClass | /classes/{class_id}/students/{student_id}/results | GET | - | - | Resp (Pull) |
Init (Pull) |
- | - | - | - |
getAllScoreScales | /scoreScales | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getScoreScale | /scoreScales/{id} | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getScoreScalesForClass | /classes/{classSourcedId}/scoreScales | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
getScoreScalesForSchool | /schools/{schoolSourcedId}/scoreScales | GET | - | - | Init (Pull) |
Resp (Pull) |
- | - | - | - |
putScoreScale | /scoreScales/{id} | PUT | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
deleteScoreScale | /scoreScales/{id} | DELETE | - | - | Resp (Push) |
Init (Push) |
- | - | - | - |
5. OneRoster Certifications
A system that successfully achieves OneRoster certification will have a certain set of functional capabilities. OneRoster certification does NOT guarantee interoperability between ALL other OneRoster compliant solutions: a system that has only CSV certification will not interoperate with a system that has only REST API certification, etc. The set of functional properties that a OneRoster certified product may have is shown in Table 5.1. The key for Table 5.1 is:
- There are four functional modes i.e. Rostering (the enrollment of people on classes), Resources (the identification of resources allocated to courses/classes, Gradebook (the scores/grades achieved by learners on courses/classes) and Assessment Results (the detailed scores/grades achieved by learners on learning activities). ALL systems must support at LEAST one of the functional modes of operation. In OR 1.2 the 'Bulk Services' capability was added with support through the REST API only. Support for this is optional;
- There are two operational modes i.e. CSV processing and REST-API support;
- For CSV processing a system can support import and/or export file processing. In both cases there are the 'bulk' and 'delta' processing with support for 'bulk' processing being required;
- For REST API support a system can be a service provider and/or a service consumer. In both cases there is a set of 'Core' endpoints that must be supported and a set of 'Other' endpoints that may be supported (these other endpoints are distinct for each of the 'Rostering', 'Resources', 'Gradebook' and 'Assessment Results' support).
ALL systems must support at LEAST one of the 'Rostering', 'Resources', 'Gradebook' and 'Assessment Results'.
Functional Mode (at least one must be supported) |
CSV Processing | REST API | ||||||
---|---|---|---|---|---|---|---|---|
Import | Export | Provider | Consumer | |||||
Bulk | Delta | Bulk | Delta | Core | Other | Core | Other | |
Rostering | Required | Optional | Required | Optional | Required | Optional | Required | Optional |
Resources | Required (Rostering CSV support also required) |
Optional | Required (Rostering CSV support also required) |
Optional | Required | Optional | Required | Optional |
Gradebooks | Required (Rostering CSV support also required) |
Optional | Required (Rostering CSV support also required) |
Optional | Required (Pull or Push) |
Optional | Required (Pull or Push) |
Optional |
Assessment Results | N/A | N/A | N/A | N/A | Required (Pull or Push) |
Optional | Required (Pull or Push) |
Optional |
Bulk Services | N/A | N/A | N/A | N/A | Optional | Optional | Optional | Optional |
A. Summary of the Conformance Tests for a Service Provider
This section is non-normative.
The set of tests that will be used to determine if an implementation of the service provider functionality is compliant are summarised in Tables A1, A2 and A3. The features supplied in Tables are:
- ID - the unique identifier assigned to the test;
- Mode - set as either 'R' to denote that this test MUST be passed, 'O' to denote this test MAY be passed and '–' to denote the test is not applicable;
- Description - a brief summary of the objective of the test.
A.1 Tests on the Rostering Service
This section is non-normative.
All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.
ID | Mode | Description |
---|---|---|
RG-GALLAS-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. |
RG-GALLAS-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-301 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-302 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-303 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-304 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-305 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-306 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-307 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the contains test on a SchoolYear) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-308 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-309 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLAS-??? | R | ...More tests to be added in a later release of this document... |
RG-GONEAS-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions/{id}' endpoint works correctly. The test system issues the getAcademicSession request and expects to receive a fully populated JSON payload. |
RG-GONEAS-??? | R | ...More tests to be added in a later release of this document... |
RG-GALLCL-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. |
RG-GALLCL-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLCL-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLCL-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLCO-??? | R | ...More tests to be added in a later release of this document... |
RG-GONECL-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{id}' endpoint works correctly. The test system issues the getClass request and expects to receive a fully populated JSON payload. |
RG-GONECO-??? | R | ...More tests to be added in a later release of this document... |
RG-GCLFCO-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. |
RG-GCLFCO-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFCO-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFCO-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFCO-??? | O | ...More tests to be added in a later release of this document... |
RG-GCLFSC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. |
RG-GCLFSC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFSC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFSC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFSC-??? | O | ...More tests to be added in a later release of this document... |
RG-GCLFST-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. |
RG-GCLFST-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFST-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFST-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFST-??? | O | ...More tests to be added in a later release of this document... |
RG-GCLFTH-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. |
RG-GCLFTH-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFTH-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFTH-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFTH-??? | O | ...More tests to be added in a later release of this document... |
RG-GCLFUS-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. |
RG-GCLFUS-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFUS-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFUS-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFUS-??? | O | ...More tests to be added in a later release of this document... |
RG-GCLFTM-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. |
RG-GCLFTM-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFTM-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFTM-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCLFTM-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLCO-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. |
RG-GALLCO-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLCO-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLCO-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLCO-??? | R | ...More tests to be added in a later release of this document... |
RG-GONECO-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{id}' endpoint works correctly. The test system issues the getCourse request and expects to receive a fully populated JSON payload. |
RG-GONECO-??? | R | ...More tests to be added in a later release of this document... |
RG-GCOFSC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/school/{school_id}/courses' endpoint works correctly. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. |
RG-GCOFSC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/courses' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCOFSC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/courses' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCOFSC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/courses' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GCOFSC-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLDG-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. |
RG-GALLDG-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLDG-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLDG-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLDG-??? | R | ...More tests to be added in a later release of this document... |
RG-GONEDG-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics/{id}' endpoint works correctly. The test system issues the getDemographics request and expects to receive a fully populated JSON payload. |
RG-GONEDG-??? | R | ...More tests to be added in a later release of this document... |
RG-GALLEN-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. |
RG-GALLEN-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLEN-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLEN-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLEN-??? | R | ...More tests to be added in a later release of this document... |
RG-GONEEN-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments/{id}' endpoint works correctly. The test system issues the getEnrollment request and expects to receive a fully populated JSON payload. |
RG-GONEEN-??? | R | ...More tests to be added in a later release of this document... |
RG-GENFSC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. |
RGRG-GENFSC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RGRG-GENFSC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RGRG-GENFSC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GENFSC-??? | O | ...More tests to be added in a later release of this document... |
RG-GENISC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/schools/{school_id}/enrollments' endpoint works correctly. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. |
RG-GENISC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/enrollments' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GENISC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GENISC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GENISC-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLGP-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. |
RG-GALLGP-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLGP-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLGP-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLGP-??? | R | ...More tests to be added in a later release of this document... |
RG-GONEGP-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods/{id}' endpoint works correctly. The test system issues the getGradingPeriod request and expects to receive a fully populated JSON payload. |
RG-GONEGP-??? | R | ...More tests to be added in a later release of this document... |
RG-GGPFTM-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly. The test system issues the getGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. |
RG-GGPFTM-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GGPFTM-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GGPFTM-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GGPFTM-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLOG-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. |
RG-GALLOG-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLOG-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLOG-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLOG-??? | R | ...More tests to be added in a later release of this document... |
RG-GONEOG-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs/{id}' endpoint works correctly. The test system issues the getOrg request and expects to receive a fully populated JSON payload. |
RG-GONEOG-??? | R | ...More tests to be added in a later release of this document... |
RG-GALLSC-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. |
RG-GALLSC-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLSC-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLSC-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLSC-??? | R | ...More tests to be added in a later release of this document... |
RG-GONESC0-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{id}' endpoint works correctly. The test system issues the getSchool request and expects to receive a fully populated JSON payload. |
RG-GONESC-??? | R | ...More tests to be added in a later release of this document... |
RG-GALLST-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. |
RG-GALLST-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLST-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLST-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLST-??? | R | ...More tests to be added in a later release of this document... |
RG-GONEST-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{id}' endpoint works correctly. The test system issues the getStudent request and expects to receive a fully populated JSON payload. |
RG-GONEST-??? | R | ...More tests to be added in a later release of this document... |
RG-GSTFCL-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. |
RG-GSTFCL-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTFCL-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTFCL-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTFCL-??? | O | ...More tests to be added in a later release of this document... |
RG-GSTFSC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. |
RG-GSTFSC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTFSC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTFSC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTFSC-??? | O | ...More tests to be added in a later release of this document... |
RG-GSTISC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/schools/{school_id}/students' endpoint works correctly. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. |
RG-GSTISC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTISC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTISC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GSTISC-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLTH-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. |
RG-GALLTH-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLTH-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLTH-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLTH-??? | R | ...More tests to be added in a later release of this document... |
RG-GONETH-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{id}' endpoint works correctly. The test system issues the getTeacher request and expects to receive a fully populated JSON payload. |
RG-GONETH-??? | R | ...More tests to be added in a later release of this document... |
RG-GTHFCL-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. |
RG-GTHFCL-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHFCL-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHFCL-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHFCL-??? | O | ...More tests to be added in a later release of this document... |
RG-GTHFSC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. |
RG-GTHFSC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHFSC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHFSC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHFSC-??? | O | ...More tests to be added in a later release of this document... |
RG-GTHISC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/schools/{school_id}/teachers' endpoint works correctly. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. |
RG-GTHISC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHISC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHISC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTHISCV-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLTM-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. |
RG-GALLTM-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLTM-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLTM-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLTM-??? | R | ...More tests to be added in a later release of this document... |
RG-GONETM-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{id}' endpoint works correctly. The test system issues the getTerm request and expects to receive a fully populated JSON payload. |
RG-GONETM-??? | R | ...More tests to be added in a later release of this document... |
RG-GTMFSC-101 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id/terms' endpoint works correctly. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. |
RG-GTMFSC-201 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/terms' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTMFSC-202 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/terms' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTMFSC-203 | O | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/terms' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GTMFSC-??? | O | ...More tests to be added in a later release of this document... |
RG-GALLUS-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. |
RG-GALLUS-201 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLUS-202 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLUS-203 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RG-GALLUS-??? | R | ...More tests to be added in a later release of this document... |
RG-ONEUS-101 | R | To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{id}' endpoint works correctly. The test system issues the getUser request and expects to receive a fully populated JSON payload. |
RG-GONEUS-??? | R | ...More tests to be added in a later release of this document... |
A.2 Tests on the Resources Service
This section is non-normative.
All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.
ID | Mode | Description |
---|---|---|
RX-GALLRX-101 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. |
RX-GALLRX-201 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-202 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-203 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-301 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-302 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-303 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-304 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-305 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-306 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-307 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the contains test on an importance) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-308 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-309 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GALLRX-??? | R | ...More tests to be added in a later release of this document... |
RX-GONERX-101 | R | To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources/{id}' endpoint works correctly. The test system issues the getResource request and expects to receive a fully populated JSON payload. |
RX-GONERX-??? | R | ...More tests to be added in a later release of this document... |
RX-GRXFCL-101 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. |
RX-GRXFCL-201 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-202 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=asc query parameters. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-203 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=desc query parameters. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-301 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-302 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-303 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-304 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-305 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-306 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-307 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the contains test on an importance) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-308 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-309 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCL-??? | O | ...More tests to be added in a later release of this document... |
RX-GRXFCO-101 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. |
RX-GRXFCO-201 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{class_id}/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-202 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=asc query parameters. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-203 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=desc query parameters. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-301 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-302 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-303 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-304 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-305 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-306 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-307 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the contains test on an importance) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-308 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-309 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFCO-??? | O | ...More tests to be added in a later release of this document... |
RX-GRXFUS-101 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. |
RX-GRXFUS-201 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-202 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=asc query parameters. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-203 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=desc query parameters. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-301 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-302 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-303 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-304 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-305 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-306 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-307 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the contains test on the importance) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-308 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-309 | O | To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
RX-GRXFUS-??? | O | ...More tests to be added in a later release of this document... |
A.3 Tests on the Gradebook Service
This section is non-normative.
All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.
ID | Mode | Description |
---|---|---|
GB-GAXFCL-101 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. |
GB-GAXFCL-201 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-202 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-203 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-301 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-302 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-303 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-304 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-305 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-306 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-307 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-308 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-309 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFCL-??? | O | ...More tests to be added in a later release of this document... |
GB-GAXFSC-101 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. |
GB-GAXFSC-201 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-202 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-203 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-301 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-302 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-303 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-304 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-305 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-306 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-307 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-308 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-309 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GAXFSC-??? | O | ...More tests to be added in a later release of this document... |
GB-GALLCG-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. |
GB-GALLCG-201 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-202 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-203 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-301 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-302 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-303 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-304 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-305 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-306 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-307 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-308 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the AND predicate test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-309 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the OR predicate test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLCG-??? | R | ...More tests to be added in a later release of this document... |
GB-GONECG-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories/{id}' endpoint works correctly. The test system issues the getCategory request and expects to receive a fully populated JSON payload. |
GB-GONECG-??? | R | ...More tests to be added in a later release of this document... |
GB-GALLLI-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. |
GB-GALLLI-201 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-202 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-203 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-301 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-302 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-303 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-304 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the greater than or equals test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-305 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-306 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the less than or equals test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-307 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-308 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the AND predicate test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-309 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the OR predicate test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLLI-??? | R | ...More tests to be added in a later release of this document... |
GB-GONELI-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems/{id}' endpoint works correctly. The test system issues the getLineItem request and expects to receive a fully populated JSON payload. |
GB-GONELI-??? | R | ...More tests to be added in a later release of this document... |
GB-GLIFCL-101 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. |
GB-GLIFCL-201 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GLIFCL-202 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GLIFCL-203 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GLIFCL-??? | O | ...More tests to be added in a later release of this document... |
GB-GALLRS-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. |
GB-GALLRS-201 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLRS-202 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLRS-203 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLRS-??? | R | ...More tests to be added in a later release of this document... |
GB-GONERS-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results/{id}' endpoint works correctly. The test system issues the getResult request and expects to receive a fully populated JSON payload. |
GB-GONERS-??? | R | ...More tests to be added in a later release of this document... |
GB-GRSFCL-101 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{id}/results' endpoint works correctly. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. |
GB-GRSFCL-201 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFCL-202 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFCL-203 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFCL-??? | O | ...More tests to be added in a later release of this document... |
GB-GRSFLI-101 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{id}/lineItems/{lineitem_id}/results' endpoint works correctly. The test system issues the getResultsForLineIemForClass request and expects to receive a fully populated JSON payload. |
GB-GRSFLI-201 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems/{lineitem_id}/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResultsForLineItemForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFLI-202 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems/{lineitem_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getResultsForLineItemForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFLI-203 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems/{lineitem_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getResultsForLineItemForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFLI-??? | O | ...More tests to be added in a later release of this document... |
GB-GRSFST-101 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{id}/students/{id}/results' endpoint works correctly. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. |
GB-GRSFST-201 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/students/{student_id}/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFST-202 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/students/{student_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFST-203 | O | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/students/{student_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GRSFST-??? | O | ...More tests to be added in a later release of this document... |
GB-GALLSS-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. |
GB-GALLSS-201 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLSS-202 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLSS-203 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
GB-GALLSS-??? | R | ...More tests to be added in a later release of this document... |
GB-GONESS-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales/{id}' endpoint works correctly. The test system issues the getScoreScale request and expects to receive a fully populated JSON payload. |
GB-GONESS-??? | R | ...More tests to be added in a later release of this document... |
A.4 Tests on the Assessment Results Service
This section is non-normative.
All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.
ID | Mode | Description |
---|---|---|
AR-GALLLI-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. |
AR-GALLLI-201 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-202 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-203 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-301 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-302 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-303 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-304 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lassessmentLineItems' endpoint works correctly using the &filter (with the greater than or equals test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-305 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-306 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the less than or equals test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-307 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-308 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the AND predicate test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-309 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the OR predicate test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLLI-??? | R | ...More tests to be added in a later release of this document... |
AR-GONELI-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems/{id}' endpoint works correctly. The test system issues the getAssessmentLineItem request and expects to receive a fully populated JSON payload. |
AR-GONELI-??? | R | ...More tests to be added in a later release of this document... |
AR-GALLRS-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. |
AR-GALLRS-201 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLRS-202 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLRS-203 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service. |
AR-GALLRS-??? | R | ...More tests to be added in a later release of this document... |
AR-GONERS-101 | R | To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults/{id}' endpoint works correctly. The test system issues the getAssessmentResult request and expects to receive a fully populated JSON payload. |
AR-GONERS-??? | R | ...More tests to be added in a later release of this document... |
B. Summary of the Conformance Tests for a Consumer
This section is non-normative.
The set of tests that will be used to determine if an implementation of the consumer functionality is compliant are summarised in Table B1. The features supplied in Table B1 are:
- ID - the unique identifier assigned to the test;
- Mode - set as either 'R' to denote that this test MUST be passed, 'O' to denote this test MAY be passed and '–' to denote the test is not applicable. R(P) and O(P) denote MUST support and MAY support respectively for the Gradebook Push and Assessment Results Push endpoints. Four values are given for Rostering, Resources, Gradebook and Assessment Results services respectively;
- Description - a brief summary of the objective of the test.
ID | Mode | Description |
---|---|---|
1.1 | R | R | R | R | OAuth2: Send request with valid access token. |
2.1 | R | – | – | – | Endpoint: Get All Users. |
2.2 | O | – | – | – | Endpoint: Get User By Id. |
2.3 | R | – | – | – | Endpoint: Get All Students. |
2.4 | O | – | – | – | Endpoint: Get Student By Id. |
2.5 | R | – | – | – | Endpoint: Get All Teachers. |
2.6 | O | – | – | – | Endpoint: Get Teacher By Id. |
2.7 | R | – | – | – | Endpoint: Get All Orgs. |
2.8 | O | – | – | – | Endpoint: Get Org By Id. |
2.9 | R | – | – | – | Endpoint: Get All Courses. |
2.10 | O | – | – | – | Endpoint: Get Course By Id. |
2.11 | R | – | – | – | Endpoint: Get All Classes. |
2.12 | O | – | – | – | Endpoint: Get Class By Id. |
2.13 | R | – | – | – | Endpoint: Get All Academic Sessions. |
2.14 | O | – | – | – | Endpoint: Get Academic Session By Id. |
2.15 | R | – | – | – | Endpoint: Get All Terms. |
2.16 | O | – | – | – | Endpoint: Get Term By Id. |
2.17 | – | – | R | – | Endpoint: Get All Categories. |
2.18 | – | – | O | – | Endpoint: Get Category By Id |
2.19 | – | – | O | – | Endpoint: Get Line Items For Class. |
2.20 | – | – | O | – | Endpoint: Get Results For Class. |
2.21 | R | – | – | – | Endpoint: Get All Schools. |
2.22 | O | – | – | – | Endpoint: Get School By Id. |
2.23 | O | – | – | – | Endpoint: Get Classes For Student. |
2.24 | O | – | – | – | Endpoint: Get Classes For Teacher. |
2.25 | R | – | – | – | Endpoint: Get All Grading Periods. |
2.26 | O | – | – | – | Endpoint: Get Grading Period By Id. |
2.27 | R | – | – | – | Endpoint: Get All Enrollments. |
2.28 | O | – | – | – | Endpoint: Get Enrollment By Id. |
2.29 | O | – | – | – | Endpoint: Get All Demographics |
2.30 | O | – | – | – | Endpoint: Get Demographics By Id. |
2.31 | O | – | – | – | Endpoint: et Classes for User. |
2.32 | O | – | – | – | Endpoint: Get Students for Class. |
2.33 | O | – | – | – | Endpoint: Get Teachers for Class. |
2.34 | O | – | – | – | Endpoint: Get Classes for Course. |
2.35 | O | – | – | – | Endpoint: Get Classes for School. |
2.36 | O | – | – | – | Endpoint: Get Courses for School. |
2.37 | O | – | – | – | Endpoint: Get Enrollments for School. |
2.38 | O | – | – | – | Endpoint: Get Enrollments for Class in School. |
2.39 | O | – | – | – | Endpoint: Get Students for School. |
2.40 | O | – | – | – | Endpoint: Get Students for Class in School. |
2.41 | O | – | – | – | Endpoint: Get Teachers for Class in School. |
2.42 | O | – | – | – | Endpoint: GET Teachers for School. |
2.43 | O | – | – | – | Endpoint: Get Terms for School. |
2.44 | O | – | – | – | Endpoint: Get Classes for Term. |
2.45 | O | – | – | – | Endpoint: Get Grading Periods for Term. |
2.46 | – | – | – | O | Endpoint: Get Assessment Line Items. |
2.47 | – | – | – | O | Endpoint: Get Assessment Line Item by Id. |
2.48 | – | – | R | – | Endpoint: Get Line Items. |
2.49 | – | – | O | – | Endpoint: Get Line Item by Id. |
2.50 | – | – | O | – | Endpoint: Get Results for Lineitem in Class. |
2.51 | – | – | O | – | Endpoint: Get Results for Student in Class. |
2.52 | – | – | – | O | Endpoint: Get Assessment Result by Id. |
2.53 | – | – | – | R | Endpoint: Get All Assessment Results. |
2.54 | – | – | O | – | Endpoint: Get Result by Id. |
2.55 | – | – | R | – | Endpoint: Get All Results. |
2.56 | – | – | O(P) | – | Endpoint: Create Category (Put). |
2.57 | – | – | R(P) | – | Endpoint: Create Line Item (Put). |
2.58 | – | – | R(P) | – | Endpoint: Create Result (Put). |
2.59 | – | – | – | R(P) | Endpoint: Create Assessment Line Item (Put). |
2.60 | – | – | – | R(P) | Endpoint: Create Assessment Result (Put). |
2.61 | – | – | O(P) | – | Endpoint: Delete Category. |
2.62 | – | – | O(P) | – | Endpoint: Delete Line Item. |
2.63 | – | – | O(P) | – | Endpoint: Delete Result. |
2.64 | – | – | – | O(P) | Endpoint: Delete Assessment Line Item. |
2.65 | – | – | – | O(P) | Endpoint: Delete Assessment Result. |
2.66 | – | R | – | – | Endpoint: Get All Resources. |
2.67 | – | O | – | – | Endpoint: Get Resource by Id. |
2.68 | – | O | – | – | Endpoint: Get Resources for Course. |
2.69 | – | O | – | – | Endpoint: Get Resources for Class. |
3.1 | R | R | R | – | URL Query Parameter: Limit. Demonstrate using any of the supported endpoints. |
3.2 | R | R | R | R | URL Query Parameter: Offset. Demonstrate using any of the supported endpoints. |
3.3 | R | R | R | R | URL Query Parameter: Filter. Demonstrate using any of the supported endpoints. |
3.4 | R | R | R | R | URL Query Parameter: Sort. Demonstrate using any of the supported endpoints. |
3.5 | R | R | R | R | URL Query Parameter: OrderBy. Demonstrate using any of the supported endpoints. |
3.6 | O | O | O | O | UR Query Parameter: Fields. Demonstrate using any of the supported endpoints. |
C. Revision History
This section is non-normative.
C.1 Version History
Version No. | Release Date | Comments |
---|---|---|
Final Release v1.0 / Doc Version 1.0 | 3rd June 2015 | The first formal release of the Final Release version of this document. |
Final Release v1.1 / Doc Version 1.0 | 17th April, 2017 | The second formal release of this document. The conformance requirements, for both CSV and REST, have been made considerably more demanding and specific. |
Candidate Final Public Release v1.2 / Doc Version 1.0 | 1st July, 2021 | The third formal release of this document. A number of new features have been added to the three operational modes of Rostering, Resources and Gradebook (for both REST and CSV bindings). |
C.2 Changes in this Version
In the context of conformance and certification the following changes have occured in OR 1.2:
- The conformance requirements for eight new CSV files has been addessed. The new files are:
- lineItemLearningObjectiveIds.csv
- lineItemScoreScales.csv
- resultLearningObjectiveIds.csv
- resultScoreScales.csv
- roles.csv
- scoreScales.csv
- userProfiles.csv
- userResources.csv;
- The conformance requirements for twenty-two new endpoints has been addessed. The new endpoints are:
- getAcademicStandardIdsForClass() - '/classes/{classSourcedId}/academicStandardIds'
- getAcademicStandardIdsForSchool() - '/schools/{schoolSourcedId}/academicStandardIds'
- getAllAssessmentLineItems() - '/assessmentLineItems'
- getAssessmentLineItem() - '/assessmentLineItems/{id}'
- putAssessmentLineItem() - '/assessmentLineItems/{id}'
- deleteAssessmentLineItem() - '/assessmentLineItems/{id}'
- getAllAssessmentResults() - '/assessmentResults'
- getAssessmentResult() - '/assessmentResults/{id}'
- putAssessmentResult() - '/assessmentResults/{id}'
- deleteAssessmentResult() - '/assessmentResults/{id}'
- getCategoriesForClass() - '/classes/{classSourcedId}/categories'
- postLineItemsForClass() - '/classes/{classSourcedId}/lineItems'
- postLineItemsForSchool() - '/schools/{schoolSourcedId}/lineItems'
- postResultsForLineItem() - '/lineItems/{lineItemSourcedId}/results'
- postResultsForAcademicSessionForClass() - '/classes/{classSourcedId}/academicSessions/{academicSessionSourcedId}/results'
- getAllScoreScales() - '/scoreScales'
- getScoreScale() - '/scoreScales/{id}'
- getScoreScalesForClass() - '/classes/{classSourcedId}/scoreScales'
- getScoreScalesForSchool() - '/schools/{schoolSourcedId}/scoreScales'
- putScoreScale() - '/scoreScales/{id}'
- deleteScoreScale() - '/scoreScales/{id}'
- getResourcesForUser() - '/users/{uesr_id}/resources';
- Use of OAuth 1.0a message signing has been removed. The use of OAuth 2.0 Bearer Tokens (Client Credentials Grant) is required instead;
- Providers are now REQUIRED to make available a localized version of the specification OpenAPI files to enable service discovery and certifcation.
D. References
D.1 Normative references
- [OpenAPI2]
- OpenAPI Specification 2.0 (fka Swagger RESTful API Documentation Specification). Open API Initiative (Linux Foundation). September 2014. URL: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
- [OpenAPI3]
- OpenAPI Specification 3.0. Open API Initiative (Linux Foundation). July 2017. URL: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md
- [ORARS-SM]
- Assessment Results Profile for Gradebook Services 1.0. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/lis/imsonerosterv1p2/imsOneRosterv1p2-assessmentresultsv1p0.html
- [ORGBK-SM]
- OneRoster 1.2 Gradebook Services. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/spec/oneroster/v1p2/gradebook/info
- [ORRES-SM]
- OneRoster 1.2 Resource Services. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/spec/oneroster/v1p2/resource/info
- [ORROS-SM]
- OneRoster 1.2 Rostering Services. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/spec/oneroster/v1p2/rostering/info
- [RFC2119]
- Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
E. List of Contributors
The following individuals contributed to the development of this document:
Name | Organization | Role |
---|---|---|
Eric Adams | Kimono | |
Arthur Barstow | McGraw-Hill | |
Matthew Brent | Infinite Campus | |
Hank Davidson | Pearson | |
Vijay Dhanaraj | Classlink | |
Linda Feng | Unicon | |
Viktor Haag | D2L | |
Richard Heim | Learning Mate | |
Oxana Jurosevic | Instructure | |
Mike Kaastra | D2L | |
Lisa Mattson | IMS Global | |
David Mayes | Gwinnett County Schools | |
Joshua McGhee | IMS Global | editor |
Phil Nicholls | IMS Global | editor |
Padraig O'hiceadha | HMH | |
James Perreault | FLVS | |
Patrick Porter | Houston ISD | |
Matt Richards | Infinite Campus | co-chair |
Kurt Rompot | Pearson | |
Marc Sheftel | Pearson | |
Colin Smythe | IMS Global | editor |
Konrad Stimeling | K12 | |
Matt Vella | Schoology | |
TJ Vering | Microsoft | |
Mark Walls | Gwinnett County Schools | |
Mike Zackerson | Instructure |