Skip to content

Commit

Permalink
Mobility IDs are no longer universally unique
Browse files Browse the repository at this point in the history
  • Loading branch information
wrygiel committed Feb 25, 2017
1 parent 30d7ecf commit b12b2c3
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 32 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ master (unreleased)
-------------------

* The `update` endpoint has been removed. This API is now strictly "read only".

* Mobility IDs are no longer required to be universally unique - it is okay if
they are unique within the sending institution. They also don't have to be
in the UUID format anymore (reasoning [here]
(https://github.com/erasmus-without-paper/general-issues/issues/10#issuecomment-280302623)).

* Minor fixes in the texts (spelling, style, etc.).


Expand Down
28 changes: 1 addition & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ Currently, this API describes mobilities **of one type only** - *Student
Mobilities for Studies*. More types MAY be added in the future.


Introduction
Reminder on vocabulary
------------

### Reminder on vocabulary

Keep in mind that definitions of "sending HEI" and "receiving HEI" come from
the "mobility vocabulary", not the "HTTP vocabulary". In case of this
particular API this means that:
Expand All @@ -34,30 +32,6 @@ As long as we use these terms consistently, there shouldn't be much confusion
though.


<a name='mobility_ids'></a>

### Uniqueness of `mobility_ids`

We [want](https://github.com/erasmus-without-paper/general-issues/issues/10)
Outgoing Mobility identifiers to be unique within the entire EWP Network. In
order to guarantee this, we need to impose some requirements.

* The identifiers SHOULD be generated by the *sending* institution (when a
new nomination is first created, or a previously existing mobility is
imported from other sources).

* The identifiers MUST be formmated to match the UUID canonical format -
lowercase hexadecimals with dashes, e.g.
`123e4567-e89b-12d3-a456-426655440000`.

* When generating new identifiers, implementers MUST use proper entropy to
guarantee its uniqueness. The sending institution's SCHAC ID SHOULD be a
part of this entropy (e.g. by using a Version 5 UUID with a namespace
derived from your SCHAC ID). This maximizes the probability that
configuration errors are discovered locally, before their effects spread
outside.


Endpoints to be implemented
---------------------------

Expand Down
6 changes: 2 additions & 4 deletions endpoints/get-response.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,10 @@
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="mobility-id" type="ewp:UUID" minOccurs="1" maxOccurs="1">
<xs:element name="mobility-id" type="ewp:AsciiPrintableIdentifier" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Unique identifier of the mobility.

https://github.com/erasmus-without-paper/ewp-specs-api-mobilities#mobility_ids
Identifier of the mobility (as assigned by the sending HEI).
</xs:documentation>
</xs:annotation>
</xs:element>
Expand Down
2 changes: 1 addition & 1 deletion endpoints/index-response.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="mobility-id" type="ewp:UUID" minOccurs="0" maxOccurs="unbounded">
<xs:element name="mobility-id" type="ewp:AsciiPrintableIdentifier" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The list of mobility IDs (results for the client's query). Each of those
Expand Down

0 comments on commit b12b2c3

Please sign in to comment.