Dotclear

Ticket #1296 (closed enhancement: fixed)

Opened 14 years ago

Last modified 10 years ago

Chargement des modules

Reported by: bruno Owned by: franck
Priority: normal Milestone: 2.9
Component: module:core Version: dev
Severity: normal Keywords:
Cc:

Description

Actuellement, le chargement des modules (plugins, thèmes) passe par la classe class.dc.modules.php, et plus particulièrement par la méthode loadModules de cette classe. Cette méthode prend un argument $ns, qui vaut soit "admin" soit "public" (soit xmlrpc), selon l'endroit ou on l'instancie. Son comportement est le suivant :

  • chargement du _define.php de chaque module
  • chargement du _prepend.php de chaque module
  • chargement du _$ns.php de chaque module, si $ns est non null

Dans cette approche, on ne peut pas faire de traitements entre le chargement du _prepend et le chargement du _(admin|public).

Exemple : le behavior publicRegisterURL (introduit sur le head). Actuellement appelé trop tôt car dans inc/prepend.php, il ne peut être exploité par des plugins.

Une alternative serait de déplacer l'enregistrement des urls par défaut après chargement des modules, mais cela empêcherait les plugins de recenser les urls enregistrées, car justement elles ne sont pas encore enregistrées.

En fait, il faudrait pouvoir enregistrer les URLs par défaut entre le chargement du _prepend.php de chaque module et le chargement du _public.php de chaque module, et donc faire cela en 2 phases dans le inc/public/prepend.php...

Change History

comment:1 Changed 14 years ago by franck

Ça me parait pas mal et ça va de plus contraindre à mettre le code (de gestion des URLs) au bon endroit (_public.php ou _admin.php) et pas dans le prepend.php. Ça joue en faveur d'une nette séparation entre l'admin et la partie publique. Je vote pour !

comment:2 Changed 12 years ago by franck

  • Milestone changed from A definir to 2.6

comment:3 Changed 12 years ago by franck

  • Milestone changed from 2.6 to A definir

comment:4 Changed 11 years ago by franck

  • Milestone changed from A definir to 2.8

comment:5 Changed 11 years ago by franck

  • Owner changed from xave to franck

comment:6 Changed 11 years ago by franck <carnet.franck.paul@…>

(In [8c110613c240]) Load all modules _prepend.php before loading their _admin.php or _public.php, addresses #1296

comment:7 Changed 11 years ago by franck

  • Owner changed from franck to team

comment:8 Changed 10 years ago by franck

Une première passe est faire, reste à voir ce qu'implique le déplacement de la déclaration des URLs

comment:9 Changed 10 years ago by franck

  • Milestone changed from 2.8 to 2.9

comment:10 Changed 10 years ago by franck

  • Owner changed from team to franck

comment:11 Changed 10 years ago by franck

  • Status changed from new to closed
  • Resolution set to fixed

Fixed, see [3108]

Note: See TracTickets for help on using tickets.

Sites map