[Phpmyadmin-devel] official domain name phpmyadmin.net
Marc Delisle
DelislMa at CollegeSherbrooke.qc.ca
Tue Apr 9 10:01:02 CEST 2002
Robin Johnson a écrit :
>
> On Mon, 8 Apr 2002, Marc Delisle wrote:
> > I am not against using functions, but:
> > - what about the existing arrays in config.inc.php3?
> That is the reason I was using serialize and unserialize to store the
> data. Those functions preserve arrays perfectly.
Ok.
>
> > - implementing pma_getvariable() all over the code will be a lot of
> > work, so I suggest before starting this, to think also about a possible
> > User Preferences module (db-stored also).
> Could we decide on which of the options in the current configuration
> should be available to each user in their personal preferences?
For example, let's talk about $cfgShowBlob and assume that this can be
a master and a user pref.
I guess you have put a "ShowBlob" field in the config_master table.
It would be more flexible not to have the actual cfg variable names
as fields, but as data, so the config_master table would have 2 fields:
the cfg variable name, and the cfg variable value (possibly serialized).
Maybe a third field to indicate if this can be overriden by the user
(indicating a possible search in config_user).
This is because we have to think about future PMA upgrades and avoid
users having to add fields to config_master.
What do you think of that?
>
> Since it will just be the redefinition of some of the options from the
> main configuration, I propose doing it like this:
>
> Read in the master 'config_master' table.
> Read in a client override table 'config_user' which is contains all the
> fields of 'config_master' plus one additional field for the username.
> The options for 'config_user' are set over the existing 'config_master'
> options.
>
> Voila! You have user preferences. But we would need to put some security
> on that 'config_user' table, as there are probably some things that we do
> not want the user being able to change.
>
> Also, looking at the security functions of this, as well as the speed
> considerations, using a database configuration system will REQUIRE a
> system that supports sessions, otherwise you risk poor performance
> (re-reading the configuration data on each page). By using sessions, it
> could be loaded once on login, and then re-loaded if the user changes
> preferences.
It is ok for me to require sessions for this, you are right about performance,
and also because this will be an optional configuration mecanism.
Keep on the good work!
--
Marc Delisle
More information about the Developers
mailing list