Issue:
(Code Scanner) Se debe poder configurar enable_blacklist = 1 en el env.ini de cada workspace
Cause:
Nuevo requerimiento de funciones
Solution:
Se a implementado el "Code Scanner" por workspace esto con el file "/path/to/processmaker/shared/sites/myWorkspace/env.ini",
estableciendo la directiva "enable_blacklist = 1". Caso contrario se hara uso del file "/path/to/processmaker/workflow/engine/config/env.ini"
Note:
Se deberan revisar los siguientes modulos:
- 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>
Issue:
Adicionar los siguientes features la posibilidad de seleccionarse en la licencia (features):
- Code Scanner
- Multiple Email Servers
- Mobile Fields
Cause:
Nuevo validacion de licencia para features
Solution:
Se agrego validacion de licencia para los features especificados
Al crear el PMFEvaluateFunction los parametros dela funcion no esta correctamente establecidos
solucion para el diseñr clasico, en el nuevo no se presenta el problema
Causa. Se debio a que en versiones anteriores si es posible enviar parametros de la siguiente manera.
@@res = PMFGetCaseNotes (@@APPLICATION,array,@@USER_LOGGED); notese que el segundo parametro no se especifica el tipo
aunque se asume que es string(PHP5.3)
En versiones con PHP5.4 no es soportado ya que deberia especificarse el tipo, de la siguiente manera
@@res = PMFGetCaseNotes (@@APPLICATION,'array',@@USER_LOGGED);
SolucióBajo esta sentido se hace ese leve cambio considerando este caso de PHP, y asi apreciandose un correcto funcionamiento.
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