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.
Solved! Go to Solution.
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
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.
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>
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.