2010-11-02 48 views

Répondre

9

Chaque noeud à la création a un type donné, et un seul type, comme 'document' ou 'dossier'. D'autre part, un nœud peut avoir plusieurs aspects, comme 'taggable' ou/et 'versionable'. Le type de nœud d'un nœud peut changer avec le temps, mais il n'y a qu'un seul type pour un nœud, les aspects sont comme les attachements de propriété, vous pouvez les ajouter à la création ou à l'exécution.

Des aspects peuvent également être ajoutés à de nombreux types de nœuds. Par conséquent, si vous souhaitez que votre modèle possède une propriété spéciale qui existera dans de nombreux types, la meilleure solution consiste à créer un aspect. Ensuite, pour maintenir votre code, il vous suffit de maintenir l'aspect.

Bien sûr, vous pouvez créer vos propres types et aspects dans Alfresco, c'est-à-dire Personnaliser le modèle de contenu.

Voici un exemple d'un modèle de contenu personnalisé:

i: état est un aspect personnalisé.

<?xml version="1.0" encoding="UTF-8"?> 
    <model xmlns="http://www.alfresco.org/model/dictionary/1.0" name="i:multimediaModel"> 
     <description>Multimedia Model</description> 
     <author>Pedro Costa</author> 
     <version>1.0</version> 
     <imports> 
     <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/> 
     <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/> 
     </imports> 
     <namespaces> 
     <namespace uri="pt.i.model" prefix="i"/> 
     </namespaces> 
     <constraints> 
     <constraint name="i:status_constraint" type="LIST"> 
     <parameter name="allowedValues"> 
     <list> 
     <value>Draft</value> 
     <value>Pending</value> 
     <value>Current</value> 
     <value>Archived</value> 
     </list> 
     </parameter>  
     </constraint> 
     </constraints> 
     <types> 
    <type name="i:multimedia"> 
     <title>Multimedia Metadata Model</title> 
     <parent>cm:content</parent> 
     <archive>true</archive> 
     <properties>   
       <property name="i:insertDate"> 
        <title>Multimedia insert date</title> 
        <description> 
        Multimedia insert date can be diferent of the 
        insert date in alfresco, this apllies to multimedia 
        created before database migration to alfresco 
        </description> 
        <type>d:datetime</type> 
        <mandatory>false</mandatory> 
       </property> 
       <property name="i:multimediaFormat"> 
     <title>Multimedia Format</title> 
       <description>Multimedia Format, file type</description> 
       <type>d:text</type> 
       <mandatory>false</mandatory> 
      </property> 
      <property name="i:contentLength"> 
       <title>Content Length</title> 
       <description>The file size in bytes</description> 
       <type>d:long</type> 
       <mandatory>false</mandatory> 
      </property> 
      <property name="i:copyright"> 
       <title>Copyright</title> 
       <description>Copyright</description> 
       <type>d:text</type> 
       <mandatory>false</mandatory> 
      </property> 
     </properties> 
     <mandatory-aspects> 
     <aspect>cm:taggable</aspect> 
     <aspect>cm:auditable</aspect> 
     <aspect>i:status</aspect>  
     </mandatory-aspects> 
    </type>  
     </types> 
     <aspects> 
     <aspect name="i:status"> 
     <title>Multimedia Status</title> 
     <properties> 
     <property name="i:status"> 
      <title>Status</title> 
      <type>d:text</type> 
      <default>Draft</default> 
      <constraints> 
      <constraint ref="i:status_constraint" /> 
      </constraints>  
     </property>  
     </properties> 
     </aspect> 
     </aspects> 
    </model> 
6

Je vais essayer de créer une réponse plus courte, bien que la longue est également utile.

Comme vous le savez, le modèle définit les «types» de données que vous allez stocker dans le référentiel. Ainsi, un type est une forme d'objet que vous allez stocker - avec ses propriétés telles que nom, titre, description dans le modèle par défaut ou "mytype: montant", "mytype: date" ou similaire dans les modèles personnalisés. Donc chaque document dans alfresco est d'un certain type (un type «utilisateur», un type «dossier», un type «contenu» pour le modèle par défaut).

Et aspect - c'est quelque chose de mieux décrit comme un ensemble supplémentaire de propriétés. Par conséquent, vous pouvez avoir un type: "facture". Il a des propriétés comme le montant, la date d'échéance et le bénéficiaire.

Mais vous pouvez également avoir un aspect, "fournisseur" - avec des données supplémentaires, comme le nom du fournisseur et le numéro de compte du fournisseur. Ainsi, vous pouvez ajouter des aspects à vos factures - ajouter des propriétés supplémentaires comme le nom du fournisseur aux factures. Mais vous pouvez également ajouter cet aspect à un "dossier" ou un espace dans alfresco - par exemple, vous pouvez avoir un espace pour un fournisseur, ou un contrat ou un autre document - et à chacun de ces types, vous pouvez ajouter l'aspect "fournisseur ".

+0

Plus de détails ici: http://stackoverflow.com/a/15572316/162070 – Zlatko