Le 01/08/2012 09:38, Dsls a écrit :
> Tout ça pour dire que je fais un premier jet sur un nouveau
système de
> post_status plus générique (qui pourra marcher avec comment_status et
> autres) et qui reste compatible avec les anciens.
Je viens de regarder le code, j'aime bien le concept d'une classe
dédiée. Il va en revanche falloir voir s'il faut vraiment gérer des
classes héritées à chaque nouveau statut.
Ça faisait trop d'argument pour une
simple fonction et au début je
voulais implémenter la gestion de leurs droits dedans...
Quant à la compatibilité,
quitte à changer le type de la colonne, autant aussi changer la valeur
des status par des choses plus parlantes... de toutes façons, je ne
connais pas beaucoup de plugins à l'heure actuelle qui jouent sur les
statuts des commentaires et des billets.
J'avais gardé les faux numérique pour
la compatibilité et je les avais
doublé avec des class-status aillant de vrai nom. Les deux donnant le
même résultat.
Il ne faut pas non plus perdre de vue qu'un plugin implémentant un
nouveau statut est désinstallable, et qu'il ne faut pas que tout soit
cassé si ce plugin est désinstallé.
Dans ce cas la tu tombes sur le status
"unknow" (gérable par un admin
par exemple), rien ne bug/disparait jusqu'a ce que tu réinstalles le plugin.
> Mais je me pose des questions sur la suite, car si on regarde comment ça
> marche aujourd'hui il y a des relations en dur entre les status et les
> permissions... Faut-il alors autoriser chaque script qui ajoute un
> status la possibilité de lui lier des permissions ? J'ai fait des essais
> mais pas très concluants/propres... Bref à voir.
Pour moi, les permissions doivent être gérées à part. Un jeu de
callbacks me semble suffisant pour gérer ça. Le fait d'avoir une
classe qui gère les statuts permet en plus de regrouper le tout en un
seul endroit, plutôt que de s'éparpiller.
J'ai encore un peu de mal avec
ça, en gros par exemple faut doubler la
liste des status dispo avec un callback à chaque affichage d'un combo ?
c.à.d. à chaque fois qu'il y a un auth->check('publish...') on le
remplace par un callback ? C'est un peu lourd/bancale, nan ?
--
Bruno
_______________________________________________
Dev mailing list
Dev(a)list.dotclear.org
http://ml.dotclear.org/listinfo/dev