Portes d'entrée

Les bibliothèques permettent de référencer des items entre les ateliers, mais uniquement via une version figée, c'est à dire une copie extraite dans un document-dossier. Or il est également nécessaire de permettre le référencement d'une version courante (ou live document). Dans le premier cas l'on référence un contenu identifié et stable, dans l'autre cas l'on référence la toujours dernière version d'un contenu dynamique (qui peut être modifié à tout moment).

Une porte d'entrée[1] est un item d'un atelier que l'on décide de rendre accessible en lecture (et en référencement) pour tous les ateliers abonnés à cet atelier.

Un atelier peut accorder un abonnement à un autre atelier, ce qui autorise tous les utilisateurs de cet atelier à référencer les portes d'entrée de l'atelier [NB : l'on pourrait envisager une mécanique plus fine d'abonnement au niveau des items, mais cela exigerait un effort d'administration supplémentaire pour les auteurs, puisqu'ils devraient maintenir pour chaque item la listes des ateliers abonnés, cela paraît a priori superflu].

Organisation inter-atelier
Organisation inter-atelier

Attention : Principe de cohérence du réseau d'item en lecture

En vertu de ce principe, l'item rendu public aux autres ateliers est bien une porte d'entrée, puisqu'il donne non seulement l'accès en lecture à lui même, mais à tous les items qu'il référence (récursivement).

Ainsi, si par exemple l'item rendu public référence tous les items de l'atelier, il rend accessible en lecture l'ensemble de l'atelier.

Ajoutons que la porte d'entrée est valable également inter-atelier et peut donc propager des droits d'abonnement à un atelier tiers (voir partie suivante Domaine).

Remarque : Principe de permanence des droits en lecture

(même remarque que pour les bibliothèques)

Remarques : Droits en écriture

Il n'est pas possible d'accorder des droits en écriture inter-atelier, pour écrire dans un atelier un utilisateur doit impérativement être collaborateur de l'atelier.

Rôles complémentaire au sein de l'atelier

  • Abonné[2] (rôle global au niveau d'un atelier)

    • a accès aux portes d'entrée de l'atelier (ainsi qu'à tous les items référencés par cette porte d'entrée) en lecture (y compris le référencement donc, avec une restriction éventuelle : les items accessibles via une porte d'entrée pourraient être accessibles en lecture, mais pas en référencement, ce qui serait une rupture de l'hypothèse "Lire <=> Référencer")

  • Auteur[3] (rôle local au niveau d'un espace d'un atelier)

    • peut déclarer un item comme porte d'entrée

  • Coordinateur[4] (rôle global au niveau d'un atelier)

    • peut abonner des ateliers (tous les collaborateurs de l'atelier tiers deviennent des abonnés de l'atelier du coordinateur)

Remarque : Illustration technique de l'abonnement

Exemple d'algorithme :

  • Lorsqu'un atelier A1 abonne un atelier A2,

    1. les collaborateurs de A2 sont ajoutés comme abonnés à A1 (avec une carte de membre A2)

    2. les nouveaux abonnés de A1 sont propagés aux ateliers auxquels A1 est déjà abonné (avec carte de membre A2)

  • Lorsque A2 ajoute un collaborateur, il est ajouté comme abonné à A1 avec propagation

  • Lorsque A2 supprime un collaborateur, sa carte de membre est supprimé de A1 (il peut resté abonné s'il l'est via d'autre atelier), avec propagation

NB : Pour gérer la révocation de l'abonnement de A2 à A1 (malgré le principe de permanence, cas exceptionnel), il faudrait garder la mémoire de la propagation des cartes de membre pour pouvoir propager la révocation de l'abonnement.