Abgleichen und Zurückschreiben von Änderungen an einer Verzweigungsversion

Während Änderungen an einer Version vorgenommen werden, beginnen die Versionen, sich zu unterscheiden. Nachdem eine benannte Version erstellt wurde, werden alle Änderungen in der Default-Version und in der benannten Version verfolgt. Änderungen in der Default-Version können auch Änderungen sein, die durch andere benannte Versionen zurückgeschrieben wurden.

Wenn Sie das Bearbeiten einer benannten Version abgeschlossen haben, können Sie die Prozesse zum Abgleichen und Zurückschreiben durchführen, um Ihre Änderungen zusammenzuführen. Das Abrufen aller Änderungen aus der Default-Version und das Zusammenführen dieser Änderungen mit Ihrer Version wird als Abgleichen bezeichnet. Danach können Sie mit dem Zurückschreiben die Änderungen, die Sie vorgenommen haben, an die Default-Version senden.

Konflikte werden erkannt, wenn die benannte Version mit der Default-Version abgeglichen wird. Wenn während des Abgleichvorgangs Konflikte entdeckt werden, werden sie zunächst zugunsten der Editierversion gelöst. Sie erhalten eine Eingabeaufforderung, in der Sie gefragt werden, ob Sie Konflikte in der Ansicht "Konflikte" überprüfen möchten. Hier können Sie sie einzeln überprüfen und bei Bedarf Änderungen vornehmen. Sie können zum Beispiel die Zielversion als zu verwendende Version angeben oder das betreffende Feature mit den Editierwerkzeugen auf andere Weise ändern.

Hinweis:
In diesem Thema wird das Abgleichen und Zurückschreiben mit der Registerkarte Versionierung beschrieben. Sie können Versionen auch mit dem Geoverarbeitungswerkzeug Versionen abgleichen oder der Schaltfläche Abgleichen/Zurückschreiben Abgleichen und Zurückschreiben auf der Registerkarte Versionen abgleichen und zurückschreiben, wenn die Ansicht "Versionen" angezeigt wird.

Abgleichvorgang

Wenn Sie in einer Verzweigungsversion arbeiten, werden beim Abgleichen Konflikte zwischen der benannten Version, mit der Sie aktuell verbunden sind, und der Default-Version erkannt. Eine Warnung wird ausgegeben, wenn Sie einen Abgleich starten und es Konflikte gibt, die nicht als überprüft markiert sind. Bei Verzweigungsversionierung können Sie nur mit der Default-Version abgleichen. Mit einer anderen benannten Version können Sie nicht abgleichen.

Informationen zum Ändern des Umgangs mit Konflikten beim Abgleichen finden Sie unter Versionierungsoptionen für die Bearbeitung.

Beim Abgleichen müssen Sie Web-Feature-Layer verwenden, bei denen die Funktion Versionsverwaltung aktiviert ist. Auf den Befehl Abgleichen können Sie auf der Registerkarte Versionierung zugreifen, indem Sie im Bereich Inhalt auf die Schaltfläche Nach Datenquelle auflisten Nach Datenquelle auflisten klicken. Um den Abgleichvorgang zu starten, klicken Sie auf der Registerkarte Versionierung auf die Schaltfläche Abgleichen. Das Dialogfeld Abgleichen wird angezeigt.

Wenn das Dialogfeld Abgleichen angezeigt wird, geben Sie die folgenden Informationen ein:

  • Geben Sie an, wie die Konflikte definiert werden sollen. Die folgenden Optionen sind verfügbar:

    Konflikte auf dieser Ebene definierenUm diese Fälle zu erkennen

    Zeile (nach Objekt)

    Ein zweiter Benutzer bearbeitet die gleiche Zeile oder das gleiche Feature bzw. topologisch verknüpfte Features auf die gleiche Weise wie Sie. Der Konflikt tritt selbst dann auf, wenn Sie unterschiedliche Attribute bearbeitet haben.

    Spalte (nach Attribut)

    Ein zweiter Benutzer bearbeitet das gleiche Attribut eines Features oder einer Tabelle. Dies ist die Standardeinstellung.

    Optionen zum Definieren eines Konflikts

