REST API Problème conceptuel Carence dans les schémas de métadonnées
Fonctionnalité problématique
https://host/constellio/getSchemaMetadatas?collection=<code>&type=document
https://host/constellio/getSchemaMetadatas?collection=<code>&type=folder
Description du problème
Contexte
Un client applicatif utilise les API Constellio : generateToken, documents, folders, recherche.
Le client applicatif a la collection et le schema type d'un document ou d'un folder.
Le client applicatif peut voir une métadonnée de type référence.
Le client applicatif veut renvoyer la liste des valeurs possibles pour la métadonnée à son interface utilisateur pour que le client final puisse faire un choix valide de valeur.
Besoin
Ajouter le referenceType aux schemas metadatas de type document et folder.
But de la fonctionnalité
Pouvoir retrouver les valeurs d'une métadonnée de type REFERENCE à partir d'une recherche Solr sur un schéma ddv. La colle entre une métadonnée donnée et ses valeurs permises est ce qui manque.
Cette fonction est absolument requise aux opérations des clients applicatifs de notre organisation.
L'alternative actuelle est de faire des extractions manuelles depuis l'interface utilisateur Constellio et de configurer les referenceType manuellement, ce qui est sensible à des mises à jour et à des erreurs.
Informations relatives à la demande
Pour une métadonnées de document ou de folder, les services :
https://host/constellio/getSchemaMetadatas?collection=<code>&type=document
https://host/constellio/getSchemaMetadatas?collection=<code>&type=folder
doivent retourner une structure similaire à :
{
"code": "<metadata>",
"title": "<title>",
"multivalue": "<boolean>",
"type": "REFERENCE",
"referencedType": "<ddv_schema>",
"solr-field": "<solrfield>",
"label": "<label>"
}
Encore mieux :
{
"code": "<metadata>",
"title": "<title>",
"multivalue": "<boolean>",
"type": "REFERENCE",
"referencedType": "<ddv_schema>",
"required": "<boolean>",
"solr-field": "<solrfield>",
"label": "<label>"
}
Le deuxième ajout (required, c'est-à-dire obligatoire) nous serait également TRÈS utile, car le client final devrait savoir s'il doit renseigner un champ de façon obligatoire sans que le programme de client applicatif ait à configurer statiquement cette information (maintenance, error prone).
Note au sujet du referenceType : le referenceType d'un ddv personnalisé a la forme ddv<idnum>, p.ex. ddv2708123. Mais l'API recherche utilise une valeur de schéma de la forme ddv<idnum><code schema>, p.ex. ddv2708123_default. On peut trouver ddv2708123_default en ajoutant "_default" au referenceType, mais ce serait bien mieux d'avoir une autre valeur ajoutée aux résultats du getSchemaMetadatas, quelque chose comme "type-code": "default". Il faudrait alors concaténer avec un "_" pour avoir ddv2708123_default. Bien entendu, une option encore meilleure serait d'avoir une seule valeur = "ddv2708123_default".
Les commentaires de cette page ont été verrouillés !