Dynamic Contextualization
Dynamic Contextualization is a complex word (read stupid :-) ) for saying that all links between Sigla in the federation are bi-directional.
This effect is obtained by creating automatically creating inverse links:
Whenever a link from A to B is published then an inverse link from B to A is created by the system. There are 2 different cases for the creation of the inverse link:
Both A and B belong to the same Node
This is the simplest case and it is not problematic as both A and B are under control of the same authority.
A and B belong to two diffent nodes
This is the most complex case as A and B not always (99% they are not) are under control of the same authority, therefore there are problems of communication and trust.
Let AN be the node that A belongs to and let BN be the node that B belongs to. 1. First of all AN MUST notify BN that a link(A,B) has been created 2. then, BN SHOULD verify if it 'trusts' AN. 2.1. If it does, it MUST then create the inverse link(B,A) and save it in its own storage. This is also the default behaviour if no verification of trust is made. 2.2. If it does not, it cannot simply discard the link as the trust level may change in the future, thus it SHOULD store the link without visualizing it to the user. 3. Finally, BN SHOULD aknowledge A that the notification has been correctly received and processed.
Please note that the key words "must", "must not", " required", "shall", "shall not", "should", " should not", "recommended", "may", and "optional " in capital letters are to be interpreted as described in RFC 2119
