Pluggable EE features
Goal
As a developer, I need something that allows me to define a feature as an EE feature. It should be easy to re-define the feature and move it to/from CE.
TODO / How to implement
Some mechanism needs to be present that is used in a feature definition, so:
-
in CE version, the feature is "empty" ("locked") -
if possible, there are notes that this feature requires upgrading (like This feature is locked. Upgrade plan+ link) -- when an attempt to use the feature happens -
helphas to know if it's CE or EE -
build tags to enable/disable EE features -
(optional!) reconsider the implementation of the existing commands
Open questions:
- how to deal with a feature that is available in CE but only partially.
- do we need any changes in configs?
Acceptance criteria
When as a developer, when I develop a new feature, I wrap it so it is easy to define if the feature is EE or CE.
Edited by Artyom Kartasov