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.
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 delevels.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 | |
---|---|
Exemple | accessNr |
obligatoire | oui |
Explication | Le 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 | |
---|---|
Exemples | new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date()) , ((ch.docuteam.darc.mets.structmap.NodeAbstract)object1).getMimeType() , "false" |
obligatoire | non |
Explication | Une 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 | |
---|---|
Exemple | ch.docuteam.darc.mdconfig.MetadataElementValidatorDate |
obligatoire | non |
Explication | Une 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 | |
---|---|
Exemple | ch.docuteam.darc.mdconfig. MetadataElementSetterPostActionSysOut |
obligatoire | non |
Explication | Une 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 |
obligatoire | non |
Explication | Une 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 | |
---|---|
Exemple | stringList |
obligatoire | non |
Explication | Spé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 | |
---|---|
Exemple | Archives |
obligatoire | oui |
Explication | Le nom unique de ce niveau de description |
iconFileName | |
---|---|
Exemple | resources/images/LevelSerie.png |
obligatoire | oui |
Explication | Le 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 | |
---|---|
Exemple | Section Fonds Indéfini |
obligatoire | non |
Explication | La 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 | |
---|---|
Exemple | true |
obligatoire | non |
Explication | Marquer 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 | |
---|---|
Exemple | language |
obligatoire | oui |
Explication | Le 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 | |
---|---|
Exemple | true |
obligatoire | oui |
Explication | Si 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 | |
---|---|
Exemple | false |
obligatoire | oui |
Explication | Si true , cet élément de métadonnées est répétable et peut donc être ajouté plusieurs fois si nécessaire. |
isAlwaysDisplayed | |
---|---|
Exemple | true |
obligatoire | non |
Explication | Si 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 | |
---|---|
Exemple | false |
obligatoire | non |
Explication | Si 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 | |
---|---|
Exemple | false |
obligatoire | non |
Explication | Si true , cet élément de métadonnées ne sera pas supprimé lorsqu'un modèle est créé. |
displayRows | |
---|---|
Exemple | 5 |
obligatoire | non |
Explication | Spé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.
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).