Apps offline para conectar con Ingrid

Además de la aplicación completa como servicio web Ingrid 8 (en https://ingrid8.ingra.es), existen diversas aplicaciones para dispositivos móviles (apps) enfocadas principalmente a su uso en S.O. Android, que permiten sin conexión a internet: enviar avisos, completar partes de trabajo, recoger incidencias de forma masiva por parte de los ciudadanos...

ingridAvisos - para recoger avisos, incidencias, partes correctivos y enviarlos a BD

ingridTareas - para descargar tareas preventivas/programadas de la BD, completar los partes y devolverlos a la base. Incluye representación geográfica de ubicación de las tareas.

Consideraciones para el administrador de la Base

Las BBDD que utilizan una o varias apps conectadas deben cumplir unos requisitos bastante sencillos:

- En el caso de la lógica de ingridTareas, el usuario que se conecte tiene que tener un Grupo de trabajo, ya que ese es el filtro para enviar a la app las tareas pendientes: las asignadas al grupo del usuario que las solicita.

- Debe tener un procedimiento que recibe y envía la comunicación con cada usuario que se conecta. Su código tiene que ser pro.<nombre aplicación>, como 'pro.ingridTareas' y realizar una función como:

return cb({
    dimMaxima:256,
    caml:[{"cod":"campo1","res":"Notificación final al cliente (campo 1)","tip":"t","tam":1},
          {"cod":"campo2","res":"Enviada notificación (campo 2)","tip":"b"},
    ]
})

para poner campos personalizados además de los automáticas de tareas, o bien:

// campos automáticos de aviso de app:{cod,fec,tex,dir,gps,bar,gral}
if (vals.docl) { // avisos procesados y recibidos
    // procesar aquí cualquier operación con los avisos recibidos
    return cb();
}
else {
    // procesa aquí la definición de campos
    return cb({
        clase:"aviso",
        dimMaxima:256,
        caml:bas.dClases.aviso.caml // lista de campos personaliz. de clase 'aviso' menos los ocultos
        })
}

para establecer la clase que se va a usar, los campos a tomar, y el tamaño máximo de la media resolución que se va a generar al subir imágenes.

- Al cambiar campos en el modelo de datos, el cliente sólo se actualiza cada vez que se arranca el servidor ingrid, o cada 5 minutos.

- Para utilizar otro cluster de BBDD (servidor ingrid y conjunto de bases mongoDb), hay que especificarlo en la página de inicio (index.htm), sino, el nombre de la base siempre se refiere al cluster de producción https://ingrid8.ingra.es.

Se puede definir así:

window.onload=function() {
    ingra.debug=1; // no lanza sw.js ni manifest.json
    ingra.trace=0; // modo traza por defecto
    app.servidor="https://i1.ingra.es"
    app.inicia();
}