En este caso, la solicitud de un compañero de PHPRunner fue la de poder representar el Organigrama de una compañía.
Su problema inicial era la utilización de una librería de JavaScript que tenía esta función, pero desde mi punto de vista es “crear” la estructura jerárquica que hay que dar a estas librerías para que representen en citado Organigrama.
La librería que hemos seleccionado es OrgChart que como podréis observar, dispone de muchas funcionalidades y facilita muchos ejemplos que hace mucho más sencillo su utilización.
Objetivo
Me he puesto este conjunto de requisitos:
La definición de la jerarquía de la organización debe ser muy sencilla de definir. Solamente es necesario definir el jefe inmediato de cada una de las personas. Para el ejemplo, solamente puede haber una única persona que no tiene jefe inmediato.
Se quiere que en la representación de cada una de las personas se disponga de información adicional, en concreto, que pueda representarse la foto de cada uno.
En este ejemplo, lo que intento es explicar una de las formas (seguro que hay muchas otras muy válidas) para cambiar radicalmente el formato de “grid” de las páginas de tipo “LIST”.
En algunas de las peticiones del foro y en otras que me han llegado directamente a mí, se preguntaban cómo cambiar el formato para que hubiera columnas por registros. En concreto, si se está haciendo una aplicación de “ecommerce” se suele presentar 3 o 4 artículos en línea, para aprovechar todo el espacio de la página y mostrar más artículos.
De cara a un futuro, PHPRunner debería evolucionar para potenciar la personalización de estas páginas de LIST.
Este ejemplo que he hecho es motivado porque existe mucha inquietud en sincronizar la actualización de “Maestro y Detalle”, por ejemplo, en una “Factura” con las líneas de la “Factura” y que este ejemplo sirva para este y otros casos donde tenemos esta relación de Maestro y Detalle.
Se ha ampliado la funcionalidad del ejemplo añadiendo que una vez obtenido las coordenadas de la ubicación de la dirección se obtenga la dirección postal de dicha ubicación.
Para obtener los datos se utiliza el servicio Nomatim de OpenStreetMap.
Se ha actualizado la página del ejemplo añadiendo esta nueva funcionalidad, que también es, al igual que el uso de los mapas, gratis.
En este ejemplo se resuelve un problema que se da en los núcleos urbanos poco poblados y es el poder georreferenciar un domicilio a través de su latitud y longitud utilizando OpenStreetMap.
Pero también, y no menos importante, lo que se explica es cómo integrar librerías de JavaScript en los desarrollos realizados con PHPRunner, sin que tengamos que desarrollar un “plugin”, de forma bastante sencilla y creo, accesible a casi todo el mundo.
Requisitos a resolver
Se desea que utilizando OpenStreetMap (no se desea utilizar Google Map por sus costes) un usuario que está utilizando la aplicación en un móvil pueda informar de la ubicación (latitud y longitud) dónde vive o dónde ha ocurrido un hecho o evento. Es para usuarios de zonas rurales, por lo que no existe un domicilio postal normalizado que nos pueda informar de esa ubicación