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
- Perfil por creador de proceso.
- Problema resuelto, en el dynaform Edit Process se ha adicionado un dropdown que determina que tipo de proceso se crea
con dos opciones Public y Private. En la lista de procesos se agrega una nueva columna Type Process que determina
el tipo de proceso, en el listado se muestra todo los procesos publicos y privados creados por un mismo usuario a si
tambien se muestrara los procesos publicos creados por otros usuarios. Al importar el proceso este se importa como publico.
When an already created process is imported with the 'Create a completely new process..' option, the inputs asociated in the dynaforms are not the input created for this new process, this new (copy) process still has associated the input of the original process (same UID), this because the uid of the new input is never replaced in the new process's dynaform xml file.
So it was created a new field in the data object (the data that has all the information about the new process) where is all the old inputs uid and the new ones. Then using this object this old uids are replaced with the new inputs uids.
When an already created process is imported with the 'Create a completely new process..' option, the inputs asociated in the dynaforms are not the input created for this new process, this new (copy) process still has associated the input of the original process (same UID), this because the uid of the new input is never replaced in the new process's dynaform xml file.
So it was created a new field in the data object (the data that has all the information about the new process) where is all the old inputs uid and the new ones. Then using this object this old uids are replaced with the new inputs uids.
- Al importar un proceso y sobreescribir todo no se borraban los fieldsConditions.
- se añadio la funcion para borrarlos in el file class.processes.php.
- Los grupos en "Process Supervisors" no son exportados e importados
- Se completo los metodos necesarios para la exportacion e importacion para los
grupos en "Process Supervisors"
- Se agrego validacion para determinar si el indice existe en la variable "$map"
- Se descomento la linea "createProcessRow", se hizo pruebas y se evidencio
que solo la importacion con la extension "pm" hace la llamada al metodo,
la importacion con la extension "pmx" no hacen la llamada al metodo.
Esta linea es necesaria ya que se requiere que el metodo ejecute esa linea
- Se an realizado todas las modificaciones requeridas para lograr la
importacion de un archivo "pmx", tomando en cuenta la generacion de
nuevos UIDs, los mismos que deberian ser reflejados en las
tablas "workflow" y en los files (archivos xml de los DynaForms)
- Se a completado la importacion de las tablas "workflow"
- Se a completado la importacion de los datos del proceso y tareas
Descripcion: Se tiene configurado en todas las tareas del proceso el envio de notificaciones con ProcessMaker donde el "tipo de contenido" es una plantilla. Despues de actualizar el proceso esto se desconfigura y se setean los valores seleccionados.
Solucion: Cuando se realiza la exportacion de un proceso, ahora se obtiene la informacion extra de la configuracion en las tareas. Posteriormente tambien se crea los registros relacionados a la configuracion extra de las tareas a partir del archivo pm generado en la exportacion.
Resuelto para la version PM 2.5.2
Descripcion: Se tiene configurado en todas las tareas del proceso el envio de notificaciones con ProcessMaker donde el "tipo de contenido" es una plantilla. Despues de actualizar el proceso esto se desconfigura y se setean los valores seleccionados.
Solucion: Cuando se realiza la exportacion de un proceso, ahora se obtiene la informacion extra de la configuracion en las tareas. Posteriormente tambien se crea los registros relacionados a la configuracion extra de las tareas a partir del archivo pm generado en la exportacion.
Resuelto para la version PM 2.5.2
- When "Assignment rules" is set to "Self service", do not send
notifications
- Problem solved, the settings made in "Notifications" on a task, is
used to send notifications
* Available from version 2.0.44
- Al revisar la forma de exportacion se vio que para poder guardar un archivo el maximo del path mas el nombre del archivo no deberia de sobrepasar los 256 caracteres.
- Se realizo la validacion para truncar el nombre del archivo cuando se llegue al limite, para ambos archivos .pm y .xpdl.
- Se estaba truncando el nombre del proceso a 30 caracteres
- Ahora se esta truncando a 245 caracteres, el maximo comun para nombres de archivo es de 255,
los 10 caracteres restantes para la extension y la version
- Se agrando un poco el panel donde muestra los links de los archivos .pm y .xpdl
- that was happening for imported process.
on the workspace where it has been imported the process category didn't exists
- It is fixed now, the process category is being imported with the process,..
so, when the process is being imported if the process category doesn't exist, it is created.