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édentes Révision précédente
Prochaine révision
Révision précédente
serveurscrutari:json:fiche_fields [2013/09/19 19:06]
vincent [Structure de l'objet résultant] correction de mattrMap
serveurscrutari: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
   * //​codecorpus//​ : code du corpus   * //​codecorpus//​ : code du corpus
   * //​codebase//​ : code de la base   * //​codebase//​ : code de la base
Ligne 15: 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 
 +  * //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 26: 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
 +  * //​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 55: Ligne 66:
  
 Note : dans le cas d'une chaine qui est non marquée mais tout de même incluse (cas de //​mtitre//​),​ le résultat sera un toujours tableau qui contiendra simplement une unique chaine ​ Note : dans le cas d'une chaine qui est non marquée mais tout de même incluse (cas de //​mtitre//​),​ le résultat sera un toujours tableau qui contiendra simplement une unique chaine ​
- + 
 + 
 +===== 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). 
 + 
 +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-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-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) 
 + 
 + 
  
 ===== Structure de l'​objet résultant ===== ===== Structure de l'​objet résultant =====
Ligne 61: 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>​ <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)
 +  authority: … , //autorité productrice de la base tel que dans l'URI (chaine)
   basename: … , //nom technique 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)   corpusname: … , //nom technique du corpus tel que dans l'URI (chaine)
-  ​ficheId: …, // champ '​fiche-id'​ (chaine)+  ​ficheid: …, // champ '​fiche-id'​ (chaine)
   titre: … , // champ '​titre'​ (chaine)   titre: … , // champ '​titre'​ (chaine)
   soustitre: … , // champ '​soustitre'​ (chaine)   soustitre: … , // champ '​soustitre'​ (chaine)
   href: … , // champ '​href'​ (chaine)   href: … , // champ '​href'​ (chaine)
   lang: … , // champ '​lang'​ (chaine, code ISO de la langue)   lang: … , // champ '​lang'​ (chaine, code ISO de la langue)
-  annee: … , // champ '​annee'​ (entier) +  ​year: … , // champ '​year'​ (entier) 
-  ​ficheIcon: … , // champ '​ficheicon'​ (chaine)+  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>​ 
 +
 +  codefiche: … , // code de la fiche, toujours présent sauf si -codefiche (entier > 0) 
 +  codecorpus: … , // champ '​codecorpus'​ (entier > 0) 
 +  codebase: … , // champ '​codebase'​ (entier > 0) 
 +  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), le nom de la propriété peut être modifié avec field-titre 
 +  soustitre: … , // champ '​soustitre'​ (chaine), le nom de la propriété peut être modifié avec field-soustitre 
 +  href: … , // champ '​href'​ (chaine), le nom de la propriété peut être modifié avec field-href 
 +  lang: … , // champ '​lang'​ (chaine, code ISO de la langue) 
 +  ​annee: … , // champ '​annee'​ (entier) , le nom de la propriété peut être modifié avec field-annee 
 +  date: … , // champ '​date'​ (chaine
 +  ​ficheicon: … , // champ '​ficheicon'​ (chaine)
   icon: … , // champ '​icon'​ (chaine)   icon: … , // champ '​icon'​ (chaine)
   lat: … , // latitude si champ '​geo'​ (chaine)   lat: … , // latitude si champ '​geo'​ (chaine)
   lon: … , // longitude si champ '​geo'​ (chaine)   lon: … , // longitude si champ '​geo'​ (chaine)
 +  __ attribut __: … , // attribut correspondant avec les valeurs concaténées suivant le format de l'​attribut (chaine)
   complementArray:​ [ // tableau des champs complémentaires si champ '​complements'​   complementArray:​ [ // tableau des champs complémentaires si champ '​complements'​
     {     {
serveurscrutari/json/fiche_fields.1379610393.txt.gz · Dernière modification: 2013/09/19 19:06 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0