Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
serveurscrutari:json:fiche_fields [2017/11/02 12:37] vincentserveurscrutari:json:fiche_fields [2022/04/05 00:25] (Version actuelle) vincent
Ligne 1: Ligne 1:
 ====== Champs des fiches ====== ====== Champs des fiches ======
  
-Les champs des fiches constituent la masse la plus importante de données susceptibles d'être transmise par les différentes requêtes. La liste des champs à transmettre doit donc être indiquée par le paramètre //fichefields//La requête renverra toujours au minimum le code de la fiche.+Les champs des fiches constituent la masse la plus importante de données susceptibles d'être transmise par les différentes requêtes. La liste des champs à transmettre est indiquée soit par le paramètre //fichefields//, soit par la variante de champs à utiliser indiquée par le paramètre //fieldvariant//. Dans le cas d'absence des deux paramètres, c'est la variante par défaut qui est utilisée (voir la configuration des variantes de champs côté serveur avec le fichier [[serveurscrutari:config:fields|fields.xml]].
  
-La valeur du paramètre //fichefields// est une liste de champs séparés par une virgule.  
  
-Les champs possibles sont les suivants :+La valeur du paramètre //fichefields// ou de l'attribut //@fields// de l'élément !!<fiche>!! dans [[serveurscrutari:config:fields|fields.xml]] est une liste de champs séparés par une virgule avec les valeurs suivantes : 
   * //-codefiche// : par défaut, le code de la fiche est toujours inséré, ce paramètre permet de l'éviter   * //-codefiche// : par défaut, le code de la fiche est toujours inséré, ce paramètre permet de l'éviter
   * //codecorpus// : code du corpus   * //codecorpus// : code du corpus
Ligne 16: Ligne 16:
   * //href// : url de la fiche   * //href// : url de la fiche
   * //lang// : langue de la fiche   * //lang// : langue de la fiche
-  * //annee// : année de la fiche+  * //year// : année de la fiche
   * //date// : date de la fiche   * //date// : date de la fiche
 +  * //dateiso// : date de la fiche au format ISO (par exemple, une fiche dont seule l'année est connue sera datée au premier janvier de cette année)
   * //ficheicon// : icone spécifique de la fiche   * //ficheicon// : icone spécifique de la fiche
   * //icon// : icone qui est l'icone spécifique de la fiche s'il existe, sinon l'icone de la base de la fiche   * //icon// : icone qui est l'icone spécifique de la fiche s'il existe, sinon l'icone de la base de la fiche
Ligne 28: Ligne 29:
   * //mattrs// : tableau associatif des attributs marqués suivant le même principe que //mtitre//, seuls les attributs qui ont servi à la recherche sont inclus   * //mattrs// : tableau associatif des attributs marqués suivant le même principe que //mtitre//, seuls les attributs qui ont servi à la recherche sont inclus
   * //mattrs_primary// : comme précédent, mais tous les attributs du premier groupe (ceux placés avanc les champs complémentaires) sont inclus le tableau associatif   * //mattrs_primary// : comme précédent, mais tous les attributs du premier groupe (ceux placés avanc les champs complémentaires) sont inclus le tableau associatif
-  * //mattrs_all// : comme précédent, mais tous les attributs sont inclus le tableau associatif+  * //mattrs_all// : comme précédent, mais tous les attributs du premier et second groupes sont inclus le tableau associatif, à l'exception de ceux de type « block » 
 +  * //attrs// : attributs techniques sous le forme d'un tableau associatif 
 +  * //attrs_primary// : attributs techniques et du premier groupe sous la forme d'un tableau associatif 
 +  * //attrs_all// : tous les attributs sans exception sous la forme d'un tableau associatif (peut conduire à un fichier particulièrement volumineux s'il y a des attributs de type « block »)
   * //score// : score de la fiche pour la recherche, c'est un tableau de trois réels entre 0 et 1 : le premier est le score pour l'occurrence, le deuxième pour la date et le troisième pour l'origine ; c'est la somme de ces scores qui détermine l'ordre des fiches   * //score// : score de la fiche pour la recherche, c'est un tableau de trois réels entre 0 et 1 : le premier est le score pour l'occurrence, le deuxième pour la date et le troisième pour l'origine ; c'est la somme de ces scores qui détermine l'ordre des fiches
-  * //{nom d'attribut}// : tout nom d'attribut valide, la valeur de l'attribut sera une chaine ; si l'attribut possède plusieurs valeurs elles seront concaténées suivant un mode opératoire dépendant du type de l'attribut+  * //codemotclearray// : indique qu'il faut également transmettre les mots-clés indexant la fiche, (c'est le comportement par défaut dans le cas d'une recherche) 
 +  * //-codemotclearray// : indique qu'il ne faut pas transmettre les mots-clés indexant la fiche (permet d'annuler le comportement par défaut dans le cas d'une recherche) 
 +  * //codemotclearray_all// : indique qu'il faut transmettre tous les mots-clés d'une fiche et pas seulement ceux qui ont contribué à la recherche 
 +  * //bythesaurusmap// : regroupe les mots-clés non sous la forme d'un tableau mais d'une table où les mots-clés sont regroupés par thésaurus 
 +  * //bythesaurusmap_all//: regroupe les mots-clés comme l'argument précédent, en incluant tous les mots-clés, y compris ceux qui n'ont pas participé à la recherche
  
  
Ligne 62: Ligne 70:
 ===== Renommage des noms des champs dans l'objet résultant ===== ===== Renommage des noms des champs dans l'objet résultant =====
  
