Hypothèses et règles de resynchronisation des opérations d'insertion côté client
Hypothèses
• Il n'existe aucun mécanisme pour résoudre un noeud avec une icône d'information de conflit
car il n'existe aucun conflit à résoudre. Le message associé à ce type de conflit est strictement informatif.
• Les noeuds avec des icônes d'information de conflit
peuvent être déplacés, modifiés et supprimés.
• Effectuer une deuxième resynchronisation d'un document comportant un noeud avec une icône d'information de conflit
efface cette icône si elle est l'unique conflit du noeud.
• Les noeuds affichant des icônes de navigation dans les conflits
ne sont pas de réels conflits. Par conséquent, cliquer sur un noeud qui porte cette icône n'affiche ni l'en-tête d'élément de conflit, ni l'aperçu de l'élément modifiable.
Règles
• Si un noeud inséré se retrouve avec un parent, un frère précédent ou un chemin d'accès à la racine du document différent en raison de modifications sur le serveur, le noeud inséré comporte une icône d'information de conflit
.
• Il est possible qu'un noeud avec une information de conflit
comporte également un conflit de modification
. Par exemple, lorsque vous insérez un noeud, il n'existe pas encore sur le serveur. Dans ce cas, l'icône de conflit de modification s'affiche dans l'en-tête de ligne. Les messages d'information relatifs aux deux types de conflit s'affichent dans l'en-tête d'élément.
• Les insertions fonctionnent comme les déplacements dans le sens où le dernier est le gagnant. Si le client insère un noeud A sous B tandis que le serveur insère un noeud C sous B, l'ordre des noeuds à la resynchronisation est B, A, C. A sous B étant le dernier noeud créé dans sa position par rapport à B, il conserve sa place.
• Si le parent d'un noeud inséré est supprimé sur le serveur, le nouveau noeud n'est pas perdu. Il apparaît en tant qu'enfant du niveau supérieur suivant.
• Si le frère d'un noeud inséré a été supprimé sur le serveur, le nouveau noeud recherche le frère réel suivant et s'insère juste en-dessous.