Illustration de la problématique de fragmentation en contexte collaboratif

Supposons que Al ait à modifier son fragment 3 pour créer un 3' qui devrait donc le remplacer).
Al ne peut pas prendre en compte les contextes tiers d'utilisation de 3 :
Défaut de connaissance (exemple : Al ne connaît pas l'existence du lien 7->3)
Dans le cas général on doit considérer que Al ne connaît pas les utilisations qui sont faites de 3, c'est une information qu'il n'a pas à gérer.
Complexité (exemple : Al ne peut pas écrire un 3' compatible avec les utilisations de 4 et de 7)
Dans le cas général on doit considérer que la mise à jour d'un fragment entraîne la mise à jour de fragments associés qui appartiennent à un autre utilisateur
Donc la substitution de 3 par 3' conduit potentiellement à des incohérences de contenu au sein du système.
Il n'y a pas de solution générale à ce problème, mais un ensemble de stratégies à mobiliser en fonction des contextes, notamment car cela dépend de la nature de la mise à jour (sachant qu'une mise à jour est souvent composée de plusieurs types de mises à jour différents) :
Changement de sens (correction d'une erreur, changement d'avis, ...)
Correction syntaxique
Ajout de contenu
Suppression de contenu
Réécriture (modification de forme sans changement de sens)
...
Ces solutions sont par exemple :
Créer la nouvelle version 3' pour Al, et maintenir la version 3 pour les autres utilisateurs (et leur laisser au choix la mise à jour)
Avantage : maintient la cohérence
Inconvénient : maintient plusieurs versions en concurrence et entraîne des copies (fork) ou bien l'usage de versions figée (deprecated) ; demande un choix à l'utilisateur ; le besoin serait souvent l'acceptation de certaines modifications et le refus d'autres
Créer la nouvelle version 3' et avertir tous les contextes utilisateurs
Avantage : maintient la référence
Inconvénient : le système est incohérent tant que les modifications n'ont pas été faites
Dans les deux cas les modifications doivent être intelligibles aux auteurs, afin de prendre les bonnes décisions.