09-28-2017 08:06 AM
Me gustaría que mis procesos solo los empezaran usuarios candidatos (o grupos) que yo mismo he seleccionado.
A los otros usuarios, me gustaría que no les dejara que los creara, y, si fuera posible, que ni les apareciera ese proceso.
Estoy usando Activiti 5.22, pero puedo usar activiti 6 en caso de que lo que pido no fuera posible.
09-28-2017 08:18 AM
No es posible sin customizaciónes, pero hay un proyecto que te permite hacer o que necesitas.
09-28-2017 08:25 AM
Hola!
Antetodo, gracias por su respuesta.
Llevo con Activiti muy poco tiempo, apenas 2 días, y no entiendo a que te refieres con "customizacion". Por otro lado, decirte que estoy usando Activiti, pero Activiti BPMN 2.0 Platform (vamos, la que es gratis). Ese proyecto que me dices, lo puedo usar con mi version de activiti?
Un saludo!
09-28-2017 08:35 AM
Ahora entendí. Usted está hablando del activiti standalone, y no del activiti con Alfresco.
Lo siento, pero en este caso, el proyecto no se aplica.
09-28-2017 11:59 AM
Hace un tiempo que se me presentó esta problemática (en el motor de Activiti dentro de Alfresco) y lo solucioné finalmente usando un Javascript en el startEvent, de esta forma, puedes usar un grupo determinado que si pueda lanzar ese proceso y si alguien intenta lanzarlo pero no pertenece a dicho grupo, el flujo se cancela a sí mismo. Seguramente haya formas más elegantes de hacerlo pero, en su día, esto me sirvió.
El Javascript (algo modificado) sería:
var check = false;
var userName = initiator.properties.userName;
var group = people.getGroup("GROUP_ConPrivilegiosParaIniciar");
var result = people.getMembers(group);
var hasUser = false;
for (var i=0; i < result.length; i++){
hasUser = result[i].properties["cm:userName"] == userName;
if (hasUser){
check = true;;
break;
}
}
if(!check){
var idInstancia = execution.getVariable("workflowinstanceid");
var curreentWF = workflow.getInstance(idInstancia);
curreentWF.cancel();
}
Explore our Alfresco products with the links below. Use labels to filter content by product module.