$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
SolucióLo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
Causa. Esto fue debido a los siguientes motivos.
Inicialmente si funcionaba... se realizo un leve cambio parecida a la siguiente
instrucció
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
Solució Lo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
Causa. Esto fue debido a los siguientes motivos.
Inicialmente si funcionaba... se realizo un leve cambio parecida a la siguiente
instrucció
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
Solució Lo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
Issue:
Analisis de los resultados de escaneo de las funciones en ProcessMaker. Plugin/trigger code scanner.
Cause:
Nueva solicitud de funciones
Solution:
Se ha implementado esta nueva funcionalidad, que consta de lo siguiente:
- Escaneo de codigo al importar un plugin (no se aplica a plugins enterprise)
- Escaneo de codigo al habilitar un plugin (si el plugin ya se encuentra fisicamente en el directorio de los plugins)
- Escaneo de codigo al importar un proceso
- Escaneo de codigo al crear/modificar codigo de un trigger
- Escaneo de codigo al ejecutar un caso que tenga seteados triggers en sus steps (si el trigger tiene codigo
no deseado, no se ejecuta el trigger)
- Se ha agregado la opcion "check-plugin-disabled-code" al comando "./gulliver", el mismo muestra
informacion sobre los plugins con codigo no deseado.
Ej: $ ./gulliver check-plugin-disabled-code [enterprise-plugin|custom-plugin|all|<plugin-name>]
- Se ha agregado la opcion "check-workspace-disabled-code" al comando "./processmaker", el mismo muestra
informacion sobre los workspaces con codigo no deseado en sus triggers.
Ej: $ ./processmaker check-workspace-disabled-code <myWorkspace>
- Por defecto ProcessMaker no realiza el escaneo de codigo, si se desea escanear codigo no deseado, se
debera definir el atributo "enable_blacklist = 1" en el archivo "env.ini", este atributo no se aplica
a las nuevas opciones creadas para los comandos "./gulliver" y "./processmaker"
- Para una configuracion personalizada de codigo no deseado (lista negra), se pueden definir las mismas en
el archivo "path/to/processmaker/workflow/engine/config/blacklist.ini" (si no existe el
archivo se puede crear), o tambien en el atributo "disable_functions" esto en el archivo "php.ini"
Ejemplo de "blacklist.ini":
;Classes
;=======
DashletInterface
;Functions
;=========
eval
exec
;date
;echo
strlen
Code Issue:
La descripcióe pmtables en Audit Log es muy generica.
Solution:
Se coloca el caracter de separacion "," para comprender mejor los mensajes.
Code Issue:
La descripcion los logs de "Clear Cache" estan siendo mostrados sin ningun caracter de separacion
Solution:
Se coloca el caracter de separacion "," para comprender mejor los mensajes.
- La extension mcrypt de PHP ya se convirtio en requerida para PM
- Problema resuelto, en la instalacion de processmaker en el paso 1 se agrega un nuevo label "Mcrypt Support" con su respectivo
mensage. En ADMIN>Settings>Check PM requirements, se muestra el nuevo label al igual que lo anterior.
- Logs Cron: Por defecto deberímostrar seleccionado el workspace actual
- Problema resuelto, en ADMIN>Logs>Cron, se quita dropdown Workspace y de la columna el Workspace, lo que se muestra en
el listado de logs es el workspace con el que se inicia session.
Disponible para la version 2.8 de ProcessMaker.
Issue:
El script cron.php puede ser ejecutado varias veces
Cause:
El archivo bandera "cron" trabaja bien en Windows y no asi en Linux
Solution:
- Se ha agregado nuevas validaciones para entornos Linux
Ejemplo: ps -fea | grep cron.php | grep -v grep
- Se ha mejorado el codigo