Posts: 3,491
Threads: 106
Joined: Mar 2010
Some plugins allow inserting constant definitions (define('WHATEVER','something');) to set custom values, usually near the beginning of the plugin file.
IMO the problem with this is, if the developer releases a new version, you have to remember to edit those lines in the new file before updating.
A simple alternative could be telling the user to insert those definitions in the root gsconfig.php
Another could be that e.g. MyPlugin did what GetSimple does: check if a myplugin/mypluginconfig.php file exists, if not it renames the (bundled) myplugin/temp.mypluginconfig.php. However I don't like this for small plugins...
What do you think about this? Other ideas?
Posts: 2,094
Threads: 54
Joined: Jan 2011
Carlos Wrote:Some plugins allow inserting constant definitions (define('WHATEVER','something');) to set custom values, usually near the beginning of the plugin file.
IMO the problem with this is, if the developer releases a new version, you have to remember to edit those lines in the new file before updating.
A simple alternative could be telling the user to insert those definitions in the root gsconfig.php
Another could be that e.g. MyPlugin did what GetSimple does: check if a myplugin/mypluginconfig.php file exists, if not it renames the (bundled) myplugin/temp.mypluginconfig.php. However I don't like this for small plugins...
What do you think about this? Other ideas?
Another idea is: use only constants for default settings and every setting is changeable using an administration page for the plugin and the settings are stored in a file in data/other. If there is no settings file, the defaults are used.
Posts: 3,491
Threads: 106
Joined: Mar 2010
mvlcek Wrote:Another idea is: use only constants for default settings
I meant those default settings. A custom date format, things like that.
Also small plugins with no admin page, with just one or a few values to set up once.
Posts: 2,094
Threads: 54
Joined: Jan 2011
Carlos Wrote:mvlcek Wrote:Another idea is: use only constants for default settings
I meant those default settings. A custom date format, things like that.
Also small plugins with no admin page, with just one or a few values to set up once.
In this case I suggest to use the following in your plugin:
Code:
if (!defined('myplugin_constant1')) define('myplugin_constant1', default_value);
The user can then define the constant in gsconfig.php, but if he doesn't, the default value is defined in the plugin itself.
Posts: 3,491
Threads: 106
Joined: Mar 2010
mvlcek Wrote:The user can then define the constant in gsconfig.php, but if he doesn't, the default value is defined in the plugin itself.
That was what I meant: only for customisation, as default values would be set (your way) by the plugin -- just like GS does with all those #-commented defines.
So you don't think it's a bad idea using gsconfig.php for these things..
Posts: 2,094
Threads: 54
Joined: Jan 2011
Carlos Wrote:mvlcek Wrote:The user can then define the constant in gsconfig.php, but if he doesn't, the default value is defined in the plugin itself.
That was what I meant: only for customisation, as default values would be set (your way) by the plugin -- just like GS does with all those #-commented defines.
So you don't think it's a bad idea using gsconfig.php for these things..
No, I think it is a good idea to use gsconfig.php for plugin specific constants, too, as long as the plugin
does not force the user to enter them. This way all non-default settings are in one file. The default values for the constants defined in the plugin itself should be selected to be the most reasonable ones for the majority of users.
Posts: 1,848
Threads: 86
Joined: Aug 2009
mvlcek Wrote:Another idea is: use only constants for default settings and every setting is changeable using an administration page for the plugin and the settings are stored in a file in data/other. If there is no settings file, the defaults are used.
I like this approach, no matter how small the plugin and/or "default setting"... but if that isn't an option, editing gsconfig.php would be a close #2 alternative
-
Chris
Thanks for using GetSimple! - Download
Please do not email me directly for help regarding GetSimple. Please post all your questions/problems in the forum!