Hi Jackrabbit community,

considering a setup with multiple workspaces for separated authoring and live content, what would be the most promising approach to model access control policies?

Given that a future Jackrabbit release will support JSR-283-like access control entries, I'd assign an entry to a node in the authoring workspace (simplifying the Java syntax and JCR API):

  accessControlMgr.addAccessControlEntry(
      "/site/anniversary", anniversaryAuthors, { "jcr:write" });

BTW, is the scope of an access control entry the item it is assigned to, or the whole subtree?

Now comes the tricky part. What if I have a structure like this:

  /site
    /anniversary
      /…
    /permanent
      /…

Let's assume that the /site/anniversary subtree is not live yet - it will be published on the day of the anniversary. I want to allow the anniversaryReviewers to publish anniversary content, but no permanent content. That means I'd have to assign the jcr:write privilege to a not-yet-existing node in the live workspace. Unfortunately, addAccessControlEntry() throws a PathNotFoundException if the node doesn't exist …

Tobias Bocanegra told me on [EMAIL PROTECTED] that (IIUC) the access control entries are not copied to the staging workspace if the staging node is updated, which makes perfect sense. I hope it will conform to the upcoming JSR-283 - I didn't find anything in the spec about this.

Thanks a lot in advance for any hints!

-- Andreas


--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01

Reply via email to