Ok thanks Geert. Here's the code:
xquery version '1.0-ml';
declare function local:document-move-forest($uri as xs:string)
{
local:document-move-forest($uri,
xdmp:database-forests(xdmp:database()))
};
declare function local:document-move-forest($uri as xs:string,
$forest-ids as xs:unsignedLong*)
{
xdmp:document-insert(
$uri,
fn:doc($uri),
xdmp:document-get-permissions($uri),
xdmp:document-get-collections($uri),
xdmp:document-get-quality($uri),
$forest-ids
)
};
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Geert
Josten
Sent: 02 November 2009 13:30
To: General Mark Logic Developer Discussion
Subject: RE: [MarkLogic Dev General] Moving documents from one forest
toanother
By the way,
It is quite easy to extend the function of Michael with a second
argument $forest-id, that you pass as last argument to
xdmp:document-insert. That effectively gives you your move-to-forest
function..
;-)
Kind regards,
Geert
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Geert Josten
> Sent: maandag 2 november 2009 14:20
> To: General Mark Logic Developer Discussion
> Subject: RE: [MarkLogic Dev General] Moving documents from
> one forest toanother
>
> Hi Rob,
>
> Why are you against doing an update on the document? Too many
> documents? The documents in the old forest will have to be
> migrated any way, so that should not make much difference.
>
> Michael Blakely once sent a function that essentially deletes
> and re-inserts the document on the same location, preserving
> permissions and all. You can find it here:
>
> http://markmail.org/message/2e5wu3sqgpiwnu5m
>
> I thought you should be able to retrieve a list of all
> documents in a specific forest, that should enable you to
> apply the update on the documents in the old forest only..
>
> HTH,
> Geert
>
> >
>
>
> Drs. G.P.H. Josten
> Consultant
>
>
> http://www.daidalos.nl/
> Daidalos BV
> Source of Innovation
> Hoekeindsehof 1-4
> 2665 JZ Bleiswijk
> Tel.: +31 (0) 10 850 1200
> Fax: +31 (0) 10 850 1199
> http://www.daidalos.nl/
> KvK 27164984
> De informatie - verzonden in of met dit emailbericht - is
> afkomstig van Daidalos BV en is uitsluitend bestemd voor de
> geadresseerde. Indien u dit bericht onbedoeld hebt ontvangen,
> verzoeken wij u het te verwijderen. Aan dit bericht kunnen
> geen rechten worden ontleend.
>
>
> > From: [email protected]
> > [mailto:[email protected]] On Behalf
> Of Whitby,
> > Rob, CMG
> > Sent: maandag 2 november 2009 13:09
> > To: General Mark Logic Developer Discussion
> > Subject: RE: [MarkLogic Dev General] Moving documents from
> one forest
> > to another
> >
> > I just realized I won't have to delete the old docs after an xqsync
> > because the uris will be the same it will in effect move
> them. Maybe
> > that's the best plan after all?
> >
> > Still would be handy to have something like
> > xdmp:document-move-forest($uri, $forest-ids)
> >
> > Rob
> >
> >
> >
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf
> Of Whitby,
> > Rob, CMG
> > Sent: 02 November 2009 11:34
> > To: General Mark Logic Developer Discussion
> > Subject: [MarkLogic Dev General] Moving documents from one
> forest to
> > another
> >
> > Hi
> >
> > I'm trying to work out the quickest way of moving documents
> from one
> > forest to another. In the admin guide it talks about making the
> > existing forest delete-only and then updating the documents. I was
> > hoping to just add the docs to a collection to trigger the
> move, but
> > this function doesn't take forest-ids so errors. The only
> functions I
> > see are document-update and document-load which aren't really
> > suitable. Is there a trick I'm missing here?
> >
> > I also considered using xqsync but that seems like a pain
> because I'd
> > also have to delete the old documents.
> >
> > What's the best practice approach?
> >
> > Cheers
> > Rob
> >
> >
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://xqzone.com/mailman/listinfo/general
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://xqzone.com/mailman/listinfo/general
> >
>
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
> _______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general