Hinweis:

Konflikte werden immer zugunsten der Editierversion gelöst.

Die Vorgänge "Rückgängig" und "Verwerfen" können nicht verwendet werden, um Änderungen für nach Verzweigung versionierte Daten zurückzusetzen, die nach einem abgeschlossenen Abgleich vorgenommen wurden.

Bei der Verzweigungsversionierung werden Konflikte in einer systemeigenen Tabelle mit dem Namen GDB_CONFLICTS gespeichert. Dadurch können Sie Konflikte über mehrere Editiersitzungen hinweg verwalten, also Konflikte überprüfen und lösen, wenn Sie die Arbeit unterbrechen und später wieder aufnehmen möchten. Ein zweiter Abgleichvorgang bereinigt dann die Tabelle der Konflikte und füllt sie mit den Konflikten, die seit dem letzten Abgleich neu aufgetreten sind. Das bedeutet, dass Ihr Verlauf der Konfliktlösungen verloren gehen kann, wenn ein zweiter Abgleich durchgeführt wird.

Vorhandene Konflikte können Sie sich in der Ansicht "Konflikte" näher ansehen.

Beim Abgleichvorgang wird nur die Editierversion aktualisiert, sodass von ArcGIS Pro eine Überprüfung auf Konflikte erfolgen kann. Die Änderungen werden nicht in der Zielversion zusammengeführt. Nachdem Sie den Abgleich und die Überprüfung der Konflikte fertig gestellt haben, können Sie die Zusammenführung abschließen, indem Sie Ihre Änderungen in die Zielversion zurückschreiben.

Überprüfen von Konflikten in der Ansicht "Konflikte"

Wenn Konflikte während des Abgleichvorgangs entdeckt werden, können Sie sie in der Ansicht "Konflikte" Konflikt-Manager überprüfen. Die Ansicht kann an einer beliebigen Stelle in der App verankert oder als unverankertes Fenster verwendet werden. So sind gleichzeitig Interaktionen mit der Ansicht "Karte" möglich, in der Kontext bereitgestellt wird und weitere Analysen der Daten möglich sind.

Die Ansicht "Konflikte" enthält alle Klassen sowie die jeweiligen Features oder Zeilen, die in Konflikt stehen. Konflikte werden nach Datenquelle, Klasse, Konfliktkategorie und ObjectID gegliedert. Die Konfliktklassen stehen für die Konflikte verursachenden Web-Feature-Layer des gesamten Service.

Die Ansicht "Konflikte" ermöglicht Ihnen Folgendes:

  • Ermitteln der in Konflikt stehenden Felder oder Zeilen
  • Anzeigen von Konflikten
  • Markieren von Konflikten als überprüft oder als nicht überprüft.
  • Lösen von Konflikten durch Festlegen der Repräsentation, mit der Features oder Attribute ersetzt werden sollen.

Konflikte treten in den folgenden Fällen auf:

  • In der aktuellen Editierversion und in der Zielversion wird dasselbe Feature aktualisiert.
  • Ein einzelnes Feature wird in einer Version aktualisiert und in einer anderen gelöscht.
  • Ein topologisch in Beziehung stehendes Feature bzw. eine Beziehungsklasse wird in der aktuellen Editierversion und in der Zielversion geändert.

Die Ansicht "Konflikte" enthält auch eine Konfliktanzeige zum Anzeigen der unterschiedlichen Darstellungen von Geometrieänderungen. Der Inhalt der Konfliktanzeige ist unterschiedlich, je nachdem, ob die Konfliktklasse in der aktiven Karte vorhanden ist:

  • Wenn die Konfliktklasse in der aktiven Karte vorhanden ist, werden in der Konfliktanzeige alle Karten-Layer angezeigt. Zudem wird in der Konfliktanzeige die Kartensymbolisierung verwendet, und in der Konfliktanzeige ist die Grundkarte enthalten.
  • Wenn die Konfliktklasse in der aktiven Karte nicht vorhanden ist, wird in der Konfliktanzeige nur der Layer mit einem Konflikt angezeigt. Zudem wird in der Konfliktanzeige die Standardsymbolisierung verwendet, und in der Konfliktanzeige ist die Grundkarte nicht enthalten.

