[Galette-devel] Re: Champs d'informations génériques

2004-06-16 Par sujet Deelight

Laurent Pelecq wrote:
Je rajouterai aussi (c'était peut être sous-entendu) un index 
numérique pour la clé.


Je n'y avais pas pensé mais j'ai vu que c'était fait comme ça pour les 
autres séquences. En passant, je ne comprends pas comment sont crées les 
index (au sens bd) en psql. Je m'attendais à un 'CREATE INDEX' dans 
pgsql.sql


Je ne pense pas avoir défini de vrais index et clés primaires en pgsql.
A la base je maitrise mieux mysql et je me suis inspiré des structures
de base de données de phpbb2 pour creer les script pgsql. Il y a
surement des améliorations à faire de ce côté là...

A part ça je pense qu'il faudra sans doute nuancer le type de contenu 
pour indiquer son type (pour effectuer les validations adequates dans 
les formulaires), le type de controle (champ texte, textarea, liste 
déroulante, bouton radio...), la longeur max (pour les champs texte) 
et une liste de valeurs pour les liste déroulantes par exemple.


Là je suis un peu largué. Je pensais que les infos seraient des données 
libres (donc un texte multiligne comme les infos actuelles ou une liste 
de champs). Par exemple une info comme la couleur préférée serait un 
texte, alors que pour des adresses courriers supplémentaires, l'adhérent 
pourrait en entrer plusieurs (avec un genre de bouton plus pour ajouter 
une valeur).


Oui ok, je vois ton idée.

Si on a un type de contrôle, on donne à l'administrateur la possibilité 
de faire évoluer l'interface. Mais par exemple pour les boutons radio, 
je ne vois pas l'intérêt pour l'utilisateur de définir lui-même ses 
boutons. Ce serait plutôt l'administrateur qui le ferai. Et les valeurs 
possibles ne seraient pas stockées dans la table des infos mais dans la 
table de description des catégories, pour qu'elles soient les mêmes pour 
tous les adhérents. Mais là c'est beaucoup plus ambitieux que ce que je 
pensais.


Effectivement moi je voyais plutôt ton idée comme une possibilité pour
l'administrateur de pouvoir définir totalement les données à saisir dans
les fiches adhérent. Quitte à rendre les champs des fiches dynamiques
(pour pouvoir par exemple saisir plusieurs adresses mail), je pense
qu'on peut aussi offrir cette fonctionnalité.

Du coup il faudrait sans doute rajouter dans la structure de la table
définissant les types de contenu un attribut valeurs multiples
(yes/no) qui permettrait à l'utilisateur de rajouter des champs pour un
meme attribut (adresse mail par exemple). Il faudrait sans doute aussi
prévoir un attribut non_modifiable (yes/no aussi) pour éviter que
l'admin puisse supprimer des champs obligatoires (le nom de l'adhérent
principalement).


Est-ce que c'est ça ?


Oui c'était bien ça. J'avais un peu extrapolé ton idée.
Frédéric




[Galette-devel] Re: Champs d'informations génériques

2004-06-15 Par sujet Deelight

Laurent Pelecq wrote:
Ce n'est pas la peine de me mettre dans la liste des développeurs pour 
l'instant. Je vais plutôt essayer de faire une première implémentation 
sommaire pour me familiariser avec PHP et galette. Je connais d'autres 
langages mais pas celui-là. Ce que je pensais faire c'est discuter des 
solutions techniques sur la liste et de les appliquer si on tombe d'accord.


Par exemple, il me semble qu'il faille deux nouvelles tables (je ne suis 
pas un pro des bases de données non plus):
- gallete_info_categories: pour stocker les paramètres des catégories 
(ce que j'avais appelé classes) avec comme colonnes: le nom, le 
visibilité (admin, tous), le type de contenu (une seule valeur ou une 
liste de valeurs).


Je rajouterai aussi (c'était peut être sous-entendu) un index numérique 
pour la clé.


Je pense qu'il faudra aussi nuancer la visibilité en indiquant un niveau 
d'accès à partir duquel la valeur est visible. Pour le moment la gestion 
des droits sur Galette est basique (on est admin ou non) mais une 
gestion plus fine des droits est au programme (pour notamment avec une 
meilleure granularité des droits concernants l'admin, le président, 
secrétaire, trésorier...). Cependant, dans un premier temps on pourrait 
se contenter d'un champ de type entier (0 - admin, 1 - tous), il 
suffira de le réutiliser lorsque la nouvelle gestion des droits sera 
implémentée.


A part ça je pense qu'il faudra sans doute nuancer le type de contenu 
pour indiquer son type (pour effectuer les validations adequates dans 
les formulaires), le type de controle (champ texte, textarea, liste 
déroulante, bouton radio...), la longeur max (pour les champs texte) et 
une liste de valeurs pour les liste déroulantes par exemple.


- galette_adh_infos: pour les infos elles-mêmes avec comme colonnes le 
numéro d'adhérent, le nom de catégorie, la valeur. Indéxée sur le numéro 
d'adhérent. Dans le cas d'une catégorie qui accepte une liste de

valeurs, la clé n'est pas unique.


Du coup là aussi je rajouterai une clé de type numérique.

A part ça, sur le papier ce modèle me parait ok, reste à voir la 
complexité de l'implémentation.


Frédéric