RFC: Deprecating templates

Hi,
I’ve been thinking about the way how we could deprecate templates that are obsolete, not working, or are not supported anymore.
And I have this idea of how we could do it.

Add a new deprecated_in attribute, with the value of the Foreman version, indicating when the template has been deprecated.

Automatically hide these templates from the UI, or mark them with a warning icon in the UI.

Deprecated templates would be searchable, with simple deprecated = true/false, or deprecated_in = <version>.

Later on, let’s say two versions later, remove them completely.
Or as an alternative, we can move them to the deprecated directory,
keeping them there for future reference.

What do you think?

4 Likes

While I like the idea when would you deprecated? If it is no longer working caused by Foreman I think we should adjust/fix/… and if it is no longer working because for example a current version of an operating system is dropping support of this, deprecation would be a fair warning but we could only remove after the last version supporting the old way is out of support and even then some users could still be using it.

So I would prefer a deprecated_in over a simple boolean as you can directly see when it will be removed earliest (like two releases later) and I would want also some deprecation_reason, so users can understand why, argue against deprecation or when it should be really removed so postponing the removal with a good reason for some more releases which could then be reviewed in the release process.

1 Like

While I like the idea when would you deprecated it?

It would not be a one-man decision, my idea was to post the list of the templates here first, along with open draft PR, and see if anyone has any objections or ideas for other templates.

So I would prefer a deprecated_in over a simple boolean and I would want also some deprecation_reason

Yes, I am also for the deprecated_in variant, the deprecation reason is a good idea.

We can go as far as showing warnings on the OS detail page if they have assigned templates that will be deprecated, to be sure nobody won’t miss the change.

1 Like

I’d stay away from putting this info to the app, it should link some page where users can read about the reasoning and provide their feedback. Probably some discourse thread. I was not sure if you meant the same or wanted to have the reasoning part of the warning in Foreman itself.

In general, I feel like the list of built in templates is long and while majority use just Kickstart and Preseed, they can only find them on page 4 and 5 out of 7. Which is why I’d be supportive of the deprecations and potential drop off. We currently don’t have much data on which of these templates are actively used.

+1 from my side.

I’d stay away from putting this info to the app, it should link some page where users can read about the reasoning and provide their feedback. Probably some discourse thread.

The discourse would be used for information about the planned deprecation of the template. We first let the community know what is going to be deprecated, and if no one has strong objections against it, then we will push the PR.

I was not sure if you meant the same or wanted to have the reasoning part of the warning in Foreman itself.

I would like to have the reason displayed in the Foreman, could be also a link to discourse thread where the discussion was started, as suggested above.