Ermitteln der in Konflikt stehenden Felder oder Zeilen

Alle in Konflikt stehenden Klassen und Features werden im Listenfeld links oben in der Ansicht "Konflikte" aufgeführt. Diese Liste enthält die Gesamtzahl der Konflikte für Web-Feature-Layer im gesamten Service.

Klicken Sie auf den Dropdown-Pfeil eines Objekts, um die Konflikte für die einzelnen Features anzuzeigen. Diese sind in die folgenden Kategorien eingeteilt:

  • Aktualisieren-Löschen: Das Feature wurde in der aktuellen Version aktualisiert und in der Zielversion gelöscht.
  • Löschen-Aktualisieren: Das Feature wurde in der aktuellen Version gelöscht und in der Zielversion aktualisiert.
  • Aktualisieren-Aktualisieren: Das Feature wurde in der aktuellen und der Zielversion aktualisiert.

Wenn Sie die ObjectID eines einzelnen Features in der Liste auswählen, werden in der Informationstabelle auf der rechten Seite der Ansicht "Konflikte" die Felder und Attribute in der Version vor dem Abgleich, in der aktuellen Version und in der Zielversion des Features angezeigt.

Wenn Sie die in Konflikt stehenden Attribute und Werte für alle Repräsentationen eines Features anzeigen, können Sie die Unterschiede zwischen den Attributwerten der verschiedenen Versionen erkennen und leichter entscheiden, welche Repräsentation der Daten beibehalten werden soll.

  • Aktuell: Gibt den aktuellen Zustand der Features und Attribute in der benannten Version wieder. Dies umfasst auch alle vorgenommenen Änderungen.
  • Ziel: Gibt die Features und Attribute in der Zielversion wieder.
  • Gemeinsamer Vorgänger: Gibt die Features und Attribute zum Zeitpunkt der ursprünglichen Erstellung der Version oder zum Zeitpunkt des letzten Abgleichvorgangs wieder.

Ein roter Indikator links neben der Zeile gibt einen Konflikt an. Wenn beispielsweise die Geometrie des Features in verschiedenen Versionen bearbeitet wurde, wird ein roter Indikator neben dem Feld "Shape" angezeigt.

Wenn andere Attributfelder in Konflikt stehen, wird links neben der Zeile ein roter Indikator angezeigt. Wenn ein Feature in einer der Versionen gelöscht wurde, wird <Deleted> als Attributwert dieser Version angezeigt.

Mit den beiden Schaltflächen am unteren Rand des Dialogfeldes können Sie entweder alle Felder einblenden oder nur diejenigen, die miteinander in Konflikt stehen.

Hinweis:

Alle Felder werden in der Ansicht Konflikte angezeigt. Felder, auf die ein Konfliktfilter angewendet wird, werden jedoch nicht als Felder mit einem Konflikt erkannt und sie werden ohne roten Indikator angezeigt.

Markieren als überprüft oder als nicht überprüft

Nachdem Sie die in Konflikt stehenden Felder oder Zeilen ermittelt haben, können Sie ein Feature als überprüft markieren. Sie können verfolgen, welche Features Sie in der Liste überprüft haben, weil die als überprüft markierten Features nicht mehr fett formatiert sind.

Wenn Sie einen Feature-Konflikt später behandeln möchten, dann klicken Sie in der Liste der Konflikte mit der rechten Maustaste auf die ObjectID und klicken dann auf Als nicht überprüft markieren. Auf diese Weise wird das Feature wieder fett formatiert.

