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
1659 4098 d 0 h aurelien /trunk/jrest/ Adaptation au formateur groupe colonnes + ajout des champs étendus dans l'export  
1658 4098 d 15 h raphael /trunk/jrest/services/ export/pdf: ajout du support PDF au service ExportXLS (paramètre format = pdf)  
1657 4098 d 15 h raphael /trunk/jrest/lib/ export: typo critique dans FormateurGroupeColonne (self::$cache)  
1656 4098 d 15 h raphael /trunk/jrest/ export: mise à jour de FormateurGroupeColonne
* suppression du code déplacé de ExportXLS
* mise à jour de ImportXLS en conséquence
* gestion du cas particulier FormateurGroupeColonne::getImages()
* indent/header
 
1655 4098 d 17 h raphael /trunk/jrest/services/ export/pdf: utilisation de cellules HTML pour la passage en gras et
adaptation des troncatures aux hauteurs/largeurs disponibles.
 
1654 4098 d 20 h aurelien /trunk/jrest/ Prise en compte des groupes de colonnes dans l'export + utilisable maintenant par le cel  
1653 4098 d 20 h aurelien /trunk/jrest/services/ Correction d'un bug de suppression des obs + correction d'un bug sur la présence de la date  
1652 4099 d 17 h raphael /trunk/jrest/services/ export/pdf: version initiale de l'export en PDF reposant sur TCPDF  
1651 4099 d 21 h raphael /trunk/jrest/services/ import/bugfix: n'écrase plus le nom d'espèce saisi (nom_sel)  
1650 4099 d 21 h raphael /trunk/jrest/services/ import: correction/finalisation de l'association des images mentionnées dans le fichier importé  
1649 4099 d 23 h raphael /trunk/jrest/services/ import: changements mineurs au niveau de l'échappement et de l'initialisation des PDO::Statements  
1648 4102 d 17 h raphael /trunk/jrest/services/ import: implémentation des insertions sous forme de PDOStatement multiples.
Reste le problème du typage des données (bool, float) qui n'est pas
encore résolu (nécessiterait des named-placeholders + PDO::bindParam())
 
1647 4103 d 15 h aurelien /trunk/jrest/services/ AJout d'une fonction permettant d'obtenir l'identité de l'utilisateur connecté  
1646 4103 d 17 h raphael /trunk/jrest/services/ import: changement nom_d_ensemble_vers_liste_de_colonnes() => nomEnsembleVersListeColonnes() suite à r1644  
1645 4104 d 16 h aurelien /trunk/jrest/services/ Ajout des paramètres précédemment supportés par le service celWidgetExport  
1644 4104 d 16 h aurelien /trunk/jrest/ Refactorisation de la classe d'export + harmonisation linguistique  
1643 4104 d 18 h raphael /trunk/jrest/ config: ajout du paramètre "url_service_nom_attribution" dans la configuration par défaut  
1642 4104 d 20 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
 
1640 4106 d 14 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 4106 d 14 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 4106 d 23 h raphael /trunk/jrest/services/ import/export xls: francisation du code (sorry)  
1637 4107 d 0 h raphael /trunk/jrest/lib/ svn/cel: ajout d'une propriété svn:externals dans lib/ pour PHPExcel (github svn wrapper)  
1636 4109 d 15 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 4109 d 15 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 4109 d 17 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 4109 d 18 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 4109 d 18 h raphael /trunk/jrest/services/ export/xls: diverses améliorations, notamment la définition des colonnes  
1631 4111 d 22 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 4112 d 14 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.
 
1628 4112 d 22 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
 
1625 4116 d 17 h aurelien /trunk/jrest/services/ Ajout d'un mode renvoyant une liste de fichiers à télécharger  
1624 4116 d 17 h aurelien /trunk/jrest/lib/OLE/PPS/ Ajout d'un @ pour empecher l'export excel de planter à cause d'une erreur PEAR (voir bug http://pear.php.net/bugs/bug.php?id=14391&edit=3)  
1622 4117 d 16 h aurelien /trunk/jrest/services/ AJout du référentiel dans les données renvoyées par les widgets  
1621 4117 d 16 h raphael /trunk/jrest/lib/ExcelReader/ cel/import: fix d'un bug de la librairie Excel_reader qui hardcode un encoding erroné.
(Les tableurs enregistrés par LibreOffice comportent des caractères en latin9)
 
1619 4117 d 19 h aurelien /trunk/jrest/ Suppression d'un nom de référentiel en dur pour le remplacer par un %s remplacé par sprintf  
1618 4117 d 19 h aurelien /trunk/jrest/lib/ Ajout d'une fonction permettant de supprimer le numéro de version d'un référentiel pour n'avoir que son code  
1617 4117 d 19 h aurelien /trunk/jrest/services/ Ajout de noms de colonnes manquantes qui décalaient les valeurs de l'export  
1616 4117 d 19 h raphael /trunk/jrest/services/ export xls: utilisation de iconv() pour la translitération des caractères accentués.  
1615 4119 d 19 h raphael /trunk/jrest/ import: encodage utf-8 désormais postulé pour les fichiers Excel
en entrée utilisés pour l'import.
 
1612 4120 d 17 h raphael /trunk/jrest/services/ export: encodage utf-8 pour le widget aussi (cf r1609)