Lexique pour le fichier de configuration OpenADOM
Inventaire des mots clefs du fichier de configuration OpenADOM
Lexique
Vous trouverez ici une liste des termes immuables, se trouvant dans le fichier de configuration, accompagnés d’une définition et d’example.
OpenADOM
version : nous l’utilisons pour la version de OpenADOM
(actuellement, c’est la version 1).
L’application
application : dans cette partie nous décrirons l’application.
- version : Nous changeons la version de l’application avant d’importer les fichiers de configuration sur
OpenAdom
. - defaultLanguage : On peut définir ici une langue d’affichage par défaut en utilisant les abréviations du nom de la langue. (ex : français -> fr, anglais -> en)
- name : Le nom de l’application qui sera enregistré en base de données.
- internationalizationName” : L’affichage du nom (name) en fonction de la langue : (cf.internationalisationName)
Les référentiels (references)
references : Un ensemble d’informations permettant de préciser le contexte de la mesure ou de l’observation.
En déportant ces informations dans des fichiers references, on évite la répétition d’informations. On utilisera la clef d’une information pour y faire référence.
- internationalizationName : (cf.internationalisationName)
- internationalizedColumns : permet de relier des colonnes contenant une information et ses traductions
- internationalizationDisplay : permet de définir pour chaque langue comment le référentiel s’affiche dans l’interface.
- pattern: L’expression qui génère la chaîne d’affichage.
pattern: en: "the name: {colonneMonNom}" fr: "le nom: {colonneMonNom}" ...:
- keyColumns : Un tableau des noms des colonnes faisant partie de la clef primaire.
- tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur la référence pour filtrer l’affichage de la liste des références
- columns : (cf. Les colonnes du fichier)
- computedColumns : (cf. Les colonnes calculées)
- dynamicColumns : (cf. Les colonnes dynamiques)
Les colonnes du fichier
columns : Chaque columns est une colonne se trouvant dans le fichier du référentiel. Par conséquent, elle doit avoir le même nom que dans le fichier. - checker permet de valider une colonne ou préciser son format (cf checker)
defaultValue : la valeur par défaut si aucune valeur n’est fournie. (cf. groovy)
presenceConstraint : (cf.presenceConstraint)
tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur la colonne pour filtré l’affichage du tableau
Les colonnes calculées
computedColumns : Une computedColumns est une colonne qui n’est pas présente dans le fichier et dont la valeur est une constante ou le résultat d’un calcul. - tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur la colonne calculée pour filtrer l’affichage du tableau - checker permet de valider une colonne ou préciser son format (cf checker) - computation: section de calcul de la donnée - presenceConstraint : (cf.presenceConstraint)~~
Les colonnes dynamiques
dynamicColumns : Une dynamicColumns est un ensemble de colonnes dont le nom est la concaténation d’un préfixe et d’une valeur dans un référentiel.
Par example s’il existe un référentiel “propriétés” avec les valeurs (couleur, catégorie, obligatoire), on pourrait avoir dans un autre référentiel (en utilisant le préfixe “pts_”) pts_couleur, pts_catégorie et pts_obligatoire, en les déclarant comme dynamicColumns.
- tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur la colonne dynamique pour filtrer l’affichage du tableau
- headerPrefix : on définit la chaine de caractères servant à identifier les colonnes dynamique se trouvant dans le fichier
- internationalizationName : (cf.internationalisationName)
- presenceConstraint :(cf.presenceConstraint)
- reference: nom de la référence listant les colonnes dynamiques attendues
- referenceColumnToLookForHeader : nom de la colonne listant les noms de colonnes dynamiques attendues
Définition de référentiels hiérarchiques
compositeReferences : Une référence composite est créée en indiquant un lien parent-enfant entre un ou plusieurs référentiels ou une récursion sur un référentiel. Cela permet de générer une clef hiérarchique qui sera utilisée pour afficher hiérarchiquement ces référentiels (par example pour les authorizations ou pour le dépôt sur un repository).
- internationalizationName : (cf.internationalisationName)
internationalizationName : (cf.internationalisationName)
reference: Le nom du référentiel de jointure
parentRecursiveKey : nom de la colonne parent se trouvant dans le même référentiel que la colonne enfant (dans le cas d’un référentiel qui fait référence à lui-même).
parentKeyColumn : nom de la colonne parent se trouvant dans le référentiel enfant.
Les types de données (dataTypes)
dataTypes :
- internationalizationName : (cf.internationalisationName)
- tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur le types de donnée pour filtrer l’affichage de la liste des dataTypes.
- data : description de l’organisation de l’enregistrement des données dans la base de données sous la forme de composantes de variables. On utilise comme identificateur le nom de la variable. (cf. data)
- format : description du format du fichier (cf. format)
- uniqueness : C’est là qu’on définit une contrainte d’unicité, en listant la liste des variable components qui composent la clef. Si un fichier possède des lignes en doublon avec lui-même il sera rejeté.
- validations: Cette section permet de rajouter des validations sur les données. On donnera un nom à chacune des validations en l’utilisant comme clef.
- checker: (cf. checker)
- internationalizationName (cf. internationalizationName)
- authorization : Cette section permet de définir les informations sur lesquelles on posera les droits. Elle est aussi utilisée pour le dépôt sur un repository (cf. authorization)
- repository : Permet la gestion du dépôt des fichiers par période et contexte en se basant sur les informations de la section (authorization)
data
Les données du fichier sont enregistrées dans des components et sont liées soit à des informations des colonnes, soit à des informations de l’en-tête. On peut aussi générer des données calculées (computedComponents)
- tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur le data pour filtrer l’affichage de le tableau du dataType.
- components : On utilise comme clef le nom de la composante
- tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur le components pour filtrer l’affichage de le tableau du dataType.
- computedComponents : On utilise comme clef le nom de la composante calculée
- tags : Un tableau des noms des étiquettes (déclaré dans la partie cf. Les étiquettes)souhaité sur le computedComponents pour filtrer l’affichage de le tableau du dataType.
- chartDescription: permet de définir les données utilisées pour générer des graphes
- value: nom de la composante portant la valeur
- unit: nom de la composante portant l’unité
- standardDeviation: nom de la composante portant l’écart type
- gap: durée à partir de laquelle on considère qu’il y a un saut de données
- aggregation: composante de variable utiliser pour aggréger les données
- variable: nom de la variable
- composante: nom de la composante
Components
ComputedComponents
- checker (cf. checker)
- computation : (cf. computation)comme clef.
- checker: (cf. checker)
- internationalizationName : (cf.internationalisationName)
format
constants : définition des informations présentes dans l’en-tête du fichier
- rowNumber : numéro de la ligne
- columnNumber : numéro de la colonne
- exportHeader : Un nom de colonne fictif (pour les expressions groovy)
- headerName : Pour les informations présentes sous la ligne d’en-tête le nom de la colonne (à la place du numéro de la colonne) ; par example pour une ligne d’unité ou de contraintes.
- boundTo : permet de relier l’information à une composante de variable.
headerLine : numéro de la ligne des noms des colonnes
firstRowLine : numéro de la première ligne de données du tableau
columns : Liste des colonnes du fichier CSV de données
- header : “nom de la colonne se trouvant dans le fichier”
- boundTo : (cf. boundTo).
repeteadColumns : Définit des colonnes dont le nom répond à un pattern donné contenant des informations.
- boundTo : (cf. boundTo).
- exportHeader : Un nom de colonne fictif (pour les expressions groovy)
- headerPattern : une expression régulière dont les groupes sont liés à des composantes de variables dans la section tokens
- tokens: un tableau de token dans l’ordre de leur groupe dans l’expression régulière. La valeur du groupe sera utilisée comme valeur de la colonne fictive.
- boundTo : (cf. boundTo).
- exportHeader : Un nom de colonne fictif (pour les expressions groovy)
- tokens: un tableau de token dans l’ordre de leur groupe dans l’expression régulière. La valeur du groupe sera utilisée comme valeur de la colonne fictive.
Repository
filePattern : Permet de définir une expression régulière pour remplir les champs du formulaire automatiquement. Chaque “groupe de l’expression correspond à un token ou un authorizationScope, qu’on ordonne
authorizationScope : Permet de définir quel groupe correspond à quel authorizationScopes (la clef est le nom de l’authorizationScopes)
startDate : Section de la date de début
- __token : numéro du groupe ()
endDate : Section de la date de fin
- __token : numéro du groupe ()
Sections génériques
InternationalisationName
Pour internationaliser les noms et clefs, on utilise la section internationalizationName
internationalizationName:
en: expression en anglais
fr: expression en français
...:
Groovy
La section groovy accepte trois paramètres
expression : une expression groovy (pour le checker GroovyExpression doit renvoyer true si la valeur est valide)
references : une liste de référentiels pour lesquels on veut disposer des valeurs dans l’expression
datatypes : une liste de datatypes pour lesquels on veut disposer des valeurs dans l’expression
La différence entre une section groovy de la section params d’un checker groovy et une section groovy de la section transformation de la section params, tient dans le fait que pour un checker groovy l’expression renvoyée est un booléen tandis que dans la transformation l’expression groovy renvoie une nouvelle valeur.
Les sections defaultValue sont des expressions groovy ; par example : - 42 - “quarante-deux” - true - 9.8*datum.masse - datum.date.day+” “+datum.date.time”
Checker
checker: c’est la section où on réalise les validations des données et leur typage.
name: il y a plusieurs vérifications possibles :
- vérifier la nature type d’un champ (float, integer, date) ( Integer, Float, Date)
- vérifier que la valeur vérifie une expression régulière ( RegularExpression)
- ajouter un lien avec un référentiel (Reference)
- vérifier un script
- le script renvoie true ( groovy.expression)
- le script renvoie une valeur (
defaultValue
,computation.expression
,transformation.groovy
)
params: section permettant de passer des paramètres au validateur
Contenu de la section params :
- multiplicity : La colonne est une valeur (ONE), ou un ensemble de valeurs séparées par une virgule (MANY ex: 42,36 chat,chien)
- duration: pour un checker Date, utilisé comme information temporelle (timeScope), on peut préciser la durée de la mesure. > Une durée est définie au sens SQL d’un interval (‘1 HOUR’, ‘2 WEEKS’, ‘30 MINUTES’).
- groovy: Pour un checker GroovyExpression. (cf. groovy) pour vérifier la valeur avec un script groovy.
- pattern: Pour un checker Date ou RegularExpression : soit une expression régulière, soit une expression de format de date.
- reftype: Pour un checker Reference : le nom d’un référentiel
- required: true si la valeur doit être fournie
- transformation
On peut rajouter une section transformation pour modifier la valeur avant sa vérification :
Cette transformation peut être configurée avec - codify : la valeur sera alors échappée pour être transformée en clé naturelle (Ciel orangé -> ciel_orange) - groovy : permet de déclarer une transformation de la valeur avec une expression Groovy (qui doit retourner une chaîne de caractère) (cf. groovy)
- validations: cette section permet de rajouter des validations sur plusieurs colonnes en même temps. On donnera un nom à chacune des validations en l’utilisant comme clef de la validation.
- internationalizationName : (cf.internationalisationName)
- checker: (cf. checker)
- columns: un tableau de colonnes sur lesquelles porte la validation.
Computation
- computation: section permettant la modification de la données avant sa vérification
- groovy (cf. groovy)
- references: un tableau des référentiels à ajouter au contexte de calcul
- datatypes: un tableau des types de données à ajouter au contexte de calcul
Presence constraint
- presenceConstraint :Pour dire si la colonne doit être présente dans le fichier (MANDATORY), ou si on peut l’omettre (OPTIONAL)