Obtener estadisticas de uso y estado de workflows.

cancel
Showing results for 
Search instead for 
Did you mean: 
cloud
Active Member

Obtener estadisticas de uso y estado de workflows.

Buenas. 
Tengo desarrollados varios workflows que serán ejecutados por distintos usuarios y tendran distintos estados, me gustaría conocer si existe alguna forma de poder visualizar "a modo de supervisión" en que estado se encuentran los distintos workflows que hay en marcha, conocer cuantos workflows se han ejecutado, cuando se inició y cuando finalizo. ¿es posible?

9 Replies
angelborroy
Alfresco Employee

Re: Obtener estadisticas de uso y estado de workflows.

Si utilizas Alfresco Community, puedes hacerlo a través de la Consola de Workflow:

Admin Console: Workflow Console | Alfresco Documentation 

Si utilizas Alfresco Enterprise, puedes hacerlo a través de la Consola de Activiti:

Launching the Admin Console | Alfresco Documentation 

Hyland Developer Evangelist
cloud
Active Member

Re: Obtener estadisticas de uso y estado de workflows.

Gracias Angel. Es en la Community, pero el problema es que a un usuario final no le puedo poner eso de la consola, porque no sabría usarlo. ¿Alguna alternativa (plugin, dashlet o modelo de datos con el que poder trabajar para montarle una pantalla con lo que necesita?

angelborroy
Alfresco Employee

Re: Obtener estadisticas de uso y estado de workflows.

No conozco ninguna alternativa en Community. 

Hay alguno que dice que montó con éxito la Consola Web de Activiti en Community, pero no es algo que haya probado: How to install Activiti Explorer with Alfresco Community? 

Hyland Developer Evangelist
carlos11
Member II

Re: Obtener estadisticas de uso y estado de workflows.

Buenas tardes

Cloud , oye crees que me puedas apoyar diciéndome  cómo puedo  crear workflows en alfresco 5.1

Gracias

angelborroy
Alfresco Employee

Re: Obtener estadisticas de uso y estado de workflows.

El mejor tutorial para crear workflows: https://ecmarchitect.com/alfresco-developer-series-tutorials/workflow/tutorial/tutorial.html

Hyland Developer Evangelist
douglascrp
Advanced II
joseantonionava
Established Member

Re: Obtener estadisticas de uso y estado de workflows.

Hola Cloud Consultas,

puedes montar BI con A.A.A.R.

No es rápido ni quizá fácil de montar pero una vez montado te dará, entre otras informaciones, la que necesitas.

- Extraer definiciones e instancias, así como analizarlas.

- Saber sobre que documentos  (si se instalan los servicios Alfresco para A.A.A.R.).

- Configurar permisos de visualización de informes en el Dashlet para Share.

- Además de crearte tus propios informes custom a poco que manejes Pentaho Report Designer y Sparkl.

Toda la info la tienes aquí:

A.A.A.R. - Alfresco Audit Analysis and Reporting - F. Corti

Espero te ayude,

un saludo.

cloud
Active Member

Re: Obtener estadisticas de uso y estado de workflows.

La Opción de AAAR que en su versión actualizada es Alflitycs ya la he probado y es demasiado monstruo para lo que necesitamos...

Básicamente, la idea es mostrar en el la pagina principal del Share, un dashlet donde a golpe de vista se vean los worfklows iniciado, fecha inicio, fecha fin y estado... Me parece moscas a cañonazos lo de AAAR (aunque es una maravilla).

angelborroy
Alfresco Employee

Re: Obtener estadisticas de uso y estado de workflows.

No conozco nada ya hecho que puedas usar. Pero debería ser relativamente sencillo construirlo.

Repositorio

Usa el WorkflowService para recuperar las tareas con sus propiedades en un WebScript.

// Incluye los filtros que necesites
WorkflowTaskQuery workflowTaskQuery = new WorkflowTaskQuery();
workflowTaskQuery.setActorId(userId);
workflowTaskQuery.setActive(null);
workflowTaskQuery.setTaskState(null);
workflowTaskQuery.setOrderBy(new WorkflowTaskQuery.OrderBy[]
    { WorkflowTaskQuery.OrderBy.TaskCreated_Desc });
    
List<WorkflowTask> taskList = workflowService.queryTasks(workflowTaskQuery, true);
    
JSONObject jsonList = new JSONObject();
JSONArray jsonTask = new JSONArray();

for (WorkflowTask workflowTask : taskList) {
   // Genera tu listado con workflowTask.getProperties()
   info = new JSONObject();
   info.put("id", workflowTask.getId());
   info.put("name", workflowTask.getProperties().get(ContentModel.PROP_NAME);
   jsonTask.put(info); 
}
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
jsonList.put("entries", jsonTask);‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Share

Los dashlets se construyen con FTL, así que te bastaría con un JS para preparar los datos y después pintarlos como necesites.

Controlador JS

var connector = remote.connect("alfresco");

// Aquí iría la URL con la que hayas declarado el WebScript
var result = connector.get("/tasks/listing");

// Esta forma de convertir el JSON a un Objeto JavaScript
// no le gusta a Axel Faust, pero funciona igual ;-)
model.entries = eval('(' + result + ')');
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Página FTL

<table width="100%">
<thead>
  <tr>
    <th>ID</td>
    <th>Nombre</td>
  </tr>
</thead>         
<tbody>    
  <#list entries.entries as entry>
    <tr>
      <td>${entry.id}</td>
      <td>${entry.name}</td>
    </tr>
  </#list>
</tbody>              
</table>
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Espero que te sea útil la información.

Hyland Developer Evangelist