Troubleshooting: SmartEdit customization doesn’t work after upgrade
Two big changes in Smartedit these release
- Smartedit start migrate AngularJS to Angular since 2005 and all AngularJS stuff have been cleaned up in 2211.
- Smartedit introduce Librarification in 2105 and the whole Architecture change a lot.
Why Smartedit customization doesn’t work after upgrade
Based on above 2 big changes, customer should firstly check whether they already finish the upgrade steps for Librarification section, otherwise smartedit customization can’t build success with new versions commerce suite.
Why Smartedit customization still doesn’t work after Librarification
Most of time, customization still doesn’t work due to the Angular migration. Partners and customers used to enhance OOTB Smartedit with AngularJS object in old version Smartedit while product team may port the OOTB AngularJS to Angular, or even delete them due to other Angular substitution.
Why can’t override OOTB Angular Object like AngularJS before
The dependency injection are totally different in AngularJS and Angular, so we can’t declare a same name object to override Angular stuff like AngularJS.
- https://docs.angularjs.org/guide/di#dependency-annotation in AngularJS
- https://angular.io/guide/dependency-injection in Angular and more details
How to enhance OOTB Angular Object in latest version
We suggest customer to upgrade to commerce 2211 since Google already stop support AngularJS, but we don’t have easy way to override all OOTB Angular Objects cause Angular officially doesn’t support that. Product team already provide several Trails which describe how to extend OOTB Angular object and also document the ‘limitation‘ in the ‘Note‘ section. Further more, product team don’t guarantee that all OOTB objects can be extended. Objects under Smartedit extension can be extend since it’s Smartedit framework while Object under cmssmartedit is our internal Smartedit implementation which can’t be extended.
- Trail: Overriding SAP Delivered Angular Service Written in TypeScript
- Trail: Overriding SAP Delivered Angular Component Written in TypeScript
- Trail: Upgrading Your Customized SmartEdit Modules from AngularJS to Angular
Replacing OOTB files still work but not recommended
If your project encountering time constraints and don’t have too much extended features(code changes), then directly replace OOTB files can be considered if you’re familiar with Angular. But please be aware that you will take the whole responsibility of this customization since product team doesn’t support in this case.