Gestion Auteurs - notes de chantier (bug)

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Une page « Chantier » pour homogénéiser la gestion des auteurs dans le cadre d’extensions de SPIP par des plugins ... page anciennement sur la carnet wiki (il doit y avoir un bug sur le site !!! je peut modifier les pages moi meme sans être inscrit sur le site !!!! Ben non c’est le plugin crayon !)

Un tronc commun pour tous les usages ?

L’idée, l’espoir plutôt, est de définir un « tronc commun » (conventions de nommage, table(s), etc ..) qui facilite la gestion non seulement des auteurs SPIP, mais de différentes formes d’inscriptions de personnes (carnet d’adresse, listes d’abonnement, fichier asso, accès restreint, auteurs de livres, etc ..), utilisables par différents plugins à la demande sur une site SPIP - NicolasR

On pourra sur cette page
-  noter les extensions possibles autours des auteurs
-  les besoins et travaux en cours
-  les plugins existants concernés


un copie/collé d’irc du 17 mars 2007

L’idée de départ

BoOz : on liste les plugins a faire marcher ensemble autour des auteurs
BoOz : on met la todo des trucs a prevoir
BoOz : pour faire des plugins compatibles avec tout ca_ cy_altern: ...mais je reste quand même sur mon problème de préfixe des tables supplémentaires dans les BOUCLES... _ cy_altern: super pénible si tu as besoin de gérer plusieurs spip dans une même base _ BoOz: comme dit cerdic, faut aussi aborder la surcharge de la boucle auteur
cerdic : bon faut faire ca dans forms votre truc la
BoOz : aaaaaaaaaaaah
BoOz : quand meme
BoOz : :p
cy_altern : :p
BoOz : surtout qu’on va prevoir aussi des trucs de ouf
BoOz : genre synchro via xml ou csv et export dans l’autre sens
BoOz : d’abonnés qui viennent d’autres systemes

Débat sur la méthode

cerdic : heu
cerdic : vous voulez recoder tout a la main la ?
BoOz : non, faut se raccrocher a ce qui existe evidemment
cerdic : y a deja *tout ca* de prévu dans f&t
cerdic : y a juste un truc a coder la
cerdic : ’[] cette table etend la table auteur de spip’
cy_altern : en gros l’autre alternative c’est de se mettre *à fond* sur f&t ?
cerdic : et la surcharge de la boucle
cerdic : ben regardez spip-sms-listes
cerdic : deja
BoOz : moi j’aime bien F&T mais intuitivement j’aime mieux les tables expres, je me dit que c plus solide pour faire des trucs ensuite
BoOz : peut etre a tort d’ailleurs
cy_altern : question accès aux données de la base
BoOz : oué ce genre de choses
cy_altern : t’es comme moi BoOz trop « old style »
cerdic : ben y a forms_admin la les gars deja
cerdic : y a 0 requete sql de codee pour toute l’interface
BoOz : hihi
BoOz : t trop fort cerdic
cerdic : define(’_OUTIL_DEVELOPPEURS’,true) dans votre mes_options
cy_altern : cerdic : y’a moyen d’avoir crayons sur les tables « d’extension » dans f&t ?
cerdic : cy_altern : ca y est deja
BoOz : je parie que oui
cerdic : et dans l’interface privée
BoOz : hihi
BoOz : ptdr
cerdic : tu modifies toute ta table a la volée
cerdic : sur la vue table
BoOz : il manque plus qu’un bouton
BoOz : refoutre tout en tables
cy_altern : +1
cerdic : oue au pire
cerdic : mais c rien ca a faire
cerdic : vu que t’as l’export csv deja
cerdic : tu l’importes dans une table en dur
cerdic : et tu redev tout a la main si ca te fait plaisir
BoOz : ptdr
cy_altern : lol
cerdic : le plugin import_csv te permet de aire ca deja
cerdic : z’avez d’’autres besoins encore ? :p
BoOz : oué
BoOz : un F&T qui marche sur des tables spip
BoOz : lambda
BoOz : qu’on peut bien distinguer
BoOz : dans phpmyadmin
cy_altern : et bidouiller à la main
BoOz : ou avec les pieds
cerdic : pffff
cerdic : z’etes retrograde les gars
BoOz : nan mais spip c ca
cerdic : mais non
BoOz : du simple
BoOz : qui fait de strucs compliqués
cerdic : ben oue la c du simple
BoOz : pas du confus qui fait des trucs compliqués
cerdic : qui fait un truc encore plus compliqué

Listes des plugin concernés


-  spip-listes
-  spip sms listes
-  gestion des assos
-  formulaire_editer_auteur
-  auteurs complets
-  cvs2spip
-  Accès restreint
-  acces_groupes
-  forms et tables
-  gestion_auteur
-  Tag machine
-  mots_partout
-  spipicious
-  spip boutique / ecommerce ?
-  notifications
-  ...

Notions techniques utiles


-  Surcharge boucle auteur
-  Jonction entre des tables
-  Nouvelles tables spip, ou non spip
-  forms et tables
-  tableDATA

Réflexion

BoOz > A mon avis ce qui serait bien c’est de se baser sur la table spip_auteurs comme table pivot pour le nom, le login, l’email, et de mettre dans des tables spécifiques les infos supplémentaires relatives à chaque plugin.

