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
843 3905 d 10 h raphael /tags/v0.1-20130829/ misc: tagging release v0.1-20130829  
841 3905 d 10 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 3906 d 3 h raphael /trunk/services/modules/0.1/commun/ meta-données: ajout d'un cache pour les ontologies redondantes  
836 3906 d 7 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 3907 d 1 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 3907 d 3 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
 
830 3907 d 7 h raphael /trunk/services/modules/0.1/commun/ aide: en cas d'erreur, ne pas générer d'E_NOTICE de variable non-existente ce qui ne pourrait qu'amplifier le problème  
815 3909 d 10 h raphael /trunk/services/modules/0.1/ trivial syntax error  
814 3909 d 10 h raphael /trunk/services/modules/0.1/ class-name conflict: "moissonnage" vs "moissonnnage"...  
811 3912 d 2 h raphael /trunk/services/modules/0.1/ projets/tests: fix class-name conflict sur "Cartes"  
809 3912 d 4 h raphael /trunk/services/modules/0.1/nvjfl/ nvjfl: utilisation de la bonne URL de webservice (prod-prod, test-test)  
808 3912 d 5 h raphael /trunk/services/modules/0.1/baseflor/ r807 follow-up: conflit de nom de méthode pour convertirEnPNGAvecRsvg|indexerFichierPng dans CommunGraphiques.php  
807 3912 d 5 h raphael /trunk/services/modules/0.1/ chorodep|bdtxa/cartes: factorisation du code de génération du fichier de carte PNG, dans Commun  
805 3912 d 10 h raphael /trunk/services/modules/0.1/chorodep/cartes/ chorodep/cartes: test du retour de exec(rsvg-convert)  
804 3912 d 10 h raphael /trunk/services/modules/0.1/chorodep/cartes/ chorodep/cartes: test présence répertoire de cache lors de la génération des vignettes png  
803 3913 d 5 h raphael /trunk/services/modules/0.1/nvjfl/ nvjfl: compat PHP-5.2, utilisation de "self::m" au lieu de "static::m"  
801 3913 d 5 h raphael /trunk/services/ cache: fix de l'obtention de la durée du cache auprès de Commun  
797 3913 d 9 h raphael /trunk/services/ config: substitution des directives de configuration `cache.*` par `cache_*`

Commande effectuée:
$ sed -i -r \
-e 's/cache\.(stockageChemin|miseEnCache|dureeDeVie)/cache_\1/' \
-e "s/\$this->config\['cache'\]\['(stockageChemin|miseEnCache|dureeDeVie)'\]/\$this->config['cache_\1']/" \
$(egrep -rl 'cache.*(miseEnCache|dureeDeVie|stockageChemin)')
 
795 3913 d 9 h raphael /trunk/services/ config: substitution de cache.stockageChemin par cache_stockageChemin car
framework::Config() ne sait pas traiter une variable dotée d'un point dont
la partie gauche ne représente pas une section d'un fichier .ini.

Commande effectuée:
$ sed -i \
-e 's/cache.stockageChemin/cache_stockageChemin/' \
-e "s/\$this->config['cache']['stockageChemin']/\$this->config['cache_stockageChemin']/" \
configurations/* modules/0.1/*/*/*.php modules/0.1/eflore/Cartes.php tests/0.1/baseflor/GraphiquesBaseflorTest.php
 
794 3914 d 3 h raphael /trunk/services/modules/0.1/ projets/tests: correction d'une régression de r791: les segments d'URL supplémentaires n'étaient pas pris en compte  
792 3914 d 4 h raphael /trunk/services/modules/0.1/ typo: francisation  
791 3914 d 4 h raphael /trunk/services/modules/0.1/ projets/tests: workaround autour du fait qu'on cherche à utiliser parfois simultanément
plusieurs classes distinctes utilisant le même nom sans namespace (PHP-5.2)... no comment
testsuite "services": 13 échecs
 
788 3915 d 3 h raphael /trunk/services/ webservices: fix des tests sur baseflor/informations (paramètres depart/limite)  
787 3915 d 4 h raphael /trunk/services/modules/0.1/eflore/ cartes: fix pour les dates d'observations nulles, le nom de colonne "nom" pour tb_cel.cel_zones_geo et l'omission de certains paramètres au webservice  
784 3915 d 6 h raphael /trunk/services/ webservices: actualisation de plusieurs tests (chorodep/nvjfl/bdtfx)  
783 3915 d 7 h raphael /trunk/services/ webservices: actualisation de plusieurs tests (ontologies/baseflor)  
770 3936 d 2 h raphael /trunk/services/modules/0.1/bdtfx/ bdtfx/taxons: tentative manquée d'amélioration de l'API: retourner le nom_retenu_complet, sans faire appel aux ontologies (ie: retour.format=min), utile pour la détermination du Cel  
768 3936 d 6 h raphael /trunk/services/modules/0.1/ ontologies/sptb: correction de notices + traçage des requête mysql + compat PHP-5.2  
767 3936 d 8 h raphael /trunk/services/modules/0.1/ services: ajout de debug aux requêtes SQL + correction d'un masque pour le service de noms bdtxa  
766 3942 d 9 h raphael /trunk/services/modules/0.1/baseveg/syntaxons/ syntaxon: fix d'une notice, Commun->traiterResultat() attend 2 arguments  
765 3942 d 9 h raphael /trunk/services/modules/0.1/ ontologies: follow-up r759 et r762: utilisation de Bdd::MODE_OBJET pour le fetch PDO [dépend de la r429 du Framework]  
764 3942 d 10 h raphael /trunk/services/modules/0.1/baseflor/ ontologies: suppression de l'appel au webservice des ontologies baseflor (InformationsBaseflor) par une requête SQL directe hyper-simplifiée [dépend de la r429 du Framework]  
763 3942 d 10 h raphael /trunk/services/modules/0.1/baseflor/ ontologies: suppression de l'appel au webservice des ontologies baseflor (CommunGraphiques) par une requête SQL directe hyper-simplifiée [dépend de la r429 du Framework]  
762 3942 d 11 h raphael /trunk/services/modules/0.1/baseflor/ ontologies: suppression de l'appel au webservice des ontologies baseflor (InformationsTaxonsSup) par une requête SQL directe hyper-simplifiée  
761 3942 d 12 h raphael /trunk/services/modules/0.1/baseflor/ baseflor: gestion d'erreur: reformulations/typo mineures  
759 3943 d 3 h raphael /trunk/services/modules/0.1/bdtfx/ ontologies: suppression de l'appel au webservice des ontologies "communes" par une requête SQL directe hyper-simplifiée  
758 3944 d 3 h raphael /trunk/services/modules/0.1/commun/ ontologies communes: correction de 2 notices PHP dans le cas de l'absence de passage de
masque et de retour_champs.
Ex: /service:eflore:0.1/bdnt/ontologies/rangTaxo:220/nom
 
751 3949 d 10 h alex /trunk/services/modules/0.1/moissonnage/cartes/ Correction bug sur requete SQL  
750 3949 d 10 h alex /trunk/services/modules/0.1/moissonnage/cartes/  
747 3949 d 10 h alex /trunk/services/modules/0.1/moissonnage/ Mise à jour du web service de moissonnage generant les cartes SVG de repartition des observations pour e-Flore.
Ajout de commentaires dans les classes