Aptli

Gestión de Versiones

El sistema de gestión de versiones de Aptli le permite editar mapas y esquemas sin conexión — en túneles de metro, sitios remotos o zonas con mala conectividad — y enviar sus cambios cuando esté listo. El sistema detecta conflictos cuando dos usuarios han editado la misma área, conserva un historial de versiones permanente para cada confirmación y ofrece a los administradores una cola de revisión antes de que las ediciones de campo se publiquen. Esta página explica cómo usar los controles de versión y resolver conflictos.

Interfaz de Controles de Versión

Los controles de versión aparecen en la propia barra de herramientas del mapa: en escritorio se sitúan en la primera fila de iconos junto al selector de modo y al botón de transferencia de datos, mientras que en móvil forman la primera línea de la barra de navegación inferior. La imagen adjunta muestra el diseño de escritorio; si observa la barra de herramientas del mapa, también verá el botón Transferencia de Datos junto a los controles (utilizado para importar/exportar).

Controles Principales:

  • Deshacer - Revertir el último cambio en la sesión actual
  • Rehacer - Volver a aplicar un cambio deshecho
  • Resincronizar - Recargar los datos del servidor, descartar los cambios locales no confirmados
  • Enviar - Subir todos los cambios no confirmados al servidor

Insignia de Cambios No Confirmados:

  • La insignia naranja en el botón SelectedFeatures muestra el recuento de cambios no confirmados
  • Se actualiza de forma reactiva a medida que crea, edita o elimina entidades
  • Ayuda a realizar un seguimiento del trabajo pendiente antes de Enviar

Cómo Funciona el Control de Versiones

(Importaciones del servidor: las tareas en segundo plano, como los flujos de datos automatizados, crean y confirman sus propias versiones. Los usuarios finales no necesitan cargarlas manualmente — las entidades importadas simplemente aparecen en el mapa una vez que finaliza la tarea).

El Flujo de Versión/Confirmación

1. Borrador Creado      → El cambio existe en el almacenamiento del navegador
   ↓                      La entidad tiene la bandera _uncommitted
   
2. Editar Sin Conexión  → Modificar propiedades, geometría, relaciones
   ↓                      Todos los cambios se registran localmente
   
3. Enviar               → Subir los cambios al servidor
   ↓                      El servidor crea un registro de versión
   
4. Verificación         → El servidor detecta conflictos espaciales/de ID
   ↓                      Opción de ver los borradores de otros
   
5. Fusionar o Revertir  → Aceptar cambios o deshacer
   ↓
   
6. Versión Comprimida   → Estado histórico preservado para siempre
                          El cambio se convierte en un registro permanente

Tres Sistemas de Seguimiento de Cambios

Aptli utiliza diferentes patrones según las necesidades del flujo de trabajo:

1. Modelos Versionados (Entidades del Mapa, Capas, Esquemas):

  • Los cambios se almacenan en el navegador hasta Enviar
  • La bandera _uncommitted rastrea el estado del borrador
  • Los conflictos se detectan mediante análisis espacial
  • Historial de versiones permanente (nunca se elimina)

2. Modelos en Tiempo Real (Asignaciones, Informes, Transacciones):

  • Los cambios se guardan inmediatamente en el servidor
  • No hay redacción sin conexión (la ejecución requiere confirmación)
  • Sin historial de versiones (datos operativos)

3. Tareas (Híbrido):

  • Versionadas para la fase de planificación (diseño sin conexión)
  • En tiempo real para la ejecución (las asignaciones omiten las versiones)
  • Consulte la Guía de Cumplimiento del Trabajo para más detalles

Uso de los Controles de Versión

Enviar - Subir Cambios al Servidor

Cuándo Enviar:

  • Al final de la sesión de trabajo (guardar el progreso)
  • Antes de cambiar de proyecto (persistir los cambios)
  • Después de ediciones importantes (crear un punto de control)
  • Antes de desconectarse por completo (sincronizar lo último)

Qué se Envía:

  • Todas las entidades con la bandera _uncommitted
  • Modificaciones de capas
  • Cambios en diagramas esquemáticos
  • Actualizaciones de propiedades, ediciones de geometría, nuevas entidades
  • Cualquier archivo adjunto a esos registros (fotos, documentos)

