Dotclear

Ticket #1116 (closed defect: wontfix)

Opened 14 years ago

Last modified 7 years ago

Meta données des settings

Reported by: zeiram Owned by: xave
Priority: normal Milestone:
Component: module:core Version: 2.2
Severity: normal Keywords: settings
Cc:

Description

Comme déjà soulevé sur le forum  http://forum.dotclear.net/viewtopic.php?pid=288911#p288911, il y a actuellement un problème avec les méta-données des settings.

En effet les champs setting_type et setting_label de la table settings sont des méta-données mais sont malgré tout dupliquées pour chaque instance du setting dans la base (donc grosso modo autant de fois qu'il y a de blogs dans l'installation). Si on veut modifier une des valeurs (par exemple setting_label), il faut alors parcourir la liste de tous les blogs et faire à chaque fois la modification souhaitée.

Une solution plus propre serait de déporter ces deux champs dans une table séparée et d'ajouter une jointure lors de la lecture des settings.

Change History

comment:1 follow-up: ↓ 2 Changed 14 years ago by Moe

Si tu mets à jour en utilisant l'ancienne valeur comme filtre, ça se fait en une seule requête non ?

Avec un code de ce genre :

UPDATE setting SET setting_label = 'nouveau' WHERE setting_label = 'ancien' AND (test pour se limiter au bon nom du paramètre)

Ceci dit, ça ne met à jour que les labels, il reste le problème des mises à jour des valeurs pour chaque blog ainsi que la duplication des labels qui occupe plus d'espace que ncessaire.

comment:2 in reply to: ↑ 1 Changed 13 years ago by zeiram

Replying to Moe:

Si tu mets à jour en utilisant l'ancienne valeur comme filtre, ça se fait en une seule requête non ?

Le problème de faire cela via SQL, c'est que l'on casse les niveaux d'abstraction. Pour toute la gestion des settings, on a la série de classes dcNamespace et dcSetting qui nous offre une vue complètement abstraite de ces données. Attaquer directement la base nous sort de cette abstraction et promet de jolis problèmes si le modèle de base de données change.

comment:3 Changed 13 years ago by bruno

  • Milestone 2.3 deleted

comment:4 Changed 11 years ago by franck

  • Status changed from new to onhold

comment:5 Changed 11 years ago by franck

  • Milestone set to A definir

comment:6 Changed 7 years ago by franck

  • Status changed from onhold to closed
  • Resolution set to wontfix
  • Milestone A definir deleted
Note: See TracTickets for help on using tickets.

Sites map