So I stumbled upon this idea when I had no idea what default value I had to give something.
What about being able to create an installer which allows you to set various settings before starting the installation, or after the installation?
I know you can do so with redirections too, but what about getting a handful of settings together and say "Hey, here's something you might want to change"?
I had three options in mind...
Quote
[Installation Steps]
1
2
3
4
etc.
[Modification Settings]
Here you can change some settings for this modification prior to installation.
1
2
3
4
etc.
This version however has a problem that the settings cannot be translated because either the translations aren't installed or extracted.
Option 2The installation has just finished, and now the user will be presented with another wizard page.
Quote
[Modification Settings]
The modification has been installed. You can now change some settings of this modification to get started.
1
2
3
4
etc.
Option 3Not much different from 2, but then on the same page as "The mod has been installed"
Quote[Installation finished]
...
[Modification settings]
Now that the modification has finished installing, you can change some settings for this modification to get started.
1
2
3
4
etc.
Thoughts?
Would these settings changes duplicate what's available in Admin for this mod, or are they additional values? If the latter, why aren't they in the Admin for this mod? Are they things that should never be changed once the system is up and running? What I'm heading towards is instead of a new settings page after installing a mod, why not go to the Admin page for that mod's settings? And if there are things that should only be set once (at initial setup), they could be in the Admin page but subsequently disabled (read-only).
Quote from: MrPhil on June 09, 2013, 11:04:24 AM
Would these settings changes duplicate what's available in Admin for this mod, or are they additional values?
They would duplicate them, but I suppose they also can be additional ones (think of when you add a new setting to members' profiles, what default value should it have for all members?)
QuoteAre they things that should never be changed once the system is up and running?
Depends on the use of the setting.
QuoteWhat I'm heading towards is instead of a new settings page after installing a mod, why not go to the Admin page for that mod's settings? And if there are things that should only be set once (at initial setup), they could be in the Admin page but subsequently disabled (read-only).
What I had in mind is to have a collection of settings which could be enabled to use the full functionality of the mod, e.g. when a mod has a master switch it could be on there along with important options. If every setting is on the same page I'd say put a redirect in place.
Rather than reinventing the wheel, just go to the Admin page for the mod and set things there, with some things only changeable once (read-only thereafter). If the mod's settings doesn't have its own page, that would complicate things a bit. Perhaps for "initial setup" there could be a flag to disable other mods' settings on that page, as well as enable "once only" settings for this mod? The primary advantages of this is that it would teach the Admin where to find all the setting controls for this mod right at the get-go, and you only have to write a 'settings' page once.
you seem to assume that we would distribute mods with the smf core -- which goes against our standard of "keep things small and let each admin customize"
Uh, no, I said no such thing. I'm saying that instead of writing a new interface to initially update a mod's settings, why not make use of whatever it's putting into the Admin functions? Expand the interface to permit once-only settings on that page, and consider (if the mod's Admin settings share a page with others) having a way to just enable this one mod's setting fields for this one-time setup.
I wasn't really thinking of one-time configuration, but more like a collection of settings which would otherwise be shattered around the ACP.
Like setting X is in Modification Settngs, setting Y is in Features and Options, this screen would bring X and Y together.
ummm.... why not just have the mod authors create the admin features in a better way?
Quote from: Kindred on June 10, 2013, 02:55:08 PM
ummm.... why not just have the mod authors create the admin features in a better way?
Because often there is no better way.
This is not only useful for what I specified above, but it can also help for first-time configuration (for which a one-time setting screen is needed).
Quote from: Yoshi on June 09, 2013, 11:19:31 AM
(think of when you add a new setting to members' profiles, what default value should it have for all members?)
If you're adding a new setting to members' profiles, it will always have a default value of empty (or 0 or false, but ultimately something that matches empty()), which holds up for everything else too.
There are always other ways around that don't require changing the core. I just don't see a good way of doing this in the core, but give me a really strong use case and I'll reconsider it.
(Notwithstanding, if you *really* wanted to do this, you could with the installer script, the way Niko did with the later versions of Project Tools having a staggered approach to adding tables)