cancel
Showing results for 
Search instead for 
Did you mean: 

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

didier
Champ in-the-making
Champ in-the-making
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 8

michaelh
Champ on-the-rise
Champ on-the-rise
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
Champ in-the-making
Champ in-the-making
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
Champ on-the-rise
Champ on-the-rise
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
je repose la même question que sarra

michaelh
Champ on-the-rise
Champ on-the-rise
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
Champ in-the-making
Champ in-the-making
bonjour MichaelH

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

merci

berurier
Champ in-the-making
Champ in-the-making
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