blogotext
blogotext copied to clipboard
[addons] à propos des addons
Quelques améliorations que je prévois ou auquel je réfléchis pour la 3.8 (ou post 3.8) :
- hook dans la partie admin ( #223 , #297 )
- modification de l'architecture d'un addon (organisation fichiers)
- encart pour les addons dans la nouvelle home page admin ( #288 )
- page dédiée à l'addon dans l'admin, pour les addons nécessitant d'avoir un espace admin plus élaboré
- modification du comportement lié à la "compliancy" addon <-> core pour être plus "informatif" que "restrictif"
Pourquoi ?
Il y a de la demande, ça permettrait de nouvelles possibilités d'addons (addon pour les pages :D ).
Concernant l'architecture
Ayant commencé certains développement, je me rend compte qu'il serait plus sage/pratique/judicieu de modifier un peu la structure des addons...
Pour la 3.7, la structure est :
addons/addon_tag/addon_tag.php
ça faisait le taff, on y trouve la déclaration de l'addon et les fonctions de l'addon (public), mais dans l'état, ça me fait ch** de charger tout le code public dans la partie admin ou pour vérifier la version des addons (pour les mises à jour automatique).
Pour la 3.8, je propose la structure suivante :
addons/
addon_tag/
declaration.php
public.php
admin.php
admin-home.php
admin-page.php
Je développe l'idée :
-
declaration.php
(admin & public) contient la$declaration
de l'addon, utilisé en public et admin, pas de régression sur la déclaration. -
public.php
(optionnel) : le code relatif à la partie public (hook public / addon_tag...). -
admin.php
(optionnel) : le code relatifs aux hook de la partie admin. -
admin-home.php
(optionnel) : permet l'affichage d'un encart sur la home admin. -
admin-page.php
(optionnel) : permet l'affichage d'une page dédiée à l'addon dans la partie admin.
Pour la bascule 3.7 -> 3.8 des addons :
- Extraire
$declaration
deaddons/addon_tag/addon_tag.php
et le mettre dans un nouveau fichieraddons/addon_tag/declaration.php
- Renommer
addons/addon_tag/addon_tag.php
enaddons/addon_tag/public.php
Voilà, des idées, remarques, questions ?
Ça semble pas mal du tout :)
À prévoir aussi une fonctionnalité pour récupérer les addons (à partir d'un dépôt) ? Mais ça peut être un addon qui fait ça ^^
L'idée est bonne ;)