Wenn Sie das Kontrollkästchen Überprüfte Konflikte filtern oben in der Ansicht aktivieren, können Sie die Liste so filtern, dass nur die Konflikte, die nicht überprüft wurden, angezeigt werden.

Bei Verzweigungsversionierung können Sie auch einen Überprüfungshinweis hinzufügen. Klicken Sie mit der rechten Maustaste auf ein Feature, klicken Sie auf Überprüfungshinweis hinzufügen, und geben Sie einen Text in das Textfeld Überprüfungshinweis hinzufügen ein. Wenn Sie einen vorhandenen Überprüfungshinweis bearbeiten möchten, dann klicken Sie mit der rechten Maustaste auf ein Feature und klicken dann auf Überprüfungshinweis bearbeiten.

Hinweis:

Überprüfungshinweise werden beim nächsten "Abgleichen und Zurückschreiben"-Vorgang gelöscht.

Lösen von Konflikten

Beim Lösen von Konflikten entscheiden Sie, welche Repräsentation der Features und Attribute Sie beibehalten möchten. Nach dem Abgleichvorgang können Sie in der Ansicht "Konflikte" die beizubehaltende Repräsentation angeben. Beachten Sie, dass die Verwendung der Ersetzungsoptionen in der Ansicht "Konflikte" einem Änderungsvorgang entspricht.

Klicken Sie in der Liste Unterschiede mit der rechten Maustaste auf die Version, das Dataset, das Feature oder das Attribut, und wählen Sie eine der folgenden Ersetzungsoptionen aus:

  • Durch aktuelle Version ersetzen
  • Durch Zielversion ersetzen
  • Durch gemeinsame Vorgängerversion ersetzen

Für die Konfliktlösung stehen die folgenden Ersetzungsmöglichkeiten zur Verfügung:

  • Attributersetzung

    Diese Ersetzung erfolgt auf Feldebene. Wenn Konflikte in Attributen vorliegen, können Sie nur diesen Attributwert in der aktuellen Version durch den Wert in der aktuellen, in der Ziel- oder in der Repräsentation des gemeinsamen Vorgängers ersetzen. Klicken Sie dazu mit der rechten Maustaste auf das in Konflikt stehende Attribut. Klicken Sie dann im Menü auf die gewünschte Option.

  • Feature-Ersetzung

    Diese Ersetzung erfolgt auf Zeilenebene. Sie können ein vollständiges Feature durch die Repräsentation des Features in der aktuellen, in der Ziel- oder in der Version des gemeinsamen Vorgängers ersetzen. Dies bedeutet, dass die in Konflikt stehenden Felder ersetzt werden.

  • Ersetzung auf Klassenebene

    Sie können die aktuelle Repräsentation der gesamten Feature-Class durch die Repräsentation Ihrer aktuellen, Ziel- oder gemeinsamen Vorgängerversion ersetzen, um den Konflikt zu lösen. Auf diese Weise werden alle in Konflikt stehenden Features und Attribute auf einmal ersetzt, wodurch Sie in Konflikt stehende Features schnell aktualisieren und ersetzen können. Wenn die Liste Unterschiede mehrere Features enthält, werden alle durch die ausgewählte Version ersetzt.

    Um eine Ersetzungsoption auf Klassenebene auszuwählen, klicken Sie in der Liste Unterschiede mit der rechten Maustaste auf den Namen der Feature-Class. Klicken Sie dann auf die Version, die Sie verwenden möchten.

  • Vollständige Ersetzung

    Diese Ersetzung erfolgt auf Stammverzeichnisebene. Mit dieser Option werden sämtliche in Konflikt stehenden Features und Feature-Classes in der Liste durch die angegebene Repräsentation ersetzt. Wenn mehrere Feature-Classes und Objekte in Konflikt stehen, werden alle durch die von Ihnen ausgewählte Version ersetzt.

    Klicken Sie oben in der Liste der Unterschiede mit der rechten Maustaste auf die Version und die Verbindungsinformationen. Klicken Sie dann auf die Version, mit der die Konflikte ersetzt werden sollen.

