Improved workspace handling to disallow duplicates and disable deletion
Allow workspaces to be marked as undeletable. Disallow duplicate workspaces.
The workspaceTemplate configuration element's option attribute now accepts the following values in addition to Initial:
Permanent: The associated workspace is created if it doesn't exist and cannot be deleted by the workspace manager.
Single: Only one instance of this workspace can be extant at any particular time.
The following will ensure that there will be an Editorial workspace always available:
<workspaceTemplate name="Editorial" option="Permanent">
<sideBarRef name="Tasks"/>
<sideBarRef name="Content"/>
<sideBarRef name="Editorial"/>
<sideBarRef name="EditionTracking"/>
<sideBarRef name="Clipboard"/>
</workspaceTemplate>
Privilege control URL access
The version 2.2. enables privileges to be set on a per user basis to define which URL's in an accordian bar the user can access and also which function buttons (home screen) the user can access. Moreover, it allows to hide 'Personal Settings', 'Manage Workspace' and similar commands.
The protection is based on two built-in commands: showHome and externalUrl; the former shows the home page and optionally activates a section such as the settings one, while the latter shows the home page and executes an external url as defined in the configuration.
The built-in command showHome has optional parameter sectionname that activates the section identified by it. If sectionname is not provided, the home page is activated but no section is selected. The sectionname parameter can have the following values:
profile: activates the 'My Profile' section.
settings: activates the 'Settings' section.
workspaces: activates the 'Manage Workspaces' section.
Restricting access to these commands via the permissions stored against the users and groups will cause the various sections to be hidden and so if access is denied to the showHome, workspaces command, then the workspaces section will no longer be displayed on the home page. The following would be the value to set in the Url or Script section to identify the showHome command with sectionname parameter equal to workspaces:
showHome?sectionname=workspaces
The built-in command externalUrl has a parameter externalurlname that references an ExternalUrl defined in the configuration, e.g. the following external url:
<externalUrls>
<externalUrl name="Bing" url="http://bing.com"/>
</externalUrls>
can be called using the following menuItem:
<menuItem name="Bing" iconName="fa-external" command="externalUrl">
<params>
<add key="externalurlname" value="Bing"/>
</params>
</menuItem>
In a similar fashion to the showHome command, restricting access via permissions will cause the associated tab on the home page to be hidden, e.g.
externalUrl?externalurlname=bing
Note that the externalUrl command only executes items defined in the global configuration and not those specified in the user settings.
To manage permissions on a single workspace you can add in the permissions an url like: workspace?workspacetemplatename= name