cancel
Showing results for 
Search instead for 
Did you mean: 

Ejecuta regla al cambiar de estado un contenido

ivi
Champ in-the-making
Champ in-the-making
Se puede crear una regla que se ejecute cuando cambie un valor de una propiedad de un dato?

Alguien me puede indicar donde encontrar ayuda sobre este tema
4 REPLIES 4

ivi
Champ in-the-making
Champ in-the-making
He estado mirando por los foros y creo que lo mejor seria que la accion de la regla fuera lanzar un script no?

El problema es que quiero añadir un aspecto cuando el valor de un campo sea x.

Seria algo asi???

if (document.hasPermission("Write"))

{

document.properties["doc:Estado"]="APTO";
document.addAspect("doc:As_numExp");

document.save();

}

ivi
Champ in-the-making
Champ in-the-making
He logrado que si la propiedad es igual a APTO se me cargue el aspecto pero una vez que he guardado el documento.

Existe alguna posibilidad de que el aspecto aparezca automaticamente???

El script que he creado es:

if (document.hasPermission("Write"))

{
if(document.properties["Estado"]=="APTO")
{
    document.addAspect("As_numExp");
}


document.save();

}

ajv
Champ in-the-making
Champ in-the-making
Hola Ivi,

A tu pregunta:
Se puede crear una regla que se ejecute cuando cambie un valor de una propiedad de un dato?
Puedes crearte reglas de contenido a través del web client y especificar cuándo van a dispararse. Por defecto, admite 3 valores:
- Inbound (entrante): El contenido/espacio que entra al espacio que contiene la regla (ya sea por copia, nuevo o movido) hace ejecutar la regla (comprueba las condiciones de la regla y, si se cumplen, realiza las acciones de la regla).
- Outbound (saliente): El contenido/espacio que sale del espacio que contiene la regla hace ejecutar la regla  (comprueba las condiciones de la regla y, si se cumplen, realiza las acciones de la regla).
- Update (Modificación). El contenido que se actualiza o se guarda hace ejecutar la regla  (comprueba las condiciones de la regla y, si se cumplen, realiza las acciones de la regla).

Si lo que quieres es que sea para una propiedad en concreto, y cada vez que toma un valor en concreto…puedes ir por script (como estabas haciendo) o puedes afinar más mediante comportamientos. Con los comportamientos puedes definir un "trigger" que afecten a los tipos de contenido que a ti te interesen y ejecutar un código Java cada vez que ocurre ese evento. Puesto que estan en código java, tienes acceso fácil al API que tienen los de Alfresco, y puedes hacer un montón de cosas.
Si echas un vistazo al foro, encontraras algunos post en los que hemos discutido el tema de los comportamientos…y si necesitas más información sobre el tema, insiste  :lol:
En este post, por ejemplo, se explicó un poquito y se dieron referencias: http://forums.alfresco.com/es/viewtopic.php?f=6&t=811&p=2837

Espero que te sirva! Smiley Very Happy
Hasta luego!!

ivi
Champ in-the-making
Champ in-the-making
Con script me funciona pero como ya he dicho antes solo me sale el aspecto una vez que guardo el docuemnto.
Por lo que para rellenar la porpiedad que hay en el aspecto tengo que volver a entrar y modificar las propiedades.
Hay alguna solucion a esto?????

Sino como puedo crear un nuevo comportamiento???

gracias