Hello
Is it possible to restrict the visibility of some content's metadata only for some groups?
For example, the top-secret property should only be visible to Site Managers, not Consumers.
May be a hint, you can create your own edit-mode, create-mode, view-mode or field type based freemarker templates and use it in the form config. I dont have full solution yet but this is something which can be tried.
From config reference: https://docs.alfresco.com/5.2/references/forms-reference.html
From within the template, you can call a repository webscript to get the permission ([ALLOWED|DENIED];[USERNAME|GROUPNAME];PERMISSION') for current user and show/hide control based on response.
Example of calling a repo ws from ftl file:
<script type="text/javascript">//<![CDATA[ var checkPermission = function(res){ var result = eval('(' + res.serverResponse.responseText + ')'); // process the response and set any flag for hiding and showing control. } Alfresco.util.Ajax.jsonGet({ url : Alfresco.constants.PROXY_URI + "/getPermission?currentUser="+user, successCallback : { fn : checkPermission, scope : this }, failureCallback : { fn : function() {}, scope : this } }); //]]></script>
Hi @upforsin
I believe you can set the 'field-visibility' in share-config-custom.xml. There's an example here.
HTH
Hi @EddieMay
As far as I know (doc), using 'field-visibility' I can hide/show the property for everyone. What if I want to show it only for some groups?
Apologies, I skipped over the group requirement. There is a post on a related requirement that might be of interest.
Xenit have a commercial solution that alllows you to "Apply fine-grained mandatory-access-controls based on user-roles and document metadata" - whether this is just for access control or includes control over Share "show/hide" behaviour I don't know.