I think if you want to maintain these yourself, you should not use the system 
maintained properties; instead, make up some of your own that do the equivalent 
things.

That being said, have you tried leaving directory creation at automatic, but 
turning off maintain last modified and maintain directory last modified?  
Depending upon how deep your directory hierarchy is, this might not cause too 
much overhead.  I would recommend trying that, and then just add a dateTime 
property (or element in the document if you prefer, allowing you to not have to 
create a property fragment) to track whatever you want about the last modified 
(based on your app requirements).  I think that might work well, especially if 
your hierarchy does not not have millions of directories.  See how it works and 
let us know.

-Danny

From: [email protected] 
[mailto:[email protected]] On Behalf Of Keith L. Breinholt
Sent: Thursday, May 22, 2014 8:23 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] best practices for manual directory 
creation

<prop:last-modified> is not a property that you can manually set.  I believe 
that is a security issue.

From: [email protected] 
[mailto:[email protected]] On Behalf Of Mike Sokolov
Sent: Thursday, May 22, 2014 8:26 AM
To: MarkLogic General ML
Subject: Re: [MarkLogic Dev General] best practices for manual directory 
creation

I'm getting good results updating the directory timestamps using:

xdmp:document-set-properties ($dir-uri, <prop:directory/>)

and this seems to limit the number of prop:directory properties to 2 too

-Mike
On 05/22/2014 10:03 AM, Mike Sokolov wrote:
I'm working with a system that requires directories and directory-modified 
timestamps (for a webDAV-like browsing feature), but have found that automatic 
directory creation introduces unacceptable lock contention during bulk updates, 
so I am looking into managing the directory creation and timestamp updates 
manually.

I have one question, and one strange observation - maybe a bug.  I'm working 
with 7.0-2.3.

First the question: how should I update the prop:last-modified property?

Updating it explicitly raises an error:
XDMP-ARG: xdmp:document-set-property("/books/", <prop:last-modified 
xmlns:prop="http://marklogic.com/xdmp/property";<https://urldefense.proofpoint.com/v1/url?u=http://marklogic.com/xdmp/property&k=wlPCrglRP6kzT4RbABWMaw%3D%3D%0A&r=2FOxwjXkcRFP9Zb5gsGqutGbMyYaH6V5O1y2qyDOE%2Bw%3D%0A&m=tMQwNzleMcPFHrHVywsz7LShGCB7BV0fr4nwOoRO9yE%3D%0A&s=b129b0afdc261f273e05e156d512fac53273fae49be30e4e6423deb66508ad09>>2014-05-22T15:53:46.724003+02:00</prop:last-modified>)
 -- Invalid argument

even though I have "maintain directory last modified" set to false (and 
directory creation = manual).  I do have maintain last modified set to true, so 
I expect that is happening automatically on directory creation - OK, but in 
that instance how would I update the directory modified time when inserting or 
deleting documents in the directory?

I tried adding a dummy property using xdmp:set-property, and that does seem to 
update the timestamp, but I don't really want to do that if I don't have to, of 
course.  Perhaps I could delete and then recreate the directory properties 
document, but that doesn't seem great either. Any other ideas?

Now the weird observation.  It seems that every time I modify the directory 
properties document, it gets another <prop:directory /> property node!  
Currently I have:

<prop:properties 
xmlns:prop="http://marklogic.com/xdmp/property";<https://urldefense.proofpoint.com/v1/url?u=http://marklogic.com/xdmp/property&k=wlPCrglRP6kzT4RbABWMaw%3D%3D%0A&r=2FOxwjXkcRFP9Zb5gsGqutGbMyYaH6V5O1y2qyDOE%2Bw%3D%0A&m=tMQwNzleMcPFHrHVywsz7LShGCB7BV0fr4nwOoRO9yE%3D%0A&s=b129b0afdc261f273e05e156d512fac53273fae49be30e4e6423deb66508ad09>>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:directory/>
<prop:last-modified>2014-05-22T15:47:37+02:00</prop:last-modified>
</prop:properties>

I thought that properties documents maintained a map with unique keys?

-Mike



_______________________________________________

General mailing list

[email protected]<mailto:[email protected]>

http://developer.marklogic.com/mailman/listinfo/general<https://urldefense.proofpoint.com/v1/url?u=http://developer.marklogic.com/mailman/listinfo/general&k=wlPCrglRP6kzT4RbABWMaw%3D%3D%0A&r=2FOxwjXkcRFP9Zb5gsGqutGbMyYaH6V5O1y2qyDOE%2Bw%3D%0A&m=tMQwNzleMcPFHrHVywsz7LShGCB7BV0fr4nwOoRO9yE%3D%0A&s=c9cb9dbd161260f93e52fe3901e1bb716460a6fcc74f86cb436db69aa2cd554c>



NOTICE: This email message is for the sole use of the intended recipient(s) and 
may contain confidential and privileged information. Any unauthorized review, 
use, disclosure or distribution is prohibited. If you are not the intended 
recipient, please contact the sender by reply email and destroy all copies of 
the original message.

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

Reply via email to