Interactive installers

Started by NanoSector, June 09, 2013, 10:39:04 AM

Previous topic - Next topic

NanoSector

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 2
The 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 3
Not 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?
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

MrPhil

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).

NanoSector

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.
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

MrPhil

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.

Kindred

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"
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

MrPhil

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.

NanoSector

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.
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

Kindred

ummm....   why not just have the mod authors create the admin features in a better way?
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

NanoSector

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?)
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

Arantor

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)

Advertisement: