Conciliar y publicar ediciones en una versión en rama

Al realizar ediciones en una versión, las versiones empiezan a diferenciarse unas de otras. Después de crear una versión nominal, todas las ediciones se rastrean en la versión predeterminada y en la versión nominal. Las ediciones en la versión predeterminada pueden incluir ediciones publicadas por otras versiones nominales.

Una vez haya terminado de editar una versión con nombre, puede realizar los procesos de conciliación y publicación para fusionar sus ediciones. El proceso de recuperación de cualquier cambio de la versión predeterminada y su fusión con su versión se denomina conciliación. A continuación, puede enviar los cambios que haya realizado en la versión predeterminada usando el proceso de publicación.

Los conflictos se descubren cuando la versión con nombre se concilia con la versión predeterminada. Cuando se descubren conflictos durante la operación de conciliación, se resuelven inicialmente a favor de la versión de edición. Recibirá un mensaje que le pregunta si desea revisar los conflictos utilizando la vista Conflictos. Aquí, puede revisar los conflictos de uno en uno y, en caso necesario, realizar cambios. Por ejemplo, puede utilizar la vista Conflictos para reemplazar por la versión de destino o utilizar las herramientas de edición para modificar la entidad en conflicto de otra manera.

Nota:
Este tema describe los procesos de conciliación y publicación mediante la pestaña Versionado. También puede conciliar y publicar las versiones utilizando la herramienta de geoprocesamiento Conciliar versiones o el botón Conciliar/Publicar Conciliar y publicar de la pestaña Versiones cuando se encuentre en la vista Versiones.

Proceso de conciliación

Cuando trabaja en una versión en rama, la conciliación detecta conflictos entre la versión con nombre a la que está conectado actualmente y la versión predeterminada. Se devuelve una advertencia si intenta conciliar y hay conflictos que no están marcados como revisados. Con el versionado en rama, solo puede conciliar con la versión predeterminada. No puede conciliar con otra versión con nombre.

Para hacer cambios en la manera de manejar los conflictos durante la operación de conciliación, consulte Opciones de versionado para la edición.

Para realizar el proceso de conciliación, debe utilizar capas de entidades web que tengan habilitada la capacidad Administración de versiones. Puede acceder al comando Conciliar en la pestaña Versionado haciendo clic en el botón Lista por fuente de datos Lista por origen de datos del panel Contenido. Para iniciar el proceso de conciliación, haga clic en el botón Conciliar de la pestaña Versionado. Aparece el cuadro de diálogo Conciliar.

Cuando se abra el cuadro de diálogo Conciliar, proporcione la siguiente información:

  • Especifique cómo desea que se definan los conflictos. Existen las siguientes opciones:

    Defina los conflictos en este nivelPara detectar estos casos

    Fila (por objeto)

    Un segundo usuario edita la misma fila o entidad, o entidades relacionadas topológicamente, como lo hizo usted. El conflicto ocurre incluso si editó atributos distintos.

    Columna (por atributo)

    Un segundo usuario edita el mismo atributo de una entidad o tabla. Esta es la opción predeterminada.

    Opciones para definir un conflicto

Nota:

Los conflictos siempre se resuelven a favor de la versión de edición.

No se pueden utilizar las operaciones Deshacer ni Descartar para revertir los cambios realizados tras finalizar una operación de conciliación de datos versionados en rama.

En el versionado en rama, los conflictos se almacenan de forma persistente en una tabla propiedad del sistema llamada GDB_CONFLICTS. De esta manera, puede administrar conflictos de varias sesiones de edición, revisar y resolver conflictos y salir y volver más tarde para continuar. Una segunda operación de conciliación limpiará la tabla de conflictos y la volverá a rellenar con nuevos conflictos que hayan ocurrido desde la última conciliación. Significa que es posible que pierda su historial de resoluciones de conflictos si se realiza una segunda conciliación.

Si existen conflictos, puede revisarlos en la vista Conflictos.

El proceso de conciliación solo actualiza la versión de edición para que ArcGIS Pro pueda verificar los conflictos; no fusiona los cambios con la versión de destino. Una vez que termine de conciliar y revisar los conflictos, debe completar el proceso de fusión publicando los cambios en la versión de destino.

Revisar conflictos utilizando la vista Conflictos

