Le rôle de cette bibliothèque est de pouvoir manipuler les données des formulaires avec des instructions SQL simples en dehors de ))TikiWiki((. Donc sans passer par la bibliothèque des trackers et sans avoir à en comprendre le fonctionnement.
Actuellement, les données des champs des formulaires se trouvent dans une seule table qui associe l'id d'un champ, l'id d'un formulaire et la valeur du champ. Cette table n'est pas aisément exploitable hors de ))TikiWiki((.
Voila à quoi ressemble la table remplie :
table : tiki_tracker_item_fields
Copy to clipboard +-------+---------+-----------------+
|itemId | fieldId | value |
+-------+---------+-----------------+
| 42 | 7 | a kind of magic |
+-------+---------+-----------------+
| 42 | 5 | 1986 |
+-------+---------+-----------------+
| 42 | 8 | artist08 |
+-------+---------+-----------------+
| 42 | 11 | rock |
+-------+---------+-----------------+
| 42 | 17 | 0 |
+-------+---------+-----------------+
| 43 | 7 | mon bel album |
+-------+---------+-----------------+
| 43 | 5 | 2005 |
+-------+---------+-----------------+
| 43 | 8 | artist08 |
+-------+---------+-----------------+
| 43 | 11 | rock |
+-------+---------+-----------------+
| 43 | 17 | NULL |
+-------+---------+-----------------+
Les formulaires avec tables en mirroir utilisent des tables de la forme suivante :
table : tiki_trk_n
Copy to clipboard +--------+---------+---------+---------+...+---------+
| itemId | field_1 | field_2 | field_3 |...| field_n |
+--------+---------+---------+---------+...+---------+
On peut également utiliser des tables avec les nom des champs en clair si on respecte les conventions suivantes :
- Les noms doivent être valide en SQL
- Le nom du tracker doit être unique
- Le nom d'un champ doit être unique pour un tracker donné
Les tables ressemblent alors à ça :
table : tiki_trk_nom_tracker
Copy to clipboard +--------+------------+------------+------------+...+------------+
| itemId | nom_champ1 | nom_champ2 | nom_champ3 |...| nom_champn |
+--------+------------+------------+------------+...+------------+
Par exemple, voila à quoi ressemble la table pour un formulaire créé avec des noms en clair :
Copy to clipboard mysql> select * from tiki_trk_album;
+--------+-----------------+------+----------+-------+--------+
| itemId | name | year | artist | genre | Rating |
+--------+-----------------+------+----------+-------+--------+
| 42 | a kind of magic | 1986 | artist08 | rock | 0 |
| 43 | mon bel album | 2005 | artist08 | rock | NULL |
+--------+-----------------+------+----------+-------+--------+
Comparé à l'exemple d'en haut, c'est beaucoup plus facilement exploitable hors de ))TikiWiki((.
|