Custom aspect di tipo 'attach'

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

Custom aspect di tipo 'attach'

Salve a tutti.
Quale è la sintassi corretta per definire a livello di custom model una custom property di tipo attach, per "collegare" files ad un documento principale?
Grazie!
5 Replies
openpj
Moderator
Moderator

Re: Custom aspect di tipo 'attach'

Devi aggiungere una associazione che in Alfresco può essere dichiarata di due tipi:
  • Child Association (relazione padre - figlio)

  • Peer Association (associazione alla pari)
http://wiki.alfresco.com/wiki/Data_Dictionary_Guide#Child_Associations


L'unica differenza è nella politica di rimozione dei contenuti.

Nella Peer se si elimina un contenuto associato questo non riflette in alcun modo sugli altri. Mentre nella Child se viene eliminato il padre primario, di conseguenza vengono eliminati anche tutti i suoi figli per cui quel padre è il primario.

In Alfresco è possibile avere più padri per un contenuto quindi è possibile associare lo stesso contenuto ad esempio a più spazi, in questo modo il contenuto può essere visualizzato in più spazi, ma senza copiare il contenuto, il contenuto è proprio lo stesso.

Spero di essermi spiegato.
redbull
Member II

Re: Custom aspect di tipo 'attach'

Piergiorgio, grazie per la risposta immediata!
La mia necessità è quella di gestire una Child Association.
Quello che ti chiedo, è se puoi riportarmi un esempio di custom model al cui interno è definita una proprietà di questo tipo.
Ti ringrazio.
openpj
Moderator
Moderator

Re: Custom aspect di tipo 'attach'

Eccoti un esempio di modello costruito partendo dal customModel che trovi dentro Alfresco/tomcat/shared/classes/alfresco/extension:

<?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="custom: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="http://www.yourCompany.com/customer/project/1.0" prefix="custom"/>
   </namespaces>

   <types>
      <type name="custom:documentoConAssociati">
         <title>Documento con associati</title>
         <parent>cm:content</parent>
         <associations>
            <child-association name="custom:documentiAssociati">
               <source>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </source>
               <target>
                  <class>cm:content</class>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </target>
            </child-association>
         </associations>
       </type>
   </types>
</model>
Questo modello non l'ho verificato, quindi potrebbero esserci degli errori, ma penso che puoi partire da quì.
Ricordati che per poter vedere le proprietà all'interno delle interfacce di Alfresco devi configurare opportunamente l'Explorer oppure Share.

Spero ti sia utile  Smiley Wink
redbull
Member II

Re: Custom aspect di tipo 'attach'

ok piergiorgio, ho seguito le tue indicazioni e apportando le modifiche opportune al web-client-config-custom.xml ora ho il nuovo content type "Documento con associati". grazie.
In realtà, la mia necessità era leggermente diversa (forse sono stato poco chiaro e mi scuso…) ovvero poter definire un nuovo custom aspect di tipo "attachable" (come una delle action già presenti taggable, versionable, ecc), da poter associare ad una business rule in modo tale che l'utente, aggiungendo contenuti di qualsiasi tipo allo spazio su cui la business rule è definita, possa avere la possibilità di allegare documenti.
E' fattibile?
grazie
openpj
Moderator
Moderator

Re: Custom aspect di tipo 'attach'

ok piergiorgio, ho seguito le tue indicazioni e apportando le modifiche opportune al web-client-config-custom.xml ora ho il nuovo content type "Documento con associati". grazie.
Ottimo sono contento  Smiley Very Happy

In realtà, la mia necessità era leggermente diversa (forse sono stato poco chiaro e mi scuso…) ovvero poter definire un nuovo custom aspect di tipo "attachable" (come una delle action già presenti taggable, versionable, ecc), da poter associare ad una business rule in modo tale che l'utente, aggiungendo contenuti di qualsiasi tipo allo spazio su cui la business rule è definita, possa avere la possibilità di allegare documenti.
E' fattibile?
Si, basta dichiarare le medesime proprietà che ti ho postato all'interno di una definizione di aspect cambiando il model nel seguente modo:

<types>
….
</types>

<aspects>
<aspect name="custom:attachable">
         <title>Auditable</title>
         <associations>
            <child-association name="custom:attachedDocuments">
               <source>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </source>
               <target>
                  <class>cm:content</class>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </target>
            </child-association>
         </associations>
</aspect>
</aspects>

All'interno di un aspect è possibile dichiarare sia proprietà che associazioni.

Una volta registrato il nuovo aspect dovrai come al solito modificare i file di configurazione dei client di Alfresco per poter visualizzare opportunamente le informazioni del nuovo aspect, sia per i metadati che per le action.

Se poi vuoi avere a disposizione una nuova custom action che scateni l'attachment allora ti consiglio di visionare il progetto CustomAction all'interno della SDK di Alfresco.

Spero ti sia utile   Smiley Wink