Filtern von Konflikten auf Feldebene

Wenn während eines Abgleichs Konflikte festgestellt werden, kann es vorkommen, dass Sie wünschen, dass Änderungen an Feldern oder einer Reihe von Feldern beibehalten werden. Nachfolgend sind einige Beispiele für Situationen aufgeführt, in denen es sinnvoll ist, erkannte Konflikte herauszufiltern, wenn ein Feld abgeglichen wird:

  • Es wird eine Batch-Aktualisierung für ein Feld in verschiedenen Versionen durchgeführt.
  • Informationen werden anhand von in der Version vorgenommenen Änderungen in ein Feld geschrieben.

Wenn Sie verhindern möchten, dass Konflikte erkannt werden, wenn in den Parent- und Child-Versionen dasselbe Attribut aktualisiert wird, können Sie das Werkzeug Feld-Konfliktfilter hinzufügen verwenden, um die Felder zu definieren, die in Konflikten herausgefiltert werden sollen. Mit einem Feldkonflikt-Filter können ein oder mehrere in einer Feature-Class enthaltene Felder getaggt werden, um sie aus der Konflikterkennung auszuschließen. Wenn nur Felder mit Konfliktfiltern bearbeitet werden, werden beim Abgleichen keine Konflikte angezeigt. Dies trifft nur dann zu, wenn Sie Konflikte nach Attribut definieren.

Hinweis:

Alle Felder werden in der Ansicht "Konflikte" angezeigt. Felder, auf die ein Konfliktfilter angewendet wird, werden jedoch nicht als Felder mit einem Konflikt erkannt und sie werden ohne roten Indikator angezeigt.

Nach Verzweigung versionierte Daten werden immer in der Editierversion abgeglichen. Felder mit einem Konfliktfilter enthalten den Wert aus der Editierversion.

Mit dem Werkzeug Feld-Konfliktfilter entfernen können Sie diese Konfliktfilter aus den Feldern entfernen.

Hinweis:

Services mit nach Verzweigung versionierten Daten müssen neu gestartet werden, damit Änderungen der Werkzeuge Feld-Konfliktfilter hinzufügen oder Feld-Konfliktfilter entfernen wirksam werden.

Mit der Python-Funktion ListFieldConflictFilters können Sie ermitteln, ob für eine Feature-Class oder -Tabelle Konfliktfilter definiert wurden.

Lösen von Konflikten mit Attributregeln

Attributregeln vereinfachen die Bearbeitung und verbessern die Datenintegrität für Geodatabase-Datasets. Bei der Durchführung eines Abgleichs, bei dem Konflikte durch ein Attribut (eine Spalte) definiert sind, werden sofortige Berechnungs- oder Einschränkungsregeln für die Features ausgewertet, die sowohl in der Default-Version als auch in der abzugleichenden Version aktualisiert wurden. Wenn eine Einschränkungsregel verletzt wird, findet die Zusammenführung nicht statt, und das Feature wird zu einem Konflikt der Kategorie "Aktualisieren-Aktualisieren" hochgestuft und kann in der Ansicht "Konflikte" überprüft werden.

Lösen von Konflikten mit Beziehungsklassen

Mit Beziehungsklassen lässt sich die referenzielle Integrität zwischen verbundenen Objekten besser durchsetzen. Wenn nach Verzweigung versionierte Datenquellen an einer Beziehungsklasse beteiligt sind, werden beim Abgleich die Daten hinsichtlich der referenziellen Integrität ausgewertet. Wenn die referenzielle Integrität verletzt wird, werden die beteiligten Features als Konflikte gemeldet und können in der Ansicht "Konflikte" überprüft werden.

Wenn ein Feature aus einer ursprünglichen Beziehungsklasse gelöscht wird, kann dies eine Meldung auslösen, die darauf hinweist, dass ein Feature aus der Zielbeziehungsklasse gelöscht werden soll. Daher müssen Sie sich der Folgen bewusst sein, zu denen das Bearbeiten von Konflikten mit Feature-Classes, die an Beziehungsklassen beteiligt sind, führen kann.

