Guía 51 – Operaciones con Fechas en JavaScript

Una de las personas que solicitan mi ayuda me preguntó cómo se calcula una fecha partiendo de otra fecha a la que se sumaban los días de un campo de un formulario.

Estas operaciones las necesitaba hacer en el navegador, por lo que debería estar desarrollada en JavaScript.

Leyendo el manual de PHPRunner y algunos otros ejemplos en internet he conseguido hacer el cálculo y , además, lo he ampliado para obtener los días que hay entre dos fechas.

Objetivo

Hacer cálculos utilizando campos de fecha en JavaScript.

Si te interesa este tema, sigue leyendo este artículo.

Guía 50 – Backup Online de Base de Datos

En esta guía se explica el uso de la librería mysqldump-php que nos permite hacer backup de las tablas, vistas, funciones, trigger,  etc., de los objetos de un esquema de MySQL o MariaDB.

Tiene muchas posibilidades configurable a través de su array de propiedades. En el ejemplo están las básicas que he considerado cómo mínimas. Ante nuevos requisitos, podéis probar vosotros por vuestra cuenta o indicádmelo para buscar una alternativa entre ambos.

Objetivo

Hacer un backup de todos los objetos (tablas, vistas, trigger, funciones, etc.) del esquema de base de datos en el que esté conectada una aplicación de PHPRunner.

DEMO: https://fhumanes.com/video/videoclub/

user:  admin/admin

Si te interesa este tema, sigue leyendo el artículo en este enlace.

Guía 49 – Crear PDF con gráficos creados con AnyChart

Con la funcionalidad estándar de PHPRunner para generar PDF no se pueden trasladar los gráficos creados con AnyChart (producto que utiliza PHPRunner para crear gráficos ) a los PDF y son muchos los usuarios que han preguntado por esta funcionalidad en el foro.

He estudiado distintas alternativas y he probado la solución de jsPDF y he conseguido crear la página PDF con los gráficos creados con AnyChart.

Objetivo

Poder generar fichero PDF de cualquier página de la aplicación creada con PHPRunner y más concretamente, aquellas páginas DashBoard o no, que incluyan gráficos creados por la biblioteca de JavaScript AnyChart.

DEMO: https://fhumanes.com/map_anychart

Si te interesa este tema, sigue leyendo el artículo de este enlace.

Guía 48 – Utilización del API de Dashboard para recarga de paneles por Ajax

En la versión 10.8 de PHPRunner se incorporó este Api para los Dashboard que nos permite hacer, entre otras cosas, «reload» de los paneles desde JavaScript.

También, se potencia el uso de «snippet«, elemento que me gusta mucho porque me permite obtener el 100% de la potencia de AnyChart. Lo único «malo» de la solución es que este nuevo API de Dashborad no permite hacer el «reload» de los snippet, pero como veréis en este artículo, eso se puede resolver de forma sencilla.

Objetivo

Ofrecer un ejemplo sencillo de Dashboard con paneles dependientes y del tipo snippet, refrescando los datos por programación. Además, se muestra la posibilidad de disponer de un panel de búsqueda, para la introducción de los criterios de selección de los datos que deseamos consultar.

DEMO: https://fhumanes.com/dashboard_api/

Si te interesa este tema, accede a toda la información en este artículo.

Guía 47 – Control de un único Proceso en ejecución

Es frecuente que en las aplicaciones  existan procesos «pesados» y por lo tanto «lentos» que deseamos que los usuarios no los puedan ejecutar varias veces en un periodo corto de tiempo o que estos procesos se ejecuten de uno en uno, para no sobrecargar el servidor, y así seguir dando buen tiempo de respuesta al resto de procesos y usuarios.

También, nos puede surgir el mismo problema cuando queremos que un recurso de nuestro sistema sólo esté accedido por un único proceso, quedándose a la espera de ser liberado para el resto de procesos que requieran ese recurso.

Algunos ejemplos que pueden requerir esta gestión de proceso único, son:

  • La recarga o copia de información desde otro sistema (proceso batch masivo).
  • Copia de seguridad de datos o copia de respaldo de backup previos
  • Elaboración de informes muy pesados. Procesos de cierre o reconfiguración del sistema.
  • Utilización de un recurso del server (fichero, puerto serie, USB, certificado digital, etc.)
  • Etc.

Objetivo

Disponer de una lógica, en los proyectos desarrollados en PHPRunner, para controlar:

  • Que un proceso específico sólo este en ejecución una única vez y el resto de peticiones que concurran las rechace el sistema.
  • Que un proceso específico sólo este en ejecución una única vez y que el resto de peticiones concurrentes se encolen y se liberen según el orden de llegada (cola FIFO).

DEMO:  https://fhumanes.com/single_execution/

Si te interesa este tema y deseas obtener el código, cliquea aquí para acceder al artículo