Quelques rappels

Structure d'objets Scenari

Workspace[1] = espace de travail racine associé à un modèle documentaire permettant de valider et d'exploiter les contenus des items qu'il contient (indexation, renditions...).

  • Space[2](s) = structuration arborescente pour aider les auteurs dans leur organisation / gestion, non signifiant sémantiquement pour le contenu des items (ie pas d'impact sur les publications).

    • Item[3]

      • Contenu de l'item composé de flux xml et/ou binaires (cf ci-après).

      • Propriétés de l'item intégralement calculées à partir du contenu (ie extraites du contenu) et du modèle documentaire associé au workspace.

      • Données complémentaires prévues dans le cadre d'une intégration GED : meta-données de gestion de l'item indépendantes du contenu (audit-trail, statuts workflow, etc.)

Propriétés d'items (extraites du contenu)

La structure de propriétés d'items respecte un schéma XML générique indépendant du modèle documentaire.

Voici un exemple de représentation XML possible des propriétés d'un item extraites de son contenu en fonction du modèle documentaire associé au workspace :

<item>

<title>Titre de l'item</title>

<signature>String représentant les caractéristiques de l'item</signature>

<status>Null/Pending/Valid/Warning/Error : état de l'item; si il existe et calculé, l'état valid / warning ou error est calculé par agrégation des problèmes issus des contentProblems et des attrRef ci-dessous</status>

<attrStr name="clé de cet attribut">Valeur de l'attribut</attrStr>

<attrListStr name="clé de cet attribut">

<str>Valeur 1</str>

<str>Valeur x</str>

</attrListStr>

<attrDate name="clé de cet attribut">Date</attrDate>

<attrNumber name="clé de cet attribut">Number</attrNumber>

<attrXml name="clé de cet attribut">...xml...</attrXml>

<attrRef name="clé de cet attribut" refUri="uri item pointé">

<pb type="warning/error" code="..." msg="...">...details...</pb>

<pb type="warning/error" code="..." msg="...">...details...</pb>

</attrRef>

<contentProblems>

<pb type="warning/error" code="..." msg="...">...details...</pb>

<pb type="warning/error" code="..." msg="...">...details...</pb>

</contentProblems>

</item>

Interdépendance des propriétés d'items :

Contexte : un item A pointe un item B, ie un item A contient un attrRef qui pointe l'item B.

Les propriétés de l'item A doivent être réévaluées lorsque l'item B est modifié car des problèmes de l'AttrRef de l'item A peuvent apparaître ou être résolus en fonction de la nouvelle version de B.

Le statut général de l'item A peut donc évoluer en fonction des modifications de l'item B.

Typologie des contenus d'items Scenari

  • Items XML = 1 flux xml

  • Items binaires = 1 flux binaire

  • Items binaires enrichis = 1 flux binaire + 1 flux de meta-données xml + 1 flux de propriétés physiques xml + {PREVU : x flux binaires associés à des paths arborescents = sources auteurs non gérés par Scenari}

  • Items folders = X flux binaires associés à des paths arborescents + {PREVU : 1 flux de meta-données xml}

Mapping avec le FileSystem

  • Workspace = un dossier contenant un fichier xml nommé « .wspmeta » spécifiant le modèle documentaire à utiliser.

  • Space = un dossier du FileSystem.

  • Item Xml = un fichier xml.

  • Item Binaire = un fichier binaire.

  • Item Binaire enrichi = un dossier contenant :

    • le flux binaire portant le même nom que le dossier

    • + un fichier xml de meta-données

    • + un fichier xml de propriétés physiques.

  • Item Folder = un dossier du FileSystem contenant des fichiers et sous-dossiers.

Limites du mapping FileSystem

  • Pas d'audit-trail / versionning

  • Pas de gestion de droits élaborés

  • Scalabilité limitée : pas de sérialisation / persistance des propriétés des contenus => nécessité de garder en mémoire le réseau des propriétés d'items et de parser l'intégralité des contenus au chargement d'un workspace pour offrir les fonctionnalités du type « parcours ascendant du réseau d'items », ou renommage transverse d'items.

  • Pas de fonctions collaboratives et de notions :

    • de locks,

    • de working copys privés

    • d'items publics exploitables par d'autres workspaces

    • de workflow de production et validation des contenus