> Se han implementado los metodos para: Export, Import y Delete (delete Process) de este nuevo "Objeto", asi tambien
se ha agregado validaciones en el listados en el casesList.
- Se han implementado los siguientes Endpoints:
GET /api/1.0/{workspace}/project/{prj_uid}/web-entry-events
GET /api/1.0/{workspace}/project/{prj_uid}/web-entry-event/{wee_uid}
GET /api/1.0/{workspace}/project/{prj_uid}/web-entry-event/event/{evn_uid}
POST /api/1.0/{workspace}/project/{prj_uid}/web-entry-event
PUT /api/1.0/{workspace}/project/{prj_uid}/web-entry-event/{wee_uid}
DELETE /api/1.0/{workspace}/project/{prj_uid}/web-entry-event/{wee_uid}
- Se han implementado los metodos necesarios para el Export, Import y
Delete (delete Process) de este nuevo "Objeto"
- Se ha solucionado bugs al importar un Projecto con "Gateway to Gateway"
Code Issue:
PMFPauseCase doesn't pause a case
Solution:
El trigger que se prentende ejecutar esta mal planteado, cuando se tiene un trigger en "After Routing" de una tarea el
INDEX se debe incrementar puesto que al derivar la tarea el INDEX tiene otro valor se sugiere los siguientes ejemplos:
1.-
@@FUTURE_DATE = date('Y-m-d', strtotime("+4 days"));
@@RET_VAL = PMFPauseCase(@@APPLICATION, @%INDEX+1, @@USER_LOGGED, @@FUTURE_DATE);
2.-
$delIndex = @%INDEX;
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX);
$criteria->add(AppDelegationPeer::APP_UID, @@APPLICATION, Criteria::EQUAL);
$criteria->add(AppDelegationPeer::DEL_LAST_INDEX, 1, Criteria::EQUAL);
$rsCriteria = AppDelegationPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if($rsCriteria->next()){
$row = $rsCriteria->getRow();
$delIndex = $row["DEL_INDEX"];
}
@@FUTURE_DATE = date('Y-m-d', strtotime("+4 days"));
@@RET_VAL = PMFPauseCase(@@APPLICATION, $delIndex, @@USER_LOGGED, @@FUTURE_DATE);
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
Issue:
En "Cases History" no se reflejan las variables generadas por los triggers
asignados al Task (esto en Task>Steps>Triggers>AssignTask)
Cause:
Nuevo requerimiento de funciones
Solution:
- Se ha implementado esta nueva funcionalidad
- Las variables generadas en los triggers que se setean en "Task>Steps>Triggers"
para DynaForms, InputDocuments and OutputDocuments ahora son registrados en la
tabla APP_HISTORY
Issue:
Al definir un ProcessPermission (PAUSED) ya sea para un Usuario o Grupo
no se aplica en el CasesList (el mensaje de alerta de permisos es desplegado)
Cause:
Query mal definido (para Usuarios y Grupos)
Solution:
Se ha mejorado el query involucrado, se agrego variables y validaciones faltantes (DEL_INDEX)
Issue:
El CasesList es lento cuando existen casos con tipo de asignacion "Self Service Value Based Assignment"
Cause:
Para todos los casos se esta verificando si su asignacion es de tipo "Self Service Value Based Assignment"
Solution:
- Se ha creado una nueva tabla "APP_ASSIGN_SELF_SERVICE_VALUE", en la misma se registraran los casos
con asignacion "Self Service Value Based Assignment"
- Se ha agregado la opcion "database-generate-self-service-by-value" al comando "./processmaker", para poder
generar los registros de la nueva tabla.
Ej: $ ./processmaker database-generate-self-service-by-value myWorkspace
- Feature request - Limit input document maximum size
- Problema resuelto, al crear un nuevo Input Document se ha adicionado un nuevo campo "Maximum file size" y un dropdown
que determina la unidad de medida en "KB y MB", esto permite definir el limite del tamañel archivo a anexar.
Cuando se ejectua el caso al hacer click en "Attach", se muestra el tamañaximo que se puede adjuntar el archivo si es
mayor al limite se mostrara un mensaje; asi tambien si se tiene un file asocioado a un input document al igual que lo
anterior se mostrara un mensaje.
- Feature request - Limit input document maximum size
- Problema resuelto, al crear un nuevo Input Document se ha adicionado un nuevo campo "Maximum file size" y un dropdown
que determina la unidad de medida en "KB y MB", esto permite definir el limite del tamañel archivo a anexar.
Cuando se ejectua el caso al hacer click en "Attach", se muestra el tamañaximo que se puede adjuntar el archivo si es
mayor al limite se mostrara un mensaje; asi tambien si se tiene un file asocioado a un input document al igual que lo
anterior se mostrara un mensaje.
- Unable to send notification when case is un paused
- Problema resuelto, se agrega un nuevo dropdown en Edit Process cuyo label es"Execute a trigger when a case is unpaused" y
se agrega un nuevo campo "PRO_TRI_UNPAUSED" en la tabla "PROCESS". Cuando un caso esta en "Paused" y se quiere reanudar
el caso aplicando "unpaused" se enviara la notificacion previa configuracion en Edit Process.
Disponible para la version 2.8 de ProcessMaker.
- Email Notification from Subprocess.
- Problema resuelto, cuando se tiene un subproceso que tiene notificacion en la ultima tarea y este debe retornar al proceso
principal, entonces la notificacion se enviara al usuario del proceso principal.
- La funcion "LoadCase" de la clase "Cases" se usaba N veces y provocaba la lentitud
- Se optimizo el query para que no sea necesario usar la funcion "LoadCase" varias veces