regla solo con contenidos nuevos

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

regla solo con contenidos nuevos

Buenas, necesito crear una regla que ejecute un script sólo con contenidos que se creen, no que modifiquen…. Entre las condiciones de las reglas no existen ninguna que se aplique solo a contenidos nuevos…

Lo podría controlar en el script, pero no sé cómo
9 Replies
pjcaracuel_2349
Active Member II

Re: regla solo con contenidos nuevos

Buenas,

Si la regla es de tipo Entrante, solo le aplicaria a los nuevos contenidos que se creen en dicho espacio.

Saludos
fstnboy
Active Member

Re: regla solo con contenidos nuevos

Ya he mirado eso y efectivamente es solo de tipo entrante… Lo que sucede es que lo que se necesita modificar es el nombre, entonces lo coge como entrante y ejecuta el script (que lo que hace es modificar el nombre), no dejando poner el nombre que se quiere.

¿Cómo podría controlarlo?
pjcaracuel_2349
Active Member II

Re: regla solo con contenidos nuevos

Puedes poner de una forma esquematica y resumida el proceso que se ejecuta al subir un nuevo documento? Inlcuye tambien lo que hace el script.

Gracias
fstnboy
Active Member

Re: regla solo con contenidos nuevos

Claro,

He creado una regla entrante para que ejecute un script, ya que lo que se quería era que el nombre de los expedientes/espacios dentro de ciertos espacios se crease de forma automática para que pudiese seguir un orden.

El script es:

// Recojo último Id de la propiedad del espacio padre
var LastExpID = parseInt(space.properties["ajd:expId"]);

// Se aumenta
var NewExpID = LastExpID + 1;

// Se guarda en el padre el máximo Id
space.properties["ajd:expId"] = NewExpID;
space.save();

//Se cambia el nombre del expediente al nuevo Id
document.name = NewExpID;
document.save();

No sé para qué querrán poder cambiar el nombre del expediente si era un requisito que lo creara de forma automática, pero es lo que hay…
pjcaracuel_2349
Active Member II

Re: regla solo con contenidos nuevos

Vale,

Tu al crear un nuevo contenido te coje el espacio en el que se crea y lo renombra (es decir le asigna el numero siguiente), despues renombra tambien el nombre del documento/contenido con el mismo codigo que el expediente.

Ejm:

Espacio inicial:
1
Subes un documento y quedaria
2
y dentro de el un documento con el nombre 2 ¿Correcto?

¿Que deberia poder hacerse entonces?

Es que hoy no tome mi cafe y estoy algo espeso.

Gracias
fstnboy
Active Member

Re: regla solo con contenidos nuevos

uummm no…

Tengo un aspecto que tiene una propiedad (expId, último número con el que se creó un contenido dentro de él), ese aspecto se lo aplico a los espacios dentro de los cuales se pretende generar el nombre del espacio de forma automática. El script hace lo siguiente:

1.- Lee la propiedad "expId" del espacio en el que se crea el contenido.
2.- Aumenta ese valor.
3.- Cambia el nombre del espacio "recién creado" para ponerle el que le corresponde.

Lo que quiero hacer es que se le aplique el script a los que ya existen de antes, se supone que poniendo la regla como entrante debería funcionar, pero al modificar el nombre del espacio no funciona….
fstnboy
Active Member

Re: regla solo con contenidos nuevos

Bueno, como me corre un poco de prisa he modificado el script para que me compare el nombre que tiene con el uno por defecto, si tiene el de defecto aplicará el script, sino no.

Pero como le pongo que al mostrarme el formulario de creación de expediente me lo cargue con el de por defecto? No es una propiedad de un aspecto ni tipo, es la propiedad name de content
pjcaracuel_2349
Active Member II

Re: regla solo con contenidos nuevos

Para eso me imagino que tendras que tocar el bean de creacion de contenidos

Saludos
fstnboy
Active Member

Re: regla solo con contenidos nuevos

He intentado modificar el contentModel.xml de la siguiente forma:

<type name="cm:cmobject">
         <title>Object</title>
         <parent>sys:base</parent>
         <properties>
            <property name="cm:name">
               <title>Name</title>
               <type>d:text</type>
               <mandatory enforced="true">true</mandatory>
               <default>DEFAULT</default>
               <constraints>
                  <constraint ref="cm:filename" />
               </constraints>
            </property>
         </properties>
         <mandatory-aspects>
            <aspect>cm:auditable</aspect>
         </mandatory-aspects>
      </type>

añadiendo la etiqueta default, pero al intentar crear un espacio, no me sale con el DEFAULT como nombre por defecto…