This document describes all the changes made to the Interinstitutional Agreements API document, starting from its first beta draft version.
- Add IIAs statistics endpoint.
- Fix description of sending-ounit-id and receiving-ounit-id.
- Remove incorrect comment to the EQF level field in the example.
- Add note about XML Canonicalization and spaces.
- Changing the hash to correctly calculated in get response example.
- Fix #69 by using a more generic description for signing-contact.
- Add a link to the current IIA template.
- Better indication of the template used to model IIA.
- Fix #61 by rewording comment to EQL level.
- Make mobilities per year element strongly recommended.
- Require academic years to be ordered and without gaps (#70).
- Emphasise that partner agreement ID should be provided ASAP.
- Fix example scenario so that IIA approval is after ID mapping.
- Add important rules of IIA exchange.
- Change "should" to "must" for many CC support.
- Change "should" to "highly recommend" for matching partner fields.
- Fix namespace version number in manifest-entry.xsd.
- Limit sending-ounit-id and receiving-ounit-id to one element.
- Update link to the PDF describing ISCED-F codes.
- Fix #49 by adding note about the recommended format for ISCED code.
- Exclude sending-contact and receiving-contact when calculating hash.
- Fix descriptions of iia-id and iia-code fields.
- Make sending CNRs mandatory.
- Add note about setting "blended" to false for "legacy" agreements.
- Rename "total-months" and "total-days" fields.
- Change name of "subject-area-name" element to "isced-clarification".
- Add field for other information regarding the terms of the agreement.
- Add optional subject area inside "recommended-language-skill".
- Make "mobilities-per-year" element optional and remove note.
- Add EQF level element also for student traineeship.
- Make EQF level optional.
- Make blended element required.
- Remove referenced to multi-party agreements.
- Allow many ISCED codes in mobility specification.
- Remove average duration and make total required.
- Add
blended
flag for student mobilities. - Change namespaces due to a major release.
- Add template for Calls 2021-2027.
- Add PDFs to the examples.
- Add optional
<conditions-hash>
element to the get response. It is necessary to be able to get approval of the IIA viaIIAs Approval API
. - Add example scenario of sending and approving agreement.
- Add PDF to the get response.
- Add optional
send_pdf
request parameter.
-
Changed data type of the following elements:
<avg-months>
(inStudentMobilitySpecification
),<total-months>
(inStudentMobilitySpecification
),<avg-days>
in (inStaffMobilitySpecification
),<total-days>
in (inStaffMobilitySpecification
).
Previously, these elements contained
xs:positiveInteger
. Now, they contain a positive decimal with the maximum of 2 fraction digits.This changed is not backward compatible with respect the API clients (clients might have already assumed that they will get an integer in these elements, but this is no longer guaranteed). Despite that fact, partners have agreed to NOT increase the major version of the API (because of the very limited number of implemented API clients). See this thread.
-
The
modified_since
parameter of theindex
endpoint is now in thexs:dateTime
format (not ISO 8601 format). See this thread.Note, that this change is not 100% backward-compatible, so - in theory - we should release version
3.0.0
at this point. Instead, we judged it would be better to treat this change as a bugfix (because it's almost compatible as it is, and releasing a new major version would complicate things).
-
This API now requires implementers to upgrade their implementations to Version 2 of the Authentication and Security document.
In particular, this means that the clients MUST be aware of the fact, that the server is no longer required to support methods of authentication and encryption which it was required to support in the previous versions of this API. Clients SHOULD consult the newly introduced
<http-security>
element in the server's manifest entry before making their requests. -
Because we are releasing a new major release (which is no longer backward-compatible with the previously released stable
1.x.x
releases), XML namespaces were changed to reflect that.In particular, API-entry namespace was changed from:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/stable-v1/manifest-entry.xsd
to:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/stable-v2/manifest-entry.xsd
Get-endpoint response namespace was changed from:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/stable-v1/endpoints/get-response.xsd
to:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/stable-v2/endpoints/get-response.xsd
And Index-endpoint namespace was changed from:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/stable-v1/endpoints/index-response.xsd
to:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/stable-v2/endpoints/index-response.xsd
- Explicitly declare that this version still requires the use of Version 1 of the Authentication and Security document. You can find more information on the planned process of updating security requirements here.
- First stable release!
- Clean up: Replaced all relative schemaLocations with absolute ones.
- Changed XML namespaces (as part of
this issue).
Since this version, this API is in the
stable-v1
XML namespace.
- Minor fixes in XSD's "style".
- New parameter in the
index
endpoint:modified_since
. It is RECOMMENDED for the servers to support this parameter, to avoid unnecessary network traffic.
total-days
andtotal-months
were introduced as a valid alternative toavg-days
andavg-months
(why?).
- New request parameter:
partner_hei_id
. (Servers are required to support it.)
-
Academic Term and Abstract Contact data types are now in
stable-v1
namespace (more information). -
Introduced limits on IIA ID values (more information).
-
minOccurs
andmaxOccurs
are now provided explicitly (why?).
Major changes in document structure:
-
Optional
<ounit-id>
element has been added for each partner. The<partner-hei>
element has been renamed to<partner>
(because a partner can now refer to an Organizational Unit, not only a HEI). See this thread. -
All the elements describing the "local partner" were removed. The local partner is now described the same way any other partner is - via the
<partner>
element (the first of them, to be exact). See this thread.
Other changes:
-
New
iia_code
parameter was added to allow requesters searching for IIAs by their codes (the server is now REQUIRED to support this parameter). Providingiia_id
parameter is no longer required, if the requester provides theiia_code
parameter instead. This is a part of a larger change in all APIs described here. -
Start and end dates were removed. They MAY return again, if we can define more clearly what they mean and what they can be used for (by the client). Discuss here.
-
Clarified which IIAs should be accessible by whom. Clarified what servers should do if in their model the end date of a cooperation condition can be unspecified.
-
Modified the
<contact>
elements in examples to fit recent additions to the Abstract Contact Type.
-
New required
<iia-code>
element. Together with<iia-id>
it allows server implementers to provide both surrogate and natural/business keys for all IIAs. Examples were updated appropriately to visualize the difference between them. See this thread for more reasoning. -
The
<isced-code>
element was renamed to<isced-f-code>
(why?). -
New
<signing-date>
elements (one per each partner, as requested here). -
Explained the meaning of
<in-effect>
in more detail (see this issue). -
Explained from where the clients should fetch information on external HEIs and organization units (in particular, the ones which are not part of EWP yet). See this thread.
- Added a missing
<max-iia-ids>
element tomanifest-entry.xsd
.
Initial release.