cancel
Showing results for 
Search instead for 
Did you mean: 

Custom Aspect - Alfresco 4.2.e

luigi
Champ in-the-making
Champ in-the-making
Ciao a tutti,
sto provando ad aggiungere custom aspect in Alfresco Share 4.2.e (BITNAMI windows installer).
Seguendo quanto sono riuscito a reperire in rete e, seguendo anche l’esempio indicato da Jeff Potts nella guida,
<a href='http://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd1&cad=rja&ved=0CDIQFjAA&url=http%3A%2F%2F...'>Working with Custom Content Types 2Nd Edition</a>

ho rinominato i due file di esempio presenti in
<b>$TOMCAT_HOME/shared/classes/extension</b>
ossia
<b>customModel.xml</b>


<?xml version="1.0" encoding="UTF-8"?>

<!– Custom Model –>

<!– Note: This model is pre-configured to load at startup of the Repository.  So, all custom –>
<!–       types and aspects added here will automatically be registered –>

<model name="sc:customModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>  
   <description>Custom Model</description>
   <author></author>
   <version>1.0</version>

   <imports>
        <!– Import Alfresco Dictionary Definitions –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
      <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>

   <!– Introduction of new namespaces defined by this model –>
   <!– NOTE: The following namespace custom.model should be changed to reflect your own namespace –>
   <namespaces>
      <!–namespace uri="custom.model" prefix="custom"/–>
      <namespace uri="http://www.someco.com/model/content/1.0" prefix="sc" />

   </namespaces>
     
     
<types>
<!– Enterprise-wide generic document type –>
<type name="sc:doc">
<title>Someco Document</title>
<parent>cm:content</parent>
<associations>
<association name="sc:relatedDocuments">
<title>Related Documents</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>sc:doc</class>
<mandatory>false</mandatory>
<many>true</many> </target>
</association>
</associations>
<mandatory-aspects>
<aspect>cm:generalclassifiable</aspect>
</mandatory-aspects>
</type>
<type name="sc:whitepaper">
<title>Someco Whitepaper</title>
<parent>sc:doc</parent>
</type>
</types>
<aspects>
<aspect name="sc:webable">
<title>Someco Webable</title>
<properties>
<property name="sc:published">
<type>d:date</type>
</property>
<property name="sc:isActive">
<type>d:boolean</type>
<default>false</default>
</property>
</properties>
</aspect>
<aspect name="sc:productRelated">
<title>Someco Product Metadata</title>
<properties>
<property name="sc:product">
<type>d:text</type>
<mandatory>true</mandatory>
</property>
<property name="sc:version">
<type>d:text</type>
<mandatory>true</mandatory>
</property>
</properties>
</aspect>
</aspects>
     
</model>


e
<b>custom-model-context.xml</b>


<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>

    <!– Registration of new models –>   
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/customModel.xml</value>
            </list>
        </property>
    </bean>
         
</beans>



ed aggiunto anche una porzione di codice nel file presente in
<b>$TOMCAT_HOME/shared/classes/alfresco/web-extension</b>
ossia
<b>share-config-custom.xml</b> 


