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
731 3984 d 1 h raphael /trunk/services/modules/0.1/nvjfl/ nom-vernaculaires: support de requêtes multi-critères pour NVJFL, côté client (partie 1).
Lorsque des données ontologiques propres à la base NVJFL sont nécessaires, celles-ci sont
chargée en une seule fois en tirant parti des requête ontologiques multi-critères.

ATTENTION: le code effectif est encore désactivé (par un if(FALSE...))
car le commit correspondant dans la classe d'ontologie NVJFL n'est pas encore présent.
(partie 2, cf: services/modules/0.1/commun/Ontologies.php)

Le fonctionnement est le suivant:
1) NvjflOntologieIndex()
Concaténer tous les critères nécessaires, exemple: numStatut:1,numStatut:2,...
et faire un lien entre d'une part
* un tableau temporaire associant requête et résultat
et d'autre part:
* le tableau général associant résultat existant [ champs standards ] et requête

2) NvjflOntologieExpand()
Obtenir une URL vers le web-service multi-critère, l'appeler et
enregistrer les résultats à la place qui leur est destinée dans le
tableau temporaire "requête -> résultat"
L'index spécial créé en 1), du tableau des résultats généraux est mis
à jour automatiquement puisqu'il s'agit d'une référence.

3) NvjflOntologieCombine()
Nettoyer les éléments de résultats pour et copier les valeurs demandée dans
un index correctement nommé (dépendant du web-service, et plus directement de
la variable $champ_infos).

Un modèle similaire pourrait être reproduit pour d'autre partie de code effectuant
des requêtes sans que des modification majeures du concept soient nécessaire.

Cependant une manière plus générale d'aborder la résolution consisterait à effectuer
l'indexation à partir des URL déjà générées plutôt que sur les éléments de tableau de
résultats, cependant le faible nombre de web-service supportant le multi-critère et la
diversité des schémas d'URL ne plaident pas en faveur d'une généralisation trop précoce.
 
730 3984 d 2 h raphael /trunk/services/modules/0.1/nvjfl/ nom-vernaculaires: fix cosmétiques.
Clarification du code (index de tableau) et modification des boucles.
Le cas du traitement des ontologies est découplé de la boucle d'initialisation des
valeurs standard.

Par conséquent, ajouterChampsOntologieLigneResultat() n'est plus utilisée, mais
une fonction faisant le traitement de l'ensemble des résultats la remplace ce qui
pourra permettre, à terme, une vision intelligente du contexte dans le cadre duquel un
ensemble de valeurs ontologiques sont nécessaires à la complétion des résultats.

Un stub à été inséré à l'endroit où un traitement spécifique par ontologie pourra apparaître
permettant ainsi d'utiliser des requêtes multi-critères pour les seuls web-services le supportant
effectivement.
 
729 3984 d 3 h raphael /trunk/services/modules/0.1/nvjfl/ nom-vernaculaires: fix cosmétiques.
Suppression d'affectations inutiles (sur-affectations), de tests inutiles
et généralisation de ajouterChampsOntologieLigneResultat().


Considérant que les sous-appels multiples aux web-services sont nichés dans:
chercherSignificationCode()
Appellée, en boucle, par ajouterChampsOntologieLigneResultat()
Appellée, en boucle, par formaterNomsVernaculairesAttributions(),

Considérant que le cache de réponse par url ($this->signification_code),
ne peut offrir à lui-seul une amélioration sensible des performances,

L'objectif de faire usage d'un webservice supportant de multiples
critères d'ontologies par requête nécessite comme préalable de faire
remonter ces appels en amont du cycle afin de se donner
l'opportunité des les factoriser.

Ce commit représente un premier pas dans ce sens.
 
727 3987 d 4 h alex /trunk/services/ Nouveau module : moissonnage.
Ce module sert à générer des cartes de répartition de taxons de plantes à partir d'un fond de base SVG et de différentes sources de données
Methodes développées : génération de cartes, légende, ontologies
 
726 3990 d 9 h raphael /trunk/services/modules/0.1/cel/ cel/images: bugfix, dans certains cas une jointure retournait plusieurs
enregistrement de méta-données pour une image, dont le premier entièrement
NULL.
L'ajout d'une condition au WHERE permets désormais d'éviter ce problème.

URL d'exemple:
http://www.tela-botanica.org/eflore/consultation/popup.php?module=popup-illustrations&action=fiche&referentiel=bdtfx&id=41825
avant: Date d'observation : 1 janvier 1970
après: Date d'observation : 30 novembre 1890

Requête d'exemple:
SELECT SQL_CALC_FOUND_ROWS ci.id_image AS id_img, co.date_observation AS date, co.id_observation AS id_obs, \
ci.courriel_utilisateur AS utilisateur_courriel, nom_sel, nom_sel_nn, zone_geo, ce_zone_geo, lieudit, station, milieu \
FROM cel_images AS ci LEFT JOIN cel_obs_images AS coi ON (coi.id_image = ci.id_image) \
LEFT JOIN cel_obs AS co ON (coi.id_observation = co.id_observation) \
WHERE ci.id_image = 41825; # ajout: AND co.id_observation IS NOT NULL;
 
725 3992 d 9 h raphael /trunk/services/modules/0.1/baseflor/ svg: synchro trunk/eflore-test qui pose la question des valeurs à 0
pour ce qui concerne les données d'optimum écologique.
 
721 3994 d 5 h aurelien /trunk/services/ Ajout du web service noms vernaculaires des antilles  
720 3994 d 9 h aurelien /trunk/services/modules/0.1/bdtxa/ Ajout d'un try catch sur la récupération des ontologies pour qu'un terme manquant ne fasse pas planter tout le web service  
719 3998 d 9 h aurelien /trunk/services/modules/0.1/chorodep/cartes/ Correction du fonc blanc pour la carte  
718 3998 d 9 h aurelien /trunk/services/modules/0.1/bdtfx/ Ajout d'une vérification permettant d'ignorer les erreurs dans le cas d'une ontologie manquante  
713 3999 d 9 h aurelien /trunk/services/modules/0.1/bdtxa/ Ajout des champs de présence dans bdtxa  
712 3999 d 10 h aurelien /trunk/services/modules/0.1/baseflor/ Ajout de try catch sur la récupération d'ontologie  
709 4001 d 3 h aurelien /trunk/services/modules/0.1/isfan/ Suppression des fonctions liées à la flore qui n'existe pas dans isfan  
707 4001 d 3 h aurelien /trunk/services/ Web service pour la base isfan (Index Synonymique de la Flore d'Afrique du Nord) (le fichier de config peut être à simplifier lors de l'obtention de la version finale des tables)  
703 4013 d 7 h aurelien /trunk/services/ Version finale du fichier svg pour la chorologie des antilles  
701 4014 d 2 h aurelien /trunk/services/modules/0.1/bdtxa/ Ajout des services de carte de répartition pour le référentiel bdtxa  
700 4018 d 6 h aurelien /trunk/services/modules/0.1/ Ajout d'une option qui permet de récupérer la hierarchie d'un taxon  
698 4032 d 2 h delphine /trunk/services/modules/0.1/baseflor/ modification de la modif precedent  
697 4032 d 9 h aurelien /trunk/services/modules/0.1/baseflor/ debug  
694 4054 d 5 h isa /trunk/services/modules/0.1/eflore/cartes/ Correction d'indentation.  

Show All