Creación de aspectos en Share

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

Creación de aspectos en Share

Buenas.

Estoy tratando de crear un aspecto (conjunto de metadatos) para que se puedan asignar en Alfresco Share. Lo he creado en el archivo "web-client-config-custom.xml", que está en "\shared\classes\alfresco\extension\", pero no consigo que funcione.

Además he modificado el archivo "slingshot_es_ES.properties", que está en "\shared\classes\alfresco\messages\", para que sea visible en Share, introduciendo el nuevo aspecto en el bloque "Data Dictionary" > "Aspects".

También he modificado el archivo "content-model_es_ES.properties", que está en \shared\classes\alfresco\messages\", para que se vea correctamentele nombre del aspecto en Share.

Así pues, consigo verlo y asignárselo a un archivo en Share, pero cuando guardo el cambio me dice que no se pudieron actualizar los aspectos.

Saludos y gracias.
24 Replies
pjcaracuel_2349
Active Member II

Re: Creación de aspectos en Share

Buenas,

Todo lo que has escrito es lo corecto para crear nuevos aspectos en Alfresco y por tanto en Share, para visualizar dichos aspectos en Share, puedes seguir lo expuesto en este post. LA diferencia si te fijas es que ademas de lo que tu has hecho, te falta personalizar el siguiente fichero:alfresco/web-extension/share-config-custom.xml

Mira este post donde lo explican todo paso a paso
http://blogs.alfresco.com/wp/wabson/2010/02/25/adding-custom-aspect-support-in-alfresco-share/

Un Saludo
yakon_8894
Member II

Re: Creación de aspectos en Share

Hola nemrp,

si no me equivoco la definición de aspectos no se puede hacer en el web-client-config-custom.xml. En ese fichero se hacen las configuraciones del cliente web, pero no las definiciones. Para eso puedes aprovechar el fichero customModel.xml que está en <tomcat>/shared/classes/alfresco/extension y colocar en él tu aspecto.

Tienes más información sobre modelos aquí

Un saludo
nemrp
Member II

Re: Creación de aspectos en Share

Hola.

Muchas gracias por vuestras respuestas.

He realizado lo que se indica en la dirección que indica pjcaracuel. Después de añadir lo que me faltaba y de modificar alguna cosas que tenía mal he conseguido asignar el aspecto a un archivo sin que me salga el mensaje de error. Ahora bien, una vez hecho esto los metadatos de ese aspectos no me aparecen por ningún sitio. ni puedo verlos, ni puedo editarlos. Así que entiendo que algo me falla en el "share-form-config.xml". Decir también que en el webexplorer ya va perfectamente el aspecto.

Os pongo el código de cada uno de los archivos con los que estoy trabajando.

· customModel.xml (\shared\classes\alfresco\extension\)

<model name="custom:customModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
…..
<aspects>
   <!– Definition of new Content Aspect: myAspect–>
   <aspect name="custom:myAspect">
      <title>My Aspect</title>
      <properties>
         <property name="custom:myAspect_ci">
            <title>CI</title>
            <type>d:int</type>
         </property>
         <property name="custom:myAspect_ca">
            <title>CA</title>
            <type>d:text</type>
         </property>
         <property name="custom:myAspect_ej">
            <title>EJ</title>
            <type>d:int</type>
         </property>
         <property name="custom:dgrfccll2_no">
            <title>NO</title>
            <type>d:int</type>
         </property>
      </properties>
   </aspect>
</aspects>
</model>

· web-client-config-custom.xml (\shared\classes\alfresco\extension\)

<alfresco-config>
…..
        <!– Lists the custom aspect in business rules Action wizard –>
   <config evaluator="string-compare" condition="Action Wizards">
      <aspects>
         <aspect name="custom:myAspect"/>
      </aspects>
   </config>

   <!– Displays the properties in view details page –>
   <config evaluator="aspect-name" condition="custom:myAspect">
      <property-sheet>
         <separator name="sepCust1" display-label="My Aspect" component-generator="HeaderSeparatorGenerator" />
         <show-property name="custom:myAspect_ci"/>
         <show-property name="custom:myAspect_ca"/>
         <show-property name="custom:myAspect_ej"/>
         <show-property name="custom:myAspect_no"/>
      </property-sheet>
   </config>

</alfresco-config>

· share-config-custom.xml (\shared\classes\alfresco\web-extension\)

