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
1644 3997 d 7 h aurelien /trunk/jrest/ Refactorisation de la classe d'export + harmonisation linguistique  
1643 3997 d 9 h raphael /trunk/jrest/ config: ajout du paramètre "url_service_nom_attribution" dans la configuration par défaut  
1642 3997 d 12 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 3998 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 3999 d 6 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 3999 d 6 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 3999 d 14 h raphael /trunk/jrest/services/ import/export xls: francisation du code (sorry)  
1637 3999 d 15 h raphael /trunk/jrest/lib/ svn/cel: ajout d'une propriété svn:externals dans lib/ pour PHPExcel (github svn wrapper)  
1636 4002 d 6 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 4002 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 4002 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 4002 d 9 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 4002 d 9 h raphael /trunk/jrest/services/ export/xls: diverses améliorations, notamment la définition des colonnes  
1631 4004 d 13 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 4005 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 4005 d 7 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 4005 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
 
1627 4006 d 7 h aurelien /trunk/src/org/tela_botanica/client/vues/ Correction de la liste autcompletion + remise à zéro du taxon lors d'un changement de référentiel  
1626 4009 d 9 h aurelien /trunk/widget/modules/export/squelettes/ Modification du widget pour que celui ci calcule d'abord le nombre de fichier à télécharger et les propose un par un plutot qu'un gros fichier qui plante  
1625 4009 d 9 h aurelien /trunk/jrest/services/ Ajout d'un mode renvoyant une liste de fichiers à télécharger  

Show All