blogotext icon indicating copy to clipboard operation
blogotext copied to clipboard

[addons] à propos des addons

Open remrem opened this issue 7 years ago • 2 comments

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 de addons/addon_tag/addon_tag.php et le mettre dans un nouveau fichier addons/addon_tag/declaration.php
  • Renommer addons/addon_tag/addon_tag.php en addons/addon_tag/public.php

Voilà, des idées, remarques, questions ?

remrem avatar Jul 10 '17 15:07 remrem

Ç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 ^^

B4rb3rouss avatar Aug 21 '17 06:08 B4rb3rouss

L'idée est bonne ;)

remrem avatar Aug 21 '17 08:08 remrem