-Cette fonctionnalité peut être utile quand l'objet JSON est traité directement par d'autres outils (dans l'export au format GeoJSON notamment), il permet de changer le nom de la propriété dans l'objet résultantCette fonction est possible pour les champs suivants :+Cette fonctionnalité peut être utile quand l'objet JSON est traité directement par d'autres outils (dans l'export au format GeoJSON notamment)
 + 
 +Le moyen le plus efficace est de renommer un champ est d'utiliser les variantes de champs définies du côté serveur avec le fichier [[serveurscrutari:config:fields|fields.xml]] et les éléments !!<alias>!! (qui permettent notamment la concaténation de plusieurs champs en un seul). 
 + 
 +Pour des raisons historiques et pratiques, il est possible de renommer certains champs directement avec les paramètres suivants :
  
   * //field-titre// : nom de la propriété du titre (//titre// par défaut)   * //field-titre// : nom de la propriété du titre (//titre// par défaut)
   * //field-soustitre// : nom de la propriété du sous-titre (//soustitre// par défaut)   * //field-soustitre// : nom de la propriété du sous-titre (//soustitre// par défaut)
   * //field-href// : nom de la propriété du l'URL (//href// par défaut)   * //field-href// : nom de la propriété du l'URL (//href// par défaut)
-  * //field-annee// : nom de la propriété de l'année (//annee// par défaut)+  * //field-year// : nom de la propriété de l'année (//year// par défaut)
   * //field-{nom d'attribut}// : pour toutes les propriétés basées sur un attribut (//{nom de l'attribut}//  par défaut)   * //field-{nom d'attribut}// : pour toutes les propriétés basées sur un attribut (//{nom de l'attribut}//  par défaut)
  
-Par exemple, l'application Umap (http://umap.openstreetmap.fr) peut traiter directement le résultat d'une recherche au format GeoJSON. Cependant, le nom d'un marqueur est déduit de la propriété //name//. Avec le paramètre //field-titre=name//, on s'assure que le titre apparait sous la propriété //name//.+
  
  
Ligne 77: Ligne 89:
  
 Note : même si un champ est indiqué dans //fichefields//, la propriété peut être absente dans l'objet JSON correspondant si la valeur est nulle. Note : même si un champ est indiqué dans //fichefields//, la propriété peut être absente dans l'objet JSON correspondant si la valeur est nulle.
 +
 +Version 3
 +
 +<code javascript>
 +{
 +  codefiche: … , // code de la fiche, toujours présent sauf si -codefiche (entier > 0)
 +  codecorpus: … , // champ 'codecorpus' (entier > 0)
 +  codebase: … , // champ 'codebase' (entier > 0)
 +  authority: … , //autorité productrice de la base tel que dans l'URI (chaine)
 +  basename: … , //nom technique de la base tel que dans l'URI (chaine)
 +  corpusname: … , //nom technique du corpus tel que dans l'URI (chaine)
 +  ficheid: …, // champ 'fiche-id' (chaine)
 +  titre: … , // champ 'titre' (chaine)
 +  soustitre: … , // champ 'soustitre' (chaine)
 +  href: … , // champ 'href' (chaine)
 +  lang: … , // champ 'lang' (chaine, code ISO de la langue)
 +  year: … , // champ 'year' (entier)
 +  date: … , // champ 'date' (chaine)
 +  ficheicon: … , // champ 'ficheicon' (chaine)
 +  icon: … , // champ 'icon' (chaine)
 +  lat: … , // latitude si champ 'geo' (chaine)
 +  lon: … , // longitude si champ 'geo' (chaine)
 +  complementArray: [ // tableau des champs complémentaires si champ 'complements'
 +    {
 +      number: … , // numéro du champ complémentaire (entier > 0)
 +      value: … // texte du champ complémentaire (chaine)
 +    }
 +  ],
 +  attrMap: { // si champ 'attrs', tableau associatif des attributs
 +    (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut
 +
 +    ]
 +  },
 +  mtitre: [ // tableau du titre marqué
 +    // voir ci-dessus chaines marquées
 +  ],
 +  msoustitre: [ // tableau du soustitre marqué
 +    // voir ci-dessus chaines marquées
 +  ],
 +  mcomplementArray: [ // si champ 'mcomplements', tableau des compléments marqués
 +    {
 +      number: … , // numéro du champ complémentaire (entier > 0)
 +      mvalue: [ // tableau du complément marqué 
 +      // voir ci-dessus chaines marquées
 +      ]
 +    }
 +  ],
 +  mattrMap: { // si champ 'mattrs', tableau associatif des attributs marqués
 +    (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut
 +         // voir de ci-dessus chaines marquées
 +    ]
 +  },
 +  bythesaurusMap: { // si champ 'bythesaurusmap', tableau associatif des mots-clés regroupés par thésaurus
 +    code_(code): [ // code du thésaurus
 +         // liste des codes des mots-clés
 +    ]
 +  },
 +  score: [… ] // score de la fiche sous la forme d'un tableau de trois réels entre 0 et 1
 +}
 +
 +</code>
 +
 +Version 2 et inférieures
  
 <code javascript> <code javascript>
 { {
-  codefiche: … , // code de la fiche, toujours présent (entier > 0)+  codefiche: … , // code de la fiche, toujours présent sauf si -codefiche (entier > 0)
   codecorpus: … , // champ 'codecorpus' (entier > 0)   codecorpus: … , // champ 'codecorpus' (entier > 0)
   codebase: … , // champ 'codebase' (entier > 0)   codebase: … , // champ 'codebase' (entier > 0)
serveurscrutari/json/fiche_fields.1509622636.txt.gz · Dernière modification : 2017/11/02 12:37 de vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0