Ticket #900 (closed enhancement: wontfix)
Nouveaux paramètres dans la version actuelle de Dotclear
Reported by: | Moe | Owned by: | xave |
---|---|---|---|
Priority: | normal | Milestone: | 2.2 |
Component: | module:core | Version: | 2.1 |
Severity: | normal | Keywords: | |
Cc: |
Description
Suite aux nouveaux paramètres apportés par zeiram les plugins vont devoir être mis à jour pour utiliser ces nouveaux paramètres. Mais ils ne sont pas compatibles avec la version actuelle de Dotclear. Pour éviter de jongler entre les versions voici un patch pour pouvoir utiliser les nouveaux paramètres sur la version actuelle de Dotclear. Attention, ça ne supprime pas le problème soulevé par zeiram, ça ne fait que rediriger la nouvelle syntaxe vers les anciens paramètres.
Il suffit d'ajouter cette fonction à la classe dcSettings :
/** Transitional @param ns <b>string</b> Namespace name */ public function addNamespace($ns) { if (preg_match('/^[a-zA-Z][a-zA-Z0-9]+$/',$ns)) { $this->{$ns} = new dcSettings($GLOBALS['core'],$this->blog_id); $this->{$ns}->setNamespace($ns); } else { throw new Exception(sprintf(__('Invalid setting namespace: %s'),$ns)); } }
Il est peut-être possible de répliquer la classe dcSettings dans l'objet $this->{$ns} mais je ne sais pas le faire.
Si cette fonction était ajouté à une hypothétique version 2.1.7 de Dotclear, la transition vers les nouveaux paramètres pourrait démarrer.
Change History
comment:1 follow-up: ↓ 2 Changed 14 years ago by xave
- Status changed from new to closed
- Resolution set to wontfix
comment:2 in reply to: ↑ 1 ; follow-up: ↓ 3 Changed 14 years ago by Moe
Replying to xave:
Après mûre réflexion, le système de settings ne va pas être backporté vers la 2.1,
Ce n'est pas un backport au sens strict, c'est un petit subterfuge pour faire croire aux plugins que les nouveaux paramètres sont en place.
ça serait trop le bordel pour les utilisateurs.
En quoi ? S'ils ont la dernière version de Dotclear (je pars du principe qu'une application ça se tient à jour) et les dernières versions des plugins ils ne verront rien. Les plugins fonctionneront comme avant et les plugins compatibles dés la version 2.1.7 fonctionneront aussi avec la version 2.2. Cette transition vers 2.2 posera de toute façon problème pour quelques plugins qui afficheront l'erreur DEPRECATED, autant essayer de minimiser les dégâts en prenant en compte la nouvelle syntaxe le plus tôt possible. Entre PHP 5.3 et les nouveaux paramètres, ça fait beaucoup pour les développeurs. Peut-être que je suis pessimiste mais je ne m'attends pas à ce que la sortie de la RC une semaine avant la release finale suffise à mettre à jour tous les plugins.
Il vaut mieux pouvoir dire qu'un plug est "compatible 2.1" ou "compatible 2.2".
Il y a déjà des plugins compatibles 2.1 et 2.2. :)
comment:3 in reply to: ↑ 2 Changed 14 years ago by Moe
Replying to Moe:
Entre PHP 5.3 et les nouveaux paramètres, ça fait beaucoup pour les développeurs.
Je retire ça, même si la version SVN comporte ces 2 nouveautés elles sont indépendantes. La version de PHP dépend de l'hébergeur, pas de Dotclear.
Après mûre réflexion, le système de settings ne va pas être backporté vers la 2.1, ça serait trop le bordel pour les utilisateurs. Il vaut mieux pouvoir dire qu'un plug est "compatible 2.1" ou "compatible 2.2".