Hiérarchisation des utilisateurs
Le principe de pouvoir travailler à plusieurs sur la même base de données n'est possible que grâce à une hiérarchisation des utilisateurs. Dans notre système l'administrateur sera toujours l'utilisateur avec le plus de "force" lors des synchronisations. A partir de votre 3e utilisateur, il faudra que vous déterminiez à quel rang s'ajoutera le nouvel utilisateur par rapport aux utilisateurs précédents.
Quel est l'intérêt de cette hiérarchie ? Principalement la gestion des conflits de synchronisation.
Lorsque deux utilisateurs vont modifier la même donnée, lorsqu'ils synchroniseront, l'utilisateur le plus haut dans la hiérarchie écrasera le travail de l'autre utilisateur.
Un exemple concret :
Pierre et Jean sont entraîneurs dans votre club. Pierre est au dessus de Jean dans la hiérarchie de la synchronisation. Le lundi matin, ils récupèrent tous les deux les données séquencées du match du weekend en synchronisant. Ils travaillent sur le match et Pierre qualifie la 1ère mêlée de leur dernier match en Neutre alors que Jean qualifie la même mêlée de Positive. A 12h ils synchronisent ce qu'ils ont fait.
2 cas :
- Si Jean synchronise d'abord, sur la base de synchronisation la mêlée deviendra Positive et chaque autre personne qui synchronisera après récupérera cette modification jusqu'à ce que Pierre synchronise. A partir de ce moment là, la mêlée deviendra Neutre sur le serveur et, quelque soit la personne qui synchronisera à l'avenir, la mêlée deviendra Neutre pour cette personne là.
- Si Pierre synchronise d'abord, la mêlée sera Neutre sur le serveur et quelque soit la personne qui synchronisera après elle restera Neutre. Lorsque Jean synchronisera si il regarde les "logs" de la synchronisation en train de se dérouler, il verra un message "Résolution de Conflit Pierre l'emporte sur Jean (1/1)".
Cet exemple utilisait la qualité, mais cela s'applique à n'importe quel type de données enregistré dans TechXV excepté les #Préférences utilisateurs et les préférences d'affichage sur les différents écrans.