Custom Capabilities (Content Store only)
A CUE capability is a unit of CUE functionality that can be enabled or disabled for individual users. This makes it possible for different users to see different versions of CUE, customized to match their role. A house journalist, for example, may be granted access to different functionality from an editor or a freelance journalist. All the standard side panels and metadata panels in CUE are defined as capabilities and can therefore be either hidden or shown based on a user's role.
If you have extended CUE with your own web components, then you can also define custom capabilities that will allow them to be enabled and disabled in the same way as the built-in functionality. A custom capability in CUE is simply a name that you assign to a web component by setting a property in its configuration file. Here, for example, is a side panel web component configuration that includes a capability definition:
sidePanels: - id: "twitter-home-panel" name: "Twitter Timelines" directive: "cue-custom-panel-loader" isAngular: true webComponent: modulePath: "webcomponents/twitter/twitter-home-panel.js" icon: "twitter-home-panel-icon" mimeTypes: [] homeScreen: true metadata: [] active: false order: 705 capability: "twitter-panel"
Here is a metadata panel web component configuration with a capability definition:
editors: metadata: - name: "storyline-stat" directive: "storyline-stat" cssClass: "storyline-stat" title: "Storyline Stat" #translate webComponent: modulePath: "webcomponents/storyline/storyline-stat.js" icon: "storyline-stat-icon" mimeTypes: ["x-ece/story", "x-ece/new-content; type=story"] order: 731 capability: "storyline-stat"
You can add a capability
property like this to any
side panel or metadata panel configuration (but not to a custom field
editor configuration). Your capability name must not clash with any of
the built-in capability names. All the built-in capabilities have names
that start with cue-
, so just avoid this prefix in
your names. If you have a group of extensions that are so closely
related that they can be seen as a single piece of functionality, then
you can give them all the same capability name: it will then be possible
to enable/disable them as a group.
The management of user access to CUE capabilities is a Content Store responsibility, so once you have defined your custom capabilities in CUE, you will need to add some corresponding configurations to the Content Store and then grant selected users access to the capabilities using Web Studio. For information about how to do these things, see Capability Definitions and Capabilities.