Combos internacionalizables en Share

cancel
Showing results for 
Search instead for 
Did you mean: 
nacgar
Member II

Combos internacionalizables en Share

Hola,

Me gustaría saber cual sería la forma correcta de extender Alfresco para que me permita hacer internacionalizables los valores de una "constraint" para share. Llevo un tiempo intentando implementar esta funcionalidad y no logro encontrar documentación alguna.

Muchas gracias de antemano.
6 Replies
cristinamr
Advanced

Re: Combos internacionalizables en Share

Buenas.

¿Podrías explicarnos qué quieres hacer exactamente? Por lo que pones no comprendo muy bien cual es tu objetivo. A lo mejor al ponernos el ejemplo lo vemos más claro  :wink:

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nacgar
Member II

Re: Combos internacionalizables en Share

Sí, guardamos documentación sobre diversas publicaciones, uno de los campos que quiero guardar es el formato en el que esa publicación está disponible. Supongamos 2 tipos Libro y Artículo, querría poner un combo que me dejara elegir entre esas dos opciones y los usuarios ingleses que se conecten a la aplicación verían Book y Article.
cristinamr
Advanced

Re: Combos internacionalizables en Share

Vamos, lo que necesitas es una constraint de tipo LIST  ¿no? Pero claro, esto tiene un efecto inmediatos y es que la lista va a ser siempre estática. Si quieres realizar algo así, deberás seguir estos pasos:

1º. Definición en tu modelo de datos.

Para ello deberás poner algo similar a esto justo debajo del tag <namespaces>:

<constraints>
         <constraint name="mcm:lista_tipo" type="LIST">
            <parameter name="allowedValues">
                  <list>
                     <value> </value>   
                     <value>Book</value>
                     <value>Article</value>
                  </list>
            </parameter>
         </constraint>
</constraints>

Ahí defines la lista con los valores que quieres que tenga.

Para cargarlos en el metadato que quieras deberá reflejarlo así dentro de la propiedad del tipo o del aspecto donde lo quieras meter:

<property name="mcm:tipoDoc">
               <title>Tipo de documento</title>
               <type>d:text</type>
               <default> </default>
               <constraints>
                  <constraint ref="mcm:lista_tipo"/>
               </constraints>
            </property>

Recuerda siempre las buenas prácticas y extender tu modelo dentro de la ruta tomcat/shared/alfresco/extension/

2. Visualizarlo en Share. Para ello deberás tocar el archivo share-config-custom.xml (extendiendolo dentro de tomcat/shared/alfresco/web-extension) especificando el tipo que te hayas creado, similar a esto:

<types> 
      <type name="cm:content">
            <subtype name="mcm:Documents" label-id="label.mcm_documents" />
      </type>   
</types>

3. Y por último: Visualizarlo en los formularios de share (edición metadatos, búsqueda, etc..). Debes especificarle al Share que existe tu tipo, para ello copia el archivo share-form-config.xml que está dentro de webapps/share/WEB-INF/classes/alfresco y pegalo en shared/classes/alfresco/web-extension Tu configuración debería ser similar a esta:

<config  evaluator="node-type" condition="mcm:documents" >
<forms>
         <!– Default form configuration used on the document details and edit metadata pages –>
         <form>
            <field-visibility>
            <!– Datos de mis tipos y aspectos –>
               <show id="mcm:tipoDoc" />
                                     …..
            </field-visibility>
                                              
            <appearance>
                      <set id="dgset" appearance="bordered-panel" label-id="type.mcm_documents"/>                                               
               <field id="dpm:codProy" set="dgset" label-id="label.mcm_tipoDoc" />
   </appearance>
….

Y así con todos los registros que veas relativos al Share (verás uno que especifica que es para la document library, Inline Edit form, etc..). Con ellos deberás hacer lo mismo y especificarle tu tipo y aspectos personalizados.

A priori ya no tendrías que hacer nada más.

Espero que te sirva de guía y al menos tengas un punto por donde empezar.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nacgar
Member II

Re: Combos internacionalizables en Share

Muchas gracias por tu respuesta, creo que me ha aclarado algunos aspectos.

En caso de necesitar que la constraint no fuera una lista estática, tener que hacer una clase para sacar los valores de la base de datos, por ejemplo, ¿dificultaría mucho el tema de la internacionalización?
cristinamr
Advanced

Re: Combos internacionalizables en Share

Uhmmm, ojea este link del foro, dentro tienes una referencia que te va a servir de guía y ayuda para realizar la carga desde base de datos  :wink:
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nacgar
Member II

Re: Combos internacionalizables en Share

Muchas Gracias Smiley Happy