cancel
Showing results for 
Search instead for 
Did you mean: 

ciclo de vida

ijr87
Champ in-the-making
Champ in-the-making
buenas, tengo creado un documento con un metadato llamado ciclo de vida. Este por defecto esta como "borrador", lo que me gustaría hacer es que al cambiar esta propiedad del documento a "definitivo" y que cuando esto sucediera que implicara un cambio en los permisos de los usuarios sobre el documento… alguien tiene alguna idea de como hacerlo? puede ser que un workflow sea la solución?
12 REPLIES 12

ijr87
Champ in-the-making
Champ in-the-making
primero gracias por vuestros consejos, al final me he decidido a hacer una regla que haga saltar un script cuando una propiedad en concreto del documento sea modificada, este script modificará los permisos del documento..
elaborando el script me han surgido varias dudas:
- tengo dos partes, una para mirar si la propiedad ha sido modificada y otra para cambiar los permisos y no se como tengo que juntar las dos…
- el parámetro (bmp:assignee) para que sirve?
- si tengo varios documentos en el mismo espacio puede surgir algún problema? o cuando cree la regla puedo decir a que documento se aplica?
-donde se supone que tengo que guardar el js?

aquí os dejo el código, cualquier otro error os agradecería que me lo comentarais

if((document.properties["ev:estat"]=="definitiu"{
   var.workflow=actions.create("start-workflow");
   workflow.parameters.workflowName = "jbpm$wf:docDefinitiu";
   workflow.parameters["bmp:workflowDescription"] = document.name;
   workflow.parameters["bmp:assignee"] =
   document.save();
   var futureDate = new Date();
   futureDate.setDate(futureDate.getDate() +7);
   workflow.parameters["bmp:workflowDueDate"] = futureDate;
   workflow.execute(document);
   }else{
   }

if(document.hasPermission("ChangePermissions")){
   document.setInheritsPermissions(false);
   var permissions = document.permissions;
   var acl=[];
   for(var i=0; i<permissions.length; i++)
   {
      acl = permissions[i].split(";");
      var perm = acl[2];
      var grp = acl[1];
      document.removePermission(perm,grp);
   }
   document.setPermission("Lectura","GROUP_xxx");
}   

fegor
Star Collaborator
Star Collaborator
Hola,

1. "assignee" es un aspecto para incluir una colección de usuarios para el diálogo de comienzo de la tarea.

2. Al crear la regla puedes establecer el tipo mime de los documentos a los que se les puede aplicar las acciones de cada regla.

3. Puedes guardar el script en Company Home/Data Dictionary/Scripts

Un saludo.

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Quedaria ejecutar la regla cuando cambie el valor de la propiedad, para ello deberia conocer mejor dicha propiedad, pero puedes definir la regla de tipo update: Es decir se ejecutara cuando cambie el contenido o un metadato. Si dicha propiedad tiene unos valores fijos, puedes poner en el script una condicion (sentencia if de toda la vida) de forma que si la propiedad tiene el valor que tu deseas ejecute el codigo de cambio de permisos y si no pos nada.

Saludos

PD:En concreto bpm:assignee es donde guardas los usuarios a los que has asignado el workflow
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.