Design decision 10 - Provisional features
- Expert: @duboisp
- Status: Approved and published
- Last updated: 2020-01-23
- (2020-01-23) Published
- (2020-01-15) Approved at the WET roadmap meeting
- (2019-12-18) Presented at the roadmap meeting
- (2019-12-18) Initial draft based on Design Decision 7
There are also numerous of other reasons to come up with this approach, such as:
- Coming up with more relevant features to add to the toolkit.
- Increasing the amount of contributions from the WET community and expanding it.
To circumvent that, the WET community came up with a solution.
With that solution, a contributor can easily add new features to GCWeb to try them out and a publisher/developer can easily implement them on any page.
Change from Design Decision 7
The CSS class “.provisional” will replace CSS class “.experimental” introduced by Design Decision 7. For the transition, the “.experimental” CSS will be an alias for at least three (3) release that are not short-term release starting when this design decision.
The provisional features approach is designed to try new things that could eventually make it to the standard/stable version of GCWeb or WET, not to brake their progress or to diverge without any supervision. In that sense, if proper documentation for a plugin or a style doesn’t come sometimes after its release as an provisional feature, it will eventually be dropped instead of making it to the standards.
Experimental features are unstable and are to be used at your own risk.
- The availability of each feature is going to be discussed and re-evaluated during the roadmap meeting before a minor or major release of GCWeb (patches are excluded). The withdrawal of an provisional feature will be notified one release in advance. This statement means that the publisher of a page containing provisional features has to check out for new releases in order to make sure that the provisional feature(s) being used is/are still going to be available upon next release.
- Documentation and/or working example(s) for those features can be incomplete or unavailable.
An overall documentation page on provisional features and their current statuses is also available.
This solution works great with temporary features that would be needed only for a certain period of time and that should not be used afterwards.