erasmus-without-paper / ewp-specs-api-iias-approval

Specifications of EWP's Interinstitutional Agreements Approval API
MIT License
0 stars 0 forks source link

Approval vs Mutual Approval #13

Open demilatof opened 10 months ago

demilatof commented 10 months ago

Specifications refer only to "approval", never to "mutual approval". But we know that we need mutual approval to state that an IIA is in effect.

Therefore, my questions are:

As concern the "in-effect" parameter of the IIA, I remember that it was said that now it is almost useless and therefore it could be removed.

What's your opinion about this?

skishk commented 8 months ago

in my personal opinion (because there is no technical specification about that), the "mutual" approval is the instant that you have your IIA approved by the partner and the mapped IIA of the partner is approved by you.

there are different scenarios could create problems with this definition, the easiest example is if i approve something new on the IIA of my partner and then I go to modify mine too, there is a timing where they are both approved (mutually) but with different content (cooperation conditions). I think specification don't say that we have to manage every modify as a new round of approval by both to give sense to the mutual approval and then we have to change data passed in the responses and requests.

so the solution depends from the solution adopted by every system that means it could be mutually approved for you but not for me.

what i saw about "in-effect" parameter is that no one is considering it in production.

in the end the approval is your agreement on the partner IIA, nothing else. this is by specification.

demilatof commented 8 months ago

what i saw about "in-effect" parameter is that no one is considering it in production.

No one apart Dashboard, if they have not changed anything in the meantime.

in the end the approval is your agreement on the partner IIA, nothing else. this is by specification.

Generally I agree with you, but the specification forgets the BPO mandatory requirements: "Both partners should approve such a change in order to become valid" bpo approved by both parties

Therefore, we need a commonly accepted rule to know when "both partners" have approved such a change.

The problem, with the actual settings, is that who issues the approval (sending Approval CNR) knows that he gives a new approval, but the receiver could miss the Approval CNR and the only thing he can do is polling the Approval API. Doing so I can approve your IIA and then call your Approval API without touching my IIA, that now could be very different from yours. And you can only confirm your old approval.

The two IIAs are mutually approved but different each other: you say that you can send me 10 students, I claim I can receive only 5 students. How many students you feel comfortable to send me?