Issue:
Unpause Time no funciona, el caso se queda en "Paused" a menos que se continue de forma manual
Cause:
No se setea de manera correcta la fecha al ejecutar el cron
Solution:
Se setea de manera correcta la fecha al ejecutar el cron
PM-3690 "Unpause Time no funciona, el caso se queda en 'Paused'..." SOLVED
Issue:
Unpause Time no funciona, el caso se queda en "Paused" a menos que se continue de forma manual
Cause:
No se setea de manera correcta la fecha al ejecutar el cron
Solution:
Se setea de manera correcta la fecha al ejecutar el cron
Issue:
0018218: Self-service value based not accepting USER ID
Cause:
Nuevo requerimiento de funciones
Solution:
La asignacion de tipo "Self Service Value Based Assignment" ahora funciona de la siguiente manera:
- Si se desea definir a un grupo entonces se tendra el siguiente caso:
@@SYS_GROUP_TO_BE_ASSIGNED = "00000000000000000000000groupuid1";
- Si se desea definir a usuarios entonces se tendra el siguiente caso:
@@SYS_GROUP_TO_BE_ASSIGNED = array("000000000000000000000000useruid1", "000000000000000000000000useruid2");
- Por lo que el engine reconocera lo siguiente:
* A un array como un array de UIDs de usuarios
* A un string como un UID de un grupo
Issue:
0017509: El caso que se derivo a un grupo no aparece en la bandeja "Sin asignar"
Cause:
No se estan usando las variables del caso del sub-proceso para el registro en la tabla "APP_ASSIGN_SELF_SERVICE_VALUE"
Solution:
Se define el uso de las variables del caso del sub-proceso
Issue:
- PM-3083: La funcionalidad cambiar tipo de gateway desde el diseñr no funciona
- PM-3046: DesignerBPMN>Conexiones Gateway to Gateway muestran error al ejecutar un caso
Cause:
En PM-3083 y PM-3046 los gateway-joins (converging) PARALLEL e INCLUSIVE no son actualizados
correctamente en Back-end
Solution:
- Se define el gateway de tipo converging para PARALLEL e INCLUSIVE cuando
uno o mas flows ingresan al geteway, esto en Back-end
- Se mejoro la verificacion de hilos abiertos al derivar un caso, esto en Running-case
- Se a implementado el Timer-Event CRON, el cual se ejecuta con el siguiente comando:
/path/to/processmaker/workflow/engine/bin$ php -f timereventcron.php +wMyWorkspace
- Se a implementado el registro de logs para el Timer-Event CRON
17657: Issue while searching using case id in - Process Supervisor -> Review
Causa: al uid de la tarea de le concatena un caracter demas
Solucion: se valido el manejo de uid corectos
- Se han implementado los siguientes End-points:
GET /api/1.0/{workspace}/project/{prj_uid}/timer-events
GET /api/1.0/{workspace}/project/{prj_uid}/timer-event/{tmrevn_uid}
GET /api/1.0/{workspace}/project/{prj_uid}/timer-event/event/{evn_uid}
POST /api/1.0/{workspace}/project/{prj_uid}/timer-event
PUT /api/1.0/{workspace}/project/{prj_uid}/timer-event/{tmrevn_uid}
DELETE /api/1.0/{workspace}/project/{prj_uid}/timer-event/{tmrevn_uid}
- Se han implementado la funcionalidad y los metodos necesarios para este nuevo elemento
en el modulo "BPMN-DESIGNER Backend"
- Se han agregado las validaciones necesarias para filtrar los nuevos tipos de tasks en el
listado del "New case"
- Se han agregado los metodos necesarios para este nuevo elemento en los modulos Export and Import
- Se han agregado los metodos necesarios para este nuevo elemento en el modulo "Delete process"
- Se a implementado la funcionalidad para este nuevo elemento en el modulo "Running case"
> ProcessMaker-MA "Script Task Definition (endpoints)"
- Se han implementado los siguientes Endpoints:
GET /api/1.0/{workspace}/project/{prj_uid}/script-tasks
GET /api/1.0/{workspace}/project/{prj_uid}/script-task/{scrtas_uid}
GET /api/1.0/{workspace}/project/{prj_uid}/script-task/activity/{act_uid}
POST /api/1.0/{workspace}/project/{prj_uid}/script-task
PUT /api/1.0/{workspace}/project/{prj_uid}/script-task/{scrtas_uid}
DELETE /api/1.0/{workspace}/project/{prj_uid}/script-task/{scrtas_uid}
- Se agrego la funcionalidad necesaria en el DESIGNER
- Exportar/Importar, se incluyen los registros de la tabla SCRIPT_TASK
- Eliminar Projecto, se eliminan los registros de la tabla SCRIPT_TASK
- Runing case
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
PM-1150 El trigger PMF Delete Case despliega el error Fatal error: Call to a member function toArray() on a non-object in /opt/processmaker280/workflow/engine/classes/class.case.php on line 949
El trigger PMF Delete Case despliega el error Fatal error: Call to a member function toArray() on a non-object in /opt/processmaker280/workflow/engine/classes/class.case.php on
Issue:
Cuando llega un caso a Inbox este muestra el titulo del caso anterior en la lista y no del caso actual
Cause:
No se esta actualizando el titulo del caso al momento de derivar en las tablas de los nuevos listados
Solution:
Se actualiza el titulo del caso en las tablas de los nuevos listados
> 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