Todas las entradas de: admin

Cambio del portal a PHP 8.1

En esta infraestructura que tengo contratada, sólo puedo disponer de una versión de PHP y he decidido que debe ser la 8.1.

Esto tiene tiene múltiples consecuencias, la más inmediata y más grande, el que muchos de los ejemplos no funcionen ya que están desarrollados con versiones anteriores a PHPRunner 10.7.

Poco a poco, los iré cambiando, por lo que os ruego tengáis paciencia y esperéis hasta que pueda terminar el trabajo o , la otra alternativa, es que os descarguéis el ejemplo y lo generéis con la versión requerida en vuestro PC.

¡¡¡¡Gracias por la comprensión !!!!!

Este es un benchmark de las distintas versiones de PHP. He tomado la referencia de Symfony porque quizá es la más similar a las aplicaciones de PHPRunner.

Independientemente del incremento de rendimiento que tienen las nuevas versiones de PHP, debemos contemplar el soporte a las versiones del producto.


Seguimiento de los cambios

24/07/2022

  • Debo reconocer que Xlinesoft ha hecho un excelente trabajo en la versión 10.7, porque las aplicaciones (si son de versión 10.2 o superior) se migran a esta versión de forma muy sencilla y prácticamente todo, se migra sin cambios.
  • Acordaros de actualizar los plugins que tengáis descargado. Los de mi web están actualizados para PHP 8.
  • Todas las librerías externas de JavaScript no tienen impacto en este cambio.
  • En este momento, principalmente me queda por migrar los ejemplos de las Guías.
  • En algunos casos he tenido que actualizar las librería externas que usaba, por ejemplo, los webservices
  • También, este repaso me ha servido para restaurar bases de datos de ejemplos, que habían sido destruidos por algunos de los usuarios.
  • El error más habitual que he corregido es el de nombrar variables de array
    $valor = $values[id];      // funcionaba en PHP 7.4 y no en PHP 8.1
    $valor = $values['id'];    // Correcto siempre

11/08/2022

  • Ya he terminado de convertir los ejemplos. Creo que están todos.
  • No han salido cosas nuevas a tener en cuenta.
  • Sólo me queda los ejemplos de Rest Full Api, porque requiere la actualización del framework Slim y los cambios en la programación son muy grandes y tengo que reconstruir todos los ejemplos.
  • Si detectáis algún problema os ruego me aviséis en mi email [email protected]

16/08/2022

. Ya he terminado la conversión de la aplicación Server de ResFull Api que con PHP 8.1, se requiere utilizar Slim 4.0

Workflow 3.0, Completado el desarrollo

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

He terminado la actualización.

Esta versión requiere PHP 8.X. Está probada con PHP 8.1

La versión de PHP es requerida por la librería «phpjasperxml»  que podéis obtener en este enlace https://github.com/SIMITGROUP/phpjasperxml .

Para aquellos que requerís informes/documentos en PDF, es muy importante que utilicéis esta solución de confección de documentos PDF, porque os dará continuidad y futuro a vuestra aplicación.

Avisadme ([email protected]) si tenéis problemas o requerís nueva funcionalidad.

Guía 41 – Imprimir etiquetas de Productos

Generar PDF’s en PHPRunner, en la últimas versiones, es bastante sencillo, pero poder hacer ajustes de la generación de esos documentos PDF’s es muy complejo o imposible, con la solución estándar de PHPRunner.

Para la últimas versiones de PHPRunner, que la recomendación es utilizar la versión de PHP 8.X, os he comentado que he utilizado la solución de PhpJasperXml 2.0.1, obteniendo unos resultados muy, muy buenos.

Para que dispongáis de un ejemplo sencillo de utilización de PhpJasperXml 2.0.1, he creado esta guía para que podáis evaluar lo simple que es integrarlo en PHPRunner.

Objetivo

Generar etiquetas para imprimir en impresora Zebra (impresoras de etiquetas), seleccionando registros de un listado. Con pequeñas variaciones se puede utilizar en impresoras láser estándar con hojas de etiquetas (que yo entiendo es la mejor solución para muchos casos)

Solución Técnica

Como he indicado, el ejemplo contempla la utilización del la librería de PhpJasperXML 2.0.1, que es una eficiente solución para hacer informes PDF’s de cualquier tipo, que previamente se hayan diseñado con Jasper Studio.

La funcionalidad es muy sencilla, de la lista de productos, se seleccionan los registros de los que deseamos generar las etiquetas y pulsamos el botón naranja de impresión . Si te interesa este tema sigue leyendo el siguiente artículo de este enlace.

Crear informes PDF con PHP 8.X «phpjasperXML»

Como podréis ver en otros artículos, os propuse utilizar JasperPHP como una buena alternativa para generar documentos e informes en PDF.
Al actualizar la versión de Workflow 3.0 quise añadir la funcionalidad de informes PDF y así añadí la utilización de JasperPHP pero me encontré que esta librería no funciona en PHP 8.X  y creo que una nueva versión de Workflow debe actualizarse para funcionar con PHP 8, y que esto era irrenunciable.

Buscando me encontré con PHPjasperXML que dispone de la versión 1.1 para PHP 7.X y la versión 2.0 para PHP 8.X.

Al igual que JasperPHP, tiene muy buena solución para crear informes con uso del 100% PHP, pero sigue sin ser  completo, por lo que en algunos casos es superior a JasperPHP y en otros casos es inferior.

Lo que sí está muy claro es que es más sencillo y práctico de utilizar y que nos resuelve el problema de su utilización en PHP 8.X, que para mí, es imprescindible.

Si todavía no has utilizado JasperPHP, te aconsejo que utilices esta versión de phpJasperXML, tanto para PHP 7.X como para PHP 8.X

Si te interesa este tema, sigue leyendo la información del artículo.

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.