[prev] [thread] [next] [lurker] [Date index for 2002/09/03]
* Richard Clamp (richardc@xxxxxxxxx.xxx) wrote:
> On Mon, Sep 02, 2002 at 04:38:14PM +0100, Simon Wistow wrote:
> > I've just committed a load of stuff that puts a config infrastructure in
> > place.
>
>
> Okay, I'm just caught up with my email backlog from the weekend oop
> north and am left with an observation, and a question.
>
> > Basically you do something like this
> >
> >
> > my $list_config = new Siesta::Config::List($list_id);
> > $list->get('Namespace', 'key');
> > $list->set('Namespace', 'key', 'value');
> >
> > and the same for user.
> >
> > however you can also do
> >
> > my $list = new Siesta::List($list_id);
> > $list->get_config('Namespace', 'key');
> > $list->set_config('Namespace', 'key', 'value');
>
>
> The observation: Now we have two different ways of accessing the list
> database, one via Siesta::Storage (which is used by the existing
> Siesta::List and Siesta::User code), and another via the
> Siesta::Config hierarchy.
>
> The question: Wuh?
>
ok, let me state some thoughts,
so, we basically have 3 types of configuration, list,user,listuser yes?
and they have a precedence of, i'm guessing
listuser
user
list
now each config row has,
key
value
namespace (plugin?)
id
well there are 3 things, i would do if i was doing configuration, they
are as follows, (these are personal ideas, ymmv),
1.) get rid of the key/val and introduce a blob with a storable
freezed hash in it (this will allow more flexibility in
the end, e.g. what happens when a config value needs an
@array (such as a list of banned addresses in the subscribe
chain))
2.) amalgamate all config information into one table, with the
fields,
listuser_id
user_id
list_id
config_type (3 = listuser, 2 = user, 1 = list)
blob
get config out with something like (in pseudo SQL)
select blob
where user_id = $
or list_id = $
or listuser_id = $
and max(config_type)
(i still dont like this as it means doing it
more than once per plugin run)
3.) use the same mechanism as the rest of the storage for
storage, if the storage is far to yucky, fix it, but
at least try and tie in with Storage some how
these are random thoughts, i feel about them least strongly (1) to
most strongly (3)
responses?
sorry i havent been more productive, i've been doing paid work and
it has a higher priority due to my fondness of beer and pie
Greg
--
Greg McCarroll http://www.mccarroll.org.uk/~gem/
jabber://greg@xxxxxx.xxxxxxxxx.xxx.xx
msn://greg@xxxxxxxxx.xxxxx.xx.xx
There's stuff above here
Generated at 13:56 on 01 Jul 2004 by mariachi 0.52