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 “Only Specific User or User Group 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
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 |
All users have to request all assets except for selected formats | Metafield = Any |
All users have to request all assets except selected assets and selected formats | Metafield = Bypass |
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 |
No users have to request any assets except selected assets and selected formats | Metafield = Require |
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.
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).
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:
Field type: MasterItemReference
Item type: Member of Member_Group
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.