Nota: las tareas de importación del lado del servidor (por ejemplo, las importaciones nocturnas de GeoJSON) también crean versiones automáticamente; estas aparecen en la página Admin → Versiones y sus entidades se vuelven visibles para los usuarios en cuanto finaliza la tarea, al igual que las confirmaciones normales.

Flujo de Trabajo:

1. Realizar cambios (dibujar, editar, importar entidades)
2. Supervisar el recuento de la insignia de no confirmados
3. Hacer clic en Enviar cuando esté listo
4. Verificar si hay conflictos (si los hay)
5. Resolver los conflictos o aceptar el envío

Solicitar Confirmación y Revisión Administrativa

Para los no administradores, el botón Enviar actúa inicialmente como una solicitud de revisión en lugar de una publicación inmediata. Cuando elige Solicitar Confirmación, la versión se marca como submittedForReview y se guarda en el servidor; no se vuelve visible para otros usuarios hasta que un administrador la apruebe. Los administradores abren la nueva página Admin → Versiones (véase la guía de Administración) para ver una cola de versiones pendientes; pueden confirmar la versión (haciéndola pública) o eliminarla. Este flujo de trabajo garantiza que las ediciones de campo se revisan antes de aplicarse al conjunto de datos compartido.

Archivos Adjuntos

Los archivos que adjunte a un registro (fotos, documentos, etc.) se preparan localmente como parte de su versión actual. Se suben automáticamente cuando se envía la versión y se incluyen en el proceso de confirmación; si deshace o descarta los cambios, los archivos preparados se eliminan. Consulte la documentación de Desarrollo para los detalles técnicos sobre la preparación de archivos.

Resultado:

  • Los cambios son visibles para todos los usuarios
  • Se crea el registro de versión en el servidor
  • Se elimina la bandera _uncommitted
  • El recuento de la insignia se restablece a 0

Deshacer - Revertir el Último Cambio

Qué Hace:

  • Retrocede a través del historial de cambios
  • Funciona sobre los cambios locales no confirmados
  • Mantiene la pila de rehacer (se puede rehacer tras deshacer)

Limitaciones:

  • Solo afecta a los cambios de la sesión actual
  • No se pueden deshacer los cambios enviados/confirmados (use Resincronizar en su lugar)
  • El historial se borra al recargar la página

Casos de Uso:

  • "Ups, eliminé la entidad equivocada"
  • "Necesito probar un enfoque diferente"
  • "Moví una entidad por accidente"

Rehacer - Volver a Aplicar un Cambio Deshecho

Qué Hace:

  • Avanza a través del historial de cambios
  • Solo disponible tras Deshacer
  • Se borra cuando se realiza un nuevo cambio

Flujo de Trabajo:

1. Deshacer elimina el cambio
2. Rehacer lo restaura
3. Continuar deshaciendo/rehaciendo según sea necesario
4. Realizar un nuevo cambio → borra la pila de rehacer

Resolución de Conflictos

Cuando dos usuarios editan la misma entidad/versión simultáneamente, aparece una advertencia de conflicto en la parte superior del mapa.

Haga clic en Ver detalles del conflicto para abrir una vista comparativa en la que puede aceptar o rechazar cambios individuales. El panel de historial destaca qué versiones contribuyeron a cada modificación.

Visor de Cola Sin Conexión

Al trabajar sin conexión, los cambios se ponen en cola localmente; el Visor de Cola Sin Conexión muestra las operaciones pendientes, el estado de sincronización y permite reintentar manualmente.

(capturas del indicador de red: sin conexión y en línea)

Resincronizar - Recargar desde el Servidor

Cuándo Usar:

  • Descartar todos los cambios no confirmados
  • Recargar lo último del servidor (trabajo de otros)
  • Opción nuclear "Deshacer todo"
  • Resolver estado local dañado

⚠️ Advertencia:

  • Se pierden todos los cambios no confirmados
  • No se puede deshacer
  • Solicita confirmación antes de proceder

Alternativa Segura:

  • Envíe primero para conservar el trabajo
  • Luego Resincronice para obtener lo más reciente

Flujos de Trabajo Paralelos: Directo vs Preparación

