Modèles de données

Les types, aspects et propriétés doivent être définis préalablement dans Alfresco.

Classes de tags

Les classes de tags à surcharger dans FlowerDocs sont les tags de type USER, TEXT, CHOICELIST et CONDITIONAL. Pour les autres classes de tags, la définition des propriétés Alfresco est suffisante.

L’ajout du libellé d’un tag se paramètre dans la partie définition de propriétés d’Alfresco.

Pour les tags de type liste de choix et conditionnel, le nom symbolique FlowerDocs doit correspondre à la valeur d’une contrainte Alfresco qui doit être définie préalablement dans Alfresco.

Les notions de tag obligatoire et de valeur par défaut dans le document se paramètrent directement dans Alfresco au niveau de la définition de propriété. De plus, si le tag est noté comme obligatoire il le sera pour toutes les classes de composants. Si besoin, les notions de tag obligatoire et de valeur par défaut peuvent être gérées en fonction de la classe des composants à l’aide d’un développement spécifique en utilisant un script JavaScript.

Classes de composants

Pour chaque type Alfresco, créez la propriété alfresco.aspects[nom_du_type] en listant les aspects présents dans ce type séparés par une virgule. Note : Les identifiants de classe pouvant contenir des :, il est nécessaire de les protéger par des \ et de les encapsuler dans des crochets [].

alfresco.aspects.n[fd\:Claim]=fd:aspect1|fd:aspect2|fd:aspect3

Un même type peut avoir plusieurs combinaisons d’aspects, dans ce cas il faut séparer chaque combinaison par un pipe | :

alfresco.aspects.n[fd\:Claim]=fd:aspect1|fd:aspect2|fd:aspect3|fd:aspect1|fd:aspect4|fd:aspect5

Ces propriétés vont faire le lien entre les types Alfresco et les classes de composants FlowerDocs (documents, dossiers virtuels, tâches). Chaque combinaison va générer un identifiant de classe FlowerDocs (classid).

Les tâches et pièces jointes

Les liens entre une tâche et ses pièces jointes est assuré par la notion de Secondary association où :

  • le type d’association est l’identifiant de la pièce jointe
  • le noeud fils référencé est l’identifiant du composant attaché

La définition d’une pièce jointe est réalisé dans un modèle tel que :

<aspect name="rh:hasCV">
	<associations>
		<child-association name="rh:cv">
			<source>
				<mandatory>false</mandatory>
				<many>true</many>
			</source>
			<target>
				<class>cm:content</class>
				<mandatory>false</mandatory>
				<many>true</many>
			</target>
			<duplicate>false</duplicate>
			<propagateTimestamps>true</propagateTimestamps>
		</child-association>
	</associations>
</aspect>

Les alias

Le concept d’alias permet d’associer des identifiants référençants des identifiants Alfresco.

Un alias peut être défini pour l’identifant de :

  • une classe de composants
  • une classe de tags
  • une pièce jointe de tâche

Un alias est configuré grâce au fichier core.properties en ajoutant une propriété telle que :

alfresco.alias.<name>=<id>