1. El usuario realiza una o más capturas de una o más formas en la aplicación móvil, entonces se genera una entrada por cada captura en la Bandeja de Salida (Outbox).

2. Si tenía configurada “Sincronización al grabar” en alguna de las Formas entonces se lanza el proceso de sincronización para todas aquellas formas que se encuentren en ese momento en la Bandeja de Salida (Outbox). Lo mismo sucederá si a alguna Forma se le ha incluido una pregunta tipo sincronización o el equivalente a esta acción por cualquier otro medio.

3. Cuando se usa el botón de sincronizar o la misma opción desde el Menú, se envía a la nube todas las capturas que hayan sido guardadas y que estén en la bandeja de salida.

4. En ningún punto del proceso de sincronización de la aplicación a la nube, se deberá generar ningún error de grabado de las capturas que el usuario pueda ver en pantalla en su dispositivo, salvo como única excepción errores por perdida de conexión del dispositivo y/o que el servicio este muy lento y resulte en rechazo de los archivos enviados, si ese fuera el caso, la única cosa que el usuario puede y debe hacer es intentarlo de nuevo.

5. Cuando el servicio en la nube recibe los archivos de captura, únicamente lo graba en la carpeta correcta, en caso de que se incluya fotos realiza una conversión a un archivo de imagen real, y en el caso de la captura genera además la tarea en un agente que la procesa.

6. La aplicación móvil, recibe respuesta del servicio de que todo se guardó correctamente, y elimina los archivos locales para liberar espacio al dispositivo.

7. El agente tomará hasta cinco minutos en promedio (o dependiendo de la carga de trabajo, puede ser más tiempo, los cinco minutos es en caso de no haber otras sincronizaciones pendientes) para iniciar el procesamiento de las capturas recibidas. En este punto no es visible la captura en alguna bitácora (ni de capturas, ni de destinos ni de sincronización).

8. Una vez que empieza a procesar las tareas pendientes de capturas sincronizadas conforme termina de procesarlas pueden estar visibles en la bitácora de capturas y hasta que termina con todas las capturas de una misma sincronización, será visible en la bitácora de sincronización. Cada vez que el agente procesa una captura, guarda los datos en este orden:

a) Datos capturados en la forma.

b) Actualiza el modelo global de formas de capturas.

c) Modelos generados diseñados a partir de la forma de captura que se procesa.

d) Todos los destinos de la forma de la captura que se procesa.


Cuando el proceso ha concluido hasta el punto “b”, entonces ya la captura está visible en bitácora de capturas, pero No necesariamente se han procesado ni los Modelos ni los Destinos.

9. Una vez que termina de grabar los Datos, inicia el proceso de grabado de Modelos.

10. Finalmente llega a los destinos de otros tipos (eBavel, Dropbox, GoogleDrive, etc) hace lo mismo que con los Modelos.

11. Cuando termina todo el proceso (o si se mató por alguna causa externa) el Agente actualiza el status con el que terminó, si el proceso de grabado llegó al final, se asume que terminó correctamente, por lo que marcara la sincronización como ”Sin errores”, de lo contrario se asumirá que el proceso de grabado de datos no concluyó, por lo que toda la captura se considera fallida y por tanto incrementa en 1 la columna de Error en la Bitácora de Sincronización”.

12. Si la captura se logró grabar correctamente pero alguno de los destinos no, entonces aparecerá un registro en la Bitácora de destinos por cada destino que no se logró grabar. Desde la bitácora de destinos se podrá "reprocesar". Los destinos que ya fueron reprocesados manualmente, se deben desaparecer de la lista de Bitácora de destinos, y se generará uno completamente nuevo en caso de que el mismo destino vuelva a fallar, en caso contrario ya no aparecerá.