erasmus-without-paper / general-issues

An empty project for tracking issues not related to any specific project.
0 stars 1 forks source link

Families of APIs #46

Open janinamincer-daszkiewicz opened 1 day ago

janinamincer-daszkiewicz commented 1 day ago

During the Infrastructure Forum meeting on 2024-09-18 I presented the draft proposal for introducing the families of APIs. I copy it here to start discussion. The questions we want to answer are:

  1. Do we need to regulate strictly the sets of APIs present in the network for a particular HEI?
  2. What requirements are worth imposing?

The whole presentation is posted in the EWP Developers Guide.

Groups of APIs (certain APIs have special uses and have been omitted: Echo, Discovery, Registry, Monitoring)

  1. General Purpose
    • Institutions API
    • Organizational Units API
  2. Courses
    • Courses API
    • Simple Course Replication API
  3. File
    • File API
  4. IIAs
    • Inter-institutional Agreements API
    • Inter-institutional Agreements CNR API
    • Inter-institutional Agreements Approval API
    • Inter-institutional Agreements Approval CNR API
  5. Mobility Factsheet
    • Mobility Factsheet API
  6. Outgoing Mobilities LAs
    • Outgoing Mobility Learning Agreements API
    • Outgoing Mobility Learning Agreements CNR API
  7. Outgoing Mobilities (Nominations)
    • Outgoing Mobility API
    • Outgoing Mobility CNR API
  8. Incoming Mobilities ToRs
    • Incoming Mobilities ToR API
    • Incoming Mobilities ToR CNR API
  9. Incoming Mobilities (Nominations)
    • Incoming Mobilities API
    • Incoming Mobilities CNR API

Requirements (to be considered)

  1. If HEI implements an API, it must implement all endpoints of that API. 1.1. Stats included (also when specified as a separate API)
  2. Each HEI must provide all APIs from the General Purpose group.
  3. If HEI provides any APIs from the IIAs group, it must provide all APIs from this group and the Mobility Factsheet group.
  4. HEI may provide APIs from the Mobility Factsheet group without providing APIs from the IIAs group.
  5. If HEI sends a link to a file in any request, it must provide an API from the File group.
  6. If HEI provides any APIs from the Outgoing Mobilities (Nominations) group or the Incoming Mobilities (Nominations) group, it must provide all APIs from both of these groups and the Mobility Factsheet group.

Requirements (to be considered, courses part needs to wait for refactoring – if needed)

  1. If HEI provides any APIs from the Outgoing Mobilities LAs group, it must provide 8.1. all APIs from this group (why?) 8.2. and the Courses group.
  2. If HEI provides any APIs from the Incoming Mobilities ToRs group, it must provide 9.1. all APIs from this group (why?) 9.2. and the Courses group.
georgschermann commented 1 day ago

We currently support the use case where Universities manage only incoming or outgoing LAs on one provider or split in/out across multiple providers.

For this we grouped incoming:

and outgoing:

8,1 would eliminate this use case.