<alfresco-config>
…..
<aspects>
         <!– Aspects that a user can see –>
         <visible>
            <aspect name="cm:generalclassifiable" />
            <aspect name="cm:complianceable" />
            <aspect name="cm:dublincore" />
            <aspect name="cm:effectivity" />
            <aspect name="cm:summarizable" />
            <aspect name="cm:versionable" />
            <aspect name="cm:templatable" />
            <aspect name="cm:emailed" />
            <aspect name="emailserver:aliasable" />
            <aspect name="cm:taggable" />
            <aspect name="app:inlineeditable" />
         
       <!– My aspects –>
           <aspect name="custom:myAspect" />
         </visible>

         <!– Aspects that a user can add. Same as "visible" if left empty –>
         <addable>
         </addable>

         <!– Aspects that a user can remove. Same as "visible" if left empty –>
         <removeable>
         </removeable>
      </aspects>

· share-form-config.xml (\shared\classes\alfresco\web-extension\)

<alfresco-config>
      <!– cm:content type (existing nodes) –>
      <config evaluator="node-type" condition="cm:content">
            <forms>
                  <!– Default form configuration for the cm:content type –>
                  <form>
                        <field-visibility>
                              …..         
                              <!– My aspects –>
            <show id="custom:myAspect_ci" />
            <show id="custom:myAspect_ca" />
            <show id="custom:myAspect_ej" />
            <show id="custom:myAspect_no" />           
                          </field-visibility>
                          …..
                    </form>

                    <!– Document Library pop-up Edit Metadata form –>
                    <form id="doclib-simple-metadata">
                          <field-visibility>
                                …..            
                                <!– My aspects –>
            <show id="custom:myAspect_ci" />
            <show id="custom:myAspect_ca" />
            <show id="custom:myAspect_ej" />
            <show id="custom:myAspect_no" />
                           </field-visibility>
                           <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl" />
                           …..
                    </form>

                    <!– Document Library Inline Edit form –>
                    <form id="doclib-inline-edit">
                          <field-visibility>
                                …..
                 <!– My aspecs –>
            <show id="custom:myAspect_ci" />
            <show id="custom:myAspect_ca" />
            <show id="custom:myAspect_ej" />
            <show id="custom:myAspect_no" />
                          </field-visibility>
                    </form>
                    …..
            </forms>
      </config>
</alfresco-config>

· slingshot_es_ES.properties (\shared\classes\alfresco\messages\)

## Data Dictionary
# Aspects
…..
# My aspects
aspect.custom_myAspect=MYASPECT
…..

· content-model_es_ES.properties (\shared\classes\alfresco\messages\)

# Display labels for Content Domain Model
…..
# My aspects
cm_contentmodel.aspect.myAspect.title=MYASPECT
cm_contentmodel.aspect.myAspect.description=My aspect
cm_contentmodel.property.myAspect_ci.title=CI
cm_contentmodel.property.myAspect_ci.description=CI
cm_contentmodel.property.myAspect_ca.title=CA
cm_contentmodel.property.myAspect_ca.description=CA
cm_contentmodel.property.myAspect_ej.title=EJ
cm_contentmodel.property.myAspect_ej.description=EJ
cm_contentmodel.property.myAspect_no.title=NO
cm_contentmodel.property.myAspect_no.description=NO
…..

Un saludo y muchas gracias de nuevo por vuestra ayuda.
pjcaracuel_2349
Active Member II

Re: Creación de aspectos en Share

Buenas,

Ahora solo te queda incluir en el fichero share-form-config.xml, la visualizacion y edicion de los metadatos asociados al aspecto. Es la ultima parte del post que te pase.

O tambien este te puede ayudar
http://loftux.se/en/2010/02/11/alfresco-forms-for-share/

http://wiki.alfresco.com/wiki/Forms#Types_and_Aspects

Un Saludo
nemrp
Member II

Re: Creación de aspectos en Share

Pues nada, no consigo hacerlo andar completamente. Sigo sin poder ver los metadatos y editarlos. He seguido lo que se indica en los sitios que me recomiendas (o eso creo yo), pero no lo consigo. ¿Qué estoy haciendo mal o qué se me está olvidando?. Pongo el último código que he probado en el "share-form-config.xml".


