Closed kwin closed 7 years ago
I've documented the components' versioning policy at https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/wiki/Versioning-policies.
Thanks @raducotescu, that looks very good. The only aspect which is not covered is dialog definitions. Especially when being used with the http://sling.staging.apache.org/documentation/bundles/resource-merger.html it is important to have stable identifiers. Could you elaborate on the stability of the elements order and names? The other thing not being mentioned is Java Script.
@raducotescu Could you reopen this issue (for the missing dialog definition and js policy) or do you want me to open a new issue for that?
@kwin, we're actively working on the JavaScript client libraries versioning. The dialog structures will follow.
All components below https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/tree/master/content/src/content/jcr_root/apps/core/wcm/components have a version in their path.
Unfortunately it is nowhere documented how stable those versions are (for future upgrades). While semantic versioning is quite well documented for Java Code (namely by https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html) this is not documented for scripts or dialog definitions. If someone now derives from those components, how stable are those? What would increase the version: Adding a new feature (backwards compatible) and new properties or just change the behaviour (non-backwards compatible). What about renaming of HTL templates? It is also important for overriding TouchUI dialog definitions, can we rely on stable identifiers here?