adobe / aem-core-wcm-components

Standardized components to build websites with AEM.
https://docs.adobe.com/content/help/en/experience-manager-core-components/using/introduction.html
Apache License 2.0
730 stars 736 forks source link

Versioning for JS in Clientlibs #89

Closed lbaoyu closed 6 years ago

lbaoyu commented 6 years ago

The versioning policy doc - https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/wiki/Versioning-policies explains versioning policies for individual component level. According to the doc there are two version presences for a specific component (1) the Java Sling model's implementation package name, e.g.: package com.adobe.cq.wcm.core.components.internal.models.v1; (2) HTL markups, e.g.: https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/tree/master/content/src/content/jcr_root/apps/core/wcm/components/breadcrumb/v1. I believe there is a third one which should also be mentioned - the category name for the Clientlibs.

Clientlibs are location "independent", a piece of JS code for a core component is versioned as v1 not because it is located inside apps/core/wcm/components/breadcrumb/v1 but because its category name contains "v1" in it. For example: https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/blob/c1d6a1fe33569914be395b3008b65b0b8b306452/content/src/content/jcr_root/apps/core/wcm/components/breadcrumb/v1/breadcrumb/clientlibs/site/.content.xml#L4

vladbailescu commented 6 years ago

Great suggestion @lbaoyu, thanks for bringing this up!

richardhand commented 6 years ago

Thanks @lbaoyu! We have updated the document to include client library category name policy. https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/wiki/Versioning-Policies