<alfresco-config>
   <!– cm:content type (existing nodes) –>
   <config evaluator="node-type" condition="cm:content">
      <forms>
         <!– Default form configuration for the cm:content type –>
         <form>
            <field-visibility>
               <show id="cm:name" />
               …..         
            <!– My aspects –>
            <show id="custom:myAspect_ci" for-mode="edit" force="true" />
            <show id="custom:myAspect_ca" for-mode="edit" force="true" />
            <show id="custom:myAspect_ej" for-mode="edit" force="true" />
            <show id="custom:myAspect_no" for-mode="edit" force="true" />        
            </field-visibility>
            <appearance>
              …..
         <!– My aspects –>
            <field id="custom:myAspect_ci" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_ca" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_ej" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_no" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            </appearance>
         </form>

         <!– Document Library pop-up Edit Metadata form –>
         <form id="doclib-simple-metadata">
            <field-visibility>
               …..            
            <!– My aspects –>
            <show id="custom:myAspect_ci" for-mode="edit" force="true" />
            <show id="custom:myAspect_ca" for-mode="edit" force="true" />
            <show id="custom:myAspect_ej" for-mode="edit" force="true" />
            <show id="custom:myAspect_no" for-mode="edit" force="true" />
            </field-visibility>
            <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl" />
            <appearance>
               …..           
            <!– My aspects –>
            <field id="custom:myAspect_ci" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_ca" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_ej" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_no" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            </appearance>
         </form>
        
         <!– Document Library Inline Edit form –>
         <form id="doclib-inline-edit">
            <field-visibility>
               …..
            <!– My aspects –>
            <show id="custom:myAspect_ci" for-mode="edit" force="true" />
            <show id="custom:myAspect_ca" for-mode="edit" force="true" />
            <show id="custom:myAspect_ej" for-mode="edit" force="true" />
            <show id="custom:myAspect_no" for-mode="edit" force="true" />
            </field-visibility>
            <appearance>
               …..
            <!– My aspects –>
            <field id="custom:myAspect_ci" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_ca" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_ej" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            <field id="custom:myAspect_no" mandatory="true">
               <control template="/org/alfresco/components/form/controls/textfield.ftl" />
            </field>
            </appearance>
         </form>
      </forms>
   </config>
  
   <!– cm:folder type (existing nodes) –>
…..
</alfresco-config>

Un saludo y muchas gracias.
nemrp
Member II

Re: Creación de aspectos en Share

Hola.

Sigo dándole vueltas a este asunto y no consigo hacer que funcione completamente. Estoy en el mismo punto, soy capaz de asignar el aspecto a un documento, pero después no se muestran los metadatos para poder rellenarlos. Seguro que es una tontaría que se me está escapando, pero con consigo dar con lo que ocurre. ¿A alguien, viendo mi código, ve lo que me falta o hago mal?.

Un saludo y gracias.
mspier
Member II

Re: Creación de aspectos en Share

hola,

creo que tienes un error en el archivo content-model_es_ES.properties

Tienes como definicion

cm_contentmodel.aspect.myAspect.title=MYASPECT

y tu modelo se llama custom:customModel por lo que deberia estar declarado como

custom_customModel.aspect.myAspect.title=MYASPECT

Saludos,
nemrp
Member II

Re: Creación de aspectos en Share

Hola mspier.

Muchas gracias por tu respuesta. La pena es que no ha funcionado. He puesto el aspecto en "content-model_es_ES.properties" de la forma que me indicastes y sigue igual, puedo asignar el aspecto a un documento, pero no me aparecen los metadatos (ni se visualizan, ni se pueden editar).


# Display labels for Content Domain Model
…..
# My aspects
custom_customModel.aspect.myAspect.title=MYASPECT
custom_customModel.aspect.myAspect.description=My aspect
custom_customModel.property.myAspect_ci.title=CI
custom_customModel.property.myAspect_ci.description=CI
custom_customModel.property.myAspect_ca.title=CA
custom_customModel.property.myAspect_ca.description=CA
custom_customModel.property.myAspect_ej.title=EJ
custom_customModel.property.myAspect_ej.description=EJ
custom_customModel.property.myAspect_no.title=NO
custom_customModel.property.myAspect_no.description=NO
…..
nemrp
Member II

Re: Creación de aspectos en Share

¿Nadie sabe qué estoy haciendo mal o qué es lo que me falta?. Tengo la sensación de que es un detalle mínimo, pero que no veo y que me tiene sin avanzar en este asunto cuando, por todo lo que he leído al respecto, debería de haberme funcionado sin problemas.