The M-Files Community will be updated on Tuesday, April 2, 2024 at 10:00 AM EST / 2:00 PM GMT and the update is expected to last for several hours. The site will be unavailable during this time.

This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Permissions for Project and related documents

Hi All,

I've been testing, but could not get a 'simpel'  solution.

The Case:

I have a "Project" object with members (Employee object) connected to a database. All projects have full control to all users. All documents related to the projects have full control.

Now the customer want to mark some projects as "Confidential"  , so I've Set a new property " Confidential" to 'yes' 

When the project is confidential, it should only be seen by project members, and all documents related to the project should be seen only to the members.

- Tried:  property "Confidential" as a valuelist,  when it is set to yes enable automatic properties. Result is OK for projects, but how can all documents follow this?

- Tried:  setting "Standard automatic permissions"for the project to have the documents follow that via the "Project"propery.

Documents should follow when the "Confidential"  is changing on the project.  I don't like creating a copy of the property to every document.

Any tips for this?

  • Are the project documents in specific classes (e.g. class "Project document") or can they be in any class tagged with the Project information?

    If they are in specific classes, one option that might work without the need to copy the Confidential property value to the documents would be to have multi-select properties such as Read permission and Edit permission on the Project object and the document NACLs would refer to Project.Read permission and Project.Edit permission. When Confidential = "Yes", you would populate the Read permission and Edit permission properties with the user groups that should have access to the project and its documentation. When Confidential = "No", you would populate the properties with user group "All internal users". You could have separate properties for user groups and individual users if needed, i.e. Read permission (user groups) and Read permission (users).

    You can use either Managed Properties module or Property Calculator to populate the properties based on the Confidential selection.

    If the above is not possible, then you should be able to use Property Calculator to copy the Confidential property value to the documents: check the "Update Related Objects" functionality. However there are some considerations here, for instance if a document is checked out at the time, the Confidential value would be updated only after the document is no longer checked out.