J'évalue la version communautaire Alfresco 2.0 depuis...

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

J'évalue la version communautaire Alfresco 2.0 depuis...

Bonjour,

   J'évalue la version communautaire Alfresco 2.0 depuis environ un mois. Quelqu'un pourrait-il m'expliquer dans quel contexte définir un content model spécifique et dans quel contexte privilégier un aspect ?
Acteullment ma vision de la chose est la suivante :
   - Si un content model spécifique est défini dans le dictionnaire, l'utilisateur peut le sélectionner à l'ajout d'un contenu par l'interface Web d'Alfresco. Cependant, l'ajout d'un contenu par un accès CIFS ou WebDAV affecte à ce contenu le modèle standard et je n'ai pas trouvé de méthode pour modifier par la suite le modèle affecté à un contenu. Je n'ai également pas trouvé de méthode pour appliquer par défaut un modèle spécifique à la place du modèle standard dans un espace, ni de moyen d'appliquer des règles sur un modèle particulier.
   - Les aspects permettent de rajouter des méta-données à un contenu soit au cas par cas, soit de manière plus systématique au travers de règles. Dans la cas d'une règle ajoutant des aspects systématiquement à tout contenu entrant, on peut donc se demander pourquoi ne pas utiliser un modèle de contenu ? Un aspect peut aussi servir de condition à l'application d'une règle. Il peut également être retiré d'un contenu.
   Entre d'un part, les content models qui permettent de garantir simplmeent certaines méta-données mais dont l'application ne semble pas pouvoir être systématique, et les aspects qui paraissent plus ouverts mais nécessitent plus d'administration (mise-à-jour du dictionnaire + gestion de règles), j'ai du mal à faire la part des choses et concevoir les cas d'emploi qui tantôt vont privilégier les content model et tantôt privilégier les aspects.
   Quelqu'un pourrait-il m'éclairer ?
   Merci d'avance Smiley Happy

Didier
8 Replies
michaelh
Active Member

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

Bonjour,

Je vais essayer de faire court, parce que le sujet est du genre à pouvoir nous emmener au bout de la nuit Smiley Happy

Alors, avant tout un peu de vocabulaire car modèle, aspect, type de données, type de contenu sont tous différents.

- Un noeud peut supporter de zéro à n propriétés
- Le modèle est utilisé aussi bien dans les types de contenu que dans les aspects, et défini à partir d'un dictionnaire.
- On peut enrichir le dictionnaire (déclaré dans dictionaryModel.xml) pour ajouter des types de données (en plus de d:date, d:texte, …)
- Les types de contenu permettent de définir des hiérarchies, des héritages, la définition de propriétés et associations, et des aspects obligatoires.
- Les aspects permettent (en gros) la même chose que les types de contenu, héritages multiples et comportements en plus (versionning auto, ou verrou par exemple).

- Un noeud ne peut être associé qu'à un seul type, mais à autant d'aspects qu'on le désire. C'est la différence essentielle.

Les aspects sont souples, et ont l'intérêt de pouvoir être ajoutés, supprimés, cumulés, à travers un jeu de règles de gestions, de workflows, dans l'interface web, de façon plus dynamique que les types donc (qui sont placés lors de l'insertion).

C'est un résumé très rapide … la formation sur le sujet prend un peu plus de temps que ça Smiley Wink

Pour ceux qui lisent ce message et cherchent comment rapidement découvrir ces notions, voici une procédure rapide :

Activation du modèle "Standard Operating Procedure"
            Dans INSTALLPATHtomcatsharedclassesalfrescoextension
            Renommer example-model-context.xml.sample en example-model-context.xml
            Ce modèle est intéressant car il utilise des types de données variés.       

            Dans web-client-config-custom.xml, décommenter la portion relative au modèle "my:sop"       

            Ce modèle est ensuite accessible :

            - Lors de l'import d'un document en choissant le type de contenu "Standard Operating Procedure" dans
              le second écran de l'assistant (au lieu du classique « contenu »).
            - En appliquant les aspects associés à travers une règle ou une action manuelle.
            - Dans l'écran de recherche sous forme de champs additionnels
Il n'y a pas de réponse idéale à la question "types ou aspects ?", mais ça devrait donner quelques pistes.

J'épingle le sujet parce qu'il pourrait servir à d'autres (en fait il y a longtemps qu'on aurait du l'évoquer Smiley Wink )

La page de wiki qui est associée : http://wiki.alfresco.com/wiki/Step-By-Step:_Creating_A_Custom_Model
didier
Member II

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

Merci Michael pour ce recadrage  des différents concepts.
   J'ai une dernière question sur ce sujet : à part modifier le type de contenu standard défini dans tomcatwebappsalfrescoWEB-INFclassesalfrescomodel (ce qui n'est pas souhaitable), y-a-t-il un moyen d'appliquer par défaut un type de contenu additionnel définit dans les extensions et ce quel que soit le mode accès (web, CIFS, WEBDAV) ?

   Merci pour votre réponse Smiley Happy

