Embeddable Studio is the integrated development environment for embeddables. Embeddable Studio is available by navigating to Administration > Interface > Embeddable Studio.
When would I use Embeddable Studio?
Embeddable Studio is used by developers to review, create, modify, revert, and delete Embeddables . Embeddables are implemented using Velocity or server-side Javascript. For more information on scripting within Verint Community, see Scripting.
Embeddable Component Definitions
Each embeddable installed in the community is listed within the navigation tree. Each embeddable includes the following components represented as items under the embeddable in the tree.
Overview
The overview is shown by clicking the embeddable in the tree. The overview defines the metadata about the embeddable so it can interact with Verint Community. Specifically:
- Name. How the embeddable is represented elsewhere in Verint Community for community managers and end users.
- Description. A brief description of the behavior/purpose/implementation of this embeddable.
- Category. Normally, accessible embeddables are listed in the content editor's Insert menu. When a community has many accessible embeddables, the Insert menu will break into sub-menus by Category. The Category field identifies the name of the sub-menu into which this embeddable can be placed.
- Is Cacheable. If enabled, the output of this embeddable will be enabled for caching by Verint Community.
- Vary Cache by User. When enabled (and if Is Cacheable is enabled), the output of this embeddable will be cached in a user-specific way. When disabled, all users will share the same cached rendered output.
- Icon Image. The image to show next to the embeddable's name in the content editor's Insert menu.
- Preview Image. The image to show as a background of the embeddable's preview container when inserted into the content editor.
- Embeddable Within. If the embeddable can only support specific types of content, those types can be specified here. By default, embeddables are allowed to be used in all content types. This metadata, from the developer's perspective, identifies the types of content that can possibly use this embeddable, not the content types its enabled for in the current community. The community manager can adjust the availability of embeddables by content type later.
The overview also includes identifiers and file location details for embeddables and lists all supplementary files used by the embeddable. When viewing changes, the overview will highlight the components/files that are modified and can be used as a starting point for reviewing changes between embeddable versions.
Implementation
The implementation is a script, written in either Velocity or server-side JavaScript (see more about scripting), is executed when content containing an instance of this embeddable is rendered for presentation to the UI or an API request.
Within the implementation, the embeddable can make use of the context_v2_embeddable Script API script API to get information about the content in which it is embedded as well as the render target (Web vs. Email, for example) to render appropriately.
Configuration
Embeddables can optionally expose configuration options that will be exposed to content creators when they select to include this embeddable in their content via the content editor. Configuration options are defined using the dynamic configuration XML format. See Supporting Configuration for more details about defining configuration options.
Resources
Embeddables support translations of strings stored in their resource list. The resource component of an embeddable contains all of the named translated strings in each available language to the community. The embeddable can reference these translated strings by their name in the embeddable's configuration, name, description, and in scripts.
Files
Embeddables can include additional files to implement the embeddable's behavior. Images, stylesheets (CSS and LESS), additional server-side JavaScript and Velocity files, and other file types can be included and referenced or executed by the embeddable. Additional files are listed under the embeddable in the navigation tree.