Si se detectan conflictos durante el proceso de conciliación, puede revisarlos en la vista Conflictos Administrador de conflictos. Es posible acoplar la vista en cualquier lugar de la aplicación o posicionarla como ventana flotante. Le permite interactuar con una vista de mapa al mismo tiempo para ofrecer contexto y explorar más los datos.

La vista Conflictos contiene todas las clases de conflicto y las entidades o filas en conflicto. Los conflictos se organizan utilizando la fuente de datos, la clase, la categoría de conflicto y el ObjectID. Las clases de conflicto representan las capas de entidades web en conflicto con todo el servicio.

La vista Conflictos le permite realizar lo siguiente:

  • Determinar los campos o filas en conflicto.
  • Ver los conflictos.
  • Marcar los conflictos como revisados o no revisados.
  • Resolver conflictos designando la representación que se utilizará para remplazar entidades o atributos.

Los conflictos se producen en los siguientes casos:

  • La misma entidad se actualiza tanto en la versión de edición actual como en la versión de destino.
  • La misma entidad se actualiza en una versión y se elimina en la otra.
  • Una clase de relación o entidad relacionada topológicamente se modifica en la versión de edición actual y en la versión de destino.

La vista Conflictos también contiene una Visualización de conflictos para ver las diferentes representaciones de las ediciones de geometría. El contenido de la visualización de conflictos difiere en función de si la clase de conflicto está presente en el mapa activo:

  • Cuando la clase de conflicto está en el mapa activo, la visualización del conflicto muestra todas las capas del mapa, utiliza la simbología del mapa e incluye el mapa base.
  • Cuando la clase de conflicto no está en el mapa activo, la visualización de conflictos solo muestra la capa en conflicto, utiliza la simbología predeterminada y no incluye el mapa base.

Determinar los campos o filas en conflicto

Todas las entidades y clases de conflicto aparecen en el cuadro de lista del lado superior izquierdo de la vista Conflictos. Esta lista muestra el número total de conflictos para las capas de entidades web de todo el servicio.

Haga clic en la flecha desplegable de un objeto para ver los conflictos de cada entidad. Se dividen en las siguientes categorías:

  • Actualizar-Eliminar: la entidad se actualizó en la versión actual y se eliminó en la versión de destino.
  • Eliminar-Actualizar: la entidad se eliminó en la versión actual y se actualizó en la versión de destino.
  • Actualizar-Actualizar: la entidad se actualizó tanto en la versión actual como en la versión de destino.

Cuando selecciona un ObjectID de una entidad individual en la lista, los campos y los atributos de la versión Actual, de Destino y la Antecesora común de la entidad aparecen en la cuadrícula informativa ubicada en el lado derecho de la vista Conflictos.

Tener a su disposición los atributos y valores de todas las representaciones de una entidad en conflicto permite ver cómo varían los valores de atributos entre versiones y ayuda a determinar la representación de los datos que desea conservar.

  • Actual: representa el estado actual de las entidades y los atributos de la versión con nombre. Incluye cualquier edición que haya realizado.
  • Destino: representa las entidades y sus atributos en la versión de destino.
  • Antecesora común: representa las entidades y los atributos cuando se creó inicialmente la versión o en el momento de la última operación de conciliación.

Un indicador rojo a la izquierda de la fila identifica un conflicto. Por ejemplo, si la geometría de la entidad se editó en cada versión, aparece un indicador rojo junto al campo Forma.

Si hay otros campos de atributo en conflicto, aparecerá un indicador rojo en la parte izquierda de la fila. Si se ha eliminado una entidad en alguna versión, aparecerá <Deleted> para el valor de atributo de esa versión.

Los dos botones de la parte inferior del cuadro de diálogo permiten cambiar entre la visualización de todos los campos o la visualización solo de los campos que están en conflicto.

Nota:

Todos los campos se muestran en la vista Conflictos; sin embargo, los campos con un filtro de conflicto aplicado no se identifican como en conflicto y no muestran un indicador rojo.

Marcar como revisado o no revisado

Cuando determine los campos o las filas que están en conflicto, puede marcar una entidad como revisada. Puede llevar un registro de las entidades de la lista que ha revisado, ya que aquellas marcadas como revisadas dejan de aparecer en negrita.

Para volver a un conflicto de entidad más tarde, haga clic con el botón derecho en el ObjectID en la lista de conflictos y haga clic en Marcar como no revisado. Esto hace que la entidad vuelva a aparecer en negrita.

Si hace clic en la casilla de verificación Filtrar conflictos revisados en la parte superior de la vista, puede filtrar la lista para que muestre solamente los conflictos que aún no se han revisado.

Con el versionado en rama también puede agregar una nota de revisión. Haga clic con el botón derecho en una entidad, haga clic en Agregar nota de revisión y escriba texto en el cuadro de texto Agregar nota de revisión. Para editar una nota de revisión existente, haga clic con el botón derecho en una entidad y haga clic en Editar nota de revisión.

Nota:

Las notas de revisión se borran en la siguiente operación de conciliación y publicación.

Resolver conflictos

Al resolver conflictos, usted decide qué representación de las entidades y atributos desea mantener. Después de la operación de conciliación, puede utilizar la vista Conflictos para especificar la representación que desea mantener. Tenga en cuenta que el uso de las opciones de sustitución en la vista Conflictos es el mismo que realizar una operación de edición.

En la lista Diferencias, haga clic con el botón derecho en la versión, dataset, entidad o atributo y seleccione una de las siguientes opciones de sustitución:

  • Reemplazar con la versión actual
  • Reemplazar con la versión de destino
  • Reemplazar con la versión antecesora común

A continuación, se muestran diferentes niveles en los que puede utilizar las opciones de sustitución para resolver conflictos:

  • Reemplazo de atributo

    Esto ocurre en el nivel de campo. Si hay conflictos en atributos, solo puede reemplazar el valor del atributo en la versión actual por uno de la representación actual, de destino o antecesora común. Para hacer esto, haga clic con el botón derecho en el atributo en conflicto y haga clic en la opción del menú.

  • Reemplazo de entidad

    Ocurre en el nivel de fila. Puede reemplazar una entidad completa con la representación de la entidad en la versión actual, la de destino o la antecesora común. Significa que se reemplazan los campos en conflicto.

  • Reemplazo de nivel de clase

    Puede reemplazar la representación actual de la clase de entidad completa con la representación de la versión actual, de destino o antecesora común para resolver el conflicto. Esto reemplaza todas entidades y atributos en conflicto de una sola vez, lo que le permite actualizar y reemplazar con rapidez las entidades en conflicto. Si existen varias entidades en la lista Diferencias, todas se reemplazarán por la versión que elija.

    Para elegir una opción de reemplazo de nivel de clase, haga clic con el botón derecho en el nombre de la clase de entidad en la lista Diferencias y haga clic en la versión que desee utilizar.

  • Reemplazo completo

    Ocurre en el nivel de raíz. Esta opción reemplaza todas las entidades y clases de entidad en conflicto de la lista con la representación designada. Si tiene varias clases de entidad y objetos en conflicto, todos ellos se reemplazan con la versión que elija.

    Haga clic con el botón derecho en la información de versión y de conexión en la parte superior de la lista Diferencias y haga clic en la versión que desea utilizar para reemplazar todos los conflictos.

Filtrado de conflicto de nivel de campo

En algunos casos, puede que desee que las ediciones aplicadas a un campo o a un conjunto de campos se mantengan cuando se detecten conflictos durante la conciliación. Los siguientes ejemplos muestran casos en los que puede desear descartar conflictos detectados en un campo al realizar la conciliación:

  • Se realiza una actualización por lotes en un campo en diferentes versiones.
  • Se escribe información en un campo en función de las ediciones realizadas en la versión.

Para evitar que se identifiquen conflictos cuando se actualiza el mismo atributo en las versiones principal y secundaria, puede utilizar la herramienta Agregar filtro de conflictos de campo para definir el conjunto de campos que se desea excluir de los conflictos. Un filtro de conflicto de campos permite etiquetar un campo o un conjunto de campos en una clase de entidad para excluirlos de la detección de conflictos. No se devolverán conflictos durante la operación de conciliación si solo se editan los campos con filtros de conflicto. Esto solo se puede usar cuando los conflictos se definen por atributo.

Nota:

Todos los campos se muestran en la vista Conflictos; sin embargo, los campos con un filtro de conflicto aplicado no se identifican como en conflicto y no muestran un indicador rojo.

Los datos versionados en rama siempre se concilian con conflictos a favor de la versión de edición; los campos con un filtro de conflictos contienen el valor de la versión de edición.

Puede utilizar la herramienta Eliminar filtro de conflicto de campo para eliminar esos filtros de conflicto de los campos.

Nota:

