Phraseanet Documentation

API 1.1

Un changement majeur du schema apparait lors de la version 3.6 dans le stockage des valeurs de champs. Les valeurs de champs multivalués étaient auparavant stockées sérialisées. Elles sont désormais stockées indépendamment les unes des autres.

Ce changement permet une amélioration majeure : le stockage de ressources (Utilisateurs, Geonames, Entrée de thésaurus...) dans un champ multivalué.

La conséquence majeure réside dans les deux routes d’API records/metadatas et records/setmetadatas, donc le passage de l’API en version 1.1.

Route records/metadatas

La route records/metadatas renvoyait auparavant les métadonnées sous la forme :

"6272": {                    //champ monovalue
    "meta_id": 6272,
    "meta_structure_id": 2,
    "name": "Categorie",
    "value": "paysages"
},
"6273": {                    //champ multivalue
    "meta_id": 6273,
    "meta_structure_id": 4,
    "name": "MotsCles",
    "value": [
        "ciel",
        "météo",
        "nuage"
    ]
}

La réponse records/metadatas est maintenant sous la forme :

"6272": {                    //valeur du champ monovalue
    "meta_id": 6272,
    "meta_structure_id": 2,
    "name": "Categorie",
    "value": "paysages"
},
"6273": {                    //valeur de champ multivalue
    "meta_id": 6273,
    "meta_structure_id": 4,
    "name": "MotsCles",
    "value": "ciel"
},
"6274": {                    //valeur de champ multivalue
    "meta_id": 6274,
    "meta_structure_id": 4,
    "name": "MotsCles",
    "value": "météo"
},
"6275": {                    //valeur de champ multivalue
    "meta_id": 6275,
    "meta_structure_id": 4,
    "name": "MotsCles",
    "value": "nuage"
}

Route records/caption

Pour les utilisateurs qui utilisaient cette route pour l’affichage de la fiche descriptive, nous avons ajouté la route records/caption qui sera plus aisée à manipuler. On reservera l’usage de la route records/metadatas au prélude de l’édition des metadonnées.

"2": {                         //valeur du champ monovalue
    "meta_structure_id": 2,
    "name": "Categorie",
    "value": "paysages"
},
"4": {                         //valeur de champ multivalue sérialisé
    "meta_structure_id": 4,
    "name": "MotsCles",
    "value": "ciel ; météo ; nuage"
}

Voir aussi

documentation complète de la route records/caption

Route records/setmetadatas

La route records/setmetadatas fonctionnait auparavant sous la forme :

metadatas = {
    //Ajout d'un champ mono valué
    {
        meta_struct_id: 1,
        meta_id: null,
        value : [
            'A pretty string'
        ]
    },
    //update d'un champ multivalué
    {
        meta_struct_id: 3,
        meta_id: 487,
        value: [
            'one key word',
            'two key word'
        ]
    },
    //suppression d'un champ
    {
        meta_struct_id: 7,
        meta_id: 489,
        value: []
    }
}

Désormais, il faut l’utiliser de la manière suivante :

metadatas = {
    //Ajout d'un champ mono valué
    {
        meta_struct_id: 1,
        meta_id: "",
        value : 'A pretty string'
    },
    //update d'une valeur de champ multivalué
    {
        meta_struct_id: 3, //champ multivalué
        meta_id: 487,
        value: 'one key word'
    },
    //ajout d'une valeur dans un champ multivalué
    {
        meta_struct_id: 3, //champ multivalué
        meta_id: "",
        value: 'second key word'
    },
    //suppression d'une valeur d'un champ multivalué
    {
        meta_struct_id: 3, //champ multivalué
        meta_id: 487,
        value: ""
    },
    //suppression d'une valeur dans un champ monovalué
    {
        meta_struct_id: 7,
        meta_id: 489,
        value: ""
    }
}