Aptli admite dos flujos de trabajo para la manipulación de entidades:

Manipulación Directa (Ediciones Simples)

Mejor Para:

  • Mover entidades individuales
  • Actualizaciones rápidas de propiedades
  • Eliminar entidades
  • Ajustes geométricos simples

Cómo Funciona:

1. Seleccionar entidad en el mapa o en la tabla
2. Editar directamente (arrastrar, formulario de propiedades)
3. El cambio se registra automáticamente
4. Enviar cuando esté listo

Ventajas:

  • Rápido, sin pasos intermedios
  • Patrón familiar (editar en el sitio)
  • Mínima sobrecarga de interfaz

Preparación en Draw (Operaciones Complejas)

Mejor Para:

  • Importar datos externos (GeoJSON, archivos ESRI)
  • Edición geométrica compleja (remodelar polígonos)
  • Operaciones por lotes (crear muchas entidades)
  • Revisar antes de confirmar

Cómo Funciona:

1. Cargar entidades en Draw (importaciones, botón Cargar en Draw)
2. Editar en modo Draw (remodelar, dividir, fusionar)
3. Seleccionar capa de destino
4. Confirmar en las entidades (se registran como no confirmadas)
5. Enviar cuando esté listo

Ventajas:

  • Área de preparación para revisión
  • Herramientas geométricas avanzadas
  • Separa las importaciones de las entidades reales
  • Deshacer a nivel de Draw (antes de confirmar)

Codificación por Colores:

  • Azul - Sus entidades seleccionadas cargadas en Draw
  • Naranja - Conflictos de otros usuarios (solo lectura)
  • Predeterminado - Importaciones y entidades dibujadas manualmente

Resolución de Conflictos

Cómo Surgen los Conflictos

Conflictos Espaciales:

  • Dos usuarios añaden entidades en la misma ubicación
  • Colocación superpuesta de infraestructura
  • Diseños de red que compiten entre sí

Conflictos de ID:

  • La misma entidad editada por varios usuarios
  • Cambios de propiedades diferentes
  • Modificaciones de geometría

Visualización de Conflictos

Botón Cargar Conflictos (DrawToolbar):

  • Recupera los cambios no confirmados de otros usuarios
  • Se muestran como entidades naranjas en Draw
  • Solo lectura - no se pueden confirmar los borradores de otros
  • Ayuda a coordinar antes del envío

Flujo de Trabajo:

1. Haga clic en "Cargar Conflictos" en DrawToolbar
2. Aparecen entidades naranjas (borradores de otros)
3. Revise la superposición espacial
4. Ajuste sus entidades si es necesario
5. Envíe sus cambios (conflictos marcados)

Resolución de Conflictos

Opción 1: Coordinar con el Equipo

  • Ver quién está editando (el conflicto muestra el email del usuario)
  • Discutir por chat/teléfono
  • Decidir quién envía primero

Opción 2: Envío Secuencial

  • Un usuario envía
  • El otro usuario resincroniza
  • El segundo usuario ajusta y envía

Opción 3: Fusión Manual

  • Cargar conflictos para ver ambas versiones
  • Crear entidad fusionada manualmente
  • Ambos usuarios resincronizan y aceptan la fusión

Seguimiento de Cambios No Confirmados

Las entidades que ha creado, editado o importado — pero aún no ha enviado — se rastrean como no confirmadas. Una insignia naranja en el botón Selected Features muestra el recuento de cambios no confirmados en su sesión actual.

La insignia se actualiza en tiempo real:

  • Aumenta cuando confirma entidades desde el área de preparación de Draw
  • Se restablece a cero al Enviar
  • Se restablece a cero al Resincronizar (descartando todos los cambios no confirmados)

Use el recuento de la insignia como recordatorio para Enviar con regularidad. Un recuento alto significa que podría perder mucho trabajo si el navegador se cierra antes de enviar.

Mejores Prácticas

Cuándo Enviar

Momentos Recomendados:

  • Al final de cada sesión de trabajo
  • Después de completar una unidad lógica de trabajo
  • Antes de cambiar entre proyectos
  • Cuando el recuento de la insignia se sienta "demasiado alto"
  • Antes de desconectarse (se conserva como punto de control)

