Guía 40 – Instalar desarrollo PHPRunner en múltiples instancias con personalización

Muchas de las consultas  que he tenido era a consecuencia de cómo desarrollar un aplicativo en PHPRunner e instalar el mismo para varias Oficinas o Empresas.
Ante estas situaciones, normalmente te preguntas:

  • ¿Se utiliza una única instancia de base de datos para todas las empresas?
  • ¿Cómo se personaliza la aplicación para que disponga de identificación (logo, nombre de la compañía, etc.) para cada empresa?.

Hay muchas más preguntas, pero estas suelen ser las «grandes» y difíciles de contestar.

Normalmente indico que si son datos de una única empresa, pero el análisis de los mismos es por departamento, almacén o cosa similar, se utilice una única base de datos y en todas las tablas se indique el departamento, almacén, etc., para gestionar autorizaciones de acuerdo a esa división de la información.
Tengo un ejemplo que utiliza este sistema,  es la aplicación de Múltiples Workflows, donde la clave de selección es el «Id» del proceso de gestión.

Ahora bien, si la misma aplicación es para empresas no relacionadas y nunca se va a analizar la información uniendo los datos de estas, lo más interesante es que sean distintas instancias de base de datos y también de aplicaciones (de cara a la personalización de cada empresa). Y en este caso, ¿ Cómo gestionamos el proyecto en PHPRunner?

  • ¿Tenemos versiones del proyecto distintos para cada una de las instancias?
    Esto significa que la evolución del producto va a ser diferente y por lo tanto las gestiones de cambios y evolución va a ser mucho más complejas.
  • ¿Tenemos una única versión del proyecto para todas las instancias/empresas?
    Esto significa generar versiones diferenciadas de aplicación con personalizaciones de cada una de las instancias/empresas. ¿Cómo se podría gestionar esto?

Objetivo

Diseñar una alternativa para disponer de un único proyecto de PHPRunner e instalar el mismo para varias empresas, personalizando la instancia de acuerdo a las características de la empresa a la que va a ofrecer servicio.

Si estas interesado en este tema sigue leyendo el artículo de este enlace.

Workflow 3.0, Cambio del generador de PDF

¡¡¡ Para aquellos que estéis probando la versión 3 de Workflow!!!

Creo que esta versión debe ser 100% funcional en versión 8 de PHP y por eso, no puede nacer con el uso de «JasperPHP», que sólo tiene compatibilidad de PHP 7.4

Estoy probando, con muy buenos resultados, la librería «phpjasperxml»  que podéis obtener en este enlace https://github.com/SIMITGROUP/phpjasperxml . La versión 2.0.1 es compatible con todas las versiones de PHP 8.X y la versión 1.1 es compatible con todas PHP 7.X.

Así pues estoy trabajando en la sustitución de las librerías.

Workflow versión 3.0 (Actualización)

En estos momento, es una versión pre-release del producto que pretendo dejar para esta versión 3.0.

El principal cambio es la incorporación de report PDF utilizando JasperPHP.

DEMO: https://fhumanes.com/workflow3/

Según lo vaya evolucionando iré actualizando el artículo y los ficheros del proyecto.

Es importante que aquellos que lo utilicen me indiquen los problemas que encuentran y las nuevas prestaciones que requieran.

Me queda la revisión del código para simplificar y mejorar la entrada de los parámetros de configuración de los procedimientos.

El acceso al artículo está en este link

Workflow versión 3.0

En estos momento, sólo es una versión beta del producto que pretendo dejar para esta versión 3.0.

Publico esta versión porque algunos usuarios me han mostrado interés en conocer cómo está quedando el producto.

DEMO: https://fhumanes.com/workflow3/

Según lo vaya evolucionando iré actualizando el artículo y los ficheros del proyecto.

Es importante que aquellos que lo utilicen me indiquen los problemas que encuentran y las nuevas prestaciones que requieran. Tengo pendiente la generación de PDF’s con JasperPHP.

El acceso al artículo está en este link

Actualización Plugin Select2

He cambiado el acceso a los datos para que se pueda utilizar con cualquier base de datos de PHPRunner.

Identifiqué este problema gracias a David Lisiecki.

Si en el uso de los plugins identificáis algún problema, por favor, indicádmelo para irlos corrigiendo.

Cualquier cosa que necesitéis utilizar mi cuenta de email [email protected], para comunicármelo.

Blog personal para facilitar soporte gratuito a usuarios de React y PHPRunner