crowf00t> Je crois que la table spip_auteurs ne contient pas assez de données « de base ». Je veu dire par là que par exemple une adresse (postal) c’est pour moi une donnée qui vas être demandée par plusieurs plugin. Il serait donc bien de prévoir un endroit global pour ce genre de donnée.

BoOz > effectivement crowfoot, d’ou l’idée de faire des tables spécifiques dans les plugins pour les infos en plus, avec l’id_auteur comme donnée de jointure.

RBurton > en général, je crois qu’il est préférable de laisser les tables natives telles quelles, et de travailler sur des tables jointes.

Note : Le plugin F&T permet d’administrer les champs de tables specifiques depuis l’espace privé. Il repose sur 2 tables qui permettent de gérer des tables virtuelles. F&T permet également d’afficher les données dans un plugin de l’espace privé ou dans les squelettes du site public, il gère aussi les notifications (email etc).

RBurton > Est-ce que F&T peut s’utiliser sur sqllite ... le mécanisme des tables temporaires est-il adaptable à d’autres bases de données, ou à des base hébergées hors site ?...

Il existe également le plugin tableDATA, qui permet d’éditer les tables supplémentaires dans spip.

Joseph

Pour certains usages, il y aurait intérêt à avoir des profils utilisateurs (pour reprendre un terme évoquer dans une discussion avec cédric) profils qui pourrait plus ou moins correspondre à la notion de groupe du plugin accès restreint par groupe. Cela impliquerai d’avoir une table spip_profils. Si on reprend un peu ce que faisais le plugion accès restreint par groupes, alors les profils peuvent âtre attribués aux auteurs, un profil peut être attribué automatique aux personnes ayant un certain statut ou appartenant à des sous-profils. Ensuite, certains plugins, au lieu de se lier avec la table auteurs, vont se lier à la table profil. Par exemple, pour accès restreint, on va indiquer que tel profil a accès à telle et telle zone.

Pour Spip-listes, on peut associer une liste interne à un profil. Ainsi, supposons le site d’une école, les professeurs doivent avoir accès à certaines rubriques dans l’espace public (définies par une zone Z1), à certaines autres dans l’espace privé (définies par Z2), et on veut pouvoir utiliser une mailing liste permettant d’écrire d’un coup à tous les professeurs. On créé alors un profil auquel on associe les deux zones et une liste interne, et ensuite il suffit d’associer ce profil à chacun des professeurs. Pour le moment, en l’absence de profil, il faut associer Z1 et Z2 à chacun des professeurs, puis créer une liste interne et associer cette liste interne à chacun des professeurs.

Techniquement, il devrait être possible de créer un plugin profils qui créerait les tables spip_profils, et spip_profils_auteurs, et qui s’occuperait d’associer les auteurs aux profils. Ensuite, d’autres plugins pourraient venir intergair avec ce plugin profils. Il suffirait entre autres de penser à mettre en place des pipelines sur la page exec/profil_edit ou quelque chose dans le genre.

Ca complique un peu la chose, mais on peut même envisager que des plugins comme spip_listes et acces_restreint (à titre d’exemple), détecte la présence ou non du plugin profil. Si le plugin profil est activé, alors les zones et les listes internes seraient définies vis à vis des profils avec des tables comme spip_zones_profil. Et si le plugin profil n’est pas activé, alors inetraction directement avec les auteurs via une table spip_zones_auteurs.

Il s’agit de distinguer dans quel cas il est nécessaire de rajouter des champs aux auteurs (comme dans auteurs_complets) et dans quel cas il s’agit de définir des « groupes » ou des « profils » d’auteurs (comme pour acces_restreint ou les listes internes de spip_listes).

RBurton > Ce serait peut -être le moment d’essayer de dessiner le schéma, la métastructure d’un processus générique de wrokflow, basé sur les groupes, les rôles, les utilisateurs et les services et un schéma d’autorisations. De façon à ce qu’un auteur de plug où même un administrateur de site, puisse « dessiner » son système d’autorisations ET ses workflows ...

Extensions possibles autours des auteurs

Fonctionnalités utilisateur
-  Inscription sur le site avec un statut (visiteur / adhérent)
-  Identification sur le site / zone en accès après identification
-  participer à un forum
-  modification des données personnelles par un abonné
-  Tagguer des éléments
-  Ajouter un élément perso
-  Panier d’articles
-  Avoir un portfolio d’auteurs et non d’articles/rubriques.... (faire un Flickr en spip ?)

Fonctionnalités admin
-  afficher un grand nombre d’auteurs
-  importer / exporter
-  Champs coordonnées complémentaires

Services
-  abonnement à une lettre d’information (email, sms)
-  souscription périodique
-  achat
-  notifications après un evenement (inscription, validation etc)

Affichage public
-  trombinoscope / annuaire
-  Formulaires d’inscriptions

Proposition de nommage de la table d’extension générique
Suite à un échange entre azerttyu et kent
4 propositions de nommage de la table d’extension ont été faites :
-  auteurs_ajouts
-  auteurs_complements
-  auteurs_details
-  auteurs_plus

A priori on serait plutot tenté par auteurs_ajouts

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom