cancel
Showing results for 
Search instead for 
Did you mean: 

Establecer propiedades al mover documentos a espacios con CI

alex888
Champ in-the-making
Champ in-the-making
Hola,

tengo una jerarquía de espacios de dos niveles del siguiente modo:

    Raíz
     |- Cliente1
          |- Asunto11
          |- Asunto12
     |- Cliente2
          |- Asunto21
          |- Asunto22
            …
     |- Clienten
         |- Asunton1
           …

es decir un espacio raíz y luego clientes que a su vez pueden tener asuntos relacionados. Los documentos deben ir alojados en las carpetas de asuntos y tienen una propiedad "cliente" y una propiedad "asunto". Necesitaría que al mover documentos vía CIFS en cualquier carpeta de asunto, se rellenaran esas propiedades con el nombre del espacio de asunto y el nombre del espacio de cliente que lo contiene.  Por favor, ¿podría alguien sugerirme la mejor forma de hacerlo?, ¿con un script asociado al evento inbound de los espacios quizás?.

Un saludo y muchísimas gracias por adelantado.
20 REPLIES 20

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Buenas,

Tu mismo te has contestado.
¿con un script asociado al evento inbound de los espacios quizás?.

Saludos

alex888
Champ in-the-making
Champ in-the-making
Hola de nuevo,

antes de nada gracias por tu respuesta pjcaracuel.

Ya estoy desarrollando el script y me he encontrado con un problema. A partir de "document" (el fichero que añado), necesito subir dos niveles en la jerarquía y obtener el nombre de esos dos espacios.

Obteniendo así el nodo del documento:

var documentNode = document.nodeRef;

luego trato de hacer lo siguiente:


documentParentNode = documentNode.parent;

o bien


documentParentNode = documentNode.getParent();

compruebo por supuesto que documentNode no es nulo antes. El caso es que getParent() da un error de función no reconocida y parent funciona pero es null siempre. Por favor, ¿alguien puede decirme como hacer esto?.

Un saludo y mil gracias.
Alex.

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Buenas Alex,

Has probado document.parent.name ???

Saludos

alex888
Champ in-the-making
Champ in-the-making
Hola Pedro,

así funciona perfectamente. Mil gracias.

Un saludo.
Alex

alex888
Champ in-the-making
Champ in-the-making
Hola de nuevo,

ahora que ya consigo obtener el nombre del padre y del abuelo del documento que estoy añadiendo:

|-  Cliente
———|-Asunto
—————|- Nombre Documento


lo que quiero hacer es asignarle esos nombres a dos propiedades del documento. Esas dos propiedades están definidas en un tipo, dentro de un modelo nuevo que yo he creado (supongámosle prefijo "my"), es decir:

document.properties[my:cliente] = document.parent.name; 
document.properties[my:asunto] =   document.parent.parent.name;
document.save();

el tema es que no son propiedades del modelo de contenido estándar cm. Creo que el problema viene por ahí.
¿qué estoy haciendo mal?.

Un saludo y muchísimas gracias de antemano.

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Buenas Alex,

Has probado asi??
document.properties["my:cliente"] = document.parent.name;
document.properties["my:asunto"] = document.parent.parent.name;

Si estan bien definidas en el modelo, no deberia dar error.

Saludos

alex888
Champ in-the-making
Champ in-the-making
Hola Pedro,

si, así exactamente he probado. De hecho las comillas me las dejé al escribir el post. El modelo está bien definido porque una vez que el documento está subido, yo puedo elegir mi tipo de contenido específico y elegir a mano esas propiedades. Por eso necesito que cuando se sube algo vía CIFS (que evidentemente no tienes la hoja de propiedades para elegir los valores que quieres) se rellenen directamente esas propiedades.

Ya digo que lo hago exactamente como indicas, el caso es que al consultar las propiedades del documento ni siquiera aparecen esas dos propiedades. Error no da ninguno de hecho.

Muchas gracias nuevamente.
Un saludo.

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Buenas,

el caso es que al consultar las propiedades del documento ni siquiera aparecen esas dos propiedades. Error no da ninguno de hecho.

Has definido dichas propiedades en el fichero web-client-config-custom.xml ???

tal que:

<config evaluator="node-type" condition="my:tuTIPO">
      <property-sheet>
         <show-property name="my:cliente" display-label-id="cliente"  />
         <show-property name="my:asunto display-label-id="asunto" />
      </property-sheet>

Saludos

alex888
Champ in-the-making
Champ in-the-making
Sí, sí que las he definido. Como decía, si intento añadir cualquier tipo de fichero ("Pinchando en Add Content") mi tipo aparece en el desplegable de los tipos de contenido que puedes elegir y puedes meter "a mano" las propiedades cliente y asunto. A lo que me refiero es que, si no me equivoco, al definir una regla como inbound, ésta se ejecuta al subir físicamente el documento, lo cual ocurre antes de que puedas establecer las propiedades. Después, tienes que elegir por fuerza el tipo de contenido por defecto (Content) o en mi caso el tipo que he definido. Al elegir uno de los dos, ¿no se estarán sobreescribiendo las propiedades que se han establecido al ejecutar la acción?., no sé, creo que si que funciona, pero hago algo para que se pierdan las propiedades que he salvado en el nodo del documento al ejecutar el script.


Un saludo y gracias otra vez. Smiley Very Happy