My application relies on certain documents to be present and at a specific location. While I appreciate there might be better ways of doing this, in the mean time, I would like to understand if there are ways that I can prevent the user from doing the following:
deleting a specific folder
renaming a specific folder
deleting a document
renaming a document’s URL (I don’t mind if they change the displayName).
Any pointers to approaches that could work here would be great!
I managed to find a way to do it – by changing the workflow implementation class to a custom one that wraps the default implementation with some logic that checks whether an action is allowed or not, and sending a WorkflowException (with a cleaned up .toString()) back to the user.
It seems hard to say this one is better than others nowadays regarding workflow customizations, but perhaps you can find it easier to customize and maintain custom SCXML action classes instead of the whole workflow implementation class. The following topic discusses something similar:
I arrived here looking for the same feature as I couldn’t find the ability to specify these types of controls as properties on the corresponding content node in the CMS console so I figured I must be missing something. It sounds like unfortunately that there is no concept of granular permissions or even any type of global restrictions for actions on documents and folders within the Content perspective of the CMS.
Feel free to use the solution I mentioned I implemented above, you can find the relevant classes in the package of the class linked below. Just copy/paste them into your project and rename as appropriate and off you go! If you have any improvements I welcome PRs.