Réflexions autour du développement d'extensions Dotclear
Par Osku le mardi 5 octobre 2010 - Lien permanent
Vous pensez avoir fini votre nouvelle extension pour Dotclear et vous en êtes fier ? Cependant, avez-vous pensé à ceci :
- 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... - Minifier la ou les feuilles CSS incluses : pas de petit profit.
- Côté public : appeler les différents fichiers JavaScripts avec le behaviour
publicFooterContent - Toujours côté public : si vous ajoutez du contenu, existe-t-il un mode non automatique ou peut positionner soi-même le nouveau contenu avec un ou plusieurs
tpl? - Côté public encore : 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 ?
- A quel endroit ajoutez-vous le
namespace? Le fichier_prepend.phpest un bon candidat.
Pensez aussi à lister et communiquer les nouveaux éléments livrés avec votre extension :
- la liste exhaustive des nouveaux
settingsavec lenamespace - le ou les fichiers template inclus
- les variables et les blocks
tplinclus dans votre plugin et leurs attributs.
A suivre...
Commentaires
Tu peux me donner des raisons pour l'histoire des
settingsglobal / local ?@Osku: C'est pour la gestion des settings en multiblog (cf cette conversation sur le forum)
Je pense que ça dépend vraiment des usages. Par exemple, dans le plugin contactMe, les
settingssont testés et créés si nécessaires seulement quand on accès à la page admin de l'extension.Tu fais comme tu veux en effet. Mais personnelement, je fais toujours ça et ce qui me permet en plus d'ajouter pour chaque plugin sa version dans la table
dc_versiongrâce au fichier_install.phpJ'ajouterais le point suivant :
Usez et abusez de l'autoload pour vos classes:
Merci pour vos premières contributions. Revenez dès que vous pensez à autre chose.
Si le plugin a une table, penser également à implémenter les behaviors pour l'import et l'export.
Dans les infos à communiquer, il me parait aussi indispensable de donner les nouveaux types d'UrlHandlers.
Le test pour la redirection vers une page du blog avec passage de paramètre :