Hi,

I am trying to block the inherited rights of a few document types upon 
creation. I created Eventlisteners for this purpose that set up the rights.

One document type extends folder, one extends workspace.

The following method should block the inherited rights:

private void setupRights(DocumentModel doc, CoreSession documentManager) {
                
                ACP myACP = doc.getACP();
                
                ACL[] myACLs = myACP.getACLs();
                
                for( ACL myACL : myACLs ) {
                        myACL.clear();
                        myACP.removeACL(myACL.getName());
                }

                // Automatically creates a local ACL
                ACL newACL = new ACLImpl();
                
                newACL.add(new ACE("administrators","Everything", true));
                newACL.add(new ACE("Administrator","Everything", true));
        
                newACL.add(new ACE(SecurityConstants.EVERYONE, 
SecurityConstants.EVERYTHING, false));   
                
                
                myACP.addACL(newACL);
                
                try {
                        documentManager.setACP(doc.getRef(), myACP, true);
                        documentManager.save();
                } catch( ClientException e ) {
                        log.info(e.toString());
                }
        }

This works for the folder, however it does not for the workspace...

Does anyone know why? Is there an error in the code or is there another way to 
block the inherited rights for workspace datatypes?

So long

Edited by: lo on 28.08.2008 23:04
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm

Reply via email to