Bonnes pratiques pour les créateurs et développeurs de thèmes et de plugins

Thèmes

FIXME

Plugins

Côté admin

  • Un flag d'activation pour la gestion multi-blogs : il peut être utile pour ne plus afficher un widget, définir un nouvel urlHandler, créer un nouveau menu dans le tableau de bord, appeler des behaviours… FIXME exemple de code
  • A quel endroit ajoutez-vous le namespace ? Le fichier _prepend.php est un bon candidat.
  • Toujours déclarer les settings en global lors de l'installation puis les enregistrer en local dans la configuration du plugin
  • Usez de l'autoload pour vos classes. Le fichier ne sera ainsi pas inclus systématiquement si la classe n'est pas instanciée, moins de risque d'inclusion récursive, d'oubli d'inclusion ou de redéclarations.
  • Si le plugin a une table, penser également à implémenter les behaviors pour l'import et l'export.
  • tester avec le niveau maximal d'erreur de PHP
  • tester avec MySQL et PostgreSQL

Côté public

  • appeler les différents fichiers JavaScripts avec le behaviour publicFooterContent FIXME justifier
  • si vous ajoutez du contenu, existe-t-il un mode non automatique ou peut-on positionner soi-même le nouveau contenu avec un ou plusieurs tpl ?
  • peut-on ne pas ajouter la feuille de style du plugin pour éviter une harmonie farfelue entre les couleurs du blog et les règles du plugin ? FIXME ou l'ajouter avant …

Côté readme, changeset & co

  • la liste exhaustive des nouveaux settings avec le namespace
  • le ou les fichiers template inclus
  • les variables et les blocks tpl inclus dans votre plugin et leurs attributs.
  • Dans les infos à communiquer, il me parait aussi indispensable de donner les nouveaux types d'UrlHandlers. FIXME pas compris

Juste avant de faire le zip

  • valider le XHTML (côté admin et public, avec le plugin Web Developer par exemple)
  • vérifier les traductions (les chaînes sont-elles toutes bien traduites ?)
  • Minifier la ou les feuilles CSS incluses : pas de petit profit.
  • Minifier les fichiers javascript inclus dans le plugin (un fork du plugin packager est disponible ici pour automatiser cette opération ainsi que pour les feuilles de style)

(merci à lipki pour la première version de cette page)

Wiki powered by Dokuwiki.