Los servicios con datos versionados en rama se deben reiniciar para recoger los cambios de las herramientas Agregar filtro de conflicto de campo o Eliminar filtro de conflicto de campo.

Puede usar la función Python de ListFieldConflictFilters para identificar cuándo una clase de entidad o tabla tiene definidos filtros de conflicto.

Resolver conflictos con reglas de atributos

Reglas de atributos: mejoran la experiencia de edición y la integridad de los datos de los datasets de geodatabase. Al realizar una conciliación en la que los conflictos se definen por atributo (columna), las reglas de cálculo inmediato o restricción se evalúan para las entidades que se han actualizado tanto en la versión predeterminada como en la versión que se está conciliando. Si se vulnera una regla de restricción durante este proceso, la fusión no se producirá, la entidad se promoverá a un conflicto de actualización-actualización y se podrá revisar en la vista Conflictos.

Resolver conflictos con clases de relación

Las clases de relación se pueden utilizar para ayudar a forzar la integridad referencial entre los objetos relacionados. Si las fuentes de datos versionadas en rama participan en una clase de relación, el proceso de conciliación evalúa estos datos para la integridad referencial. Si se vulnera la integridad referencial, se reportan las entidades que participan como conflictos y se pueden revisar en la vista Conflictos.

Si se elimina una entidad de una clase de relación de origen, aparecerá un mensaje para que elimine una entidad de la clase de relación de destino. Por lo tanto, esté atento a las ramificaciones que se producen simplemente al reemplazar conflictos que involucran clases de entidades que participan en clases de relaciones.

El siguiente es un ejemplo de un conflicto que puede surgir entre clases de relación:

  • En una versión principal, agrega una entidad de destino y la relaciona con una entidad en la clase de origen.
  • En una versión secundaria, elimina la misma entidad de origen que se utilizó para relacionar la nueva entidad de destino.
  • Cuando se concilian las ediciones, se detecta un conflicto de actualización-actualización en la clase de destino, mientras que se detecta un conflicto de eliminación-actualización en la clase de origen.

Otro ejemplo es el siguiente:

  • En el dataset de entidades de servicio eléctrico, elimina un polo que tiene relación con un transformador, lo que hace que también se elimine el transformador relacionado.
  • En otra sesión de edición que se lleva a cabo al mismo tiempo, un editor altera los atributos del transformador que usted acaba de eliminar cuando eliminó el polo relacionado.
  • Cuando se concilian las ediciones, se detecta un conflicto de actualización-eliminación en las clases de origen y destino.

En este último ejemplo, si el segundo editor elige reemplazar todos los conflictos por las representaciones de sesión de edición, se volverán a crear el polo y el transformador eliminados durante su sesión de edición.

Publicar cambios

Para publicar ediciones en la versión predeterminada, el usuario del portal actual debe tener acceso para editar esta versión. Esto significa que la versión predeterminada debe tener la propiedad de acceso establecida en público o que el usuario del portal debe ser el administrador de versiones.

Más información sobre el acceso a versiones

Para publicar cambios en la versión predeterminada una vez que hayan conciliado y revisado conflictos, haga clic en Publicar en el grupo Versionado en la pestaña Versionado.

Durante el proceso de publicación, se pueden detectar conflictos. Esto puede ocurrir cuando se realizan ediciones en la versión predeterminada después de la conciliación y antes del proceso de publicación. Estas ediciones pueden proceder de ediciones directas en la versión predeterminada o de ediciones publicadas desde otras versiones con nombre. Si esto ocurre, se devuelve un error y debe volver a realizar la operación de conciliación antes de publicar.

Información adicional sobre el proceso posterior:

  • Una vez publicados los cambios, no se pueden deshacer, dado que está aplicando cambios en una versión de destino.
  • Si existen conflictos que no se han marcado explícitamente como revisados, aparece un cuadro de diálogo al publicar, con una advertencia de que los conflictos no revisados se resolverán automáticamente. Haga clic en para resolver automáticamente conflictos con las opciones que elija en el cuadro de diálogo Conciliar y publique los cambios en la versión de destino.
  • Tras la publicación, puede seguir realizando ediciones en su versión. Para aplicar estos cambios a la versión de destino, debe realizar de nuevo los procesos de conciliación, resolución de conflictos y publicación.

Si la publicación marca el fin de su flujo de trabajo, también puede eliminar la versión que ha estado editando.