Disponible avec une licence Standard ou Advanced.
La mise à jour d’une version comprend les phases suivantes :
- Mettre à jour : créez, modifiez ou supprimez des entités et des attributs.
- Réconcilier : procédez à l’extraction de modifications issues de la version parent ou par défaut et appliquez-les à la version à laquelle vous êtes connecté.
- Examiner les conflits : si la même entité ou le même attribut a été mis à jour dans les deux versions, il peut exister un conflit. Examinez les conflits et décidez de la manière de les résoudre.
- Réinjecter les modifications : fusionnez les modifications finales que vous avez effectuées dans la version parent ou par défaut avec laquelle vous avez effectué la réconciliation.
Les sections suivantes décrivent ce processus plus en détail.
1. Mettre à jour
Une fois que vous êtes connecté à la version dans laquelle vous souhaitez travailler, vous pouvez commencer à effectuer des mises à jour dans un environnement isolé avec votre propre représentation des données.
En savoir plus sur la connexion à une version.
Dans le cas du versionnement de branche, la connexion à la version ne prend en charge qu’un seul éditeur ou plusieurs lecteurs. Cela signifie que plusieurs utilisateurs peuvent lire les données à n’importe quel moment, mais que si plusieurs utilisateurs sont connectés à la même version, la mise à jour est verrouillée. Si vous avez déjà commencé à effectuer une mise à jour dans une version de branche et qu’un autre utilisateur tente de se connecter, il échoue et obtient une erreur indiquant que la version est en cours d’utilisation.
Dans le cas du versionnement traditionnel, la connexion prend en charge plusieurs éditeurs et plusieurs lecteurs en même temps. Les autres utilisateurs connectés à la même version ne peuvent pas voir vos modifications tant que vous ne les avez pas enregistrées.
Supposons que depuis que vous avez commencé à mettre à jour une version, un autre utilisateur a enregistré des mises à jour dans la même version. Que se passe-t-il lorsque vous enregistrez vos modifications ? L’application réconcilie les deux représentations de la version. En cas de conflits, vous pouvez tous les résoudre initialement en faveur de la session de mise à jour que vous utilisez ou de la représentation de base de données de la version. Selon les options de mise à jour des versions que vous avez configurées dans ArcGIS Pro, vous pouvez examiner individuellement les conflits et résoudre chacun manuellement à l’aide d’une boîte de dialogue interactive, ne pas enregistrer les mises à jour que vous avez apportées et qui entrent en conflit avec la base de données ou remplacer automatiquement ce qui se trouve dans la base de données.
Remarque :
Le versionnement de branche ne prend pas en charge les conflits au niveau des attributs. Il ne prend en charge que les conflits au niveau de la ligne.
En savoir plus sur la définition des options de mise à jour
Vous pouvez utiliser une version avec autant de sessions de mise à jour que nécessaire. Lorsque la mise à jour est terminée et que vous souhaitez combiner vos modifications dans une version cible, l'étape suivante est la réconciliation.
2. Réconcilier
Le processus de réconciliation s’effectue entre une version nommée et une version cible. Dans le cas du versionnement traditionnel, la version cible dans laquelle vous effectuez la réconciliation et la réinjection peut être la version par défaut, une version parent ou toute autre version ascendante directe. Dans le cas du versionnement de branche, la version cible est toujours la version par défaut. Des conflits peuvent survenir si d'autres utilisateurs ont modifié la version cible de votre version depuis que vous avez commencé à la mettre à jour. L'opération de réconciliation recherche ces conflits.
Pour en savoir plus sur la réconciliation d'une version
Si la version cible a changé, la version que vous mettez à jour s'actualise pour prendre en compte les modifications de la version cible. Vous pouvez remarquer que les entités dans votre affichage évoluent avec l’insertion, la mise à jour et la suppression d’entités ou d’enregistrements de la version cible dans votre session de mise à jour.
Des conflits sont détectés au cours d'une opération de réconciliation lorsque deux utilisateurs ou plus mettent à jour des entités qui sont très proches. Il existe deux types de conflits :
- Dans le cas du versionnement traditionnel, un conflit peut survenir lorsque vous enregistrez des mises à jour dans une version et que la même entité a été actualisée dans cette version au cours d’une session de mise à jour différente (ou qu’elle est actualisée dans une session de mise à jour et supprimée dans l’autre).
- Dans le cas du versionnement de branche et du versionnement traditionnel, des conflits se produisent lorsque la même entité est actualisée à la fois dans la version cible et la version enfant (ou qu’elle est actualisée dans une version et supprimée dans l’autre).
Pour la plupart des opérations de réconciliation, aucun conflit ne doit être rencontré. En effet, dans la plupart des organisations, les projets et versions représentent des zones géographiques distinctes. Si vos collègues et vous-même mettez à jour différentes parties de la carte, vous ne devriez pas rencontrer de conflits.
Conflits lors de l’enregistrement des mises à jour d’une version traditionnelle : processus de réconciliation implicite
Dans le cas du premier type de conflit, différents éditeurs changent la même entité dans la même version traditionnelle de la géodatabase dans différentes sessions de mise à jour ou la même entité est supprimée dans une session de mise à jour et modifiée dans l’autre. Lorsque vous enregistrez vos mises à jour, l’application détecte les conflits entre les sessions de mise à jour au sein de cette version de la géodatabase et résout les conflits en fonction des préférences d’enregistrement que vous avez définies dans la section Versioning (Versionnement) de l’onglet Editing (Mise à jour) de la boîte de dialogue Options. Comme ce processus de réconciliation a lieu en fonction de paramètres prédéterminés, il est implicite.
En savoir plus sur la définition des préférences d’enregistrement
Conflits lors de la réconciliation d'une version enfant et d'une version cible : processus de réconciliation explicite
Le second type de conflit survient lorsque vous réconciliez explicitement une version enfant avec sa version parent en cliquant sur le bouton Reconcile (Réconcilier ) de la barre d’outils Versioning (Versionnement).
Pour en savoir plus sur la réconciliation d'une version
Lors de la réconciliation d’un jeu de données versionné de manière traditionnelle, une boîte de dialogue dans laquelle vous pouvez choisir de résoudre les conflits en faveur de la version que vous avez mise à jour ou de la version cible apparaît.
3. Examiner les conflits
Les deux types de conflits décrits ci-dessus sont initialement résolus par l’application.
Vous pouvez également examiner individuellement les conflits à l'aide d'une boîte de dialogue interactive et, le cas échéant, apporter des modifications. Pour chaque conflit, vous pouvez rétablir l'état de l'entité dans lequel elle était au début de votre session de mise à jour, la conserver telle quelle dans votre session de mise à jour ou la remplacer par l'entité dans la session de mise à jour ou la version cible conflictuelle.
Pour en savoir plus sur l'examen des conflits
Remarque :
Pour les conflits détectés dans la même version lors de l’enregistrement, si votre préférence d’enregistrement est configurée de manière à enregistrer automatiquement les modifications dans tous les cas, vous n’avez pas la possibilité d’examiner les conflits. Les modifications sont réconciliées en fonction de la règle de conflit que vous avez configurée dans la section Versioning (Versionnement) de l’onglet Editing (Mise à jour) dans la boîte de dialogue Options.
4. Réinjecter les modifications
A ce stade, vous avez terminé la réconciliation et, si des conflits ont été détectés, vous les avez examinés. Lorsque vous êtes prêt à combiner vos modifications dans la version cible, cliquez sur le bouton Post (Réinjecter) de la barre d’outils Versioning (Versionnement). La réinjection enregistre d’abord votre session de mise à jour actuelle, puis applique la version actuelle à la version cible.
Dans les versions traditionnelles, les autres utilisateurs qui lisent la version que vous avez réinjectée ne voient les résultats de la réinjection qu’après avoir actualisé leurs espaces de travail versionnés.
La réinjection ne peut pas être annulée, car vous appliquez des modifications à une version que vous n'êtes pas en train de mettre à jour.
Pour en savoir plus sur la réinjection des modifications
Après la réinjection, vous pouvez continuer à modifier votre version. Pour appliquer ces modifications dans la version cible, vous devez à nouveau procéder à la réconciliation, à la résolution des conflits et à la réinjection.
Si la réinjection signale la fin de votre projet ou de votre workflow, vous pouvez supprimer la version que vous mettez à jour. Seul le propriétaire de la version ou l'administrateur de base de données (l'utilisateur sde ou dbo) peut supprimer une version.
Rubriques connexes
- Gérer des versions traditionnelles
- Afficher les modifications des versions traditionnelles
- Réconcilier et réinjecter les mises à jour apportées à une version traditionnelle
- Gérer les conflits des versions traditionnelles
- Workflow d’administration de version traditionnelle recommandé
- Utilisation de la fonction de création de scripts Python pour la réconciliation par lot et la réinjection des versions traditionnelles
Vous avez un commentaire à formuler concernant cette rubrique ?