<alfresco-config>
  
   <!– Repository Library config section –>
   <config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
      <!–
         Whether the link to the Repository Library appears in the header component or not.
      –>
      <visible>true</visible>
   </config>

   <config evaluator="string-compare" condition="Remote">
      <remote>
         <endpoint>
            <id>alfresco-noauth</id>
            <name>Alfresco - unauthenticated access</name>
            <description>Access to Alfresco Repository WebScripts that do not require authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
            <identity>none</identity>
         </endpoint>

         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
            <identity>user</identity>
         </endpoint>

         <endpoint>
            <id>alfresco-feed</id>
            <name>Alfresco Feed</name>
            <description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
            <connector-id>http</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
            <basic-auth>true</basic-auth>
            <identity>user</identity>
         </endpoint>
        
         <endpoint>
            <id>activiti-admin</id>
            <name>Activiti Admin UI - user access</name>
            <description>Access to Activiti Admin UI, that requires user authentication</description>
            <connector-id>activiti-admin-connector</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/activiti-admin</endpoint-url>
            <identity>user</identity>
         </endpoint>
      </remote>
   </config>

   <!– Document Library config section –>
   <config evaluator="string-compare" condition="DocumentLibrary">
      <aspects>
            <!– Aspects that a user can see –>
            <visible>
            <aspect name="sc:webable" />
            <aspect name="sc:productRelated" />
            </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>
      <types>
            <type name="cm:content">
                  <subtype name="sc:doc" />
                  <subtype name="sc:whitepaper" />
            </type>
                  <type name="sc:doc">
                  <subtype name="sc:whitepaper" />
            </type>
      </types>
   </config>


</alfresco-config>




Alla fine, i custom aspects sono visibili dalla funzionalita <b>Manage Aspects</b>, ma una volta selezionati per essere aggiunti al documento (vedi immagine uno.png), salvando viene a video il messaggio “could not update aspects” (vedi immagine due.png).

Sapreste suggerirmi per quale motivo non è possibile completare l’operazione? Cosa manca nella mia configurazione ?
Grazie in anticipo
Luigi
11 REPLIES 11

davidciamberlan
Elite Collaborator
Elite Collaborator
Ciao,

ho provato le configurazioni che hai postato in un mio alfresco 4.2.e ma non ho riscontrato alcun problema nell'aggiunta dei custom aspects (a parte il fatto che con la tua configurazione non vedi le nuove proprietà che aggiungi con gli aspetti… ma questo è un altro problema facilmente risolvibile).

Dovresti quindi controllare cosa viene scritto nei log quando ottieni l'errore.
Se noti messaggi di errore che non riesci a decifrare, prova a postare qui sul forum la porzione dei log che li contiene.


Grazie del tuo supporto David.
Avevo già provato a consultare i log ma senza successo. O meglio, sembrano non registrare alcun chè del momento del messaggio.
E comunque non vi rilevo "ERROR". Io sto controllando lo share.log sulla root di alfresco ed i log presenti nella cartella alfresco /apache-tomcat/logs.
Mi viene il dubbio che possa dipendere dal fatto che ho installato la versione "già pronta" scaricata da BITNAMI.
Avevo avuto lo stesso errore anche con una Macchina Virtuale su Ubuntu, sempre scaricata da BITNAMI.
Che ne pensi ?

davidciamberlan
Elite Collaborator
Elite Collaborator
Ciao

Mi sembra strano che il malfunzionamento sia legato alla versione pacchettizzata da Bitnami… stai notando per caso qualche altra anomalia nell'uso comune di Alfresco?

Essendo un errore del core di Alfresco, dovresti guardare il file Alfresco.log più che lo Share.log e notare se ci sono errori in fase di startup.

Se può esserti utile, io, rispetto alle configurazioni postate da te, l'unico cambiamento che ho fatto è stato togliere tutta la prima parte dal file share-config-custom (non significativa in questo caso), lasciando solo la parte relativa a
<config evaluator="string-compare" condition="DocumentLibrary">
.



ciao David,
ho replicato la tua configurazione "minima" nel file share-config-custom.xml ma il risultato non cambia.
Ho controllato l'alfresco.log.
Non mi sembrano presenti anomalie legate al problema.
solo questo

