Ticket #857 (closed enhancement: fixed)
Empêcher erreurs liées aux plugins installés en double
Reported by: | bruno | Owned by: | Tomtom33 |
---|---|---|---|
Priority: | normal | Milestone: | 2.2 |
Component: | module:core | Version: | 2.1 |
Severity: | normal | Keywords: | |
Cc: |
Description
Actuellement, si on installe le même plugin sous 2 noms différents, ou si on duplique le répertoire d'un plugin, ou si le plugin s'installe 2 fois en raison de 2 emplacements de plugins différents (cas de multi-blogs), on peut se retrouver rapidement avec un blog inutilisable et "inadministrable" avec des messages d'erreur systématiques sur des redéfinitions de classes,
Exemple: http://forum.dotclear.net/viewtopic.php?pid=272640#p272640
Un petit patch de class.dc.modules.php afin d'empêcher d'instancier 2 plugins du même nom pourrait empêcher ce genre de soucis...
Attachments
Change History
comment:1 Changed 16 years ago by bruno
(le patch proposé empêche un plugin de s'enregistrer s'il l'a déjà fait avant)
comment:2 Changed 16 years ago by zeiram
Cela me semble une excellente idée ! (je viens de me faire avoir par le même problème...)
Dans un monde idéal, il faudrait également afficher un avertissement sur le tableau de bord du super-administrateur afin de l'informer des deux plugins (avec leurs noms de dossier respectifs) qui entrent en concurrence afin qu'il sache quelle mesure prendre.
comment:3 Changed 15 years ago by Tomtom33
Je rajouterais juste un test pour prendre également en compte la version du plugin et donc charger la plus récente.
Sinon l'idée de zeiram me parait pas mal, c'est facilement réalisable.
comment:4 follow-up: ↓ 5 Changed 15 years ago by xave
Est-ce qu'il ne vaudrait pas mieux s'attaquer à l'installation du plugin ? C'est sûr que ça ne prendrait pas en compte les gens qui installent par ftp, mais les gens qui installent par ftp en séparant leurs plugs en deux répertoires doivent savoir un peu ce qu'ils font.
comment:5 in reply to: ↑ 4 Changed 15 years ago by Tomtom33
Replying to xave:
Est-ce qu'il ne vaudrait pas mieux s'attaquer à l'installation du plugin ? C'est sûr que ça ne prendrait pas en compte les gens qui installent par ftp, mais les gens qui installent par ftp en séparant leurs plugs en deux répertoires doivent savoir un peu ce qu'ils font.
À mon humble, tu as plus de chance d'installer un même plugin si tu as plusieurs répertoires que lorsque tu passes pas l'admin, sur laquelle tu peux voir tous les modules installés non?
comment:6 Changed 15 years ago by xave
Oui, mais dans l'absolu, si tu passes par l'admin, tu essaies d'installer le plugin dans le "deuxième" répertoire, alors que l'admin l'a déjà installé dans le répertoire de base. N'oublie pas que si tu as plusieurs répertoires, tu n'installes jamais rien dans le premier.
comment:7 Changed 15 years ago by Tomtom33
Yep, je suis d'accord avec toi, c'est pour ça qu'il me parait plus judicieux de le test au chargement des modules plutôt qu'à l'installation. J'ai le même problême pour daInstaller concernant les mise à jours et retour en arrière.
comment:8 Changed 15 years ago by xave
Bon, mais alors le patch n'est pas suffisant. Il faudrait afficher un message d'erreur, au moins dans l'admin.
comment:9 Changed 15 years ago by Tomtom33
On peut utiliser la même combine que les mises à jour de DC. Je veux dire, afficher un message en même endroit. On pourrait même en faire quelque chose de générique (affichage de warning sur le dashboard), je suis sur que ça pourrait servir pour plein d'autres choses (genre affichage du dernier log de type warning ou chose comme ça)
comment:10 Changed 15 years ago by xave
Oui, c'est bien de ça que je voulais parler. :)
comment:12 Changed 15 years ago by Tomtom33
comment:13 Changed 15 years ago by zeiram
Dnas le changeset #857 , il y a le texte "Some plugins are installed two times:". La version grammaticalement correcte est : "Some plugins are installed twice:" (ou encore : "Some plugins are installed more than once:")
comment:14 Changed 15 years ago by Tomtom33
comment:15 Changed 15 years ago by xave
- Status changed from new to closed
- Resolution set to fixed