ceci fait suite à une discussion sur irc le dimanche 27 mai 2007 à propos d’une recommandation manquante pour les plugins.
Constat : un espace de nommage unique
Un plugin peut fournir des execs et des actions. Peu de différences si ce n’est que l’un est privé et le second public (grosso modo). Ils partagent en tout cas une chose, c’est qu’ils sont basés sur une recherche d’un fichier exec/xxx.php ou action/xxx.php
Tout cela pour dire que ces « xxx » ne sont pas infinis (on appelle ça un espace de nommage unique). Donc, pitié ! Lorsque vous adoptez un nom pour une action ou un exec de votre plugin, veuillez assurer qu’il est assez particulier pour votre plugin.
Un exemple célèbre est « spip-listes » qui utilise ou utilisait exec=config
. On peut croire que c’est la config générale de spip ? et bien non c’est juste celle de « spip-listes » ... Cette appropriation est une des raisons pour laquelle cfg s’appelle cfg et pas config.
Proposition de convention
La seule solution pratique est de préfixer le nom, par exemple, nous parlions avec BoOz de renommer ce spip-listes/exec/config.php
en
spip-listes/exec/sl_config.php
ou spip-listes/exec/listes_config.php
(en préfixant le nom de fichier donc). Ce qui donnerait ecrire/?exec=sl_config
... etc.
Je donnerais aussi l’exemple de « spixplorer » dont toutes les actions sont des
spx_machin
.
Idéalement, il faudrait meme utiliser le « prefix » du plugin, dont l’unicité est assurée, comme prefixage de tous les noms de fichiers de chaque plugin ainsi que le suggère Cédric. Evidemment, cela fait des noms à rallonge, mais ils faut savoir que ça n’est qu’interne, en général, ça correspond à un bouton à cliquer.
Ma proposition était même de réserver les noms très génériques au core de SPIP . Car je ne pense pas qu’une solution compliquée coté core fasse l’affaire. C’est très, très bien que les noms d’actions ou execs se limitent à un nom pour celui ci.
La suite
Débat sur le forum ci-dessous
Discussions par date d’activité
Une discussion
Bonjour
Je serais assez d’accord pour donner en prefixe le nom complet du plugin.
Cela donne peut etre un truc à rallonge mais c’est deja le cas pour les fonctions interne aux plugins.
De plus pas de surprises à la lecture du exec/xxx.php . Car spx, ou bien sl ou listes c’est pas necessairement évident à deviner.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |