Subversion Repositories eFlore/Applications.del

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
1490 3869 d 23 h raphael /trunk/services/modules/0.1/ pictoflora/identiplante: réorganisation logique des fonctions.
Avec un peu plus de recul, on peut désormais identifier plus clairement les fonctions
communes et leurs domaines.

Fonctions de filtrage d'input:
buildTagsAST // parse les ET/OU utilisés pour les tags
array_flatten // helper
unsetIfInvalid // helper
requestFilterParams // filtre les paramètres communs courants

Fonctions SQL:
sqlAddIfNullPourConcat // helper (pour rappel CONCAT("a", NULL) = NULL
sqlFieldsToAlias // d'un format de tableau à SELECT de champs aliasés SQL
addAuteursConstraint // requête sur auteur d'obs/image
sqlAddConstraint // les clauses WHERE communes pour les paramètres les plus courants
makeJSONHeader // JSON output simplifiée par rapport aux classes de bibliotheque/
 
1489 3870 d 0 h raphael /trunk/services/modules/0.1/observations/ identiplante: suppression d'une limite stupide sur le masque.nn  
1488 3870 d 0 h raphael /trunk/services/modules/0.1/observations/ identiplante: support des tags combinés par opérateur logique (ET/AND, OU/OR)  
1487 3870 d 0 h raphael /trunk/services/modules/0.1/observations/ identiplante: fixe la recherche sous la forme "nom prénom" dans le masque général (oubli de parenthèses)  
1481 3874 d 0 h mathias /trunk/services/modules/0.1/observations/ Correction bug des href.suivant / precedent mal formés, dans le service Observations - à tester (2) (un test était foireux)  
1480 3874 d 0 h mathias /trunk/services/ Correction bug des href.suivant / precedent mal formés, dans le service Observations - à tester  
1452 3899 d 1 h raphael /trunk/services/ identiplante: config cleanup  
1451 3899 d 1 h raphael /trunk/services/modules/0.1/ identiplante: substitution de l'ancien backend par le backend réécrit  
1444 3903 d 22 h raphael /trunk/ identiplante: ajout d'un onglet présentant les "observations validées par le processus collaboratif".
- Un champ proposition_retenue, au rôle éponyme, est (enfin) créé.
- Un script de migration tente vaille que vaille de déterminer à postériori
les propositions retenues.
$ make o_maj2 celdb=tb_cel_test deldb=tb_del_test
$ mysql < maj2.comp.sql
- un onglet correspondant et créé dans l'UI d'IP et le support du backend implémenté
- enfin, lorsqu'une proposition est "retenue" par l'auteur, le champ
proposition_retenue est mis à jour comme il se doit en cas de succès de
la requête de mise à jour de l'observation dans CEL (via service:cel:CelValidationObservation).
 
1442 3904 d 21 h raphael /trunk/services/modules/0.1/observations/ observations: recherche insensible à la casse pour les noms/prénoms et pour les tags  
1435 3906 d 0 h aurelien /trunk/services/modules/0.1/observations/ Ajout du référentiel des propositions dans ce qui est renvoyé par le service observation  
1429 3908 d 22 h raphael /trunk/services/modules/0.1/observations/ misc: commentaire de clarification de la fonction de traitement des paramètres basée dans IdentiPlantes/ListeObservations2  
1421 3909 d 18 h raphael /trunk/services/modules/0.1/observations/ observations2: gestion des paramètres par défaut  
1417 3910 d 18 h raphael /trunk/services/modules/0.1/observations/ observations2: "tri" et "ordre" doivent faire partie du masque généré par l'en-tête JSON  
1416 3910 d 18 h raphael /trunk/services/modules/0.1/observations/ observations2: quelques changements mineurs:
- renommage du préfixe pour la vue. En effet "dob" était l'ancien
préfix pour del_observation (vue désormais inutilisée), d'autre part
le pattern "*dob*" match "idobs" ce qui n'est pas pratique. D'autre part
"di" porte à confusion avec l'actuelle vue `del_image`.
Le nom actuel étant v_del_image, et tout en sachant que ce nom ne sera,
probablement pas élu, nous choisissons `vdi`.

- sqlAddMasqueConstraint() est désormais dissociée de sqlAddConstraint()
afin de pouvoir réutiliser cette dernière tout en modifiant le comportement
de sqlAddMasqueConstraint() (cf PictoFlora).
 
1413 3910 d 23 h aurelien /trunk/services/ Ajout de variable de configurations pour prise en compte des mots clés des protocoles et du référentiel pour les images  
1398 3912 d 18 h raphael /trunk/services/modules/0.1/observations/ images: amélioration de la futur fonction de reformatage.
Nous utilisons une référence partagée entre deux tableaux dont l'un est
le futur JSON indexé par couple (idobs,idimage) et le second seulement par
id_image ce qui permet, dans la suite du traitement, d'associer aisément les
votes à ce dernier en ne se basant que sur id_image tout en mettant à jour le
premier simultanément.
 
