Hi John,


The get-permissions in the same transaction would only guarantee that
permissions are preserved if the document already existed (so when talking
about an update). Sounds like a bug to me. If you have a small test case to
reproduce the issue, you could submit that to [email protected].



Kind regards,

Geert



*Van:* [email protected] [mailto:
[email protected]] *Namens *John Zhong
*Verzonden:* dinsdag 13 november 2012 6:07
*Aan:* General MarkLogic Developer Discussion
*Onderwerp:* [MarkLogic Dev General] inherit permissions questions



Hi,



I am using ML 5.0.3-1 version, I enabled the "inherit permissions"
(default). I set some permissions on the root folder "/", for example, I
set the read, update for role editor.



Then when I used xdmp:document-insert($uri, $xml) function to insert new
xmls within the root folder "/", the new xmls can inherit the parent's
permissions. This is correct.



But, if I use dls:document-insert-and-manage($uri, fn:true(), $xml)
function to insert new xmls and put them into version control, the new xmls
do not inherit the parent's permissions. They just have the dls-internal
permissions - read and update. Is this expected results? If yes, does that
mean I have to use xdmp:document-add-permissions to add the permissions
again?



I read the dls.xqy, the dls:document-insert-and-manage function calls the
xdmp:document-insert function to insert the document, then uses the
xdmp:document-set-permissions to merge the new permissions, including the
dls-internal read and update, but I found when getting the permissions from
the document, it uses xdmp:document-get-permissions function, in this case,
it returns empty because, I think, the xdmp:document-insert call has not
been committed yet. (In the same transaction)



One more interesting thing, the version files in the _xml_versions/ folder
do not have the read permission of the dls-internal. (the version folder
has both the read and update permissions of the dls-internal)



Thanks,

John
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to