Hello,
I'd like to programmatically set permissions to a Knowledge management directory (for user and so for group). I don't know how to do that, i didn't found any suitable tutorial.
I found only this guide: http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/knowledge management and collaboration developers guide.html
But, in javadoc for package com.sapportals.wcm.util.acl is noted: com.sapportals.wcm.util.acl.jdbc.JDBCAclManager is default AclManager. It seems strange to me, I thought portal using LDAP repositories for storing portal objects and their ACL lists. Above mentioned guide say nothing about this and other installation issues for using of package com.sapportals.wcm.util.acl.
When I'm using package com.sapportals.wcm.util.acl, should I fill name of some service to "SharingReference" or "ServiceReference" in portalapp.xml?
Can somebody give me starting point?
Best Regards,
Josef Motl
Hi Josef,
see create acl for collection for an introductionary example.
Of course you have to reference the corresponding libraries; in general, if you use class C, of which you know it is in Jar J.jar within application A - that is: C.class is part of .../WEB-INF/portal/portalapps/A/lib/J.jar - you have to put A as SharingReference into portalapp.xml.
On the other hand, for KM things to do, often it is enough to reference "Knowledgemanagement", for this is the alias defined in portalapp.xml within application com.sap.km.cm.application and this again references other KM parts transitively.
To add an ACL entry, create an IResourceAclEntry by the ACLManager and add this entry to the ACL in question.
Hope it helps
Detlev
Add a comment