1397 3912 d 21 h raphael /trunk/services/modules/0.1/observations/ observations: revert r1384
Le CAST(CHAR) implique `Using join buffer (flat, BNL join)`
Cela tue MySQL.
 
1396 3912 d 21 h raphael /trunk/services/modules/0.1/observations/ observations: ajout d'une fonction de reformatage utilisée (bientôt) par ListeImages.php  
1395 3912 d 23 h aurelien /trunk/services/modules/0.1/observations/ bugfix: prise en compte plus large du référentiel plutot qu'une égalité stricte  
1394 3912 d 23 h aurelien /trunk/services/modules/0.1/observations/ Correction de la gestion du paramètre référentiel  
1391 3913 d 5 h raphael /trunk/services/modules/0.1/observations/ observations: bugfix sur masque.referentiel  
1389 3915 d 18 h raphael /trunk/services/modules/0.1/observations/ observation: quelques factorisations et modifications (passages des paramètres) afin de faciliter la réutilisation  
1388 3915 d 19 h raphael /trunk/services/modules/0.1/observations/ observations2: bugfix lors de l'utilisation du type "adeterminer"  
1386 3915 d 19 h raphael /trunk/services/modules/0.1/observations/ observations2: correction de l'affichage des commentaires et de leur nombre
pour la recherche.
 
1385 3915 d 21 h raphael /trunk/services/modules/0.1/observations/ observation: réécriture du webservice: clarification du code et performances.  
1384 3915 d 21 h raphael /trunk/services/modules/0.1/observations/ observations2: tentative de fixer le bug de la jointure cel_obs/annuaire.
cel_obs.ce_utilisateur étant jusqu'ici automatiquement CASTé en INT,
INT(51af359) == 51 dans l'annuaire ce qui entraînait de mauvais retours pour
les valeurs des utilisateurs. En faisant le choix inverse de CASTer les U_ID de
l'annuaire (del_utilisateur) en CHAR, nous gagnons en fiabilité, mais perdons
significativement en performance.
 
1383 3916 d 18 h raphael /trunk/services/modules/0.1/observations/ observations2: changement des paramètres pour le reformatage d'après url_images  
1381 3916 d 19 h raphael /trunk/services/ config: pattern de location d'image clairement configurable, plutôt qu'à moitié + simplification  
1380 3916 d 20 h raphael /trunk/ observations: utilisation de v_del_image pour la nouvelle version du WS
+ correction du script d'upgrade en MySQL < 5.5 + commentaire sur chargerLiaisons()
 
1379 3916 d 21 h raphael /trunk/ observations: quelques corrections sur les dates pour la version améliorée du WS
et sur les code et données renvoyées en cas de problème sur la/les observation(s) demandées.
 
1375 3917 d 17 h raphael /trunk/ observations: réécriture d'une version alternative du webservice "observations".

Se veut:
* plus performante (optimisation de la récupération de données (images,
nombre de commentaires, ...)
* plus extensible et réutilisable (paramètres et fonctions, exemple
de la génération du SQL ...)
* moins complexe (limitation de la configuration au strict minimum,
peu de fonctions à usage unique)
* plus sûre (gestion des paramètres, sanitization)

Réutilisation du code de ListeObservations pour l'obtention des
votes et commentaires.

Les deux tests principaux sont OK (petite exception liée à de la configuration
sur [images][binaire.href])

Testable moyennant $this->serviceNom = 'liste-observations2';
ligne 156 de services/modules/0.1/Observations.php
 
1373 3917 d 20 h raphael /trunk/services/modules/0.1/observations/ observations: Corrections corrigeant des requêtes SQL erronées dans certains cas,
Exemple: del/services/0.1/observations?navigation.depart=0&navigation.limite=12&masque=G&masque.type=endiscussion

!! Nécessite le passage de nom_referentiel dans les vues del_observation et del_image !!
 
1369 3917 d 21 h aurelien /trunk/services/modules/0.1/observations/ bug: Correction d'une variable statique mal appelée  
1364 3919 d 0 h aurelien /trunk/services/ Ajout de la prise en compte du référentiel dans le masque et les paramètres renvoyés  
1363 3924 d 3 h raphael /trunk/services/modules/0.1/observations/ revert r1355: chargerClauseWhere() ne nous permets pas d'effectuer réellement une optimisation de cette manière  
1361 3925 d 18 h raphael /trunk/services/ bugfix [test]: le retour JSON pour une observation non-existante est:
1) mal-formatté (retour d'une observation dont les valeurs sont NULL plutôt que NULL tout court)
2) provoque des notices en tentant de chercher des méta-données additionnelles sans vérifier
l'existence de l'observation en premier lieu.
 
1358 3926 d 0 h raphael /trunk/services/modules/0.1/observations/ observation: quelques cleanups, sprinf() + passages par référence  
1357 3926 d 0 h raphael /trunk/services/modules/0.1/observations/ misc: authorship fixes  
1356 3926 d 0 h raphael /trunk/services/ config: les tris possibles impactent l'ORDER BY, dépendent donc des INDEX et de la structure des tables. Ne peut donc faire l'object d'une simple directive de configuration