Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
937 3875 d 5 h raphael /trunk/services/modules/0.1/ tentative interrompue, de créer une alternative à CommunNomsTaxons pour:
- en faire un *toolkit* *véritablement* réutilisable (cf classes éponymes dans bdtfx et isfan)
- faire remonter les boucles effectuant des requêtes MySQL des niveaux d'imbrications les plus
enfouis vers les niveaux supérieurs où ils pourraient potentiellement être factorisés.

NB: une réécriture totale s'avèrerait finalement de loin la meilleure option mais du code réutilisable
passe par la statification des functions/outils présentes dans Commun qui ne dépendent en aucun cas
(ou presque) de l'instanciation d'une classe.
 
934 3880 d 1 h raphael /trunk/services/modules/0.1/coste/ textes: ajout d'exemples à /aide  
933 3880 d 1 h raphael /trunk/services/modules/0.1/coste/ textes: documentation du paramètre retour.indexBy  
932 3880 d 2 h aurelien /trunk/services/modules/0.1/nva/ Adaptation du web service au nouveau format des tables  
930 3883 d 9 h aurelien /trunk/services/modules/0.1/moissonnage/ Ajout de la possibilité de télécharger la carte plutot que l'afficher  
929 3886 d 3 h raphael /trunk/services/modules/0.1/ bugfix: régression induite par r915 dans laquelle le passage de la db par Projets
était supprimé. Pourtant, ainsi que statué dans r852, le passage de la db à consulter()
est un excellent moyen de tendre vers une API exploitable permettant la génération
de plusieurs fiches à la manière de new Fiche();

cf scripts/modules/eflore/get-donnees-fiches-eflore.php pour plus de compréhension des
améliorations nécessaires (et des problèmes de namespace).
 
926 3887 d 8 h raphael /trunk/services/modules/0.1/bdtfx/ noms: ajout d'un mode de recherche basé sur "CONCAT(nom_sci, auteur)"  
918 3890 d 3 h jpm /trunk/services/modules/0.1/coste/ Mise en forme.  
916 3890 d 5 h jpm /trunk/services/modules/0.1/ Mise en forme.  
915 3890 d 5 h jpm /trunk/services/ Suppression de la classe CacheEflore posant trop de problème.
Maintient de l'utilisation de CacheSimple au niveau des web services eux mêmes.
 
907 3896 d 7 h delphine /trunk/services/modules/0.1/baseflor/ champ idiotaxon est devenu nom_sci dans nouvelle version  
902 3897 d 6 h raphael /trunk/services/modules/0.1/baseveg/syntaxons/ baseveg/ontologies: follow-up r901, suppression d'un error_log() oublié  
901 3897 d 6 h raphael /trunk/services/modules/0.1/baseveg/ baseveg/ontologies: ajout d'un cache aux appels d'ontologies pour les syntaxons baseveg.

Par exemple la requête suivante:
/service:eflore:0.1/baseveg/syntaxons?masque.niveau=ORD
ne fait plus qu'un unique appel HTTP à l'URL suivante:
/service:eflore:0.1/baseveg/ontologies/UP:ORD
plutôt que 100 auparavant.
 
899 3897 d 7 h raphael /trunk/services/modules/0.1/commun/ api/aide: correction de "service.wikini" (suppression du "." dans le nom de page)
afin de pointer vers une page wikini valide.
 
898 3897 d 7 h raphael /trunk/services/modules/0.1/bdtfx/ bdtfx/taxons: suppression de l'espace blanc final du nom_sci_complet en cas d'absence de
ajouterCompositionNom().

Ex: /service:eflore:0.1/bdtfx/taxons/13609/relations/superieurs?version.projet=1.01
 
