Subversion Repositories eFlore/Applications.cel

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
1647 3986 d 6 h aurelien /trunk/jrest/services/ AJout d'une fonction permettant d'obtenir l'identité de l'utilisateur connecté  
1646 3986 d 8 h raphael /trunk/jrest/services/ import: changement nom_d_ensemble_vers_liste_de_colonnes() => nomEnsembleVersListeColonnes() suite à r1644  
1645 3987 d 7 h aurelien /trunk/jrest/services/ Ajout des paramètres précédemment supportés par le service celWidgetExport  
1644 3987 d 7 h aurelien /trunk/jrest/ Refactorisation de la classe d'export + harmonisation linguistique  
1643 3987 d 9 h raphael /trunk/jrest/ config: ajout du paramètre "url_service_nom_attribution" dans la configuration par défaut  
1642 3987 d 11 h raphael /trunk/jrest/services/ import/export:
Import:
* gestion des images
* détection de la localisation, repris et amélioré depuis InventoryImportExcel.php
* gestion des valeurs NULL inserées en BDD
* gestion des retours d'erreurs/avertissements

Export:
* correction du status "importable" et "extra" des champs + coloration des entêtes
* support du paramètre "format" (xls, xlsx, csv)

L'import/export commence à être fonctionnel, exemple:
$ POST http://cel/jrest/ExportXLS/22506<<<"format=csv&range=342212"; | \
curl -F "upload=@-" -F utilisateur=22506 "http://cel/jrest/ImportXLS";
# 1 observation importée
 
1641 3988 d 9 h aurelien /trunk/src/org/tela_botanica/client/ Suppression de la liste déroulate des modes modification et creation pour la remplacer par 4 boutons (valider, modifier, supprimer et réinitialiser)  
1640 3989 d 5 h raphael /trunk/jrest/services/ import/xls: diverses améliorations significatives
* lecture de fichier XLS par chunks (par 30 lignes pour l'instant)
* introduction et réutilisation du code d'Aurélien de détection de l'espèce saisie
* meilleur traitement des dates
* support préliminaire de l'association aux images importées, tout en conservant
la possibilité d'INSERT multiples
* quelques fonctions, inutil(isé?)es relatives aux lon/lat et BBox de référentiels
 
1639 3989 d 5 h raphael /trunk/jrest/services/ export/xls: support préliminaire de l'export des nom de fichiers des images,
documentation du code existant et améliorations marginales
 
1638 3989 d 14 h raphael /trunk/jrest/services/ import/export xls: francisation du code (sorry)  
1637 3989 d 15 h raphael /trunk/jrest/lib/ svn/cel: ajout d'une propriété svn:externals dans lib/ pour PHPExcel (github svn wrapper)  
1636 3992 d 5 h raphael /trunk/jrest/services/ import/xls: Réécriture d'une version [initiale] d'un web-service d'import
de fichier XLS.
* basé sur PHPExcel
* mutualise les informations de colonnes (à partir de ExportXLS)

Ce afin d'assurer pérennité, consistance (et autant que possible flexibilité)
au système d'import/export XLS.
Les champs importés/exportés et leurs usages pouvant être amenés à évoluer,
l'infrastructure tente d'éviter tout risque d'incohérence dans le reconnaissance des
champs tout en permettant des traitements particuliers.
 
1635 3992 d 6 h raphael /trunk/jrest/services/ export/xls: ajout du paramètre de colonne "importable", définissant si une la valeur de
cette colonne sera intéressante lors de l'import ou si, a contrario, cette valeur
est générée automatiquement et peut être ignorée à l'import.
 
1634 3992 d 8 h raphael /trunk/jrest/ export/xls: observation, ajoute la possibilité d'effectuer des requêtes arbitraires
à travers le constructeur de requêtes SQL sans nuire pour autant à la sécurité générale
de l'application.

+ oublie d'un require(PHPExcel)
+ ajout de debug temporaire
+ sécurisation du calcul du range() pour éviter des débordements via des valeurs nuisibles
 
1633 3992 d 8 h raphael /trunk/jrest/services/ export/xls: Ajout de 3 approches de la récupération du nom commun.
* getNomCommun() fait appel au web-service dédié, ce qui est élégant mais
tout bonnement impraticable de part la latence induite.
* getNomCommun_v2() et getNomCommun_v3() sont deux tentatives de bootstrapper
le framework et d'utiliser les web-service sout la forme d'appels de fonction.
Seule getNomCommun_v3() est véritablement fonctionnelle, mais dépend d'adaptations
ailleurs, dont la première faire dépendre l'ensemble de PHP 5.3

1) patch pour Bdd.php:
ajout d'un `namespace JRest;`

2) patch pour services/modules/0.1/Projets.php
passage de private à public pour:
- initialiserRessourcesEtParametres()
- traiterRessources()
Afin de permettre les appels directs.

Ce code à néanmoins une valeur éducative certaine.

Approches alternatives/complémentaires possibles (liste non-exhaustive):
* proxy-cache sur les web-service
* cache fichier + rewriteRules sur les ressources de certaines URL de certains web-service
* ajout des colonnes dans obs_cel (! redondance de données)
= ajout du nom commun au moment de l'insertion.
 
1632 3992 d 9 h raphael /trunk/jrest/services/ export/xls: diverses améliorations, notamment la définition des colonnes  
1631 3994 d 12 h raphael /trunk/jrest/ Cel/API: RechercheObservation->rechercherObservations() ne n'exécute plus d'emblée
la requête générée et par conséquent ne retourne pas ses résultats,
à l'exception de l'objet ($this) dont l'attribut public $requete_selection_observations
est initialisé.

La méthode get(), elle, exécute la requête et retourne les données résultantes.
Et puisque rechercherObservations() retourne l'objet, il est donc possible d'enchaîner les deux
appels en utilisant désormais la syntaxe RechercheObservation->rechercherObservations()->get().

Cela permet de découpler la génération de la requête de son exécution et donc possiblement
de manipuler la requête en plusieurs temps.
Cela pourrait s'avérer utile dans les cas où le script traitant les données souhaiterait s'architecturer
sous la forme d'un flux au fil de la récupération des enregistrements en BDD plutôt que de
compter sur l'exécution intégrale de la requête et d'attendre le retour exhaustif des données.
 
1630 3995 d 5 h raphael /trunk/jrest/services/ cel/export XLS: Écriture d'une version initiale d'un webservice d'export au format XLS
utilisant la librairie PHPExcel pour la génération
et se voulant claire et aisément extensible.
 
1629 3995 d 6 h jpm /trunk/widget/modules/saisie/ Correction ds bugs sur la liste de noms latins qui est mal ordonnée pour Sauvages et contient des doublons pour Florilèges.  
1628 3995 d 13 h raphael /trunk/ cel/saisie: Refus de la saisie lors de l'ajout ou de la modification d'une entrée
comportant une date "invalide", c'est à dire postérieur à now().
* côté client, le DateField GWT se voit donc appliqué une contrainte de date maximum (setMaxValue())
* côté backend, une 400 (Bad Request) est renvoyée
 

Show All