On 2 Jun 2009, at 16:09, Paul Noden wrote:
Hi Ian,
2009/6/2 Ian Boston <i...@tfd.co.uk>
AFAICT its impossible to virtualize paths (URI wrt JCR path) using
this
approach in the JCR.
Unfortunately for me, its a use case I can't ignore as we have lots
of
situations where a non listable could contain millions of items.
Back to square one.
The current design and intention is, that for any one (root) path
there
may only be one resource provider registered. So for example, for a
(root) path "/some/path", there may only one. Of course there may
be
another one at "/some" or at "/some/path/below".
I want to be able to bind a special Resource to a node with a
corresponding resourceType (created by the application) anywhere
in the
content system, so that all the standard Sling processing can
access that
Resource.
For example:
I want to be able to create a node anywhere in the content system,
and
under that node have a hashed store that is managed as if the
entire node
space was flattened.
eg
the URL
/x/y/z/store/12312312/a/b/c
is mapped to JCR space
/x/y/z/store/content/aa/bb/cc/dd/12312312/a/b/c
using the ResourceProducer mechanism.
Can you go into some more detail regarding the requirements for this
strategy?
Paul,
Sure,
I need to create stores of potentially a large number of items single
locations in URL space where the items can be
accessed by a URL
reference each other.
be listed by paged search.
The main requirement is that the collection should be addressable with
the following form
/x/y/z/1001
The path might extend further eg
/x/y/z/1001/d/e/f
the cannonical form being
/x/y/z/n/**
where n is one of a set of a large number of items (eg 10M)
AFAIK, to make this work JCR n needs to be expanded to a hashed tree eg
/x/y/z/aa/bb/cc/dd/n/**
Having performed the hashing, I would ideally like to reuse the
SlingPostServlet and related functionality, so that
curl -F"sling:resourceType:sakai/store" http://localhost:8080/bigstore
creates a store (identified by the sakai/store resourceType)
curl -F"status:stage1" http://localhost:8080/bigstore.create.html
a redirect coming back to (ad23415g4 is an opaque token)
http://localhost:8080/bigstore/ad23415g4
Which can then be used in further operations on that item.
Could you use node representations in store to placehold/redirect to
the
nested content at "content/aa/bb/cc/dd/"?
Provided that HTTP would never see content/aa/bb/cc/dd/, but I guess
by redirect, you mean http redirect, in which case, no since relative
URL's break at this point.
eg ../ad23415g4/related_information.html
Regards,
Paul Noden