Adding story-connect target selection component
Configuration
If you want to add a story-connect target selection component in your details area, simply add following code-templates in a separate details-area tab. Please see Details Pane Configuration for more information on how to configure templates in Details Area.
{{content-manager/story-connect-wrapper legacyController=legacyController editable=editable model=model editModel=editModel showAllTarget=false}}
Restricting visibility
StoryConnect component visibility can be customized in the details area template. e.g. the visibility can be restricted such that the component will appear only when a Group is selected / edited / created. Please see following visibility options:
Visible for Groups Only
{{#if legacyController.form.entryIsAGroup}}
{{content-manager/story-connect-wrapper legacyController=legacyController editable=editable model=model editModel=editModel showAllTarget=false}}
{{/if}}
This configuration is also available as ContentManager_Details_StoryConnect.PAR file in the PAR_examples folder of the delivered DPE software package.
Visible for Stories Only
{{#if (equal model.Story 3)}}
{{content-manager/story-connect-wrapper legacyController=legacyController editable=editable model=model editModel=editModel showAllTarget=false}}
{{/if}}{{#if creatingNewEntry}}
{{#if (equal editModel.Story 3)}}
{{content-manager/story-connect-wrapper legacyController=legacyController editable=editable model=model editModel=editModel showAllTarget=false}}
{{/if}}
{{/if}}
Visible for both Groups and Stories
{{#if (gt model.Story 0)}}
{{content-manager/story-connect-wrapper legacyController=legacyController editable=editable model=model editModel=editModel showAllTarget=false}}
{{/if}}
{{#if creatingNewEntry}}
{{#if (gt editModel.Story 0)}}
{{content-manager/story-connect-wrapper legacyController=legacyController editable=editable model=model editModel=editModel showAllTarget=false}}
{{/if}}
{{/if}}
Display the "All" Target
Setting "showAllTarget" property in your Story-connect component controls whether "All" item is inserted at the top of the tree of available distribution targets (please see code snippet above). Sending a group to "All" does not necessarily mean the same as sending to every single target listed in the tree; rather, "All" is a special target whose meaning is determined in the configuration of the StoryConnect service.
showAllTarget set to True:
The "ALL" target as the root of the target hierarchy.
Both internal and external targets are displayed as sub-nodes under the "ALL" node.
Content pool aliases are not part of this hierarchy and are displayed separately outside of the "ALL" subtree.
showAllTarget set to False:
Internal targets, external targets, and content pool aliases are displayed at the same level within the hierarchy.
Loading story-connect targets
Story-connect loads target list in two formats:
StoryConnect Addressbook service
Content Manager retrieves available target list from the StoryConnect Addressbook service whose URI must be configured in the parameter |Common|StoryConnect|UrlInterface
.
Adressbook in JSON format
Content Manager enables to load the available targets from a list in JSON format, which can configured in the parameter |Common|StoryConnect|CMTargets
.
Search order
The Story-Connect interface follows a specific sequence when attempting to load the address book. If the key is not defined, it proceeds to search to the next location. The interface loads the targets as soon as they are identified, based on the following order:
[Local] Common|StoryConnect|UrlInterface:
Key contains a StoryConnect Addressbook URI.
Set the value to “-“ in order to skip step 2 of this search order.
[Global] Common|StoryConnect|UrlInterface:
Key contains a StoryConnect Addressbook URI.
[Local] Common|StoryConnect|CMTargets:
Key contains available targets from a list in JSON format.
[Global] Common|StoryConnect|CMTargets:
Key contains available targets from a list in JSON format.
[Local] Common|StoryConnect|Targets:
Key contains available targets from a list in JSON format.
[Global] Common|StoryConnect|Targets:
Key contains available targets from a list in JSON format.
if [Global] Common|StoryConnect|UrlInterface is set, and you want to load different targets at user level, just set the value of [Local] Common|StoryConnect|UrlInterface to “-“. The search will skip step 2 and will continue searching for targets in step 3 and onwards.
if Common|StoryConnect|UrlInterface is set to a URL, which is currently not reachable, the search will fail after a timeout, and start to search for targets from step 3.
Functionality
Overview
The StoryConnect component lets you select StoryConnect distribution targets, e.g. other radio stations and/or departments across your StoryConnect network.
The StoryConnect component lists on its left side all available targets.
The right side lists the selected targets.
Selecting a Target
A target can be selected either by:
Clicking on the button next to the destination name.
Dragging a target item from left area (Available Targets) and dropping onto the left area (Selected Targets).
De-selecting a Target
A target can be de-selected either by:
Clicking on button next to the destination name in the Selected Targets area.
Dragging a target item from right area (Selected Targets) and dropping onto the left area (Available Targets)
Clicking on "Save" button in the Details Area will save the selected targets in the database as entry metadata.
Special targets
The "All" target top of the list of available destinations is not simply "everything in the list". Its special meaning is defined by the StoryConnect configuration. The "All" target is only present if both internal and external targets are available.
The "internal" targets usually are within your radio station. The "internal" group may be absent if no such destinations are provided by your StoryConnect Addressbook service.
Likewise, the "External" target is absent if no external targets are configured.
All destinations except "all" and internal destinations can have departments attached to them. You can either select the complete destination (radio station) or some of its departments as a distribution targets.
Adding Alias as a Target (Content Pools)
Story-connect aliases can be set only in global settings at [Global] Common|StoryConnect|Aliases
By default, the section is named “Alias”, however, the name to be displayed can be changed in Common|StoryConnect|Alias_Title
by providing the desired name as a string to this key.
The Aliases folder can contain many alias items. The parameters in this folder need to have the following format to be displayed in story-connect interface.
The key name: must be
AliasN
, where N must be a number greater than 0. Number N indicates the order position in the user interface. Numbers does not necessarily need to be sequential.The key value: should be a string, separated by semicolons, where the first item shows the name of the alias, followed by internal and external targets
Mutual Exclusivity of Content Pools with 'All' or 'All External' Targets
User selects a Content Pool alias target:
"ALL" and "All External" targets are automatically disabled and cannot be selected.
This prevents the simultaneous selection of a specific content pool alias with the aggregated "ALL" or "All External" targets.
Individual external target and “All Internal“ is still possible.
User selects "ALL" or "All External" target:
All individual content pool aliases are disabled and cannot be selected.
This ensures that the aggregated "ALL" or "All External" target is not combined with specific content pool aliases.
Parent and Child Targets
The left area of the StoryConnect tab displays targets in a hierarchical manner. Several targets have subordinate targets; in the example depicted above, "Internal" and "External" are subordinate to "All", and "MDR", "NDR", "BR", and "HR" are subordinate to "External". MDR, BR, and HR have subordinate targets (departments) which cannot be seen right now. We call subordinate targets children, and the node to which they are subordinate is called the parent.
When you add a parent node to the list of selected nodes, its selected children (if any) are automatically removed from the list, and all its children become unselectable. For example, this happens when you select "External":
However, when you remove the parent node from the list, the children which were removed are re-added to the list for your convenience.
Upgrading a Target
As was said above, a target cannot be removed from the list once the list is saved. You can, however, replace a saved target by its parent, grandparent, etc. We call this "upgrading" a target. Adding a parent to the list removes its children. When you remove the parent, the children are restored; however, you cannot remove the children unless they have been added in the current session.