Dotclear

Ticket #794 (closed enhancement: fixed)

Opened 16 years ago

Last modified 13 years ago

Méthodes supplémentaires dans la gestion des settings

Reported by: pep Owned by: xave
Priority: normal Milestone:
Component: module:core Version: 2.1
Severity: normal Keywords: settings namespaces installation
Cc:

Description

En complément de #786, il serait utile de rajouter le nécessaire permettant de :

  • Détruire l'ensemble des entrées liées à un setting_id (global et tous les blogs)
  • Renommer l'ensemble des entrées liées à un setting_id (global et tous les blogs)
  • Détruire l'ensemble des entrées liées à un namespace (global et tous les blogs)
  • Renommer un namespace

Attachments

patch_settings_delete.diff Download (3.8 KB) - added by zeiram 16 years ago.
Patch ajoutant les méthodes pour renommer ou supprimer des namespaces / settings.

Change History

Changed 16 years ago by zeiram

Patch ajoutant les méthodes pour renommer ou supprimer des namespaces / settings.

comment:1 Changed 16 years ago by zeiram

Voici un patch qui ajoute des méthodes pour renommer et supprimer des namespaces et des settings (patch basé sur un dotclear 2.2-alpha1-r2949). L'utilisation se fait de la manière suivante, d'abord pour les namespaces :

  $core->blog->settings->rename('oldNamespace', 'newNamespace');
  $core->blog->settings->delete('namespaceASupprimer');

et de la même manière pour les settings (suppression et renommage du setting global et local) :

  $core->blog->settings->monNamespace->rename('oldSetting', 'newSetting');
  $core->blog->settings->monNamespace->delete('settingASupprimer');

Une remarque :

  • J'aurai bien aimé pouvoir faire $core->blog->settings->monNamespace->delete(), mais si on veut conserver une symétrie avec les settings cela aurait nécessité une grande refonte de la classe dcNamespace (par l'utilisation d'une classe pour un setting afin de pouvoir faire $core->blog->settings->monNamespace->monSetting->delete()). Le (faible) gain de beauté du code ne m'a pas semblé justifier une telle refonte.

comment:2 Changed 15 years ago by xave

Je suis en train de regarder, je préférerais renNameSpace() et delNameSpace(), qui me semblent plus cohérents avec addNameSpace();

Pour les settings, à côté de put(), on a déjà drop(). rename() me paraît convenir.

Quant à savoir la façon dont on doit gérer la "globalité" du truc (ie. si on efface ou renomme un namespace ou setting global, on fait quoi des versions "per blog" ?) je pense que ça mérite aussi une réflexion. Parce que si je ne m'abuse, tes nouvelles fonctions ne laissent guère le choix, ce qui pose un problème de cohérence avec les méthodes existantes.

comment:3 Changed 15 years ago by xave

  • Milestone changed from 2.2 to 2.3

comment:4 Changed 14 years ago by Tomtom33

  • Milestone changed from 2.3 to 2.4

C'est réglé avec les patchs de Franck et Bruno non?

comment:5 Changed 14 years ago by bruno

  • Priority changed from low to normal
  • Milestone 2.4 deleted

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

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

(In [1ab99955f080]) Add some methods to namespaces (settings) and workspaces (prefs), conservative way, partially fixes #794. Thanks zeiram for patches

Note: See TracTickets for help on using tickets.

Sites map