Creative workflow with security from security.xml
Here you will find the current permissions by role (provided with a starter-kit) transcribed into readable text. This way we hope you can setup appropriate security rules for the creative worklow while using a security from security.xml.
...
Expand |
---|
title | Permission details : readable text view |
---|
|
View Action: Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem. Permission: Any user can view objects regardless of status or ownership.
Delete Action: Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem. Delete Action:Insert Action: Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem.
Insert Action: Update Action: Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem.
Update Action: Change Status Action: Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem. Change Status Action:Permission: Any workflow action, such as publishing or archiving, can change the status of objects, regardless of current status or ownership. Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem.
|
Expand |
---|
title | Permission details : technical view |
---|
|
for objects : collaborativebrief collaborativespace massimportitem massimportjob massimportpreviousitem
for objects : collaborativebrief collaborativespac massimportitem massimportjob massimportpreviousitem
for objects : collaborativebrief collaborativespace massimportitem massimportjob massimportpreviousitem
for objects : collaborativebrief collaborativespace massimportitem massimportjob massimportpreviousitem
for objects : collaborativebrief collaborativespace massimportitem massimportjob massimportpreviousitem
|
...
Expand |
---|
title | Permission details : readable text view |
---|
|
View Action: View Action: Insert Action: Objects: collaborativebrief, collaborativespace, massimportitem, massimportjob, massimportpreviousitem Permission:
Update Action: Update Action: Update Action: Delete Action: Delete Action:Change Status Action: Change Status Action:Objects: massimportitem Permission:
Change Status Action: |
Expand |
---|
title | Permission details : technical view |
---|
|
for objects : collaborativespace massimportitem massimportjob
permissionsPermission: $anystatus/$selfowner $anystatus/$teamleader $anystatus/$teammember
for objects : massimportpreviousitem collaborativebrief
permissions Permission :
for objects : collaborativebrief collaborativespace massimportitem massimportjob massimportpreviousitem
permission :
for objects : massimportitem massimportjob
permission : $anystatus/$selfowner $anystatus/$teamleader $anystatus/$teammember
for objects : permission : $anystatus/$selfowner $anystatus/$teamleader
for objects : permission : for objects : permission :
for objects : collaborativespace massimportitem massimportjob
permission : $anystatus/$selfowner $anystatus/$teamleader
for objects : permission : for objects : permission :
for objects : collaborativespace massimportjob
permission : for objects : permission: for objects : permission: for objects : permission : |
...
Expand |
---|
title | Permission details : readable text view |
---|
|
View Action: View Action: Insert Action: Insert Action: Update Action: Update Action: Update Action: Delete Action: Delete Action:Objects: massimportitem Permission:
Delete Action: Change Status Action: Change Status Action:Objects: massimportitem Permission: Change Status Action: |
...
Info |
---|
$anystatus : Any state
$anyowner : No restriction on ownership
$newcreation : Creating a fresh instance (eg click on the “New” button)
$anyaction : Any workflow action (including publishing and archiving actions)
$teammember : surfer is in instance’s team prop value
Keyword’s activation conditions : $teamleader : surfer is team’s leader Keyword’s activation conditions :
$never : surfer not allowed
Setting Up Permissions and Roles |
Status of assets created with the creative workflow
The current behavior is configured by a damutils configuration, which enables the transition of all assets created through the creative workflow to the published status (ID 6).
Previous configuration :
Expand |
---|
title | Old way, but if user had no rights of changestatus over assets, the action was not done |
---|
|
The actual configuration : Code Block |
---|
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "canPublish"
}
},
"workflowTrigger": [
"publish"
]
} |
This configuration works for the assets created from the creative workflow, only because : We are filling tmpsource with “massimport” on the item (before asset creation), and then the created asset has a tmpsource value which is removed just after the status change User has enough rights to change the status of the asset.
So if you want to change the status of asset created with the creative worfklow, you will have to change the action called in worfklowTrigger
|
New configuration :
Code Block |
---|
{
"objectSelector": "#damobject",
"preventGuard": {
"classAlias": "negate",
"input": {
"preset": "isSpaceAsset"
}
},
"workflowTrigger": [
"publish"
]
}, |
This configuration means that all assets created from spaces will get it’s status modified to published by the publish action.
So if you want to change the status of asset created with the creative worfklow, you will have to change the action called in worfklowTrigger
If new workflow status added, how will notifications behave
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.
Here you will find more detailed information about the notification system setup for the creative workflow.
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).
and update the configuration of PACKAGED_CreativeWorkflow.batch_topics_processors. You will have to follow the instructions described in the link provided above.