On Jan 1, 2008 6:49 PM, Gerhard Killesreiter <gerhard@killesreiter.de> wrote:
Hi there,
my question is: Where should contrib module authors put config options for their modules?
1) Should this always be the individual module's settings page?
2) Should it try to add the config option to a more generic place (either provided by core or another module it depends on)?
3) Should it add it to both places?
What peeves me is that some modules put their settings in the content type page, while it is just an on/off thing. This way, on a site with 10 content types, and I want to enabled that module's feature for 9 out of those 10, I have to visit 10 pages, and select from a drop down and click submit. The module could simple list all content types under admin/settings/MYMODULE with a check box next to each. One page to visit, and much better usability. Also, admin/settings/MYMODULE is the most obvious place to find settings for MYMODULE.
Concrete example:
I've added a performance related variable to event module. The value of the variable decides whether to do a full node load for each event on a calendar or to only use title, start, and end date from one mysql query.
Now I need to put the UI for this variable somewhere...
The variable also has influence on the theme you use since you can't print out any other node content fields if they aren't there. The event functions that event.module ships with for example expect the presence of a teaser field.
In principle, I think that the variable should be set at admin/settings/performance but who is going to look there again after each newly installed module?
In your specific case, the settings may be in the module's setting page or under performance. But if you decide to do the latter you MUST provide a link in admin/settings/event to that settings page, so users can find it. -- Khalid M. Baheyeldin 2bits.com, Inc. http://2bits.com Drupal optimization, development, customization and consulting.