umbraco / Umbraco-CMS

Umbraco is a free and open source .NET content management system helping you deliver delightful digital experiences.
https://umbraco.com
MIT License
4.5k stars 2.69k forks source link

Allow adding custom install/upgrade steps and fix ordering #6421

Closed ronaldbarendse closed 3 years ago

ronaldbarendse commented 5 years ago

It's currently not possible to add custom install/upgrade steps to the setup/upgrade screen, as the ordering of the steps filter out any discovered/registered steps:

https://github.com/umbraco/Umbraco-CMS/blob/853087a75044b814df458457dc9a1f778cc89749/src/Umbraco.Web/Install/InstallStepCollection.cs#L13-L35

It looks like it should just order the steps based on the ServerOrder: https://github.com/umbraco/Umbraco-CMS/blob/853087a75044b814df458457dc9a1f778cc89749/src/Umbraco.Web/Install/Models/InstallSetupStepAttribute.cs#L35

But maybe a better solution would be to change this to an OrderedCollectionBuilderBase or WeightedCollectionBuilder?

One use-case for this might be to ask for the Models Builder mode (and other settings) on install, as that's currently an external package that's installed by default.

sitereactor commented 5 years ago

Would love to see this as well. Would also give more flexibility in terms of customizing an install up-front or even unattended installs of both umbraco and starterkits if its taken a bit further.

nul800sebastiaan commented 5 years ago

We'll have a chat at HQ soon about this. Obviously the installer was never intended to be extensible and I am not sure we would want to support that scenario since we've always wanted the installer to ask as few questions as possible.

I can see the point though on it being something you would add for your internal projects before running the installer.

umbrabot commented 3 years ago

Hiya @ronaldbarendse,

Just wanted to let you know that we noticed that this issue got a bit stale and might not be relevant any more.

We will close this issue for now but we're happy to open it up again if you think it's still relevant (for example: it's a feature request that's not yet implemented, or it's a bug that's not yet been fixed).

To open it this issue up again, you can write @umbrabot still relevant in a new comment as the first line. It would be super helpful for us if on the next line you could let us know why you think it's still relevant.

For example:

@umbrabot still relevant This bug can still be reproduced in version x.y.z

This will reopen the issue in the next few hours.

Thanks, from your friendly Umbraco GitHub bot :robot: :slightly_smiling_face: