Issue:
La bandeja participated no actualiza la columna "Case" cuando se deriva el caso a otro usuario
Cause:
No se actualiza los datos en la tabla LIST_PARTICIPATED_LAST cuando el caso es creado y luego derivado
Solution:
Se actualiza los datos en la tabla LIST_PARTICIPATED_LAST cuando el caso es creado y luego derivado
Issue:
0018557 No se puede reclamar casos de la bandeja "Unassigned"
Cause:
El valor de la variable tambien puede ser un usuario
Solution:
La asignacion de tipo "Self Service Value Based Assignment" ahora funciona de la siguiente manera (ejemplo):
- Si se desea definir a un grupo entonces se tendra el siguiente caso:
@@SYS_GROUP_TO_BE_ASSIGNED = "00000000000000000000000groupuid1";
- Si se desea definir a un usuario entonces se tendra el siguiente caso:
@@SYS_USER_TO_BE_ASSIGNED = "00000000000000000000000useruid1";
- Si se desea definir a usuarios entonces se tendra el siguiente caso:
@@SYS_USER_TO_BE_ASSIGNED = array("000000000000000000000000useruid1", "000000000000000000000000useruid2");
- Por lo que el engine reconocera lo siguiente:
* A un string, como un UID de un grupo
* A un string, como un UID de un usuario
* A un array, como un array de UIDs de solo usuarios
Issue:
Uso de interface lenta (supervisores) cuando se tienen varios usuarios (40000)
Cause:
No se realizo de manera correcta el paginado de registros
Solution:
> Se a implementado los siguientes end-points:
GET /api/1.0/{workspace}/project/{prj_uid}/process-supervisors/paged
GET /api/1.0/{workspace}/project/{prj_uid}/available-process-supervisors/paged
Estos end-points aceptan los siguientes parametros:
/paged?filter={filter}&start={start}&limit={limit}&type={type}
/paged?lfilter={lfilter}&start={start}&limit={limit}&type={type}
/paged?rfilter={rfilter}&start={start}&limit={limit}&type={type}
Donde:
filter: Representa la busqueda de registros que contienen este valor
lfilter: Representa la busqueda de registros que empiezan con este valor
rfilter: Representa la busqueda de registros que terminan con este valor
type: Acepta los siguentes valores: "user", "group"
Ejemplo:
GET /api/1.0/{workspace}/project/{prj_uid}/process-supervisors/paged
<<<<< 200
{
"total": 2,
"start": 0,
"limit": 0,
"filter": "",
"data": [
{
"pu_uid": "35013609256044fb96b3ed9043434423",
"pu_type": "GROUP_SUPERVISOR",
"grp_uid": "60593768854492f8fa43aa2064326562",
"grp_name": "GROUP1"
},
{
"pu_uid": "18118183155f2ecac3a1895011300509",
"pu_type": "SUPERVISOR",
"usr_uid": "36101505055f202d172e961090822011",
"usr_firstname": "user4",
"usr_lastname": "user4",
"usr_username": "user4",
"usr_email": "xxx@processmaker.com"
}
]
}
Note:
Los Databases "rbac" y "workflow" deben estar unificados en un solo Database (IMPORTANTE)
optimizacion de query
cambio de metodo en criteria builder
validacion SELF_SERVICE_VALUE_BASED
se considera tambien de SELF SERVICE VALUE BASED a SELF SERVICE
Issue:
Uso de interface lenta (assignment rules) cuando se tienen varios usuarios (40000)
Cause:
No se realizo de manera correcta el paginado de registros
Solution:
> Se a implementado los siguientes end-points:
GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee/paged
GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/available-assignee/paged
GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/adhoc-assignee/paged
GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/adhoc-available-assignee/paged
Estos end-points aceptan los siguientes parametros:
/paged?filter={filter}&start={start}&limit={limit}&type={type}
/paged?lfilter={lfilter}&start={start}&limit={limit}&type={type}
/paged?rfilter={rfilter}&start={start}&limit={limit}&type={type}
Donde:
filter: Representa la busqueda de registros que contienen este valor
lfilter: Representa la busqueda de registros que empiezan con este valor
rfilter: Representa la busqueda de registros que terminan con este valor
type: Acepta los siguentes valores: "user", "group"
Ejemplo:
GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee/paged?start=0&limit=3
<<<<< 200
{
"total": 15,
"start": 0,
"limit": 3,
"filter": "",
"data": [
{
"aas_uid": "60593768854492f8fa43aa2064326562",
"aas_name": "GROUP1 (2 Users)",
"aas_lastname": "",
"aas_username": "",
"aas_type": "group"
},
{
"aas_uid": "11886228656016c9329c898096916123",
"aas_name": "GROUP2 (1 User)",
"aas_lastname": "",
"aas_username": "",
"aas_type": "group"
},
{
"aas_uid": "52242914255f202805bd552031573543",
"aas_name": "user1",
"aas_lastname": "user1",
"aas_username": "user1",
"aas_type": "user"
}
]
}
> Se a mejorado los siguientes end-points:
GET /api/1.0/{workspace}/users?filter={filter}&start={start}&limit={limit}
GET /api/1.0/{workspace}/users?lfilter={lfilter}&start={start}&limit={limit}
GET /api/1.0/{workspace}/users?rfilter={rfilter}&start={start}&limit={limit}
GET /api/1.0/{workspace}/groups?filter={filter}&start={start}&limit={limit}
GET /api/1.0/{workspace}/groups?lfilter={lfilter}&start={start}&limit={limit}
GET /api/1.0/{workspace}/groups?rfilter={rfilter}&start={start}&limit={limit}
0017474: El email FROM no respeta la configuración "Email configuration"(adicionar una nueva opcion en el plugin "actions by email")
Conflicts:
workflow/engine/classes/model/ListInbox.php
Issue:
Prepare integration of new Valeo simplified designer in process list
Cause:
Nuevo requerimiento de funciones
Solution:
> Se a implementado "DESIGNER: New options in menu" para los plugins; para lo cual se define
en el archivo principal del plugin, lo siguiente (ejemplo):
public function setup()
{ ...
$this->registerDesignerMenu(PATH_PLUGINS . "DemoDesignerMenu/classes/DesignerMenuDemoDesignerMenu.php");
...
}
El archivo "DesignerMenuDemoDesignerMenu.php" es una clase donde se define las nuevas opciones
para el "Menu New" y "Context Menu"
> Se a implementado "DESIGNER: Edit process" para los plugins; en el listado de procesos (esto en DESIGNER)
al hacer doble-click en un proceso, se inicia el modulo para la edicion del proceso, esto tambien
puede ser customizado en el plugin, para lo cual se debera realizar lo siguiente:
- Cambiar en la Base de Datos el valor del campo PROCESS.PRO_TYPE por un nuevo tipo:
* Ejemplo: PRO_TYPE = 'CPF_STANDARD_TPL'
- Registrar un archivo JavaScript para el plugin, esto se define en el archivo principal del
plugin (ejemplo):
public function setup()
{ ...
$this->registerJavascript("processes/main", "DemoDesignerMenu/MyJavaScript.js");
...
}
- En el archivo "MyJavaScript.js" se debe definir la siguiente funcion:
function CPF_STANDARD_TPLDesignerGridRowDblClick(...)
{ ...
}
- Ejemplos de "PROCESS.PRO_TYPE" y la funcion "DesignerGridRowDblClick":
* Ejemplo: PRO_TYPE = 'CPF-STANDARD-TPL' => function CPF_STANDARD_TPLDesignerGridRowDblClick(...)
* Ejemplo: PRO_TYPE = 'CPF STANDARD TPL' => function CPF_STANDARD_TPLDesignerGridRowDblClick(...)
> Se adjunta el plugin "DemoDesignerMenu-1.tar" como ejmplo