Upgrade to Navapp
Custom Perspectives
To display custom perspectives in the Navapp 'Extensions' menu, update each perspective as described below:
- Add the
frontend:navigationitemmixin and set the requiredfrontend:appPathproperty. TheappPathvalue determines the last segment of the URL when the menu item is active. For example, ifappPathis set tomyappand the CMS is deployed athttps://cms.example.com, the custom perspective will be available athttps://cms.example.com/myapp. - Add translation key-value pairs for each language required by your perspective.
- Assign the appropriate
hipposys:userrole. You can use a userrole provided by Bloomreach Content (such asxm.cms.user) or a custom userrole from your project. Note: Thexm.cms.userrole is assigned to all CMS users by default. If the perspective should be available to all users, you do not need to configure this property.
The following example demonstrates these configuration changes:
definitions: config: /hippo:configuration/hippo:frontend/cms/cms-static/example1Perspective: jcr:primaryType: frontend:plugin jcr:mixinTypes: ['frontend:navigationitem'] plugin.class: com.example.Example1Perspective wicket.id: service.tab frontend:appPath: example-1 hipposys:userrole: xm.cms.user
definitions: config: /hippo:configuration/hippo:translations/hippo:navigation: jcr:primaryType: hipposys:resourcebundles /navigationitem: jcr:primaryType: hipposys:resourcebundles /displayName: jcr:primaryType: hipposys:resourcebundles /en: jcr:primaryType: hipposys:resourcebundle my-custom: Example 1 /nl: jcr:primaryType: hipposys:resourcebundle my-custom: Voorbeeld 1
If you use a PluginClusterLoader to load the perspective, also add the userrole property to the loader configuration. Starting with version 14.0, Bloomreach Content only starts plugins for which the user has the required role, if configured. For more information, see Userroles.
CDN
Bloomreach Content can serve the Navapp from a CDN. By default, the CMS uses the Navapp packaged with the CMS distribution.
Communication Between Custom Perspectives and Navapp
To enable communication between your custom perspective and the Navapp (beyond displaying the menu item), add the following Wicket behavior to your custom perspective and implement the child API:
org.hippoecm.frontend.plugins.standards.perspective.CmsSubAppIFrameCommunication
Proxy Configuration
iframe
Navapp loads Bloomreach Content in an iframe. The iframe's src URL will be similar to:
https://cms.company.com/?iframe
initialPath
When a user reloads the Navapp (for example, by pressing F5) while logged in, the server appends an initialPath query parameter to the URL and responds with a 302 redirect. The Navapp uses this parameter to display the correct menu item and URL.
Ensure that any reverse proxies in your environment allow these query parameters to pass through.