Note to submitter: This form contains a series of questions that need to be answered. Please complete ALL the fields in the questionnaire below to produce a conformance statement for your SIF-enabled Application. Your completed form should be submitted as input to the test suite, and it will be forwarded to the Certification Authority along with your test results. Please ensure that you use the current version of the questionnaire (available on the certification website) for your submission. See the Guide to SIF Certification for more information. Please note that all information in this conformance statement will appear on the public register of certified products, except for the Extra Information for Testing. Revision History showing the changes in this Conformance Statement from prior versions is contained at the end of this document.
Enter the full name of the organization that is registering this SIF-enabled Application and the name of the author of this Conformance Statement
Organization: ___________________________________
Author: ________________________________________
Enter the applicable names and version numbers for the SIF-enabled Application. Version numbers should reflect the conventions used to differentiate releases of the product and/or agent. If the agent is discrete from the application, and/or produced by a different supplier, please provide information to identify the agent. The information provided in this section must clearly identify the product and agent to which certification and the conformance claim will apply, and thus what will appear in the certification register.
If certification is for a product suite, please add additional lines to enter the name, version/release number and supplier (if other than the organization listed above) for each product in the product suite.
Application Name: _______________________________
Application Version Number: ______________________
Agent Name: ___________________________________ (if applicable)
Agent Version Number: __________________________ (if applicable)
Please specify the name and version of the test suite used for conformance testing.
Test Suite Name: SIF-enabled Application Test Suite
Version Number: ___________________________
Please specify the application and agent version that was tested.
Application Version tested: __________________________________
Agent Version tested: ______________________________________
Please specify the hardware platform and software environment in which this SIF-enabled Application's conformance has been demonstrated. Define this test environment in sufficient detail to enable the test run to be repeated. For the hardware platform, this should include the computer system model, CPU type, processor speed, memory, and hard disk size. For the software architecture, this should include the name, version number, and release identifier of all the software components, including the operating system.
Hardware Platform (on which product was tested):
_____________________________________________________________
_____________________________________________________________
Software Architecture (on which product was tested):
_____________________________________________________________
_____________________________________________________________
If the environment for which you wish to claim and guarantee conformance is not identical to the environment in which conformance was validated, please specify the hardware platform(s) and/or software environment in which this SIF-enabled Application's conformance is guaranteed.
Operational Environment: _______________________________________
_____________________________________________________________
Please update the response sections below to provide an answer to each question. For YES / NO questions, simply delete the response that does not apply to your application.
Response:
Authentication level 0 - No authentication required and the sender does not have to submit a certificate. 1 - A valid certificate must be presented. 2 - A valid certificate from a trusted certificate authority must be presented. 3 - A valid certificate from a trusted certificate authority must be presented and the CN field of the certificate's subject entry must match the host, which is originating the message.
1a Is your agent capable of returning valid client certificates (authentication level 1-3)? YES / NO 1b Does your agent ever explicitly request authentication levels 1-3 of other agent at delivery time? YES / NO 1c If you answered YES to 1b above, identify which authentication levels might be explicitly requested by your agent.
Authentication Level 1: Authentication Level 2: Authentication Level 3:
YES / NO YES / NO YES / NO 1d Does your agent authenticate server certificates returned by the ZIS (authentication level 1-3)? YES / NO 1e If you answered YES to 1d above, identify which authentication levels apply.
Authentication Level 1: Authentication Level 2: Authentication Level 3:
YES / NO YES / NO YES / NO 1f If your agent supports push-mode, does your agent ever require a client certificate from the ZIS (authentication level 1-3)? YES / NO / NA 1g If you answered YES to 1f above, identify which authentication levels your agent might require of the ZIS.
Authentication Level 1: Authentication Level 2: Authentication Level 3:
YES / NO YES / NO YES / NO
Rationale:
Authentication support is optional but highly recommended. The SIF specification states that the application may provide any of the client authentication levels listed above.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.3.6.2 Authentication and Validation, 3.4.4.5 Support Authentication and Digital Signatures, and 3.5.3.1 SIF_AuthenticationLevel).
Response:
Encryption level 0 - No encryption required 1 - Symmetric key length of at least 40 bits
2 - Symmetric key length of at least 56 bits 3 - Symmetric key length of at least 80 bits 4 - Symmetric key length of at least 128 bits
2a Identify the encryption levels your agent is capable of supporting.
Encryption Level 0: Encryption Level 1: Encryption Level 2: Encryption Level 3: Encryption Level 4:
YES / NO YES / NO YES / NO YES / NO YES / NO 2b Does your agent ever explicitly request encryption levels 1-4 of other agent at delivery time? YES / NO 2c If you answered YES to 2b above, identify which encryption levels might be explicitly requested by your agent.
Encryption Level 1: Encryption Level 2: Encryption Level 3: Encryption Level 4:
YES / NO YES / NO YES / NO YES / NO 2d Identify which encryption levels your agent may require from a ZIS.
None: Encryption Level 1: Encryption Level 2: Encryption Level 3: Encryption Level 4:
YES / NO YES / NO YES / NO YES / NO YES / NO
Rationale:
The SIF_EncryptionLevel bit sizes are based on symmetric ciphers. The specification does not require an implementation to support any particular key length.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.5.3.2 SIF_EncryptionLevel).
Response:
3a Does your application support XML Validation of incoming messages? YES / NO 3b If you answered YES to 3a above, does your application then discard any invalid messages and return an error to the originator? YES / NO
Rationale:
XML validation is optional. SIF recommends that a message receiver validate each incoming message to ensure that it is a valid SIF message. A message receiver should discard any messages that do not conform to the SIF Message Specification and return an error to the originator of the message.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.5.1 Message Validation, 3.5.7.1 Initial Message Processing).
Response:
Behavior
Support
Error acknowledgement message is returned to ZIS for each unsupported message.
YES / NO Message is acknowledged as successfully received and is ignored.
YES / NO
Rationale:
Each agent should explicitly define what version of the SIF Message Specification they support and validate each incoming message to ensure that they can support it. It is recommended that the application return an error SIF_Ack message to the ZIS for those messages that the application does not support. An application MAY return a success SIF_Ack to the ZIS and ignore the unsupported message.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.3.3 Data Provision: A Request and Response Model, 3.5.1 Message Validation).
Response:
YES / NO
Rationale:
If a transport error is encountered (i.e. no SIF_Ack is returned or a SIF_Ack with an error category of 10), it is recommended that the sender retry to send the message. If a SIF_Ack is returned with any other type of error category, the sender may delete the message to avoid a potential deadlock condition.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.5.4 Message Robustness).
Response:
Behavior
Support
TLS 1.0
YES / NO SSL 3.0
YES / NO TLS 1.0 - negotiated using an SSL 2.0 client hello
YES / NO SSL 3.0 - negotiated using an SSL 2.0 client hello
YES / NO
Rationale:
The recommended SSL implementation is TLS 1.0 [RFC 2246]; however, SSL 3.0 [SSL3] is also supported and SSL 2.0 client hellos [SSL2] used to negotiate TLS 1.0 or SSL 3.0 connections are also permitted.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.6.1 SIF HTTPS Transport).
Response:
Note: NA = Not applicable and applies only to applications that do not support push-mode
Behavior
Support
Support push-mode YES / NO TLS 1.0
YES / NO / NA
SSL 3.0
YES / NO / NA
TLS 1.0 - negotiated using an SSL 2.0 client hello
YES / NO / NA
SSL 3.0- negotiated using an SSL 2.0 client hello
YES / NO / NA
Rationale:
The recommended SSL implementation is TLS 1.0 [RFC 2246]; however, SSL 3.0 [SSL3] is also supported and SSL 2.0 client hellos [SSL2] used to negotiate TLS 1.0 or SSL 3.0 connections are also permitted.
Reference:
Schools Interoperability Framework Implementation Specification, Version 1.1 (3.6.1 SIF HTTPS Transport).
Please indicate whether the application will provide, request or respond to requests for particular objects and generate or process events for objects. For each object, please specify an 'A' where the application is 'Able' to provide or request the object, respond to requests for the object* in cases where the application is not the provider, import/synchronize the object**, as well as generate and process add, delete and change events.
* To respond to requests means that the agent may function as a responder (regardless of whether it is a provider), supporting access to its data. All agents are tested to ensure they respond to requests for unsupported objects and 'A' should not be used to indicate that an agent responds to requests for unsupported objects
| Data Object | Provide Object | Responds | Request Object | Generate events | Process events | ||||
|---|---|---|---|---|---|---|---|---|---|
| Adds | Deletes | Changes | Adds | Deletes | Changes | ||||
| AttendanceCodeInfo | |||||||||
| Billing | |||||||||
| BusEquipment | |||||||||
| BusInfo | |||||||||
| BusRouteDetail | |||||||||
| BusRouteInfo | |||||||||
| Data Object | Provide Object | Responds | Request Object | Generate events | Process events | ||||
| Adds | Deletes | Changes | Adds | Deletes | Changes | ||||
| BusStopInfo | |||||||||
| LibraryPatronStatus | |||||||||
| Payment | |||||||||
| RoomInfo | |||||||||
| RoomType | |||||||||
| SchoolCourseInfo | |||||||||
| Data Object | Provide Object | Responds | Request Object | Generate events | Process events | ||||
| Adds | Deletes | Changes | Adds | Deletes | Changes | ||||
| SchoolInfo | |||||||||
| SectionInfo | |||||||||
| StaffPersonal | |||||||||
| StudentContact | |||||||||
| StudentDailyAttendance | |||||||||
| StudentMeal | |||||||||
| Data Object | Provide Object | Responds | Request Object | Generate events | Process events | ||||
| Adds | Deletes | Changes | Adds | Deletes | Changes | ||||
| StudentPersonal | |||||||||
| StudentPicture | |||||||||
| StudentSchoolEnrollment | |||||||||
| StudentSectionEnrollment | |||||||||
| StudentTransportInfo | |||||||||
| TermInfo | |||||||||
This table identifies the optional elements that a SIF-enabled Application may support. Please indicate for each whether your application provides and/or requires the element by selecting the appropriate response in each of the columns on the right.
Agent Provides means that the application provides
that element in responses and/or events.
Agent Requires means that the application requires that element to be present in
responses and/or events received in order to process the message correctly.
| Entity | Optional element support? | Agent provides (in responses and/or events) | Agent requires (in responses and/or events) |
|---|---|---|---|
| 5.1.1 Common elements - Address | Street/Line2 | YES / NO | YES / NO |
| Street/Line3 | YES / NO | YES / NO | |
| Street/Complex | YES / NO | YES / NO | |
| Street/StreetNumber | YES / NO | YES / NO | |
| Street/StreetPrefix | YES / NO | YES / NO | |
| Street/StreetName | YES / NO | YES / NO | |
| Street/StreetType | YES / NO | YES / NO | |
| Street/StreetSuffix | YES / NO | YES / NO | |
| Street/AptType | YES / NO | YES / NO | |
| Street/AptNumPrefix | YES / NO | YES / NO | |
| Street/AptNumber | YES / NO | YES / NO | |
| Street/AptNumSuffix | YES / NO | YES / NO | |
| County | YES / NO | YES / NO | |
| GridLocation | YES / NO | YES / NO | |
| 5.1.2 Common elements - Demographics | Ethnicity | YES / NO | YES / NO |
| Ethnicity/Proportion | YES / NO | YES / NO | |
| Gender | YES / NO | YES / NO | |
| BirthDate | YES / NO | YES / NO | |
| BirthDateVerification | YES / NO | YES / NO | |
| PlaceOfBirth | YES / NO | YES / NO | |
| CountyOfBirth | YES / NO | YES / NO | |
| StateOfBirth | YES / NO | YES / NO | |
| CountryOfBirth | YES / NO | YES / NO | |
| CountryOfCitizenship | YES / NO | YES / NO | |
| CountryOfResidency | YES / NO | YES / NO | |
| CitizenshipStatus | YES / NO | YES / NO | |
| EnglishProficiency | YES / NO | YES / NO | |
| Language | YES / NO | YES / NO | |
| DwellingArrangement | YES / NO | YES / NO | |
| MaritalStatus | YES / NO | YES / NO | |
| 5.1.5 Common elements - MeetingTime | TimetableDay | YES / NO | YES / NO |
| TimetablePeriod | YES / NO | YES / NO | |
| 5.1.6 Common elements - Name | Prefix | YES / NO | YES / NO |
| MiddleName | YES / NO | YES / NO | |
| Suffix | YES / NO | YES / NO | |
| PreferredName | YES / NO | YES / NO | |
| SortName | YES / NO | YES / NO | |
| FullName | YES / NO | YES / NO | |
| 5.3.1 StudentMeal | MealStatus | YES / NO | YES / NO |
| LastBrkDate | YES / NO | YES / NO | |
| LastLunDate | YES / NO | YES / NO | |
| Cash | YES / NO | YES / NO | |
| BrkCredits | YES / NO | YES / NO | |
| LunCredits | YES / NO | YES / NO | |
| 5.7.1 LibraryPatronStatus | CircTx | YES / NO | YES / NO |
| CircTx/CallNumber | YES / NO | YES / NO | |
| CircTx/CopyPrice | YES / NO | YES / NO | |
| CircTx/DueInfo | YES / NO | YES / NO | |
| CircTx/DueInfo/Time | YES / NO | YES / NO | |
| CircTx/FineInfo | YES / NO | YES / NO | |
| CircTx/FineInfo/Time | YES / NO | YES / NO | |
| CircTx/FineInfo/Description | YES / NO | YES / NO | |
| CircTx/HoldInfo | YES / NO | YES / NO | |
| CircTx/HoldInfo/DateNeeded | YES / NO | YES / NO | |
| CircTx/HoldInfo/MadeAvailable | YES / NO | YES / NO | |
| CircTx/HoldInfo/Expires | YES / NO | YES / NO | |
| Message | YES / NO | YES / NO | |
| Message/Date | YES / NO | YES / NO | |
| Message/Time | YES / NO | YES / NO | |
| NumRefunds | YES / NO | YES / NO | |
| RefundAmount | YES / NO | YES / NO | |
| 5.8.1 AttendanceCodeInfo | AttendanceCode | YES / NO | YES / NO |
| Description | YES / NO | YES / NO | |
| 5.8.2 RoomInfo | Staff | YES / NO | YES / NO |
| Description | YES / NO | YES / NO | |
| Building | YES / NO | YES / NO | |
| HomeroomNumber | YES / NO | YES / NO | |
| Size | YES / NO | YES / NO | |
| Capacity | YES / NO | YES / NO | |
| PhoneNumber | YES / NO | YES / NO | |
| TypeOfRoom | YES / NO | YES / NO | |
| 5.8.4 SchoolCourseInfo | StateCourseCode | YES / NO | YES / NO |
| DistrictCourseCode | YES / NO | YES / NO | |
| SubjectArea | YES / NO | YES / NO | |
| InstructionalLevel | YES / NO | YES / NO | |
| CourseCredits | YES / NO | YES / NO | |
| 5.8.5 SchoolInfo | SchoolJurisdiction | YES / NO | YES / NO |
| SchoolType | YES / NO | YES / NO | |
| SchoolURL | YES / NO | YES / NO | |
| PrincipalInfo | YES / NO | YES / NO | |
| PrincipalInfo/ContactTitle | YES / NO | YES / NO | |
| PhoneNumber | YES / NO | YES / NO | |
| Address | YES / NO | YES / NO | |
| IdentificationInfo | YES / NO | YES / NO | |
| SessionType | YES / NO | YES / NO | |
| LowGradeLevel | YES / NO | YES / NO | |
| HighGradeLevel | YES / NO | YES / NO | |
| 5.8.6 SectionInfo | ScheduleInfo/Teacher | YES / NO | YES / NO |
| ScheduleInfo/SectionRoom | YES / NO | YES / NO | |
| ScheduleInfo/MeetingTime | YES / NO | YES / NO | |
| MediumOfInstruction | YES / NO | YES / NO | |
| LanguageOfInstruction | YES / NO | YES / NO | |
| LocationOfInstruction | YES / NO | YES / NO | |
| SchoolCourseInfoOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/CourseCodeOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/StateCourseCodeOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/DistrictCourseCodeOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/SubjectAreaOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/CourseTitleOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/InstructionalLevelOverride | YES / NO | YES / NO | |
| SchoolCourseInfoOverride/CourseCreditsOverride | YES / NO | YES / NO | |
| 5.8.7 StaffPersonal | OtherId | YES / NO | YES / NO |
| Title | YES / NO | YES / NO | |
| YES / NO | YES / NO | ||
| Demographics | YES / NO | YES / NO | |
| Address | YES / NO | YES / NO | |
| PhoneNumber | YES / NO | YES / NO | |
| 5.8.8 StudentContact | PhoneNumber | YES / NO | YES / NO |
| YES / NO | YES / NO | ||
| Demographics | YES / NO | YES / NO | |
| Address | YES / NO | YES / NO | |
| OtherId | YES / NO | YES / NO | |
| Relationship | YES / NO | YES / NO | |
| EmployerType | YES / NO | YES / NO | |
| EducationalLevel | YES / NO | YES / NO | |
| PickupRights | YES / NO | YES / NO | |
| 5.8.9 StudentDailyAttendance | TimeIn | YES / NO | YES / NO |
| TimeOut | YES / NO | YES / NO | |
| AttendanceNote | YES / NO | YES / NO | |
| 5.8.10 StudentPersonal | AlertMsg | YES / NO | YES / NO |
| OtherId | YES / NO | YES / NO | |
| YES / NO | YES / NO | ||
| GradYear | YES / NO | YES / NO | |
| Demographics | YES / NO | YES / NO | |
| StudentAddress | YES / NO | YES / NO | |
| PhoneNumber | YES / NO | YES / NO | |
| 5.8.12 StudentSchoolEnrollment | EnrollStatus | YES / NO | YES / NO |
| EntryDate | YES / NO | YES / NO | |
| EntryType | YES / NO | YES / NO | |
| GradeLevel | YES / NO | YES / NO | |
| Homeroom | YES / NO | YES / NO | |
| StaffAssigned | YES / NO | YES / NO | |
| ExitDate | YES / NO | YES / NO | |
| ExitStatus | YES / NO | YES / NO | |
| ExitType | YES / NO | YES / NO | |
| FTE | YES / NO | YES / NO | |
| FTPTStatus | YES / NO | YES / NO | |
| 5.8.13 StudentSectionEnrollment | EntryDate | YES / NO | YES / NO |
| ExitDate | YES / NO | YES / NO | |
| ScheduleInfoOverride | YES / NO | YES / NO | |
| ScheduleInfoOverride/MeetingTime | YES / NO | YES / NO | |
| 5.8.14 TermInfo | Description | YES / NO | YES / NO |
| RelativeDuration | YES / NO | YES / NO | |
| TermCode | YES / NO | YES / NO | |
| Track | YES / NO | YES / NO | |
| TermSpan | YES / NO | YES / NO | |
| 5.9.2 BusInfo | SeatingCapacity | YES / NO | YES / NO |
| Contractor | YES / NO | YES / NO | |
| Equipment | YES / NO | YES / NO | |
| 5.9.4 BusRouteInfo | MaximumLoad | YES / NO | YES / NO |
| Description | YES / NO | YES / NO | |
| Name | YES / NO | YES / NO | |
| RouteDuration | YES / NO | YES / NO | |
| RouteDistance | YES / NO | YES / NO | |
| 5.9.5 BusStopInfo | GridLocation | YES / NO | YES / NO |
| 5.9.6 StudentTransportInfo | Eligibility | YES / NO | YES / NO |
| HomeBusRouteDetail | YES / NO | YES / NO | |
| TransferPoint | YES / NO | YES / NO | |
| SchoolBusRouteDetail | YES / NO | YES / NO |
This section solicits some additional information regarding your SIF-enabled Application that will be used by the test suite to correctly configure the test suite for your application. Please respond to each question. For YES / NO questions, simply delete the response that does not apply to your application, and in the second table below, specify an 'A' where the application is 'Able' to subscribe to, unsubscribe from, or unprovide the object.
To facilitate configuration of the test suite, you may enter an optional default value for the SIF_SourceId that your agent uses to communicate with the ZIS. You will be able to edit this value in each test session, but the value will default to the Agent ID specified here.
Agent ID (SIF_SourceId): ________________________
Optional Functionality |
Supported? |
|---|---|
| Agent supports SIF HTTP protocol | YES / NO |
| Agent supports Pull Mode | YES / NO |
| Agent sends SIF_Register to change protocol or registration settings | YES / NO |
| Agent invokes Selective Message Blocking (SMB) upon receiving a SIF_Event | YES / NO |
| Agent sends SIF_Ping | YES / NO |
| Agent sends SIF_Sleep | YES / NO |
| Agent sends SIF_Wakeup | YES / NO |
| Agent sends SIF_GetMessage (pull mode only) | YES / NO |
| Agent sends SIF_Unregister | YES / NO |
| Agent requests SIF_ZoneStatus of the ZIS | YES / NO |
| Data Object | Subscribes | Unsubscribes | Unprovides |
|---|---|---|---|
| AttendanceCodeInfo | |||
| Billing | |||
| BusEquipment | |||
| BusInfo | |||
| BusRouteDetail | |||
| BusRouteInfo | |||
| Data Object | Subscribes | Unsubscribes | Unprovides |
| BusStopInfo | |||
| LibraryPatronStatus | N/A | N/A | |
| Payment | |||
| RoomInfo | |||
| RoomType | |||
| SchoolCourseInfo | |||
| Data Object | Subscribes | Unsubscribes | Unprovides |
| SchoolInfo | |||
| SectionInfo | |||
| StaffPersonal | |||
| StudentContact | |||
| StudentDailyAttendance | |||
| StudentMeal | N/A | N/A | |
| Data Object | Subscribes | Unsubscribes | Unprovides |
| StudentPersonal | |||
| StudentPicture | |||
| StudentSchoolEnrollment | |||
| StudentSectionEnrollment | |||
| StudentTransportInfo | |||
| TermInfo |
Copyright © 2003-2004 Schools Interoperability Framework, All Rights Reserved
Version 1.1-2 - September 29, 2004
Revision history:
| Version | Date |
Change History |
|---|---|---|
| 1.1-2 | September 29, 2004 | - Section 3 - Hard-coded
Test Suite Name as there is currently only one test suite - Changed label "Application Release Identifier" to "Application Version Tested" - Changed label "Agent Release Identifier" to "Agent Version Tested" - Separated Test Environment input into Hardware Platform and Software Architecture - Sections 6 & 7 - Updated introductory text that explains how to complete these sections |
| 1.1 | June 18, 2003 |
- Section 5 - Question 2a: changed wording "No
Encryption Supported" to "Encryption Level 0". - Section 5 - Question 5: changed wording "does the application delete the message" to "does the application stop trying to send the message (delete or inactivate the message)" |