Roles
The Request Download Approval features introduces 2 new roles:
Download_Approval_Admin - gives a user the ability to modify the request download approval configurations
Download_Approval_Bypass - allows a user to download an asset, bypassing the approval process
Prerequisites
In order for a user to have the ability of request the download of an asset, they need to have the roles ‘Asset_Can_Download' and ‘Business_Workflow_Instance_Transition'. They also need the download qualities as they normally would, if download approval wasn’t enabled.
The business workflow used for the approval process needs to fulfill all of the following conditions:
It needs at least three stages. One for “Pending”, one for “Approved”, and one for “Denied“. We advise you to call them this for maintainability, however, it’s not required.
The first transition needs to at least have the constraint “Only Instance Owner Can Transition“, else the users will get an error when they try to instantiate. (For admins, we have a role to bypass this “Only Instance Owner…“ constraint, and it’s called “Business_Workflow_General_Transition_Executor“. Again, only assign this to admins, as all “Only…“ constraints will be bypassed with this.)
We allow for other constraints on this first transition. Some set up “input constraints“, which are data the requestor will be asked to fill out to request a transition.
The currently supported input constraints are: String, Int, and Date. Below is an image of how String and Date look for the end user
In the end, your download request workflow should look something like the following:
...
Some people add onto this base design, and for example allow for a appeal of a request - which would look like the following:
...
Configuration
In MM5, navigate to the Settings pages, and select the option “Download approval“ from the left side menu.
In the newly opened page you can enable the download request approval and select which business workflow to be used for the approval process.
On this page, you can configure whether it should be enabled, which business workflow it should use as its foundation, and optionally choose whether certain formats should be whitelisted - and - optionally choose if a metadata field should control whether whole assets should be whitelisted for download. (See image below)
...
Bypassing download approval
There are three ways of bypassing download approval when it’s enabled.
1. Bypass based on a boolean metadata field
As mentioned earlier, on the download approval settings page, you have the option select a boolean metadata field to determine if an asset is opened up for all who have the download role.
Simply, go to the download approval settings page, and in the option 'Select metafield' choose your boolean (bit) metadata field.
2. Bypass based on media formats
The last option for bypassing is to select certain formats that can always be downloaded, of course, only as long as the users have the proper download qualities and roles.
Again, access the approval settings page, and in the option ‘Media formats' select the media format(s) you’d like not to receive download requests for.
3. Role
Add the role 'Download_Approval_Bypass' to a user or a group. This will grant the affected user(s) the ability to bypass all download approval restrictions.
Require download approval
Like we have the ability to bypass download approval, we also offer the inverse of this - which is the require download approval.
For this, we have two options:
1. Require based on a boolean metadata field
Setting require for metadata fields, will allow you to choose a boolean metadata field to listen for. If it set, all users need to request download for the affected asset.
2. Require based on media formats
Setting require for media formats, will have all assets' formats, but the selected format, downloadable without having to request.
Combining the metafield and media formats
Below are shown the 8 valid scenarios which you can configure the download request.
Purple: Request needed
Green: No request needed
...
Request 1
All users have to request all assets
All users have to request all formats
...
Request 2
All users have to request all assets BUT selected assets
All users have to request all formats
...
Request 3
All users have to request all assets
All users have to request all formats BUT selected formats
...
Request 4
All users have to request all assets BUT selected assets
All users have to request all formats BUT selected formats
...
No request 1
All users do not have to request all assets
All users do not have to request all formats
...
No request 2
All users do not have to request all assets BUT selected assets
All users do not have to request all formats
...
No request 3
All users do not have to request all assets
All users do not have to request all formats BUT selected formats
...
No request 4
All users do not have to request all assets BUT selected assets
All users do not have to request all formats BUT selected formats
Info |
---|
Please be aware that this does not into consideration that there is the bypass role “Download_Approval_Bypass “ which, as previously stated, will disregard any download restrictions you have in place. |
Info |
---|
The box with only green text in it is actually just download request disabled. |
...
Request 1
Metafield = Bypass (/Require)
Metafield data = [Empty]
Formats = Bypass
Formats data = [Empty]
...
Request 2
Metafield = Bypass
Metafield data = Bit field
Formats = Bypass
Formats data = [Empty]
...
Request 3
Metafield =
Metafield data =
Formats =
Formats data =
...
Request 4
Metafield =
Metafield data =
Formats =
Formats data =
...
No request 1
Disable download request altogether
...
No request 2
Metafield = Require
Metafield data = Bit field
Formats = Require
Formats data = [Empty]
...
No request 3
Metafield =
Metafield data =
Formats =
Formats data =
...
No request 4
Metafield =
Metafield data =
Formats =
Formats data =
Combining the metafield and media formats (Work in progress - most will be deleted before release)
Below, we’ve supplied some combinations of the different combinations one can make to set up download request in a proper manner.
It all boils down to:
Do you want to have all your assets require download requests, - where some assets can be bypassed
Formats = Require
...
Starting point (2)
Metafield = Bypass
Metafield data = [Empty]
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Basically, download requests are turned off. This combination is therefore not recommended.
...
Change Metafield (2)
Metafield = Require
Metafield data = [Empty]
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Basically, download requests are turned off. This combination is therefore not recommended.
Change Formats data
Metafield = Bypass
Metafield data = [Empty]
Formats = Require
Formats data = JPG small
Change Formats data + Metafield
Metafield = Require
Metafield data = [Empty]
Formats = Require
Formats data = JPG small
Formats = Bypass
...
Starting point (1)
Metafield = Bypass
Metafield data = [Empty]
Formats = Bypass
Formats data = [Empty]
People will have to request to download all assets for all formats
...
Change Metafield (1)
Metafield = Require
Metafield data = [Empty]
Formats = Bypass
Formats data = [Empty]
People will have to request to download all assets for all formats
Change Formats data
Metafield = Bypass
Metafield data = [Empty]
Formats = Bypass
Formats data = JPG small
Change Formats data + Metafield
Metafield = Require
Metafield data = [Empty]
Formats = Bypass
Formats data = JPG small
Metafield = Bypass
...
Starting point (2)
Metafield = Bypass
Metafield data = [Empty]
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Basically, download requests are turned off. This combination is therefore not recommended.
Change Formats (1)
...
Table of Contents |
---|
Roles
The Request Download Approval features introduces 2 new roles:
Download_Approval_Admin - gives a user the ability to modify the request download approval configurations
Download_Approval_Bypass - allows a user to download an asset, bypassing the approval process
Prerequisites
In order for a user to have the ability of request the download of an asset, they need to have the roles ‘Asset_Can_Download', ‘Business_Workflow_Instance_View' and ‘Business_Workflow_Instance_Transition'. They also need the download qualities as they normally would, if download approval wasn’t enabled.
As of Media Manager 5.4, workflow functionality, including Download Approval, is under feature flag. For more information, go to MM5.4 Feature flags
The workflow used for the approval process needs to fulfill all of the following conditions:
It needs at least three stages. One for “Pending”, one for “Approved”, and one for “Denied“. We advise you to call them this for maintainability, however, it’s not required.
The first transition needs to at least have the constraint “Any user can transition“, else the users will get an error when they try to instantiate. (For admins, we have a role to bypass this “Only Specific user…“ constraint, and it’s called “Business_Workflow_General_Transition_Executor“. Again, only assign this to admins, as all “Only…“ constraints will be bypassed with this.)
We allow for other constraints on this first transition. Some set up “input constraints“, which are data the requester will be asked to fill out to request a transition.
The currently supported input constraints are: String, Int, and Date. Below is an image of how String and Date look for the end user
In the end, your download request workflow should look something like the following:
...
Some people add onto this base design, and for example allow for a appeal of a request - which would look like the following:
...
Configuration
Info |
---|
To do this part, make sure that you have set up a download approval workflow. |
In MM5, navigate to the Settings pages, and select the option “Download approval“ from the left side menu.
In the newly opened page you can enable the download request approval and select which workflow to be used for the approval process.
On this page, you can configure whether it should be enabled, which workflow it should use as its foundation, and optionally choose whether certain formats should be whitelisted - and - optionally choose if a metadata field should control whether whole assets should be whitelisted for download. (See image below)
...
Bypassing download approval
There are four ways of bypassing download approval when it’s enabled.
1. Bypass based on a boolean metadata field
As mentioned earlier, on the download approval settings page, you have the option select a boolean metadata field to determine if an asset is opened up for all who have the download role.
Simply, go to the download approval settings page, and in the option 'Select metafield' choose your boolean (bit) metadata field.
2. Bypass based on media formats
With this you can select certain formats that can always be downloaded, of course, only as long as the users have the proper download qualities and roles.
Again, access the approval settings page, and in the option ‘Media formats' select the media format(s) you’d like not to receive download requests for.
3. Bypass based on a role
Add the role 'Download_Approval_Bypass' to a user or a group. This will grant the affected user(s) the ability to bypass all download approval restrictions.
4. Bypass based on groups or users (Content Owner)
This allows users or groups to bypass the download approval process for certain assets.
The difference between this and “Bypass based on a role“, is that with the role, all assets would be downloadable.
Please be aware that, the person who is entrusted with the ability to bypass the download, will also need to have read access to the MasterItemReference field which is used to determine who can bypass download. However, this field may be hidden.
Require download approval
Like we have the ability to bypass download approval, we also offer the inverse of this - which is the require download approval.
For this, we have two options:
1. Require based on a boolean metadata field
Setting require for metadata fields, will allow you to choose a boolean metadata field to listen for. If it set, all users need to request download for the affected asset.
2. Require based on media formats
Setting require for media formats, will have all assets' formats, but the selected format, downloadable without having to request.
Combining the metafield and media formats
Below are shown the 8 valid scenarios which you can configure the download request.
All users have to request all assets | Metafield = Any |
All users have to request |
all assets |
except selected assets | Metafield = Bypass |
Bypass |
All users have to request all assets except for |
selected formats |
Setting the bit field does nothing. This combination is therefore not recommended.
Change metafield data + Formats (4)Metafield = Any | |
All users have to request all assets except selected assets and selected formats | Metafield = Bypass |
People will have to request to download all assets for all formats.
Unless setting the bit field to true, which will make it bypass the download request.
Metafield = Require
Starting point (2)
Metafield = RequireSelected formats | |
No users have to request any assets | Disable download request altogether |
No users have to request any assets except selected assets | Metafield = Require |
No users have to request any assets except selected formats | Metafield = Bypass |
People can download all assets for all formats.
Basically, download requests are turned off. This combination is therefore not recommended.
Change Formats (1)Selected formats | |
No users have to request any assets except selected assets and selected formats | Metafield = Require |
Bit field |
Require |
People will have to request to download all assets for all formats
Change metafield data (5)
Metafield = Require
Metafield data = Bit field
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Unless setting the bit field to true which will make it require a download request.
Change metafield data + Formats (3)
Metafield = Require
Metafield data = Bit field
Formats = Bypass
Formats data = [Empty]
People will have to request to download all assets for all formats.
Setting the bit field does nothing. This combination is therefore not recommended.
Scenario 1
Metafield = Bypass/Require
Metafield data = [Empty]
Formats = Bypass
Formats data = [Empty]
People will have to request to download all assets for all formats
Scenario 2 (Not recommended)
Metafield = Bypass/Require
Metafield data = [Empty]
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Basically, download requests are turned off. This combination is therefore not recommended.
Scenario 3 (Not recommended)
Metafield = Require
Metafield data = Bit field
Formats = Bypass
Formats data = [Empty]
People will have to request to download all assets for all formats.
Setting the bit field does nothing. This combination is therefore not recommended.
Scenario 4
Metafield = Bypass
Metafield data = Bit field
Formats = Bypass
Formats data = [Empty]
People will have to request to download all assets for all formats.
Unless setting the bit field to true, which will make it bypass the download request.
Scenario 5
Metafield = Require
Metafield data = Bit field
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Unless setting the bit field to true which will make it require a download request.
Scenario 6 (Not recommended)
Metafield = Bypass
Metafield data = Bit field
Formats = Require
Formats data = [Empty]
People can download all assets for all formats.
Setting the bit field does nothing. This combination is therefore not recommended.
Scenario 7
Metafield =
Metafield data =
Formats =
Formats data =
Scenario 8 (Not recommended)
Metafield = Require
Metafield data = Bit field
Formats = Bypass
Formats data = JPG small
People will have to request to download all assets for almost all formats.
JPG small can be downloaded without requesting, however.
Setting the bit field will do nothing.
Setting up users to be able to initiate download requests
In order to enable users who could previously download to still be able to download after you enable download requests, said users need some additional roles to start requesting.
The users already have “Asset_Can_Download” and the necessary download qualities configured, which is good as this is still needed.
They’ll need the following two roles added to them additionally “Business_Workflow_Instance_Transition“ and “Business_Workflow_Instance_View“.
Now, they’ll see the following “Request download“ the first time they download an asset
...
Selected formats |
Info |
---|
Please be aware that this does not into consideration that there is the bypass role “Download_Approval_Bypass “ which, as previously stated, will disregard any download restrictions you have in place. |
Info |
---|
Above it just says “Selected formats“. This is just to indicate that one or more media formats can be set here. I.e. the Selected formats is just a placeholder. The place where it says “Bit field“, it is recommended that you have the name of the bit field to match up with the setting you’ve set in the metafield. E.g. if you have metafield = Require approval, then the bit field should also be named “Require approval“ |
Setting up users to be able to initiate download requests
In order to enable users who could previously download to still be able to download after you enable download requests, said users need some additional roles to start requesting.
The users already have “Asset_Can_Download” and the necessary download qualities configured, which is good as this is still needed.
They’ll need the following two roles added to them additionally “Business_Workflow_Instance_Transition“ and “Business_Workflow_Instance_View“.
Now, they’ll see the following “Request download“ the first time they download an asset
...
Once the asset has been approved, the user will be able to download the requested assets in all the formats that the user has access to.
Dynamic stage owner assignment
When the user sets up a workflow, the editing of a stage allows to assign tasks either automatically or dynamically. The following options are possible:
The task is assigned to a particular user (select “Assign to a user” option from Automatically Assign Stage, and then pick the user from a new drop-down list below).
The task is assigned to a particular user group (select “Assign to a user group” option from Automatically Assign Stage, and then pick the user group from a new drop-down list below).
The task is assigned to the workflow owner/instance owner (select “Assign to the instance owner” option from Automatically Assign Stage.
The task is assigned to an instance owner/content owner (select any option from Automatically Assign Stage as a fallback option, and then find the correct MasterItemReference metadata field from the menu under Dynamically Assign Stage field).
Info |
---|
Dynamic stage assignment of owner is a functionality created for the systems where each asset has a content owner in mind. In order for this to be configured there needs to be a metadata field with the following properties:
This is how the resulting field will look like in Media Manager: |
Please note that the stage assignee needs to have the role Business_Workflow_Instance_View in order to access the task list.