Ticket #1842 (closed enhancement: fixed)
Gestion des dépendances entre plugins / thèmes
Reported by: | bruno | Owned by: | bruno |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | module:core | Version: | dev |
Severity: | normal | Keywords: | |
Cc: |
Description
(Mazette, je le croyais créé, ce ticket).
Donc : implémenter un système de gestion de dépendances entre plugins, et entre un thème et un ou des plugins.
- ajouter une propriété "depends" dans le _define.php des modules, comprenant un tableau de valeurs : chaque clé est le nom du module requis, la valeur est soit vide (on teste uniquement que le module requis est présent), soit un numéro de version minimale, soit un tableau (version minimale, version maximale) du module requis
- voir si une propriété "conflicts" serait bénéfique (je pense notamment à menu freshy / menu qui se marchent dessus)
- vois si une propriété "recommends" serait bénéfique (ie. un thème qui recommande un plugin particulier, sans pour antant qu'il soit indispensable)
Concernant la vérification des dépendances :
- on la fait à la page d'accueil, ainsi qu'à la page des plugins
- si les dépendances d'un module/thème ne sont pas valides, on désactive le plugin (voir ce qu'on fait dans le cas d'un thème)
- dans le gestionnaire de plugins, on ne peut activer un plugin que si ses dépendances sont valides, sinon on affiche les prérequis pour pouvoir l'activer
- Si on installe un plugin dont les dépendances ne sont pas là (module requis non installé ou non activé), ce dernier est installé, mais désactivé immédiatement
- On empêche de désactiver un plugin si un autre en dépend (ou alors on désactive aussi tous les modules qui en dépendent). Idem pour la suppression
Change History
comment:3 Changed 9 years ago by Dsls
(In [aa297059d2a0]) Disable plugins with unmetdependencies, in admin home and plugins.php admin page. See #1842, fixed partially (need to see how to cope with themes now)
comment:10 Changed 4 years ago by franck
- Status changed from new to closed
- Resolution set to fixed
Ouvert en face pour la partie thème : https://git.dotclear.org/dev/dotclear/issues/43
Note: See
TracTickets for help on using
tickets.