Im Folgenden ist ein Beispiel eines Konflikts dargestellt, der zwischen Beziehungsklassen auftreten kann:

  • In einer Parent-Version fügen Sie ein Ziel-Feature hinzu und setzen es mit einem Feature in der Quellklasse in Beziehung.
  • In einer Child-Version löschen Sie das Ursprungs-Feature, das verwendet wurde, um das neue Ziel-Feature in Beziehung zu setzen.
  • Beim Abgleichen der Änderungen wird in der Zielklasse ein Konflikt der Kategorie "Aktualisieren-Aktualisieren" erkannt, während in der Quellklasse ein Konflikt der Kategorie "Löschen-Aktualisieren" erkannt wird.

Weiteres Beispiel:

  • In einem Feature-Dataset zu Stromversorgern löschen Sie einen Mast mit einer Beziehung zu einer Umspannstation, wodurch die zugehörige Umspannstation ebenfalls gelöscht wird.
  • In einer anderen, gleichzeitig stattfindenden Editiersitzung ändert ein Bearbeiter die Attribute der Umspannstation, die Sie eben indirekt durch das Löschen des zugehörigen Mastes gelöscht haben.
  • Beim Abgleichen der Änderungen wird in den Quell- und Zielklassen ein Konflikt der Kategorie "Aktualisieren-Löschen" erkannt.

Wenn in diesem letzten Beispiel ein zweiter Bearbeiter alle Konflikte durch die Repräsentationen in der Editiersitzung ersetzt hat, werden der Mast und die Umspannstation neu erstellt.

Zurückschreiben von Änderungen

Zum Zurückschreiben von Änderungen in die Default-Version muss der aktuelle Portal-Benutzer über Zugriff zum Bearbeiten dieser Version verfügen. Das bedeutet, dass bei der Default-Version die Zugriffseigenschaft auf "Öffentlich" festgelegt sein muss, oder dass der Portal-Benutzer Versionsadministrator sein muss.

Weitere Informationen zum Versionszugriff

Um Änderungen in die Default-Version zurückzuschreiben, nachdem Sie abgeglichen und Konflikte überprüft haben, klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Zurückschreiben.

Beim Zurückschreibungsprozess können eventuell Konflikte erkannt werden. Dies kann vorkommen, wenn nach dem Abgleich und vor dem Zurückschreiben Bearbeitungen an der Default-Version vorgenommen werden. Dies können direkte Bearbeitungen der Default-Version oder Bearbeitungen sein, die von anderen benannten Versionen zurückgeschrieben wurden. In diesem Fall wird ein Fehler zurückgegeben, und Sie müssen den Abgleichvorgang vor dem Zurückschreiben erneut durchführen.

Zusätzliche Informationen zum Zurückschreiben:

  • Nachdem Änderungen zurückgeschrieben wurden, können sie nicht rückgängig gemacht werden, da sie auf die Zielversion angewendet wurden.
  • Wenn es Konflikte gibt, die nicht explizit als überprüft markiert wurden, wird beim Zurückschreiben ein Dialogfeld angezeigt, in dem Sie darauf hingewiesen werden, dass nicht überprüfte Konflikte automatisch gelöst werden. Durch Klicken auf Ja werden Konflikte automatisch mit den Optionen gelöst, die Sie im Dialogfeld Abgleichen ausgewählt haben, und die Änderungen werden in die Zielversion zurückgeschrieben.
  • Nach dem Zurückschreiben können Sie weitere Änderungen in Ihrer Version vornehmen. Um diese Änderungen auf die Zielversion anzuwenden, müssen Sie die Vorgänge "Abgleichen", "Konfliktlösung" und "Zurückschreiben" erneut ausführen.

Wenn durch das Zurückschreiben das Ende Ihres Workflows markiert wird, können Sie die Version löschen, die Sie bearbeitet haben.