Documentation:Les principaux modèles de données dans Alfresco
Un article de AlfrescoWiki.
Le modèle de données Alfresco est décrit à partir du méta-modèle exposé dans l'article Présentation du modèle de données. Ces bases théoriques sont nécessaires pour la création de nouveaux modèles mais il est aussi important de connaître les modèles existant dans Alfresco afin d'éviter de réinventer la roue et de s'en inspirer. Les principaux modèles à connaître sont présentés ici.
Note : les diagrammes UML présentés ici sont des reconstructions graphiques d'un partie des modèles décrits mais n'ont aucune réalité dans le code source car les classes correspondantes n'existent pas.
[modifier] Le modèle systemModel.xml
C'est la couche de fondations sur laquelle reposent tous les autres modèles. On y trouve des notions très génériques et très abstraites, mais surtout la manière dont sont identifiés les noeuds Alfresco grâce à l'aspect sys:referencable. Ce dernier définit les propriétés sys:store_protocol, sys:store_identifier et sys:node_uuid qui forment le tryptique identifiant tout noeud dans Alfresco (par exemple sys:store_protocol=workspace, sys:store_identifier=SpacesStore et sys:node_uuid=feae3996-bed3-11dc-bb15-7b73641a933d ce qui donne la référence de noeud Alfresco workspace://SpacesStore/feae3996-bed3-11dc-bb15-7b73641a933d).
[modifier] Le modèle contentModel.xml
C'est le principal modèle de données dans Alfresco. Il décrit aussi bien les documents que les catégories et les personnes, mais aussi les principaux aspect additionnels. Le type de base de ce modèle est l'abstrait cm:cmobject dont héritent tous les autres. Les documents sont tous de type cm:content et les répertoires sont des cm:folder. Les catégories sont de type cm:category et elles sont toutes stockées sous une racine de type cm:category_root (actuellement seule la racine cm:general_classifiable est supportée). De nombreux aspect sont définis dans le contentModel mais en général ils n'ont aucun comportement spécifique associé, juste de nouvelles propriétés ou associations. L'aspect cm:versionable fait exception car il implique la gestion des version du document associé.