15:53:31,599 ERROR [org.alfresco.repo.content.transform.TransformerConfigDynamicTransformers] Cannot create dynamic transformer transformer.complex.JodConverter.Image as sub transformers could not be found or created ("JodConverter.2Pdf|pdf|complex.PDF.Image").
15:53:31,599 ERROR [org.alfresco.repo.content.transform.TransformerConfigDynamicTransformers] Cannot create dynamic transformer transformer.complex.JodConverter.Pdf2swf as sub transformers could not be found or created ("JodConverter.2Pdf|pdf|Pdf2swf").
15:53:31,599 ERROR [org.alfresco.repo.content.transform.TransformerConfigDynamicTransformers] Cannot create dynamic transformer transformer.JodConverter.Html2Pdf as sub transformers could not be found or created ("JodConverter|odt|JodConverter").
15:53:31,600 ERROR [org.alfresco.repo.content.transform.TransformerConfigDynamicTransformers] Cannot create dynamic transformer transformer.JodConverter.2Pdf as sub transformers could not be found or created ("JodConverter|JodConverter.Html2Pdf").
15:53:31,600 ERROR [org.alfresco.repo.content.transform.TransformerConfigDynamicTransformers] Cannot create dynamic transformer transformer.complex.JodConverter.PdfBox as sub transformers could not be found or created ("JodConverter.2Pdf|pdf|PdfBox").




Ti allego comunque il log se magari tu riesci a intravedere qualcosa di più.
Grazie!

Ciao,

non mi sembra ci sia niente di significativo nei log…

Hai fatto qualche altra customizzazione su Alfresco (rules sulla cartella, workflow, custom type o custom action, webscript, ecc) che potrebbe interferire con l'associazione degli aspetti?
I file di configurazione sono rinominati correttamente?

Prova ad utilizzare la vecchia interfaccia Explorer per associare gli aspetti e vedi se si comporta allo stesso modo.
Magari prima pulisci i log e riavvia Alfresco.

Nessun altra customizzazione. Era la prima cosa che provavo …
Per utilizzare gli aspect su Explorer ho rinominato il web-client-config-custom inserendo il seguente codice

<config evaluator="aspect-name" condition="sc:webable">
      <property-sheet>
         <show-property name="sc:published" component-generator="StoreSelectorGenerator" />
      </property-sheet>
   </config>
   <config evaluator="string-compare" condition="Action Wizards">
      <aspects>
         <aspect name="sc:webable"/>
      </aspects>
   </config>


Ma serve altro? Non mi compare l'aspect su Explorer …

Ciao,

il codice da te inserite per il client explorer è corretto (ma togli l'attributo component-generator=…).
Io sul mio Alfresco Explorer riesco ad attribuire correttamente l'aspetto ad un file (run action -> add aspect -> select value and add -> someco webable) e a visualizzare/modificare le nuove proprietà.

Un ultima dubbio: l'utente che usi ha i permessi adatti per aggiungere aspetti a quel file? Se aggiungi un aspetto standard va tutto ok?

Se anche quest'ultimo dubbio si rivela senza fondamento… allora forse avevi ragione a quando dicevi che era la versione Bitnami ad avere problemi… Prova ad installare manualmente Alfresco e a ripetere le operazioni per gli aspetti…
come reference puoi usare l'ottima guida di Francesco corti oppure (ma te lo consiglio solo se non vuoi perdere troppo tempo con l'istallazione completa) la più basic guida "in 10 minuti"

niente da fare. Le Custom Aspects sono invisibili ! Mente le altre "Standard" riesco ad aggiungerele, sia in Explorer che in Share.
Adesso provo con Alfresco NON Bitnami ! Speriamo di essere più fortunato ….
Ti ringrazio comunque per il tuo supporto.
Appena ho novità le posto sul Forum !
Ciao
Luigi

luigi
Champ in-the-making
Champ in-the-making
David,
ho usato la tua guida rapida "10 minuti" e semplicemente trasferito i file di configurazione dalla versione BITNAMI a quella tradizionale e.. tutto funziona ! L'aspect è stato correttamente aggiunto al documento !.
Adesso provo a farlo anche programmaticamente (in java) con upload tramite CMIS, aggiungendo il nuovo custom aspect e vediamo se funziona anche così.
PS.
Ottima la tua guida, Grazie !