Aller au contenu principal
Version: 7.0

Métadonnées

Les fichiers les plus importants pour la configuration et le stockage des métadonnées sont mets.xml et levels.xml. Le fichier levels.xml est situé sous docuteam-packer/config. Il est utilisé pour définir les champs de métadonnées. Le fichier mets.xml est situé dans chaque SIP au niveau supérieur à côté de l'élément racine et contient les métadonnées d'un SIP.

mets.xml

Si un SIP est créé avec docuteam packer, un fichier est automatiquement créé qui contient toutes les métadonnées du paquet. Le fichier est situé dans le SIP au niveau supérieur, à côté de l'élément racine. Il est appelé mets.xml et est structuré selon les spécifications de la norme Matterhorn METS.

Emplacement du fichier mets.xml

Le standard METS Matterhorn combine les standards METS, PREMIS et EAD. Elle précise comment ces trois normes peuvent être utilisées pour décrire un SIP. Vous trouverez de plus amples informations sur le METS Matterhorn ici.

Les métadonnées techniques et administratives sont automatiquement extraites et capturées par docuteam packer. L'utilisateur doit saisir manuellement les métadonnées descriptives dans la vue détaillée du SIP ouvert. Les champs de métadonnées disponibles pour un niveau spécifique et les valeurs autorisées dans ces champs sont définis dans le fichier de configuration levels.xml.

levels.xml

Dans le fichier levels.xml sont effectués des réglages qui ont une influence sur l'affichage et l'utilisation des champs sous l'onglet "Description" dans la vue détaillée d'un SIP. Il est situé sous docuteam-packer/config. Ici, par exemple, vous pouvez définir quels champs doivent être affichés à quel niveau hiérarchique, si un champ est obligatoire, si des valeurs par défaut sont utilisées ou comment une valeur saisie est validée.

Le dossier docuteam-packer/config contient différents fichiers de configuration levels.xml préconfigurés. packer utilise toujours le fichier levels.xml ; en renommant un autre fichier en levels.xml, la configuration peut être adaptée :

  • levels.xml: Version standard avec seulement un niveau de description (le niveau "Non défini") avec tous les champs de métadonnées qui peuvent être utilisés dans packer.
  • levels_BAR.xml: Version pour convertir les paquets Matterhorn METS en eCH-0160.
  • levels_cmi_de.xml Version adaptée pour le système d'archivage d'information CMI AIS.
  • levels_isad-g_de.xml Version avec les niveaux de description, champs et désignation des champs selon ISAD(G) en allemand.
  • levels_isad-g_en.xml Version avec les niveaux de description, champs et désignation des champs selon ISAD(G) en anglais.
  • levels_isad-g_fr.xml Version avec les niveaux de description, champs et désignation des champs selon ISAD(G) en français. Dans la première section de levels.xml (LEVELS:MetadataElements) sont définis tous les éléments de métadonnées disponibles et éventuellement les valeurs autorisées. Pour obtenir une vue d'ensemble de tous les éléments de métadonnées de Packer, consultez la liste des champs de métadonnées.

La deuxième section de levels.xml (LEVELS:Levels) définit les niveaux de description et l'affectation des éléments de métadonnées à ces niveaux de description.

Éléments de métadonnée

Un LEVELS:MetadataElement est défini par les 6 attributs suivants:

accessorNameId
ExempleaccessNr
obligatoireoui
ExplicationLe nom unique du champ de métadonnées. Cela doit correspondre aux accesseurs indiqués ci-dessous, qui sont utilisés pour accéder aux données dans packer. Si nécessaire, une étiquette individuelle peut être attribuée à un champ de métadonnées pour l'affichage dans l'interface graphique via la configuration i18n.
defaultExpression
Exemplesnew java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date()), ((ch.docuteam.darc.mets.structmap.NodeAbstract)object1).getMimeType(), "false"
obligatoirenon
ExplicationUne expression Java pour initialiser ce champ avec une valeur lors de la création du noeud. Le nœud actuel est référencé par : (ch.docuteam.darc.mets.structmap.NodeAbstract)object1. Voir Liste des defaultExpressions pour des examples.
validatorClassName
Exemplech.docuteam.darc.mdconfig.MetadataElementValidatorDate
obligatoirenon
ExplicationUne classe Java qui valide le contenu de cet élément de métadonnées lorsqu'il est défini. Si la validation n'autorise pas la valeur saisie, un message d'erreur s'affiche et le champ est rempli avec la valeur précédente. Voir Liste des validatorClassNames pour tous validateurs disponibles.
postActionClassName
Exemplech.docuteam.darc.mdconfig.
MetadataElementSetterPostActionSysOut
obligatoirenon
ExplicationUne classe Java qui exécute toute action après que la valeur de ce champ a été définie. Cette action n'est pas exécutée si la validation de la valeur saisie échoue. Voir Liste des postActionClassNames pour tousclasses disponibles.
allowedValues
Exemple*;Deutsch;English;Français;Italiano, file:///config/skos/retentions.rdf
obligatoirenon
ExplicationUne liste de valeurs qui s'affiche dans Packer sous forme de liste déroulante. Si le premier élément de cette liste est un astérisque "*", d'autres termes peuvent être saisis en plus des éléments de la liste. \ La liste des valeurs peut également être prédéfinie dans un fichier respectant le schéma SKOS ("Simple Knowledge Organisation System"). Le chemin relatif vers ce fichier RDF doit être fourni dans ce cas.
allowedValuesType
ExemplestringList
obligatoirenon
ExplicationSpécification du type de la liste de sélection des valeurs autorisées. Supportés sont stringList, skosFile et csvFile.

