Dotclear

Ticket #1694 (closed defect: invalid)

Opened 11 years ago

Last modified 11 years ago

Prioriser le plugin maintenance

Reported by: bruno Owned by: JcDenis
Priority: normal Milestone: 2.6
Component: module:plugins Version: 2.5
Severity: normal Keywords:
Cc:

Description

A voir si c'est un bug de dotclear sur du plus long terme(*)

Pour 'voir' les classes dcMaintenance* depuis un plugin tiers (au sens $autoload), il faut être moins prioritaire que lui. Il faudrait définir maintenance avec une priorité haute, du coup.

(*) Le bug dotclear maintenant : pour le chargement des plugins, dotclear ne fait pas :

  1. pour chaque plugin par ordre de priorité : lire le _prepend.php
  2. pour chaque plugin par ordre de priorité : lire le _admin.php (resp le _public.php)

mais : Pour chaque plugin:

  1. lire le _prepend.php
  2. lire le _admin.php

il faudrait faire évoluer pour avoir le premier cas, pas le second...

Change History

comment:1 Changed 11 years ago by JcDenis

Je ne comprend pas pourquoi tu veux voir la classe dcMaintenance ?! Si tu lui ajoute une tâche, tu la déclares par behavior que le plugin maintenance lira à sa construction, c'est à dire bien après les fichiers _prepend.php et _admin.php et ainsi toutes les classes pouvant servir seront construites également bien après...

J'ai justement construit le plugin maintenance pour que tout se passe par une behavior très simple. Un exemple est disponible dans le plugin importExport.

comment:2 follow-up: ↓ 3 Changed 11 years ago by bruno

Il faut bien que j'herite de dcMaintenanceTask, et pour ça que php sache où est la classe. En clair, si je veux déclarer ma classe dans _admin.php ça ne marche pas.

comment:3 in reply to: ↑ 2 Changed 11 years ago by JcDenis

  • Owner changed from team to JcDenis

Replying to bruno:

Il faut bien que j'herite de dcMaintenanceTask, et pour ça que php sache où est la classe. En clair, si je veux déclarer ma classe dans _admin.php ça ne marche pas.

Ben si, tes autoload sont dans le prepend, peu importe l'ordre dans admin, la liste des classes est connue.

Bon j'ai beau tester dans tous les sens (avec le plugin "importExport") je l'ai modifié pour déclarer ma tâche dans _admin.php (au lieu du prepend), j'ai tester avec priorité 10 sur "maintenance" et 20 sur "importExport", puis inversé, ça marche dans tous les cas ! Es tu sure d'y voir un bug ? De comprendre le déroulement / l'appelle des tâches ?

Autre exemple avec le tout récent plugin "buildtools".

Fait moi un plugin qui plante et je te croirais :-)

comment:4 Changed 11 years ago by JcDenis

  • Status changed from new to closed
  • Resolution set to invalid
Note: See TracTickets for help on using tickets.

Sites map