Didier
michaelh
Active Member

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

Modifier le modèle par défaut ? Ahh en effet, on va éviter soigneusement (sous peine de ressentir de terribles souffrances lors des mises à jour Smiley Wink )

Pour résumer, on ne doit jamais modifier le modèle d'origine en effet, et de manière générale aucun fichier se trouvant dans webappsalfrescoWEB-INFclassesalfresco

On doit ajouter (ou surcharger) les définitions dans sharedclassesalfrescoextension , sur le modèle de ce qui est fait dans example-model-context.xml par exemple, qui référence des définitions supplémentaires.

En ce qui concerne l'application automatique des types personnalisés ou des aspects, il suffit de déclarer des règles de gestion sur des espaces.
Ensuite quelque soit le mode d'accès (CIFS, FTP, WebDAV, Webservices, API JSR-170, …), ces règles seront appliquées.
sarra
Member II

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

Bonjour MichaelH,

j'ai essayé le modèle "Standard Operating Procedure"  et ça marche merci (et ça c'est un modèle par défaut pour alfresco )mais moi j'ai d'autres modèles comme je vous a dis l'autre fois comme extrait de naissance ou fiche de longue maladie.je voulais exactement comment peut on exactement ajouter ces modèles?
encore s'il vous plaît comment contrôler le clic de l'utilisateur de telle façon qu'on puisse dans la page suivante(page de propriéts) avoir des propriétés spécifiques à chaque modèle choisi par l'utilisateur? comment changer ces propriétés ?   
           

merci et cordialement.
ayda
Member II

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

je repose la même question que sarra
michaelh
Active Member

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

Etant donné que ayda = sarra, on peut l'imaginer Smiley Happy

Multiplier les comptes ne permet pas d'obtenir des réponses plus facilement.
Bien poser les questions peut faire la différence par contre.
ayda
Member II

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

bonjour MichaelH

je ne connais pas sarra
tu sais très que c'est qui me préoccupe depuis un bon moment.

merci
berurier
Member II

Re: J'évalue la version communautaire Alfresco 2.0 depuis...

Il est possible de créer un espace et de lui adjoindre une règle
Au step 2 choisir l'action : "Specialize the type of an Item"  et de choisir un type de contenu dans l'écran suivant.

L'astuce pour que les types de contenus soient affichées dans la liste déroulante se situe au niveau du fichier
web-client-config-custom.xml. il faut définir les types de contenus dans la balise <specialise-types>

<!– Lists the custom aspect in business rules Action wizard –>
   <config evaluator="string-compare" condition="Action Wizards">
      <aspects>
         <aspect name="custom:CustomerDetails"/>
      </aspects>
      <subtypes>
         <type name="customSmiley Tongueressrelease"/>
      </subtypes> 
   <!–ICI   specialise-types –>
   <specialise-types>
         <type name="customSmiley Tongueressrelease"/>
     </specialise-types>    
   </config>

Ainsi automatiquement , le type choisi est assigné au nouveau contenu…. et ça marche aussi avec CIFS

HTH
Bernard