Disponible con una licencia Standard o Advanced.
El versionado permite que varios editores modifiquen los mismos datos en una geodatabase corporativa o de grupo de trabajo sin aplicar bloqueos o duplicar datos. Para ello, el versionado almacena ediciones en tablas laterales denominadas tablas delta.
Para editar las clases de entidad que participan en una topología, un dataset de red o una red geométrica, o para editar una estructura de parcela, debe registrar los datos como versionados. Esto se debe a que cuando edita una entidad en una red, topología, estructura de parcela, no todas las entidades se bloquean, lo que significa que otros editores pueden editar otra parte de la red, topología o estructura de parcela de manera tal que entra en conflicto con sus ediciones.
Los usuarios siempre acceden a una geodatabase corporativa o de grupo de trabajo a través de una versión. Cuando se conecta, especifica la versión a la que se conectará. De manera predeterminada, se conectará a la versión predeterminada.
¿Qué es una versión?
Una versión es una especie de vista de la geodatabase que compartimentaliza las ediciones. Las versiones permiten que usted y otros usuarios que estén conectados a la misma versión vean los cambios que usted realiza. Los clientes conectados a otras versiones no verán los cambios hasta que los concilie y los publique en una versión anterior.
La versión Default
La versión predeterminada es la versión raíz y, por tanto, es anterior a todas las demás versiones.
A diferencia de otras versiones, la versión predeterminada siempre existe y no se puede eliminar. En la mayoría de las estrategias de flujo de trabajo, es la versión publicada de la geodatabase que representa el estado actual del sistema que se está modelando. Para mantener y actualizar la versión predeterminada a lo largo del tiempo, debe publicar en ella los cambios realizados en otras versiones. También puede editar la versión predeterminada directamente, como cualquier otra versión.
Crear otras versiones
Se crea una versión al crear versiones secundarias o ramas de cualquier versión existente. La primera versión se crea generando una versión secundaria de la versión predeterminada. Cuando se crea la versión nueva, es idéntica a la versión Default. Con el paso del tiempo, las versiones se diferencian a medida que se realizan cambios en la versión Default y en la nueva versión.
Una geodatabase puede tener muchas versiones. A continuación se muestra el cuadro de diálogo Administrador de versiones, al que se accede a través de ArcGIS Desktop. Este ejemplo muestra las tres vistas del cuadro de diálogo, que representan la versión Default y las otras cuatro versiones, junto con la relación que hay entre las versiones. Las versiones Base y Cases son secundarias de la versión Default y las versiones Case1 y Case2 son secundarias de la versión Cases.
Crear versiones da la falsa sensación de que se está creando una copia de toda la geodatabase, pero no es así. Con independencia del número de versiones que haya, cada tabla y clase de entidad se almacena una sola vez en la base de datos. ArcGIS deja cada clase de entidad o tabla en su formato original pero registra los cambios en las tablas a las que se hace referencia como tablas delta.
Las versiones pueden ser editadas simultáneamente por varios usuarios.
Cómo funcionan las versiones y las modificaciones versionadas
Antes de que pueda comenzar a realizar modificaciones versionadas en los datos de cualquier versión, los datasets deben registrarse como versionados.
Cuando se registra un dataset (una clase de entidad, un dataset de entidades o una tabla) como versionado, se crean dos tablas delta: la tabla A, que registra las inserciones y las actualizaciones, y la tabla D, que almacena las eliminaciones. Cada vez que actualiza o elimina un registro en un dataset, se agregan filas a una o ambas tablas. Por lo tanto, un dataset versionado consta de la tabla original (denominada la tabla base o tabla de negocios) más los cambios de las tablas delta. La geodatabase hace un seguimiento de las versiones a las que estuvo conectado cuando realizó las modificaciones que completaron las tablas delta. Cuando realiza una consulta o visualiza un dataset en una versión, ArcGIS ensambla las filas relevantes de la tabla original y de las tablas delta para presentar una vista sin interrupciones de los datos para esa versión.
Todas las modificaciones realizadas en la clase de entidad o la tabla se registran en las mismas tablas delta, con independencia de la versión desde la que se realizaron dichas modificaciones. Esto quiere decir que cualquier versión hace referencia sólo a un subconjunto de filas de las tres tablas. Entonces ¿cómo sabe ArcGIS qué filas de las tablas delta pertenecen a cada versión?
Cada fila en las tablas A y D se marca con un identificador entero al que se denomina Id. de estado, que hace referencia al momento en que se agrega una fila a una tabla. Cada vez que edita una versión, se crea un nuevo estado y se agrega una nueva fila a una o ambas tablas delta. Se puede entender a los estados como parte de una estructura de árbol donde cada rama registra la evolución de una versión. Se denomina linaje a la secuencia de estados que registran una serie de cambios desde la tabla base al estado actual de una versión. Cuando visualiza o consulta una versión, ArcGIS consulta el linaje de la versión para obtener los Id. de estado, después obtiene los registros correctos de las tablas A y D.
A medida que se edita una geodatabase, las tablas delta aumentan de tamaño y crece el número de estados. Mientras más grandes sean las tablas y más estados tengan, más datos debe procesar ArcGIS cada vez que se visualiza o consulta una versión. Para mantener el rendimiento de la base de datos, el administrador de la geodatabase debe ejecutar periódicamente el comando Comprimir para eliminar los datos no usados.
La opción para mover las ediciones a la base
Si se especifica la opción para mover las ediciones a la base cuando se registran los datos como versionados, los cambios se registran en las tablas delta. Sin embargo, al editar la versión Default y guardar los cambios, estos se mueven de las tablas delta a la tabla base, no permanecen en las tablas delta. Esto solo es así cuando se edita la version Default. Las ediciones realizadas en las versiones descendentes no se mueven de inmediato a la tabla base.
La opción para mover las ediciones a la tabla base resulta útil si se cumplen las siguientes condiciones:
- Las modificaciones realizadas solo tardarán unos minutos en completarse.
- Los datos no forman parte de una red o una topología.
- Se está conectando a una geodatabase versionada con una aplicación de terceros.
Las aplicaciones de terceros generalmente se configuran solo para consultar la tabla base, no pueden acceder las tablas delta. Si utiliza el versionado y no elige mover las modificaciones a la tabla base, estas aplicaciones no incluirán las modificaciones realizadas en otras versiones que no hayan sido conciliadas y publicadas en la versión Default. Tenga en cuenta que cuando edita versiones que no son la Default, los cambios se registran en las mismas tablas delta. Cuando guarda, los cambios permanecen en las tablas delta. Sin embargo, cuando se fusionan los cambios en la versión predeterminada, estos se mueven de las tablas delta a las tablas base. Cuando se fusionan los cambios en versiones que no son la Default, los cambios se mantienen en las tablas delta, como si no se hubiera especificado que las modificaciones se muevan a la base.
Permisos y ediciones de versiones
El propietario de una versión (la persona que la crea) puede establecer quien puede acceder la versión. Las opciones de permiso de acceso son las siguientes:
- Privada: solo el propietario de la versión puede ver y editar los datasets de esa versión.
- Protegida: cualquier usuario puede ver los datasets de la versión, pero solo el propietario puede editarlos.
- Pública: cualquier usuario puede ver y editar los datasets, siempre que se le haya otorgado permiso en ellos.
El acceso de versiones se establece cuando se crea la versión pero también se puede cambiar en el cuadro de diálogo Administrador de versiones. Consulte Crear versiones y establecer permisos de acceso y Propiedades de versiones para obtener más información.
Para editar, conéctese a una versión concreta de la geodatabase desde ArcMap y agregue los datos que se hayan registrado como versionados en el mapa.
Por defecto, todas las sesiones de edición en ArcMap son sesiones de edición con control de versiones. Por lo tanto, si tiene datos versionados en su mapa, puede comenzar la edición apenas abra una sesión de edición. Para abrir una sesión de edición, haga clic en Iniciar edición en la lista desplegable Editor de la barra de herramientas Editor.
Las modificaciones realizadas a cada versión se aplican sólo a esa versión. La excepción son los cambios de esquema. Cuando cambia el esquema en una versión, por ejemplo, al agregar un nuevo campo a la tabla, el cambio se aplica a las demás versiones. Solo los propietarios de los datos pueden alterar el esquema de un dataset.
Una vez terminada la edición, debe conciliar los cambios y publicarlos en una versión anterior.
Conciliar versiones y publicar cambios
Las operaciones de conciliación y publicación integran los cambios en cualquier versión anterior a la versión en la que se está trabajando, como la versión principal o la Default. Cuando realiza la conciliación, se comparan los cambios en la versión que está editando con la versión a la que los quiere fusionar.
Cuando modifica datos en una versión, no se aplican bloqueos a los datos. Si dos editores trabajan en los mismos datos, ya sea en la misma o en diferentes versiones, se pueden producir conflictos. Ocurre un conflicto cuando una fila es diferente en las dos versiones que se están comparando. El proceso de conciliación muestra cada conflicto y permite elegir la representación de la fila que se desea conservar.
En la práctica, la edición de conflictos debería ser poco frecuente porque el volumen de modificaciones es pequeño en comparación con la cantidad de datos geográficos involucrados. En flujos de trabajo diseñados correctamente, el coste de conciliar conflictos es menor en comparación con el ahorro de no tener que bloquear o verificar entidades durante la transacción.
Una vez finalizada la conciliación, puede publicar los cambios. De esta manera, se aplican las modificaciones que realizó en la otra versión. Si ya no necesita la versión desde la que realizó la publicación, puede eliminarla. O bien, puede seguir editándola y volver a conciliar y publicar los cambios.
Versiones: un ejemplo
Para ilustrar cómo se pueden utilizar las versiones, siga esta situación de un servicio hídrico municipal. Una compañía de suministro de agua tiene una geodatabase de entidades que representa el estado actual de todas las tuberías de agua, válvulas, bombas y otros componentes del sistema de agua. La compañía necesita agregar una nueva extensión de línea al sistema de agua.
Un editor crea una nueva versión a partir de la versión Default llamada proyecto de Extensión, que contendrá el diseño de la nueva extensión. Sin embargo, el personal del servicio no está seguro sobre si elegir un diseño de tubería de 16 o de 24 pulgadas para la nueva extensión. Entonces, desde la versión proyecto de Extensión, crean una versión para estudiar el diseño de 16 pulgadas y otra para estudiar el diseño de 24 pulgadas.
Finalmente, el personal decide que la tubería de 24 pulgadas responderá a la demanda de agua proyectada para 12 años más y que se justifica el mayor coste inicial de construcción. El diseño de 24 pulgadas se aprueba, se comprueba para confirmar su precisión y se publica en la versión del proyecto de Extensión.
Algunos meses más tarde, se finaliza la construcción de la extensión de línea nueva. Para actualizar la versión publicada de la geodatabase, la versión de proyecto de Extensión se revisa para comprobar su precisión, se concilia y se publica en la versión Default.