Evite:

  • Enviar trabajo incompleto (confunde al equipo)
  • Nunca enviar (riesgo de pérdida de datos)
  • Enviar constantemente (crea ruido de versiones)

Estrategia de Edición Sin Conexión

1. Sincronizar Antes de Desconectarse:

1. Resincronizar para obtener lo más reciente
2. Realizar cambios sin conexión
3. Enviar cuando vuelva a estar en línea

2. Verificar Conflictos:

1. Cargar Conflictos antes de ediciones importantes
2. Coordinarse con los usuarios visibles
3. Enviar primero el trabajo que no se superponga

3. Puntos de Control Regulares:

1. Enviar cada 30-60 minutos
2. Crea puntos de recuperación
3. Comparte el progreso con el equipo

Revisión del Historial de Versiones

Comprobar Quién Cambió Qué:

  • Los registros de versión muestran usuario, marca de tiempo y operación
  • Las versiones comprimidas siguen siendo reconstruibles
  • Registro de auditoría para cumplimiento

Proceso de Reversión:

1. Identificar la versión problemática
2. Resincronizar a un punto anterior a la confirmación problemática
3. Rehacer los cambios correctamente
4. Enviar la nueva versión

Función Cargar en Draw

Propósito

Permite la manipulación geométrica compleja más allá del simple arrastrar y soltar:

  • Remodelar los límites de polígonos
  • Dividir líneas en segmentos
  • Fusionar áreas adyacentes
  • Operaciones geométricas avanzadas

Cómo Usar

Desde la Tabla SelectedFeatures:

1. Seleccionar filas en la tabla (casilla)
2. Hacer clic en el botón "Cargar en Draw" (icono de lápiz)
3. Las entidades aparecen en Draw (azul)
4. Editar con las herramientas de Draw
5. Seleccionar la capa de destino
6. Hacer clic en el botón de confirmar
7. Las entidades obtienen la bandera _uncommitted
8. Enviar cuando esté listo

Estilo:

  • Selecciones del usuario: Azul (#3b82f6)
  • Conflictos: Naranja (#f97316, solo lectura)
  • Importaciones: Colores predeterminados de Draw

Operaciones Avanzadas

Remodelar Polígonos:

  1. Cargar polígono en Draw
  2. Hacer clic en los vértices para moverlos
  3. Añadir/eliminar puntos
  4. Confirmar de vuelta en las entidades

Dividir Entidades:

  1. Cargar línea/polígono en Draw
  2. Usar las herramientas de Draw para crear la división
  3. Confirmar como entidades separadas

Fusionar Áreas:

  1. Cargar múltiples polígonos en Draw
  2. Eliminar los límites entre ellos
  3. Crear un polígono fusionado único
  4. Confirmar el resultado

Solución de Problemas

"Los Cambios No Se Guardan"

Comprobar:

  • ¿Aumenta el recuento de la insignia de no confirmados?
  • ¿El botón Enviar está activo?
  • ¿Consola del navegador con errores?

Solución:

  • Verifique la conectividad de red
  • Compruebe que el almacenamiento del navegador no esté lleno
  • Envíe para persistir los cambios

"Perdí Mis Cambios Tras Recargar"

Causa:

  • Los cambios no confirmados están en el almacenamiento del navegador
  • Resincronizar borró los cambios locales
  • Se borró el almacenamiento del navegador

Prevención:

  • Enviar antes de cerrar el navegador
  • Puntos de control regulares con Enviar
  • No dependa de la caché del navegador

"El Conflicto No Se Resuelve"

Pasos:

  1. Cargar Conflictos para ver la otra versión
  2. Contactar con el otro usuario
  3. Un usuario Resincroniza
  4. Modificar y Enviar de nuevo
  5. El segundo usuario Resincroniza y continúa

"Deshacer/Rehacer No Funciona"

Limitaciones:

  • Solo cambios dentro de la sesión
  • Se borran al recargar la página
  • No se pueden deshacer cambios enviados

Solución Alternativa:

  • Resincronizar a un punto anterior a la confirmación problemática
  • Rehacer los cambios correctamente
  • Enviar una nueva versión

Guías Relacionadas