Un exemple:

<LEVELS:MetadataElement
accessorNameID="retentionPolicy"
defaultExpression='"Confidential"'
allowedValues="OpenAccess;EmbargoPeriod30Years;EmbargoPeriod50Years;Confidential"
allowedValuesType="stringList"/>

L'élément LEVELS:AllowedValuesSeparator permet de définir le séparateur de la liste des valeurs autorisées. Il peut également être composé de plusieurs caractères, comme le montre l'exemple suivant :

<LEVELS:MetadataElements>
<LEVELS:AllowedValuesSeparator>::</LEVELS:AllowedValuesSeparator>
<LEVELS:MetadataElement
accessorNameID="language"
allowedValues="*::Deutsch::English::Français::Italiano"/>
...
</LEVELS:MetadataElements>

Niveaux de description

Un LEVELS:Level (niveau de description) est défini par les 4 attributs suivants :

nameID
ExempleArchives
obligatoireoui
ExplicationLe nom unique de ce niveau de description
iconFileName
Exempleresources/images/LevelSerie.png
obligatoireoui
ExplicationLe chemin vers le fichier d'icône de ce niveau. Si ce fichier n'existe pas, une icône d'avertissement jaune s'affiche.
allowedSublevelNameRefs
ExempleSection Fonds Indéfini
obligatoirenon
ExplicationLa liste des sous-niveaux autorisés pour ce niveau de répertoire. Les éléments de cette liste doivent être spécifiés dans ce fichier (comme nameID) et séparés par un espace. Le premier élément de cette liste est défini comme le niveau par défaut pour les nouveaux sous-éléments.
isTrash
Exempletrue
obligatoirenon
ExplicationMarquer le niveau de description correspondant comme étant des nœuds à supprimer, par exemple, après une révision par l'organisme de livraison.

Un exemple :

<LEVELS:Level
nameID="Archives"
iconFileName="resources/images/LevelSerie.png"
allowedSublevelNameRefs="Section Fonds Indéfini">
...
</LEVELS:Level>

Affectation des éléments de métadonnées aux niveaux de description

L'affectation des éléments de métadonnées aux niveaux de description est définie par une liste de LEVELS:LevelMetadataElement. Cet élément possède les 7 attributs suivants :

accessorNameRef
Exemplelanguage
obligatoireoui
ExplicationLe accessorNameID de l'élément de métadonnées ; fait référence à un accessorNameID de la liste des <LEVELS:MetadataElements> (voir ci-dessus).
isMandatory
Exempletrue
obligatoireoui
ExplicationSi true, cet élément de métadonnées est obligatoire. Les éléments obligatoires sont toujours affichés dans la liste des métadonnées. Si un élément obligatoires est vide, l'élément est marqué d'un point d'exclamation.
isRepeatable
Exemplefalse
obligatoireoui
ExplicationSi true, cet élément de métadonnées est répétable et peut donc être ajouté plusieurs fois si nécessaire.
isAlwaysDisplayed
Exempletrue
obligatoirenon
ExplicationSi true, cet élément de métadonnées est toujours affiché dans la liste des métadonnées et ne doit pas être ajouté manuellement au préalable.
isReadOnly
Exemplefalse
obligatoirenon
ExplicationSi true, cet élément de métadonnées ne peut pas être modifié manuellement. Si une defaultExpression est spécifiée, l'élément de métadonnées est initialisé avec celle-ci lors de sa création.
keepInTemplate
Exemplefalse
obligatoirenon
ExplicationSi true, cet élément de métadonnées ne sera pas supprimé lorsqu'un modèle est créé.
displayRows
Exemple5
obligatoirenon
ExplicationSpécifie le nombre de lignes lors de l'affichage de cet élément de métadonnées dans la liste des métadonnées.

Un exemple:

<LEVELS:LevelMetadataElement
accessorNameRef="PID"
isMandatory="false"
isRepeatable="false"
isAlwaysDisplayed="true"
isReadOnly="true"/>

Selon la façon dont les attributs sont définis dans le fichier levels.xml, les champs de métadonnées sont affichés en conséquence dans la vue détaillée d'un SIP.

