Utilisation de DBQ

Plutôt que de développer les quelques applications dont j'avais besoin en PHP, j'ai décidé d'utiliser Joomla! (version 1.0.x) et DBQ , de Green Mountain IT Consulting. L'installation est simple: il suffit d'utiliser l'installateur de composants de Joomla!. Notez que DBQ n'est pas compatible avec Joomla! 1.5.x.

Chargement de données via phpMyAdmin

Pour peupler une table à partir d'une feuille Excel afin de procéder à des essais, il faut convertir le fichier Excel en .CSV. La table que j'avais définie contient un champs clé de type autoincrement: dans le fichier .CSV: mettre toutes les valeurs de ce champs à 0. Les champs doivent être délimités par des apostrophes (exemple: "0").

Il faut aussi utiliser des "." comme séparateurs décimaux (au lieu de ",").  Exmple: "70.5".

Le Synology DS207 utilise le dernier firmware en date, le 2.0.3 - 0462, et la version embarquée de MySQL est la 4.1.15, laquelle ne contient pas certaines facilités d'affichage en fonction des habitudes régionales (comme l'affichage de la date au format françias - jj/mm/aaaa - qui n'apparaît qu'avec la version 4.1.21 de MySQL).

Problème de sessions 

Lors des premiers essais de DBQ, un bug gênant est apparu lors de l'enregistrement d'un query (entre autres): la session était interrompue et nécessitait de se relogger.

Le problème est lié à Joomla! 1.0.13 (beaucoup de modifications y ont été faites autour de l'encryptage des mots de passe et de la gestion des sessions). Pour le corriger, il faut appliquer un patch disponible sur le forum officiel de Joomla!.

DBQ et les dates

Si une variable est déclarée comme étant une date, avec un format d'input de type European Style Date (ongletAttribut, champs Regex), il semble qu'il faille utiliser DATE_FORMAT et le format de date "à l'européenne" dans la clause WHERE pour sélectioner la date désirée:

SELECT
  d.poids                         AS $<App_Poids> ,
  DATE_FORMAT(d.date,'%e/%m/%Y')  AS $<App_Date>
FROM ma_table d
WHERE
  $[APP_SEARCH_DATE:  DATE_FORMAT(d.date,'%e/%m/%Y') = '${app_date_recherche}' ]

App_Date doit être de type Date (onglet Paramètres, champs data Type de la variable).

Inversément, pour insérer une date provenant d'un champs DBQ de type European Style Date, il faut utiliser la fonction STR_TO_DATE

INSERT INTO ma_table (date, poids)
VALUES (STR_TO_DATE('${App_Date}','%e/%m/%Y'), ${App_Poids}