...
Then if you want to fully benefit from the creative workflow, follow Common steps .
1.2/ Existing with
...
customized workflow (upload portal)
If your project has a customized workflow for the upload feature, the installation of the creative workflow will be more complicated. The new feature needs the update made on the workflow of massimportitems objects. This means, that on the project side, a choice has to be made : Using the creative workflow, OR using the upload.
...
Expand | ||||
---|---|---|---|---|
| ||||
View Action:
Insert Action:
Update Action:
Delete Action:
Change Status Action:
| ||||
| title |
| details
| technical viewAction : viewfor
|
Inside this folder we are defining the layouts config, the same way it is defined for dam domain. We have a default-resource-config.json file which is describing the all the available layouts and the default layout used to display space item entities
Note |
---|
Avoid making changes to this configuration for now. Although we currently have only one layout, it may evolve, and we plan to provide additional layouts for users to switch to. |
...
Expand | ||
---|---|---|
| ||
Action : viewfor objects :
Permission:
for objects :
Permission :
for objects :
permission :
| ||
Info |
2/ Install on projects starting on 2024.1
In this case, you will only have to respect the Prerequisites. And they are all coming by default with the 2024.1.
Just be sure to call the update (admin) endpoint given by PACKAGED_Security.
You will need to create all your new library structures by copying the current asset structure, because you will need to have the spaces prop and the tags from the asset on your library structures.
3/ New massimportitem workflow
The existing wkfmassimportitem and its actions have been updated for the creative workflow. Also, this workflow is still usable for the upload feature, only some status/action labels will be different.
These are the main updates on the workflow :
Position reordering
The colors have been changed
...
New statuses
id 3 : check => default status for imported items
id 4 : validate
“Index” status (id 8 ) has been renamed to review
Wkfmassimportitemactions have been reorganized. Actions have been added from and towards each one of these statuses : rejected, check, review, validate, approved
Also for the existing statuses, when it was possible, existing actions have been updated to avoid adding actions and having other actions become useless. Depending on the modified instance, the update was on the target status or the action name.
Statuses names, IDs, and action names are used on the portal’s configuration for dam-import and spaces domain.
4/ Configuration possibilities
Change the status of assets created by the Creative workflow
By default, an asset published from the creative workflow has the status Published
.
At first, the asset has the default status set on the asset’s structure (Draft
state the object asset
provided by the NAR). Then, the following asynchronous transformation, configured on the parameter dam_denormalization_config of the plugin PACKAGED_DAM_Utils, will be applied on top of it to execute a workflow trigger that takes the asset to the Published
state :
Code Block | ||
---|---|---|
| ||
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "isSpaceAsset"
}
},
"workflowTrigger": [
"publish"
]
} |
This transformation does the following, on inserted (or updated if it is enabled) instances :
It is applied on object instances that have the tag
#damobject
on their structureIf the instance has been published from a space inside the creative workflow (the preset
isSpaceAsset
checks if there is at least one instance inside the propertyspaces
), the action “publish“ is processed on the instance.
Note |
---|
Other workflow triggers, that are applied on damobject instances, exist inside the parameter dam_denormalization_config. Beware of their execution if you remove for example the above transformation. |
In conclusion, to personalize the status of the assets created from creative workflow, you can :
Use your desired default status defined on your asset’s structure and remove/disable provided transformations that apply workflow triggers.
Create transformations inside the parameter dam_denormalization_config of the plugin PACKAGED_DAM_Utils that follow your desired logic. The following page deals with how to create a transformation that suits your needs: https://crossmedia.atlassian.net/wiki/spaces/WD/pages/377585665/Metadata+and+AI+extraction+with+DAM+Utils#Setting-up-the-transformations.
Examples of transformations for damobject instances that utilize workflow triggers
Code Block |
---|
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "canPublish"
}
},
"workflowTrigger": [
"publish"
]
},
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "canSubmit"
}
},
"workflowTrigger": [
"submit"
]
} |
The above examples of asynchronous transformations, which are set up on the parameter dam_denormalization_config, and are thus applied on damobject instances not having the spaces
property filled, do the following in that order:
If the damobject instance has been created by a user who has the rights to publish the asset, the workflow action
publish
will be executed for the assetIf the damobject instance has been created by a user who has the rights to submit the asset, the workflow action
submit
will be executed for the asset.
To sum up, with those 2 transformations, the new asset will have the Published status if the user who created the asset has rights to publish it. Else, if the surfer has the rights to submit it, the workflow actionsubmit
will be executed on the asset.
Portal configuration
Expand | ||
---|---|---|
| ||
|
You’ll find above the tree view of the new config domain for spaces. We will now go through all the config points and see their customization possibilites.
back-to.json
Status | ||||
---|---|---|---|---|
|
Here you will define the name of the route which will be used on the click of the back-to button from the space list view.
...
Status | ||||
---|---|---|---|---|
|
Here you can define/redefine cursors. Inside this folder we can find : collaborative-spaces.json, this cursor defines the way that spaces are retrieved.
...
Status | ||||
---|---|---|---|---|
|
Here you are defining the cursor to use for the space entities retrieval
...
Status | ||||
---|---|---|---|---|
|
Role 29 : Reader
Expand | ||
---|---|---|
| ||
View Action:
Insert Action:
Update Action:
Delete Action:
Change Status Action:
|
Expand | ||
---|---|---|
| ||
Action : Viewfor objects :
permission :
for objects :
permission :
Action : Insertfor objects :
permission :
for objects :
permission :
Action : Updatefor objects :
permission :
for objects :
permission :
for objects :
permission :
Action : Deletefor objects :
permission :
for objects :
permission :
for objects :
permission :
Action : Changestatusfor objects :
permission :
for objects :
permission :
for objects :
permission :
|
Info |
---|
|
2/ Install on projects starting on 2024.1
In this case, you will only have to respect the Prerequisites. And they are all coming by default with the 2024.1.
Just be sure to call the update (admin) endpoint given by PACKAGED_Security.
You will need to create all your new library structures by copying the current asset structure, because you will need to have the spaces prop and the tags from the asset on your library structures.
3/ New massimportitem workflow
The existing wkfmassimportitem and its actions have been updated for the creative workflow. Also, this workflow is still usable for the upload feature, only some status/action labels will be different.
These are the main updates on the workflow :
Position reordering
The colors have been changed
...
New statuses
id 3 : check => default status for imported items
id 4 : validate
“Index” status (id 8 ) has been renamed to review
Wkfmassimportitemactions have been reorganized. Actions have been added from and towards each one of these statuses : rejected, check, review, validate, approved
Also for the existing statuses, when it was possible, existing actions have been updated to avoid adding actions and having other actions become useless. Depending on the modified instance, the update was on the target status or the action name.
Statuses names, IDs, and action names are used on the portal’s configuration for dam-import and spaces domain.
4/ Configuration possibilities
Change the status of assets created by the Creative workflow
By default, an asset published from the creative workflow has the status Published
.
At first, the asset has the default status set on the asset’s structure (Draft
state the object asset
provided by the NAR). Then, the following asynchronous transformation, configured on the parameter dam_denormalization_config of the plugin PACKAGED_DAM_Utils, will be applied on top of it to execute a workflow trigger that takes the asset to the Published
state :
Code Block | ||
---|---|---|
| ||
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "isSpaceAsset"
}
},
"workflowTrigger": [
"publish"
]
} |
This transformation does the following, on inserted (or updated if it is enabled) instances :
It is applied on object instances that have the tag
#damobject
on their structureIf the instance has been published from a space inside the creative workflow (the preset
isSpaceAsset
checks if there is at least one instance inside the propertyspaces
), the action “publish“ is processed on the instance.
Note |
---|
Other workflow triggers, that are applied on damobject instances, exist inside the parameter dam_denormalization_config. Beware of their execution if you remove for example the above transformation. |
In conclusion, to personalize the status of the assets created from creative workflow, you can :
Use your desired default status defined on your asset’s structure and remove/disable provided transformations that apply workflow triggers.
Create transformations inside the parameter dam_denormalization_config of the plugin PACKAGED_DAM_Utils that follow your desired logic. The following page deals with how to create a transformation that suits your needs: https://crossmedia.atlassian.net/wiki/spaces/WD/pages/377585665/Metadata+and+AI+extraction+with+DAM+Utils#Setting-up-the-transformations.
Examples of transformations for damobject instances that utilize workflow triggers
Code Block |
---|
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "canPublish"
}
},
"workflowTrigger": [
"publish"
]
},
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "canSubmit"
}
},
"workflowTrigger": [
"submit"
]
} |
The above examples of asynchronous transformations, which are set up on the parameter dam_denormalization_config, and are thus applied on damobject instances not having the spaces
property filled, do the following in that order:
If the damobject instance has been created by a user who has the rights to publish the asset, the workflow action
publish
will be executed for the assetIf the damobject instance has been created by a user who has the rights to submit the asset, the workflow action
submit
will be executed for the asset.
To sum up, with those 2 transformations, the new asset will have the Published status if the user who created the asset has rights to publish it. Otherwise, if the surfer has the rights to submit it, the workflow actionsubmit
will be executed on the asset.
Workflow configuration
The creative workflow is based on using “massimport” objects just as the upload. The workflow currently used on the object massimportitem (wkfmassimportitem
) can be customized.
Note |
---|
We do not recommend removing existing actions or changing their target statuses. There are multiple “key” statuses/actions on this workflow, we’ll go through some of them :
|
But If you need a new status, you can add it directly on wkfmassimportitem. Then if you add some actions …
...
… and this is what you get without any portal configurations.
...
...
We can see that the new status is correctly displayed on the dropdown. But we need to configure the filter and the hidden-actions or add an i18n key to have the correct behavior. If the position of the “customstatus” is not the one you want, you can configure it on the display-order config.
Here is the result after some config on the files mentioned above.
Add new targeted notifications
Notifications are delivered by default; here is the complete list: Creative workflow notifications
It is possible to add notifications based on project needs that would be triggered by specific actions (upload, status change, or others).
Here you will find more detailed information about the notification system setup for the creative workflow.
We are currently sending email notifications on each status change for each teammember or only for the owner according to PACKAGED_CreativeWorkflow.send_notification_to_team 's value.
As status change email notifications are based on the delayed notification system, if you want to add a customized behavior for a specific status (for example), you will have to create your Groovy script (you can check existing ones for inspiration) and update the configuration of PACKAGED_CreativeWorkflow.batch_topics_processors. You will have to follow the instructions described in the link provided above.
Portal configuration (advanced configuration)
Expand | ||
---|---|---|
| ||
|
You’ll find above the tree view of the new config domain for spaces. We will now go through all the config points and see their customization possibilities.
back-to.json
Status | ||||
---|---|---|---|---|
|
Here you will define the name of the route that will be used with the click of the back-to button from the space list view.
cursors
Status | ||||
---|---|---|---|---|
|
Here you can define/redefine cursors. Inside this folder we can find configurations files and folders about the space entities display.
We have a sort folder which will contain json files like in the dam domain. These files can be customized.
We also have folder called items inside this folder we have actions.json which will contain all the available actions for a space entity. You can edit this file to add new actions (if they are prepared and they exist) or to remove unwanted ones.
...
: collaborative-spaces.json, this cursor defines the way that spaces are retrieved.
default-cursor-name.json
Status | |
---|---|
|
...
|
...
|
This folder contains a lot of configuration files and folder about the space items display and features, we will go through them in a slightly different way.
filters
...
Here you are defining the cursor to use for the space entities retrieval
layouts
Status | |
---|---|
|
...
|
Filters for items can be modified, you can only add filters on massimportitems props.
Mainly composed by named-filters which can be found under common/named-filters.
items
detail
comments
...
filter-options.json
Status | ||||
---|---|---|---|---|
|
Configuration for comments filter feature dropdown.
...
Inside this folder, we are defining the layouts config, the same way it is defined for the dam domain. We have a default-resource-config.json file which describes all the available layouts and the default layout used to display space item entities
Note |
---|
Avoid making changes to this configuration for now. Although we currently have only one layout, it may evolve, and we plan to provide additional layouts for users to switch to. |
explore
Status | ||||
---|---|---|---|---|
|
Configuration for comments sort feature dropdown. You can modify this configuration to add sorting options or modify the existing one(s).
display
default-config
space-item-block.json
Status | ||||
---|---|---|---|---|
|
...
duplicates : In the creative workflow, we continue to offer a duplicate management system using the comparison modal, just as we did for the Upload feature.
...
Inside this folder, we can find configuration files and folders about the space entities display.
We have a sort folder that will contain JSON files like in the dam domain. These files can be customized.
We also have a folder called items inside this folder we have actions.json which will contain all the available actions for a space entity. You can edit this file to add new actions (if they are prepared and if they exist) or to remove unwanted ones.
explore-items
Status | ||||
---|---|---|---|---|
|
This folder contains a lot of configuration files and folder about the space items display and features, we will go through them in a slightly different way.
filters
default-resource-config.json
Status colour Purple title CAN BE CUSTOMISED This config is currently set to null, because no restrictions were required.
But it can be updated, it works in the same way as for the dam-import config.
displayFilters for items can be modified, you can only add filters on massimportitems props.
Mainly composed by named-filters which can be found under common/named-filters.
items
detail
comments
filter-options.json
Status colour
Red title CAN'T BE CUSTOMISED
Currently this config is empty, but it can be edited to display additionnal informations about item’s props in the comparison modal.
Configuration for comments filter feature dropdown.
sort-options.json
Status colour Purple title CAN BE CUSTOMISED
This config is used to define the color of the text used on the duplicates label. It can be edited.
workflows
asset
- display-order
Configuration for comments sort feature dropdown. You can modify this configuration to add sorting options or modify the existing one(s).
- display-order
display
default-config
space-item-block.json
Status colour PurpleRed title CAN'T BE CUSTOMISED This config is used to reorder the status dropdown displayed on the item block card.
It can be modified.
hidden-statuses.json
Status colour Purple title CAN BE CUSTOMISED This config is used to hide statuses and avoid showing them in the dropdown on the item block card. Mainly set for the “processing statuses” which are used when items are published. It can be modified.
- rejected-status-id
This config contains the name of the named-display that is used to display an item of a space. The current
spaceItemBlock
is displayed with theitemBlock
config (common/named-displays/item-block
). We do not recommend this config to be updated, but if you want another title or subtitle for the space block items you can redefine the properties used to display title or subtitle.
duplicates: In the creative workflow, we continue to offer a duplicate management system using the comparison modal, just as we did for the Upload feature.
authorized-resources.json
Status colour Purple title CAN BE CUSTOMISED This config is
used to configure the rejected status id. This allows theCwSpacesBlockItem.vue
component to know correctly which one of all the massimportitem's statuses is the real rejected status. Used to define if the comparison modal link should be displayed. It can be modified.
currently set to null because no restrictions were required.
But it can be updated, it works in the same way as for the dam-import config.
display.json
Status colour Purple title CAN BE CUSTOMISED This config is used to hide wkf actions. The main purpose of Currently this config in space domain is to hide all the workflow actions on the comparison modal. Only “torejected” is permited. The config is empty, but it can be edited if you want to enable other actions from comparison modal (or if you’ve added other statuses and actions and want the actions to be displayed).
to display additionnal informations about item’s props in the comparison modal.
status-color.json
Status colour RedPurple title CAN 'T BE CUSTOMISED This config is a mapping config. It is mainly used to map a status config (id, label, tooltip, color) for the items indexingstatus value. While we do not recommend editing this configuration, you still have the flexibility to modify colors, labels, or icons (displayed just before the dropdowns on the item's block card).
used to define the color of the text used on the duplicates label. It can be edited.
workflows
asset
display-order.json
Status colour Purple title CAN BE CUSTOMISED
Contains all the available actions for a space item (massimportitem) entity. You can edit this file to add new actions (if they are prepared and they exist) or to remove unwanted ones.
Workflow configuration
The creative workflow is based on the use of “massimport” objects just as the upload. The worfklow which is currently used on massimportitem can be customized.
Note |
---|
We do not recommend to remove existing actions or to change their target statuses. There are multiple “key” statuses/actions on this workflow, we’ll go through some of them :
|
But If you need a new status, you can add it directly on wkfmassimportitem. Then if you add some actions …
...
… and this is what you get whitout any portal configurations.
...
...
We can see that the new status is correctly displayed on the dropdown. But we need to configure the filter and the hidden-actions or add a i18n key to have a correct behaviour. Also if the position of the “customstatus” is not the one you want, you can configure it on the display-order config.
Here is the result after some config on the files mentioned above.
Add new targeted notifications
Notifications are delivered by default; here is the complete list: Creative workflow notifications
It is possible to add notifications based on project needs that would be triggered by specific actions (upload, status change, or others).
Here you will find more detailed information about the notification system setup for the creative workflow.
We are currently sending email notifications on each status change for each teammember or only for the owner according to PACKAGED_CreativeWorkflow.send_notification_to_team 's value.
As status change email notification are based on the delayed notification system, if you want to add a customized behaviour for a specific status (for example), you will have to create your own Groovy script (you can check existing ones for inspiration).
...
This config is used to reorder the status dropdown displayed on the item block card.
It can be modified.
hidden-statuses.json
Status colour Purple title CAN BE CUSTOMISED This config is used to hide statuses and avoid showing them in the dropdown on the item block card. Mainly set for the “processing statuses” that are used when items are published. It can be modified.
rejected-status-id.json
Status colour Purple title CAN BE CUSTOMISED This config is used to configure the rejected status ID. This allows the
CwSpacesBlockItem.vue
component to know correctly which one of all the massimportitem's statuses is the real rejected status. It is used to define if the comparison modal link should be displayed. It can be modified.
hidden-actions.json
Status colour Purple title CAN BE CUSTOMISED This config is used to hide workflow actions. The main purpose of this config in the space domain is to hide all the workflow actions on the comparison modal. Only “torejected” is permitted. The config can be edited if you want to enable other actions from the comparison modal (or if you’ve added other statuses and actions and want the actions to be displayed).
statuses-config.json
Status colour Red title CAN'T BE CUSTOMISED This config is a mapping config. It is mainly used to map a status config (id, label, tooltip, color) for the items indexingstatus value. While we do not recommend editing this configuration, you still have the flexibility to modify colors, labels, or icons (displayed just before the dropdowns on the item's block card).
actions.json
Status colour Purple title CAN BE CUSTOMISED Contains all the available actions for a space item (massimportitem) entity. You can edit this file to add new actions (if they are prepared and they exist) or to remove unwanted ones.