Migration considerations

By default, the "Layout For New Home Page" rule is set to "Fixed User Interface" in Sterling™ Business Center, which allows the old specification portlets along with the existing customizations to remain unchanged and appear as if none of the new features are implemented.

However, when you change the "Layout For New Home Page" rule is set to "Persona-based Interface", you can observe the following changes:
  • In the new AngularJS-based home page:
    • All new portlets
    • New banner color
    • Alerts in the banner
  • In the Dojo-based home page, the new "Persona Based Store" portlet on the desktop version of the application with buttons to view all default personas. The old "Customer Service" portlet is hidden. On the mobile version, a switch icon and its menu entries updated for all default personas.
  • Consider the following scenarios while migrating to the new release:
    • If you do not have any existing customizations, then the upgrade will be seamless.
    • If you have only portlet extensions (new portlets added), then you need to upgrade the portlets to new specifications to stay completely updated. Otherwise, a warning message is logged in the console about old specifications portlets mixed with new specifications persona-based home page. Upgrade will be seamless, but requires minor work to migrate to new specifications.
    • If you have overridden any of the following files, you need to perform certain minimal tasks:
      Table 1. Overridden files and changes required
      Overridden File Changes Required
      store-container.jsp or any other JSP This is not recommended. However, you can migrate all changes to store-extn-include.jsp
      appheader.tpl.html You need to manually reconcile with the new file.
      store-home .html and .js Undo all the changes. It is not recommended.
      manager-dashboard .html and .js for new menu entries in the switch icon. Undo all the switch icon related changes. Other changes are not recommended.
      sitemap .html and .js The content for these files is automatically generated from portlet config. Retain changes if you have other functionality and in such a case, you must manually reconcile the changes.

Handling complex upgrade scenarios

store-container.jsp is overridden

If the store-container.jsp is overridden for AngularJS or Dojo screens, it may be possible that you may not see the desired results on the User Interface even after selecting the appropriate options in Sterling Business Center. This is because these JSPs read some of the configuration options that are needed to set up the required data in the application. In such cases, you have to manually reconcile the changes to enable persona based navigation options to be visible and work as expected.

Customer Service portlet is customized

On desktop version of the application, the Customer Service portlet enables navigation between the Dojo-based and AngularJS-based home pages. On mobile, this was managed by the switch icon on the mobile home page.

To enable navigation from the Dojo-based home page to the new persona-based AngularJS home page (assuming appropriate options are selected in Sterling Business Center), the Persona Based Store portlet is displayed (old Customer Service portlet is hidden). Likewise, in Dojo-based mobile home page, the switching icon contains new persona-based switching options.

Unlike AngularJS-based portlets, where there is a direct link between the persona and permissions, the newly added portlets for a persona are automatically displayed. However, for any new custom persona defined in Sterling Business Center, you need to add permission checks and appropriate navigation buttons or links.

Methods in UIUtils.js (ias/utils/UIUtils.js) to validate the default persona permissions:
  • hasCustomerServicePersonaPermission()
  • hasManagerDashboardPersonaPermission()
  • hasOrderFulfillmentPersonaPermission()
Customization teams are advised to add custom methods in custom utils to handle permission checks for customized personas.

To navigate to the newly added persona after choosing it on the UI, you are advised to call the callUpdatePersonaAPI(newPersonaName) method of the default portlet/mobile home page. Ensure that at least one portlet is available for the logged-in user's selected persona, for this action to yield the desired result.

If the Customer Service portlet is customized to add a new button or show/hide itself based on user's permissions, and you enable the desired configuration in Sterling Business Center to view the Persona Based Store portlet, then you are advised to migrate your custom logic from the Customer Service portlet to the new Persona Based Store portlet. For best results, use Extensibility Workbench.