888 3903 d 2 h raphael /trunk/services/modules/0.1/nvjfl/ regression de r784: "code_langue" est un attribut utilisé par eflore consultation, "langue.code" par les tests  
886 3903 d 4 h raphael /trunk/services/modules/0.1/moissonnage/cartes/ misc: DB logging  
878 3908 d 3 h aurelien /trunk/services/modules/0.1/moissonnage/cartes/ Utilisateur du service utilisateurs pour remplacer les emails par les noms dans les données floradata  
875 3910 d 6 h aurelien /trunk/services/modules/0.1/moissonnage/cartes/ Correction d'un commentaire pour le rendre plus précis  
874 3910 d 6 h aurelien /trunk/services/modules/0.1/moissonnage/cartes/ Correction d'un bug dans le test sur le rang taxonomique dans le commit précédent  
873 3910 d 6 h aurelien /trunk/services/modules/0.1/moissonnage/cartes/ Correction temporaire pour empêcher qu'une requête sur les familles ne s'étende de manière gigantesque  
870 3911 d 5 h delphine /trunk/services/modules/0.1/bdtfx/ changement de version bdtfx et bdnt
ajout champs + mise en variable nom table ontologies
 
864 3915 d 3 h raphael /trunk/services/modules/0.1/coste/ coste: code retour 409 en certains cas.
Le cas d'une demande d'index par num_nom bdtfx ne pouvant pas être
traitée par le webservice rentre tout à fait dans le cadre du code 409 (Conflict).
[ cf http://tools.ietf.org/html/rfc2616#section-10.4.5 ]
 
863 3916 d 2 h raphael /trunk/services/ coste: ajout d'un retour.indexBy permettant de formater le retour des résultat indexé par coste:nn ou bdtfx:nn + tests  
862 3916 d 2 h raphael /trunk/services/ coste: ajout d'un masque sur numéro taxonomique + tests  
861 3916 d 2 h raphael /trunk/services/ coste: correction, le sens de l'attribut "num_nom" est différent selon coste et bdtfx  
860 3916 d 3 h aurelien /trunk/services/modules/0.1/moissonnage/cartes/ Ajout d'un test pour ne pas effectuer la requete de recherche des communes lorsqu'il n'y a pas de code insee associé  
859 3916 d 5 h raphael /trunk/services/ coste: support du multi-num_nom: sanitization et ajout de tests  
858 3916 d 7 h raphael /trunk/services/modules/0.1/coste/ coste/textes: support de requête sur de multiples numéros nomenclaturaux  
856 3916 d 7 h raphael /trunk/services/ coste/textes: remplacement de l'ancien webservice par la version réécrite  
854 3917 d 1 h raphael /trunk/services/modules/0.1/coste/ API: coste/textes: réécriture du webservice  
852 3918 d 2 h raphael /trunk/services/modules/0.1/ api: Projets passe désormais la base de données courante comme 3ème paramètre optionnel des services->consulter()  
848 3921 d 4 h raphael /trunk/services/modules/0.1/nvjfl/ nvjfl: fix 2 notices  
847 3921 d 4 h aurelien /trunk/services/modules/0.1/commun/ Correction des noms trop longs par troncage (temporaire normalement)  
846 3921 d 7 h raphael /trunk/services/modules/0.1/cel/ cel: images: déduplications des emails générés afin d'obtenir les identités auprès de l'API de Tela.
Pour l'Acer Mons par exemple, 213 emails étaient demandés auprès de:
http://www.tela-botanica.org/service:annuaire:utilisateur/identite-par-courriel/
(autant que d'images).
En dédupliquant les identités, ce chiffres descend à 23 ce qui est moins susceptible d'atteindre
la limite de GET Apache (4096).
 
841 3921 d 8 h raphael /trunk/services/modules/0.1/eflore/ eflore: Support des requêtes ontologies multiplexées.
Le code des ontologies communes aux référentiels (bdnt) et celui des
ontologies baseflor était à l'origine *quasi-similaire*.

Ainsi, moyennant l'application manuelle du hunk #1, le patch représentant
l'historique du passage au multiplexage pour les ontologies bdnt s'applique
à eflore:
$ svn diff -r300:HEAD services/modules/0.1/commun/Ontologies.php|patch -p4 -F3

Les ontologies eflore sont nécessaires à de nombreux endroits, à commencer
par les fiches d'eflore consultation mais aussi à d'autres webservices
(par exemple meta-donnees)

Avec ce commit il est désormais possible de multiplexer les critères:
/service:eflore:0.1/eflore/ontologies/contactType:o,contactType:p,datum:wgs84
Les valeurs sont retournées dans un tableau indexé par critère, eg:
{ "datum:wgs84": { ... }, "contactType:o": { ... } }

commits connexes: 732,733,832,836
TODO: tests phpunit
 
837 3922 d 1 h raphael /trunk/services/modules/0.1/commun/ meta-données: ajout d'un cache pour les ontologies redondantes  
836 3922 d 5 h raphael /trunk/services/modules/0.1/baseflor/ baseflor: Support des requêtes ontologies multiplexées.
Le code des ontologies communes aux référentiels (bdnt) et celui des
ontologies baseflor était à l'origine *quasi-similaire*.

Ainsi à l'aide d'un peu de fuzzing et quelques tweaks, le patch représentant
l'historique du passage au multiplexage pour les ontologies bdnt s'applique
à baseflor:
$ svn diff -r300:HEAD services/modules/0.1/commun/Ontologies.php|patch -p4 -F3

Un peu de contexte: les ontologies baseflor sont nécessaires:
* lors de l'affichage de l'onglet "écologie" d'eflore consultation
* plus précisément dans les graphiques
* plus précisément encore dans les légendes

Ainsi ce n'était pas moins de 94 requêtes HTTP (moyenne) qui étaient
effectuées sur le modèle suivant:
/service:eflore:0.1/baseflor/ontologies/VES:8
/service:eflore:0.1/baseflor/ontologies/VEC:6
...

Avec ce commit il est désormais possible de multiplexer les critères:
/service:eflore:0.1/baseflor/ontologies/VEL:1,VEL:2,VEL:3,VEL:4,VEL:5,VEL:6,VEL:7,VEL:8 ...
Les valeurs sont retournées dans un tableau indexé par critère, eg:
{ "VEHE:7": { ... }, "VER:7": { ... } }

Le côté client sera implémenté dans:
eflore consultation: metier/api_0.1/Graphiques.php

TODO: tests phpunit
 
832 3922 d 23 h raphael /trunk/services/modules/0.1/nvjfl/ nom-vernaculaires: multiplexage des requêtes ontologiques amélioré [ontologie "genre" pris en compte]

Les requêtes multi-critères sont désormais utilisées pour plusieurs ontologies différentes, du moment
que le webservice distant est le même. Ainsi les performances sont augmentées significativement
lors plusieurs retour.champs appartement à un même webservice d'ontologies sont demandés.

Exemple, pour le taxon nt=1382, la langue français lg=fra et les retour.champs=conseil_emploi,genre:
(/nvjfl/noms-vernaculaires/attributions?masque.nt=1382&masque.lg=fra&retour.champs=conseil_emploi,genre&navigation.limite=4)

La requête d'ontologies interne est désormais:
* /nvjfl/ontologies/numStatut:1,genreNombre:11,genreNombre:10

Alors qu'auparavant elle aurait induit:
* /nvjfl/ontologies/numStatut:1 # multiplage actif, mais une seule valeur pour cette ontologie
* /nvjfl/ontologies/genreNombre:11 # ontologie différente (non-multiplexé par ailleurs)
* /nvjfl/ontologies/genreNombre:10 # idem
 
831 3923 d 1 h raphael /trunk/services/modules/0.1/nvjfl/ nvjfl: ontologies, 2 bugfixes
1) l'attribut _result_ontologies@nvjfl était présent dans le JSON renvoyé à cause
de l'utilisation de isset() sur une valeur de tableau existante mais NULL.
array_key_exists() devait être utilisé

2) Lorsque la recherche d'ontologies est nécessaire, mais que 1 seule l'est, le
JSON d'ontologies renvoyé n'a pas la même structure (il n'est pas indexé par critère
de requête). Ce cas n'était pas traité correctement ce qui amenait à retourner un
"conseil_emploi" NULL.
exemple d'URL: /nvjfl//noms-vernaculaires/attributions?masque.nt=1382&masque.lg=fra&retour.champs=conseil_emploi&navigation.limite=2