acs-aem-commons
acs-aem-commons copied to clipboard
What's the proper way to upgrade ACS Commons across major version?
Required Information
- [ ] AEM Version, including Service Packs, Cumulative Fix Packs, etc: 6.5.17
- [ ] ACS AEM Commons Version: 4.3.2
- [ ] Reproducible on Latest? yes
Expected Behavior
composite-multifield.js does not load for authoring dialogs unless I want it to
Actual Behavior
composite-multifield.js loads for all authoring dialogs whether I'm using it or not and throws an exception because underscore is undefined when trying to save the authoring dialog
Steps to Reproduce
Install v3 of ACS Commons. Install v4 of ACS Commons. See that /apps/acs-commons/touchui-widgets is still a jcr:primaryType of cq:ClientLibraryFolder with categories including cq.authoring.dialog.
Notes
Hi, I'm wondering what the proper way to upgrade ACS Commons is so it updates older node type definitions? What I'm seeing is an older jcr:primaryType for /apps/acs-commons/touchui-widgets. It's in my AEM instances as a cq:ClientLibraryFolder but newer versions of ACS Commons have it as just nt:folder. Digging through the git history, it looks like this node primaryType was changed in the v3 to v4 upgrade.
This is the same issue reported here but I don't see an response or resolution to that. https://github.com/Adobe-Consulting-Services/acs-aem-commons/issues/2917
The problem I'm seeing is that because it's a cq:ClientLibraryFolder, it has some categories on it including cq.authoring.dialog which is causing an error to happen because it depends on underscore but there's no underscore clientlib category defined in my system which appears to maybe be something that was deprecated by AEM somewhere in the 6.5.x series (I'm on 6.5.17). And when I go to save an authoring dialog it's trying to run an underscore command for _.isEmpty and _ is undefined which causes the authoring dialog to stop js execution and be unable to save properly.
So what is the proper way to upgrade ACS Commons for a system that originally had ACS Commons pre-v4.0 installed and get it to upgrade all the nodes properly? Can I just uninstall the acs-commons apps package and then install a v4+ package, or v6 if I want to get to latest?