Causa: Solo se tiene un auditLog para la seccion ADMIN
SolucióSe utiliza el metodo auditLog(), misma que es utilizado en la seccion ADMIN, mas especificamente se crea un auditlog para la seccion "Menu Contextual que posee un TAREA" del Diseñr
Causa: Solo se tiene un auditLog para la seccion ADMIN
SolucióSe utiliza el metodo auditLog(), misma que es utilizado en la seccion ADMIN, mas especificamente se crea un auditlog para la seccion "Menu Contextual que posee un TAREA" del Diseñr
Causa: Solo se tiene un auditLog para la seccion ADMIN.
SolucióSe utiliza el metodo auditLog(), misma que es utilizado en la seccion ADMIN, mas especificamente se crea un auditlog para la seccion "Routing Rules" del Diseñr.
Causa. Solo se tiene un auditLog para la seccion ADMIN.
SolucióSe utiliza el metodo auditLog(), misma que es utilizado en la seccion ADMIN, mas especificamente se crea un auditlog para la seccion "Routing Rules" del Diseñr.
Causa. Solo se tiene un auditLog para la seccion ADMIN.
SolucióSe utiliza el metodo auditLog(), misma que es utilizado en la seccion ADMIN, mas especificamente se crea un auditlog para la seccion "Routing Rules" del Diseñr.
Causa. Este tipo de error es generado por lo general cuando hacemos inicio de sesiones dobles desde un mismo navegador(Chrome, Firefox or IE) a un mismo server. Es decir en este caso asumo que se tenia abierto processamker(admin), y paralelamente en otro tab se tenia abierto Tracker. Lo cual acasiono que de alguna u otra manera se pisaran las sesiones.
SolucióNo abrir dos sesiones haciendo llamada a un mismo server. Ademas si adiciono una nueva validacion.
if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] ) ) {
G::header( 'location: login' );
die;
}
Causa. Este tipo de error es generado por lo general cuando hacemos inicio de sesiones dobles desde un mismo
navegador(Chrome, Firefox or IE) a un mismo server. Es decir en este caso asumo que se tenia abierto processamker(admin), y paralelamente
en otro tab se tenia abierto Tracker. Lo cual acasiono que de alguna u otra manera se pisaran las sesiones.
SolucióNo abrir dos sesiones haciendo llamada a un mismo server. Ademas si adiciono una nueva validacion.
if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] ) ) {
G::header( 'location: login' );
}
Causa. Esto fue debido a los siguientes motivos.
Inicialmente si funcionaba... se realizo un leve cambio parecida a la siguiente
instrucció
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
Solució Lo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
Causa. Esto fue debido a los siguientes motivos.
Inicialmente si funcionaba... se realizo un leve cambio parecida a la siguiente
instrucció
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
Solució Lo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
16755: Textarea resizing has been disabled in 2.8
Se agrego una nueva propiedad en el formulario de Textarea que permite si el campo sea de tamañariable o no.
PM-1445, No se muestra el calendario que esta usando un usuario. PM-1131, actualizacion de etiquetas en trigger wizard
PM-1445, se agrego el parametro CALENDAR_NAME en usersAjax.php y se recibio el mismo en users.js
- 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"
Issue:
16332: Grids with same name
Cause:
No se valida si existe un Grid con el mismo nombre
Solution:
Al "Copy/Import DynaForm" si este tiene incrustado un Grid y el titulo del mismo
ya existe en el proceso; al titulo del Grid se le concatena entre parentesis el titulo
del nuevo DynaForm
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