Hi,
The breakdown looks good, but I think you should aim to keep the
implementation in Cassandra simple to start with and not underestimate how
much time it may take to implement both read/write and access control on
read/write.  No need to change the plan or be too specific at this stage.

Best Regards
Ian


On 12 April 2013 23:24, Dishara Wijewardana <[email protected]> wrote:

> Hi Ian,
> I am in the process of writing the proposal. So as you mentioned earlier it
> is better to split this in to 4 sub tasks and 2 before midterm and 2 after
> mid term.
>
> So in summary I would like to add the subtasks that I feel. Please add
> anything I am missing or anything required to have.
>
> Main tasks overview:
> 1. Implementing a CassandraResourceProvider  to READ from Cassandra.
> Implementation Details [1]
> 2. Test with one node Cassandra cluster end to end with the implementation
> of #1.
> 3. Enhance CassandraResourceProvider to READ with access control (with
> latest security related APIs).
> 4. Enhance CassandraResourceProvider(or may be a new interface for writing
> i.e CassandraPopulator) to WRITE and WRITE with access control.
>
> Here as I feel, #1 and #2 completion will more weight and relatively more
> time consuming than #3 and #4 (I am not aware of the complexity of
> incoperating the access control to READ/WRITE).
>
> Appreciate your valuable feedback on this, whether this task breakdown is
> appropriate or not suits to the GSoC time line or anything more to
> add/remove and etc ?
>
> [1] : Implementation Details:
>
> - Write a CassanrdaResourceProviderUtil  which is basically a cassendra
> client which will facilitate all cassandra related operations required by
> other modules (CassandraResourceProvider and CassandraResourceResolver).
>
> - Implementation of  CassandraResourceProvider
>
> - Implementation of CassandraResourceResolver
>
> - Implementation of CassandraResource
>
>
> On Sun, Apr 7, 2013 at 3:27 PM, Ian Boston <[email protected]> wrote:
>
> > On 7 April 2013 14:07, Dishara Wijewardana <[email protected]>
> > wrote:
> >
> > > On Sun, Apr 7, 2013 at 3:00 AM, Ian Boston <[email protected]> wrote:
> > >
> > > > That sounds good.
> > > > If you havent already it will be important to become familiar with
> OSGi
> > > and
> > > > Sling itself.
> > > > Please dont do too much work before getting being accepted. I
> > > > cant guarantee that you will be accepted since there are lots of
> Apache
> > > > projects, lots of submissions and a limited number of places given to
> > > > Apache.
> > > >
> > > Yes I agree with you. There are loads of projects from Apache each
> year.
> > > But if the proposal is solid where it's apparently attainable within
> the
> > > timeline and if community willing to mentor the project with high
> > priority,
> > > I think there is a very good chance of getting accepted. But still
> > > can't guarantee it 100%. I got what you meant ;-).
> > >
> >
> >
> > Good, we understand each other, and your analysis is correct.
> > Just incase it hasn't been obvious, I am very willing to mentor this
> > project, as are other members of the community for other projects.
> > Ian
> >
> >
> >
> > >
> > > Thanks for the feedback.
> > >
> > >
> > >
> > > > Have a great weekend.
> > > > Ian
> > > >
> > > >
> > > >
> > > > On 7 April 2013 02:12, Dishara Wijewardana <[email protected]>
> > > > wrote:
> > > >
> > > > > Hi Ian
> > > > > Than you for the quick response. I have started localhost Cassendra
> > and
> > > > > written some codes through hector API to create columns and etc.
> And
> > > > works
> > > > > fine. I am still doing some more test codings to get familiar more
> > with
> > > > > Cassendra these days so that I can reuse those codes and write an
> > > > > appropriate CassendraResourceProviderUtil class .Meanwhile I will
> > > prepare
> > > > > the project proposal.  Please let me know if you want something
> > > more/else
> > > > > to be done before hand that would be useful to this project.
> > > > >
> > > > > On Sat, Apr 6, 2013 at 12:45 PM, Ian Boston <[email protected]> wrote:
> > > > >
> > > > > > Hi
> > > > > > Hector looks good.
> > > > > >
> > > > > > Sling wont ship a Cassandra instance, for this project it will
> > uses a
> > > > > > Cassandra instance setup separately  Last time I spun up
> Cassandra
> > it
> > > > for
> > > > > > dev purposes it was just as easy as installing MySQL or
> PostgreSQL,
> > > so
> > > > I
> > > > > > think that fine.
> > > > > >
> > > > > +1.
> > > > >
> > > > > >
> > > > > > If using Hector, I think it would be good to do everything in CQL
> > and
> > > > > keep
> > > > > > it all very simple and transparent. Remember the aim of the
> project
> > > is
> > > > to
> > > > > > prove that the ResourceProvider API can support Cassandra as a
> > > > repository
> > > > > > store, and that API is complete and usable all the way through to
> > the
> > > > > > latest security related APIs that have just been developed. This
> > > > project
> > > > > is
> > > > > > not an exercise in doing cool and complex things in Cassandra
> > > > > > with automated ORM mapping that binds the code forever to one
> > > Cassandra
> > > > > > API.
> > > > > >
> > > > > >
> > > > > Totally agree. So ideally in a users's perspective, when dealing
> with
> > > > sling
> > > > > layer, there should not be any difference between the resources in
> > > > >  /root/jackrabbit and /root/cassandra for example.
> > > > >
> > > > > Sound ok to you, or do you see problems ?
> > > > > >
> > > > >
> > > > > Yes, no problems at all. Quite fine with the suggestions.
> > > > >
> > > > > > Ian
> > > > > >
> > > > > >
> > > > > > On 6 April 2013 16:55, Dishara Wijewardana <
> > [email protected]>
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Ian,
> > > > > > >
> > > > > > > In Sling, are we going to ship native Cassandra instance with
> the
> > > > sling
> > > > > > > binary pack? ( is there already a native cassandra server
> > starting
> > > at
> > > > > > sling
> > > > > > > server start up ?)
> > > > > > > I am willing to use hector API to deal with Cassandra, as in
> most
> > > of
> > > > > > >  occasions around . Please let me know if there is any concerns
> > on
> > > > that
> > > > > > > aspect ?
> > > > > > >
> > > > > > >
> > > > > > > On Thu, Apr 4, 2013 at 1:04 AM, Dishara Wijewardana <
> > > > > > > [email protected]
> > > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi Ian,
> > > > > > > >
> > > > > > > > On Tue, Apr 2, 2013 at 4:44 AM, Ian Boston <[email protected]>
> > > wrote:
> > > > > > > >
> > > > > > > >> On 2 April 2013 07:55, Dishara Wijewardana <
> > > > [email protected]
> > > > > >
> > > > > > > >> wrote:
> > > > > > > >> > Hi Ian,
> > > > > > > >> > Thanks for the explanation. Really helped me to get
> several
> > > > stuff
> > > > > > > >> cleared.
> > > > > > > >> >
> > > > > > > >> > On Mon, Apr 1, 2013 at 7:57 AM, Ian Boston <[email protected]
> >
> > > > wrote:
> > > > > > > >> >
> > > > > > > >> >> Hi Dishara,
> > > > > > > >> >>
> > > > > > > >> >> You should not think about implementing the JCR API
> classes
> > > > > > > >> >> (javax.jcr.*). You should think about implementing the
> > > Resource
> > > > > > > >> >> API[1]. When you need to perform something that the
> > > ResourceAPI
> > > > > > > doesnt
> > > > > > > >> >> support (say in a servlet), then you can use the
> > > > > > > >> >> Resource.adapTo(Class<?> clazz) method to adapt the
> > resource
> > > > > into a
> > > > > > > >> >> class that supports that operation.
> > > > > > > >> >>
> > > > > > > >> >
> > > > > > > >> > Interesting.!! . If I got you correctly "adapTo" concept
> > used
> > > to
> > > > > > > achieve
> > > > > > > >> > *kind of* dynamic multiple inheritance rather than
> > extending a
> > > > > heavy
> > > > > > > >> > abstract class. if that is so, this is a wonderful idea
> and
> > I
> > > > > really
> > > > > > > >> like
> > > > > > > >> > the concept.
> > > > > > > >>
> > > > > > > >> Calling it inheritance might be going too far as the class
> > isn't
> > > > > > > >> necessarily the same, but in essence, yes.
> > > > > > > >>
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> >>
> > > > > > > >> >> eg:
> > > > > > > >> >> The properties of the resource are exposed via
> > > ResourceMetadata
> > > > > > [2],
> > > > > > > >> >> but lets say you want to find the underlying Cassandra
> > object
> > > > to
> > > > > > copy
> > > > > > > >> >> it and create a child.
> > > > > > > >> >>
> > > > > > > >> >> So: CassandraResource implements Resource, which is what
> is
> > > > > > returned
> > > > > > > >> >> when the CassandraResourceProvider resolves a Resource. A
> > > > client
> > > > > > > >> >> should not bind to CassandraResource or mention it, since
> > its
> > > > > > almost
> > > > > > > >> >> certainly an implementation and not an API. However, the
> > > > > Cassandra
> > > > > > > >> >> bundle you have written also implements CassandraContent
> > > which
> > > > > has
> > > > > > > >> >> CassandraContent.copy(String copyLocation) and
> > > > > > > >> >> CassandraContent.createChild(String childName).
> > > > > > > >> >
> > > > > > > >> > To get to this you would do
> > > > > > > >> >> CassandraResource.adaptTo(CassandraContent.class)
> > > > > > > >> >> BTW, CassandraContent.class is an API exported by your
> > > bundle.
> > > > > > > >> >>
> > > > > > > >> >
> > > > > > > >> > If I got you correctly,
> > > > > > > >> >  after CassandraResource.adaptTo(CassandraContent.class) I
> > > > should
> > > > > be
> > > > > > > >> able
> > > > > > > >> > to call
> > > > > > > >> > CassandraResource.copy(String copyLocation)
> > > > > > > >> > and CassandraResource.createChild(String childName).
> > > > > > > >> >
> > > > > > > >> > Then I will have to write an "Adaptable" class to
> > > > > > > >> > facilitate CassandraResource to deal with its
> corresponding
> > > > > > cassandra
> > > > > > > >> > nodes.
> > > > > > > >> > In that sense I feel the best way to approach to this
> > project
> > > > when
> > > > > > > >> > implementing is an bottom-up approach. We start from the
> > > > > "Adaptable"
> > > > > > > >> class
> > > > > > > >> > (given the fact that it should be expanded during
> > > > implementation)
> > > > > > and
> > > > > > > >> then
> > > > > > > >> > goes to the sling Resource wrapper layer which is
> > > > > > > CassandraResourceImpl.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Resource extends Adaptable, so you dont get much choice
> there,
> > > > just
> > > > > > > >> implement the resource.
> > > > > > > >>
> > > > > > > >> >
> > > > > > > >> > What do you think ? And may I know the expected scope of
> > this
> > > > > > project
> > > > > > > by
> > > > > > > >> > the community (just a potential one, during the
> > implementation
> > > > we
> > > > > > can
> > > > > > > >> > expand it as time permits) .i.e
> > > > > > > >> > READ,
> > > > > > > >> > READ with access control
> > > > > > > >> > READ/WRITE with access control and etc.
> > > > > > > >> >
> > > > > > > >>
> > > > > > > >> Yes, thats the idea.
> > > > > > > >> It would be nicer to have 4 iterations to fit the GSoC
> > timeline
> > > > and
> > > > > do
> > > > > > > >> 2 before half time, and 2 after. Perhaps the first half can
> > also
> > > > > > > >
> > > > > > > > include spinning up Cassandra, getting client APIs working
> and
> > > > > getting
> > > > > > > >> fully upto speed with that area of Sling.
> > > > > > > >>
> > > > > > > >
> > > > > > > > +1 . Will make in to four iteration (generally 2 before
> midterm
> > > > and 2
> > > > > > > > after mid term) and will include getting client API working
> for
> > > > > > Cassandra
> > > > > > > > and related sling stuff as a part of first two iterations
> > (which
> > > > > means
> > > > > > > > before mid term ). And to meet deadlines, should target more
> to
> > > be
> > > > > > > > completed before mid term compared to the work scheduled
> after
> > > the
> > > > > mid
> > > > > > > > term. Will make it count in project proposal time line
> > schedule.
> > > > And
> > > > > > > thank
> > > > > > > > you for the aforementioned feedback so that I can provide a
> > solid
> > > > > > > proposal
> > > > > > > > in this year as well.
> > > > > > > > Will post as soon as when I got update. Meanwhile I will
> build
> > > > sling
> > > > > > and
> > > > > > > > getting familiar with the code base with the help of the
> sling
> > > > > > > > documentation.
> > > > > > > >
> > > > > > > >
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Ian
> > > > > > > >> >
> > > > > > > >> >> I hope that gives you an idea of how a
> > > > CassandraResourceProvider
> > > > > > and
> > > > > > > >> >> associated implementation should work. If you havent
> > already,
> > > > and
> > > > > > are
> > > > > > > >> >> still interested you should read up on how Sling and OSGi
> > > > works.
> > > > > > > >> >> Trying the "Sling in 15 minutes"[3] is a good place to
> > start.
> > > > And
> > > > > > > then
> > > > > > > >> >> reading everything you can about Declarative Services in
> > > OSGi.
> > > > > The
> > > > > > 2
> > > > > > > >> >> key things you are going to need to understand is how
> OSGi
> > > > > bundles
> > > > > > > >> >> import and export packages and then how Declarative,
> > declare
> > > > > > services
> > > > > > > >> >> that they depend on and declare services they implement,
> > [4]
> > > > is a
> > > > > > > >> >> bunch of links.
> > > > > > > >> >>
> > > > > > > >> >
> > > > > > > >> > Yes, I will go through the mentioned links. Specially like
> > [3]
> > > > > > which I
> > > > > > > >> have
> > > > > > > >> > not yet gone through. I also have some experience in using
> > > OSGi
> > > > > > > >> importing
> > > > > > > >> > exporting packages and using maven scr plugin in classes
> > with
> > > > > "bind"
> > > > > > > >> > "unbind" attributes to register and unregister OSGi
> services
> > > and
> > > > > > etc.
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> >> HTH
> > > > > > > >> >> Ian
> > > > > > > >> >>
> > > > > > > >> >>
> > > > > > > >> >> 1
> > > > > > > >> >>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> http://sling.apache.org/apidocs/sling6/org/apache/sling/api/resource/Resource.html
> > > > > > > >> >> 2
> > > > > > > >> >>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> http://sling.apache.org/apidocs/sling6/org/apache/sling/api/resource/ResourceMetadata.html
> > > > > > > >> >> 3
> > > > http://sling.apache.org/site/discover-sling-in-15-minutes.html
> > > > > > > >> >> 4 http://www.osgi.org/download/r4v42/r4.cmpn.pdf (chapter
> > > > 112)
> > > > > > > >> >>
> > > > > > > >> >>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html
> > > > > > > >> >>
> > > > > > > >> >>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html
> > > > > > > >> >>
> > > > > > > >> >> On 31 March 2013 21:58, Dishara Wijewardana <
> > > > > > [email protected]
> > > > > > > >
> > > > > > > >> >> wrote:
> > > > > > > >> >> > Hi Ian,
> > > > > > > >> >> > Thank you very much for the explanation. Before
> replying
> > to
> > > > > this
> > > > > > > >> mail, I
> > > > > > > >> >> > revisited the facts you mentioned and try to comeup
> with
> > a
> > > > end
> > > > > to
> > > > > > > >> end big
> > > > > > > >> >> > picture and what are the challenges that has to face
> when
> > > > > > > >> implementing
> > > > > > > >> >> this
> > > > > > > >> >> > project.
> > > > > > > >> >> >
> > > > > > > >> >> > Read/write with Cassandra data seems is pretty straight
> > > > forward
> > > > > > > with
> > > > > > > >> few
> > > > > > > >> >> > lines of code using a client API. But the tricky part
> is
> > to
> > > > > make
> > > > > > a
> > > > > > > >> clean
> > > > > > > >> >> > bridge between JCR wrapped sling resource API vs
> > Cassendra
> > > > > column
> > > > > > > >> family
> > > > > > > >> >> > data storage. So I took some time and went through the
> > JCR
> > > > spec
> > > > > > and
> > > > > > > >> try
> > > > > > > >> >> to
> > > > > > > >> >> > understand how it deals with resources (I assumed sling
> > > > > resource
> > > > > > is
> > > > > > > >> >> > directly based on JCR node concept). And got a good
> > > > > understanding
> > > > > > > of
> > > > > > > >> how
> > > > > > > >> >> > JCR thinks on resource and how they deal with it.
> > > > > > > >> >> >
> > > > > > > >> >> > Because we need to think of the mapping between the
> sling
> > > > > wrapper
> > > > > > > >> >> interface
> > > > > > > >> >> > for resources which is
> > > >  org.apache.sling.api.resource.Resource
> > > > > > > >> (which is
> > > > > > > >> >> a
> > > > > > > >> >> > JCR Node as I understand) and the Cassendra data layer.
> > For
> > > > > > > instance
> > > > > > > >> >> > Cassandra provider will return a sling resource and it
> > > should
> > > > > be
> > > > > > > >> enrich
> > > > > > > >> >> > with the properties/attributes which helps the sling
> > > resource
> > > > > to
> > > > > > > >> keep its
> > > > > > > >> >> > state like resource meta data, resource type (which
> > should
> > > be
> > > > > the
> > > > > > > JCR
> > > > > > > >> >> node
> > > > > > > >> >> > type),  and etc.
> > > > > > > >> >> >
> > > > > > > >> >> > And the provider should only return a resource which
> only
> > > has
> > > > > > such
> > > > > > > >> very
> > > > > > > >> >> > basic meta data. For instance, like
> > > > > > > >> >>  org.apache.sling.api.resource.Resource
> > > > > > > >> >> > #getChild() #getChildren() we should not keep those in
> > > > memory.
> > > > > We
> > > > > > > >> should
> > > > > > > >> >> > return them on  the fly from Cassandra.
> > > > > > > >> >> >
> > > > > > > >> >> > I think we should write a separate Sling Cassandra
> > Adapter
> > > > > layer
> > > > > > > and
> > > > > > > >> >> > provider should talk to Cassandra through Cassandra
> > > Adapter.
> > > > I
> > > > > > hope
> > > > > > > >> this
> > > > > > > >> >> > will make it more cleaner.
> > > > > > > >> >> > Appreciate your valuable feedback. So that based on
> > > feedback
> > > > I
> > > > > > can
> > > > > > > >> >> provide
> > > > > > > >> >> > a patch which will reflect the basic architecture and
> > keep
> > > on
> > > > > > > >> patching
> > > > > > > >> >> with
> > > > > > > >> >> > future additions.
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >> > On Fri, Mar 29, 2013 at 3:48 AM, Ian Boston <
> > [email protected]
> > > >
> > > > > > wrote:
> > > > > > > >> >> >
> > > > > > > >> >> >> Hi and welcome,
> > > > > > > >> >> >> Some comments inline below.
> > > > > > > >> >> >>
> > > > > > > >> >> >> On 29 March 2013 06:02, Dishara Wijewardana <
> > > > > > > >> [email protected]>
> > > > > > > >> >> >> wrote:
> > > > > > > >> >> >> > Hi all,
> > > > > > > >> >> >> > I am Dishara Wijewardana, a student who is willing
> to
> > > take
> > > > > > part
> > > > > > > in
> > > > > > > >> >> this
> > > > > > > >> >> >> > GSoC 2013 .
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > I have successfully completed GSoC 2012 in Apache
> > > Velocity
> > > > > and
> > > > > > > >> there I
> > > > > > > >> >> >> have
> > > > > > > >> >> >> > implemented JSR 223 support for Velocity. I found
> > myself
> > > > > > really
> > > > > > > >> >> >> interested
> > > > > > > >> >> >> > in this project since it covers very useful and
> > > > interesting
> > > > > > > >> topics. So
> > > > > > > >> >> >> > thought of getting in to this project idea and
> > provide a
> > > > > good
> > > > > > > >> proposal
> > > > > > > >> >> >> for
> > > > > > > >> >> >> > this project.
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > So I did some research around sling which might be
> > > useful
> > > > > for
> > > > > > me
> > > > > > > >> to
> > > > > > > >> >> get
> > > > > > > >> >> >> in
> > > > > > > >> >> >> > to this project. I like sling as it sticks to
> > community
> > > > > > > standards
> > > > > > > >> >> where
> > > > > > > >> >> >> it
> > > > > > > >> >> >> > uses a standard JCR2 repository to store resources
> > which
> > > > is
> > > > > a
> > > > > > > >> really
> > > > > > > >> >> good
> > > > > > > >> >> >> > thing to have.
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > I went through the information provided in the
> JIRA[1]
> > > and
> > > > > > > >> according
> > > > > > > >> >> to
> > > > > > > >> >> >> > that at the end of this project what is expected to
> > have
> > > > > > > >> implemented
> > > > > > > >> >> is a
> > > > > > > >> >> >> > ResourceProvider for Sling which tunnels with a
> > > Cassandra
> > > > > > > >> (standalone
> > > > > > > >> >> >> > one/cluster).
> > > > > > > >> >> >>
> > > > > > > >> >> >> yes, correct.
> > > > > > > >> >> >>
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > As far as I got to know, sling directly calls to
> > Apache
> > > > > > > JackRabbit
> > > > > > > >> >> APIs
> > > > > > > >> >> >> > (JCR APIs) to store resources. So I found a bit
> > > > complicated
> > > > > > this
> > > > > > > >> >> project
> > > > > > > >> >> >> > idea in that sense. Because if we are to implement a
> > > > > Cassandra
> > > > > > > >> backend
> > > > > > > >> >> >> for
> > > > > > > >> >> >> > Sling (as per this proposal), and Sling storage is
> on
> > > top
> > > > of
> > > > > > > >> >> JackRabbit,
> > > > > > > >> >> >> > ideally what should happen is to make JackRabbit
> > capable
> > > > of
> > > > > > > using
> > > > > > > >> >> >> Cassandra
> > > > > > > >> >> >> > as its resource persistent layer, and configure it
> > > through
> > > > > > > Sling ?
> > > > > > > >> >> Please
> > > > > > > >> >> >> > correct me If I am wrong.
> > > > > > > >> >> >>
> > > > > > > >> >> >> Your right.
> > > > > > > >> >> >> The idea is this, Sling resolves paths into Resources
> > > > > > > >> >> >> ie /content/mywebsite/page1.html is resolved to a
> > Resource
> > > > > with
> > > > > > a
> > > > > > > >> path
> > > > > > > >> >> >> of   /content/mywebsite/page1  See [1]. Normally a JCR
> > > > > > repository
> > > > > > > >> >> >> takes ownership of everything under /, so all
> Resources
> > > are
> > > > > JCR
> > > > > > > >> >> >> Resources.
> > > > > > > >> >> >>
> > > > > > > >> >> >> However, with a ResourceProvider its possible to
> > "mount" a
> > > > > > > >> alternative
> > > > > > > >> >> >> source of Resources at any location in the tree. eg:
> > > > > > > >> >> >> If I create a ResourceProvider and configure it to
> > respond
> > > > to
> > > > > > all
> > > > > > > >> >> >> resource resolution operations at
> > > > > > > >> >> >> /content/cassandra
> > > > > > > >> >> >>
> > > > > > > >> >> >> then
> > > > > > > >> >> >> /content/cassandra/columnFamilyA/cassandraRowIDB
> > > > > > > >> >> >>
> > > > > > > >> >> >> will generate a Cassandra Resource instead of a JCR
> > > > Resource.
> > > > > > > >> >> >>
> > > > > > > >> >> >> Initially the aim is to write a ResourceProvider that
> > will
> > > > > allow
> > > > > > > >> >> >> Readonly access to a Cassandra cluster (cluster of one
> > is
> > > ok
> > > > > for
> > > > > > > >> >> >> testing), but ultimately we would like to be able to
> > write
> > > > to
> > > > > > that
> > > > > > > >> >> >> cluster as well.
> > > > > > > >> >> >>
> > > > > > > >> >> >> Why Do it ?
> > > > > > > >> >> >> Every storage platform has different characteristics,
> > some
> > > > are
> > > > > > > ideal
> > > > > > > >> >> >> for extreem volume writes of throw away data, some are
> > > ideal
> > > > > for
> > > > > > > >> >> >> extreem volume reads of precious audited
> transactrional
> > > > data.
> > > > > > > Being
> > > > > > > >> >> >> able to "mount" multiple stores in Sling enables Sling
> > to
> > > > > > > integrate
> > > > > > > >> >> >> data from all types of sources using best of breed
> > address
> > > > > each
> > > > > > > use
> > > > > > > >> >> >> case. (Thats the theory, anyway :))
> > > > > > > >> >> >>
> > > > > > > >> >> >
> > > > > > > >> >> > +1 and this is a wonderful architecture interms of
> > > > > extensibility.
> > > > > > > >> >> Something
> > > > > > > >> >> > even a repository vendor like Jackrabbit also would
> want
> > to
> > > > > > follow.
> > > > > > > >> >> Because
> > > > > > > >> >> > they only have a JCR interfaced tree.
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >> >>
> > > > > > > >> >> >> I hope that makes things clearer.
> > > > > > > >> >> >>
> > > > > > > >> >> >> 1 http://sling.apache.org/site/resources.html
> > > > > > > >> >> >>
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > But if it is only to READ resources, this project is
> > > > > > relatively
> > > > > > > >> less
> > > > > > > >> >> >> > complex (not quite sure though ;-) ) since what is
> > > > required
> > > > > is
> > > > > > > to
> > > > > > > >> >> have a
> > > > > > > >> >> >> > JCR/Sling Resource compatible wrapper layer
> interface
> > on
> > > > top
> > > > > > of
> > > > > > > >> >> Cassendra
> > > > > > > >> >> >> > to read cassandra data.
> > > > > > > >> >> >>
> > > > > > > >> >> >> Initially, just read. Then read with access control.
> The
> > > > > > > read/write
> > > > > > > >> >> >> with access control.
> > > > > > > >> >> >>
> > > > > > > >> >> >
> > > > > > > >> >> > Read/Write complexity will be more or less the same as
> I
> > > > feel.
> > > > > >  But
> > > > > > > >> read
> > > > > > > >> >> > write with access control is something we have to
> discuss
> > > > > > > separately.
> > > > > > > >> >> > Does sling maintaining access control directly with
> > > > > jackrabbit's
> > > > > > > >> >> > javax.jcr.security module ? Or any inhouse access
> control
> > > > > layer ?
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >> >>
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > Appreciate any feedback and guidance on how to
> > proceed.
> > > > > > > >> >> >>
> > > > > > > >> >> >> If you havent already you need to checkout the
> > information
> > > > at:
> > > > > > > >> >> >> *
> > > > http://www.google-melange.com/gsoc/homepage/google/gsoc2013
> > > > > > > >> >> >> * http://community.apache.org/gsoc.html
> > > > > > > >> >> >>
> > > > > > > >> >> >> especially the timeline and dates.
> > > > > > > >> >> >>
> > > > > > > >> >> >> There is no guarantee that Apache will be a GSoC
> > > > organisation
> > > > > > > >> >> >> (although its highly likely), and there are currently
> > 129
> > > > > > project
> > > > > > > >> >> >> proposals so there is no guarantee that you will get
> > > > accepted
> > > > > > as a
> > > > > > > >> >> >> Student on this project, but the quality of your
> > > submission
> > > > > and
> > > > > > > your
> > > > > > > >> >> >> enthusiasm will go a long way to making that happen.
> > > > > > > >> >> >>
> > > > > > > >> >> >> Good luck and I look forward to seeing you on these
> > lists
> > > > over
> > > > > > the
> > > > > > > >> >> >> summer. If you do make it through, I and everyone in
> > this
> > > > > > > community
> > > > > > > >> >> >> will try and make it fun and rewarding for you.
> > > > > > > >> >> >>
> > > > > > > >> >> >> Best Regards
> > > > > > > >> >> >> Ian
> > > > > > > >> >> >>
> > > > > > > >> >> >>
> > > > > > > >> >> >>
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > [1] -
> > https://issues.apache.org/jira/browse/SLING-2798
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > --
> > > > > > > >> >> >> > Thanks
> > > > > > > >> >> >> > /Dishara
> > > > > > > >> >> >>
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >> > --
> > > > > > > >> >> > Thanks
> > > > > > > >> >> > /Dishara
> > > > > > > >> >>
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> > --
> > > > > > > >> > Thanks
> > > > > > > >> > /Dishara
> > > > > > > >>
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Thanks
> > > > > > > > /Dishara
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Thanks
> > > > > > > /Dishara
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Thanks
> > > > > /Dishara
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Thanks
> > > /Dishara
> > >
> >
>
>
>
> --
> Thanks
> /Dishara
>

Reply via email to