Si des éléments de métadonnées dynamiques sont définis à titre d'exemples, ils peuvent être sélectionnés dans la liste déroulante en bas à gauche de l'onglet "Description" et ajoutés à la liste en cliquant sur le signe plus.

ajouter dynamiquement des champs de métadonnées

La première colonne de la liste contient, sous forme codée, des informations sur les différents éléments définis dans le fichier levels.xml :

  • Un * signifie que cet élément est un champ obligatoire et qu'il a déjà été rempli. Les champs obligatoires sont toujours visibles.
  • Un ! signifie que l'élément est un champ obligatoire qui n'a pas encore été rempli.
  • Un O signifie que l'élément est toujours visible mais qu'il n'est pas obligatoire de le remplir.
  • Un + signifie que l'élément peut apparaître plus d'une fois.
  • Un X signifie que l'élément ne peut pas être édité.

Liste des champs de métadonnées

Pour une liste des champs de métadonnées disponibles dans packer, voir la documentation sur Matterhorn METS.

Liste des defaultExpressions

  • '"Abc"': Initialise le champ avec le contenu "Abc".
  • 'new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date())': Initialise le champ avec la date actuelle au format yyyy-MM-dd.
  • '((ch.docuteam.darc.mets.structmap.NodeAbstract)object1).getMimeType()': Initialise le champ avec le type MIME du fichier.
  • 'ch.docuteam.tools.string.DateFormatter.getDateTimeString(object1.getFile().lastModified(), DateFormatter.Short)': Initialise le champ avec la date de la dernière modification d'un fichier.
  • 'ch.docuteam.tools.file.FileUtil.getHumanReadableFileSize(object1.getFile())': Initialise le champ avec la taille du fichier.
  • 'object1.isFile() ? ch.docuteam.tools.file.FileUtil.asFileNameExtension(((ch.docuteam.darc.mets.structmap.NodeAbstract)object1).getFile()) : null': Initialise le champ avec l'extension de fichier.

Liste des validatorClassNames

  • 'MetadataElementValidatorInteger.java': N'accepte que les entiers compris entre -2147483648 et 2147483647.
  • 'MetadataElementValidatorShort.java': N'accepte que les entiers positifs compris entre 0 et 32767.
  • 'MetadataElementValidatorYear.java': Accepte uniquement les dates au format yyyy.
  • 'MetadataElementValidatorDate.java': Accepte uniquement les dates au format yyyy-MM-dd.
  • 'MetadataElementValidatorDateCH.java': Accepte uniquement les dates au format dd.MM.yyyy.
  • 'MetadataElementValidatorDateYYYYMMDD.java': Accepte uniquement les dates au format yyyyMMdd.
  • 'MetadataElementValidatorDateYYYYMMDDPartial.java': Accepte uniquement les dates au format yyyyMMdd, yyyyMM ou yyyy.
  • 'MetadataElementValidatorDateRangeCH.java': Accepte uniquement les dates ou les plages de dates au format dd.MM.yyyy ou dd.MM.yyyy - dd.MM.yyyy
  • 'MetadataElementValidatorDateHierarchyRangeCH.java': Accepte uniquement les dates ou les plages de dates au format dd.MM.yyyy ou dd.MM.yyyy - dd.MM.yyyy et vérifie si la plage de dates est incluse dans la plage de dates des ascendants et contient les plages de dates des descendants.
  • 'MetadataElementValidatorDateHierarchyYear.java': Accepte uniquement les dates ou les plages de dates au format yyyy ou yyyy - yyyy et vérifie si la plage de dates est incluse dans la plage de dates des ascendants et contient les plages de dates des descendants.
  • 'MetadataElementValidatorUniqueValueAmongSiblings.java': Vérifie si un élément de métadonnées n'apparaît qu'une seule fois au sein de la fratrie.

Liste des postActionClassNames

  • 'MetadataElementSetterPostActionAddValueInParents.java': Insère une copie d'un élément de métadonnées nouvellement inséré dans tous les ancêtres.
  • 'MetadataElementSetterPostActionAddStartDateInParents.java': Insère un nouveau champ de date de début dans tous les ancêtres, si la même date dans les ancêtres est vide ou ultérieure à la nouvelle date saisie. Supporte différents formats de date.
  • 'MetadataElementSetterPostActionAddEndDateInParents.java': Insère un champ de date de fin nouvellement inséré dans tous les ancêtres si la même date dans les ancêtres est vide ou antérieure à la nouvelle date insérée. Supporte différents formats de date.
  • 'MetadataElementSetterPostActionAddValueInChildrenOfDossiers.java': Applique un changement (ajoute/change/enlève) d'une valeur aux sous-noeuds (si le niveau correspond à "Dossier" ou "Document" et si l'élément n'est pas répétable).