[Galette-devel] Re: Champs d'informations génériques
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
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