You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Ian Boston <ie...@tfd.co.uk> on 2013/05/01 00:06:19 UTC

Re: GSOC 2013 - Test and Fix Apache Oak Integration with Sling

Dont forget, the deadline for proposals is 3rd May (Probably end of day
PST).


On 30 April 2013 10:28, Ian Boston <ie...@tfd.co.uk> wrote:

> Hi,
> I put that one up. The need is genuine, here is some background.
>
> Apache Sling uses a content repository to store its content. You can think
> of it like a file system but its a lot more sophisticated than that. The
> standard content repository is Apache Jackrabbit. Version 1.x and 2.x of
> Apache Jackrabbit were focused on delivering blisteringly fast read access
> to content in deep content hierarchies where 99% of the activity was read
> and 1% was write. It does that outstandingly well. Time has moved on, the
> web has become more social and applications typically have higher levels of
> write acces. Content trees have become more user generated and hence are
> often flatter with few levels and millions of children.
>
> Apache Oak is the next generation of Apache Jackrabbit which aims to
> support much higher levels of write, and much wider flatter
> content hierarchies. It has also been designed to support cloud like
> deployments on NoSQL infrastructure  There is support for storage on
> MongoDB already and other backends are almost certainly possible. Where
> Jackrabbit 2.x was capable of being deployed in small clusters, Oak should
> be suitable for large clusters.
>
> For Apache Sling to use Apache Oak the Apache Jackrabbit server component
> has been replaced with an Apache Oak version. Fortunately all the projects
> mentioned interact constantly and so the basics of this all work. What
> hasn't been done yet is to bring up an Sling instance running on Oak and
> run the 100s of Sling integration tests against that instance. If that can
> be achieved it will create a high level of confidence that Sling will run
> on Oak.
>
> As of today, here is what works:
> An instance of Sling running on Oak that starts up and accepts requests
> using Basic http authentication.[1]
> An initial attempt at getting the integration testing framework running,
> which almost starts.
>
> The GSoC project will need to:
>
> Make the integration test framework run.
> Identify tests that fail.
> Fix tests that fail by providing patches to Sling or to Apache Oak.
> (Optionally) write some tests that exercise some of the features of Oak
> (high levels of write, large numbers of children).
>
> If you want to take up this challenge you are going to need to be willing
> to learn about OSGi and you will have to be prepared on interact with both
> the Sling and Jackrabbit/Oak communities, as most of the solutions to
> problems you find will be in the community, such is Apache!
>
> Ian
>
> 1 http://svn.apache.org/repos/asf/sling/whiteboard/ieb/oak/
> (there is a commit pending here, within the hour).
>
>
>
> On 30 April 2013 08:38, Marcus Santos <l2...@alunos.uevora.pt> wrote:
>
>> Hi everyone,
>>
>> I'm interested to contribute on the project "Test and Fix Apache Oak
>> Integration with Sling" under GSOC. How can I talk with the mentor to know
>> more about it and expose my doubts?
>>
>> Best regards,
>> Marcus Santos
>>
>
>

Re: GSOC 2013 - Test and Fix Apache Oak Integration with Sling

Posted by Bertrand Delacretaz <bd...@apache.org>.
Him

On Thu, May 2, 2013 at 1:08 PM, Marcus Santos <l2...@alunos.uevora.pt> wrote:
> ...I'll focus on the tests now... How can I clone and
> build the project?...

Checkout http://svn.apache.org/repos/asf/sling/trunk/ and run Maven >=
3.0.4 on it.

> ...Can you give me an overview of how the test works on Sling?...

There's unit tests under src/test in many places, and the integration
tests are under
https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/
and run by the sibling "testing" module.

-Bertrand

Re: GSOC 2013 - Test and Fix Apache Oak Integration with Sling

Posted by Marcus Santos <l2...@alunos.uevora.pt>.
Hi Ian,

Thanks for the news. I'll focus on the tests now... How can I clone and
build the project?
Can you give me an overview of how the test works on Sling?

About my proposal I'm in trouble do write something to the topic "a
detailed description / design document". Can you help me with this? I don't
know where to start..

I have been reading about JCR content repository for now because I never
worked with JCR...

Best regards,
Marcus Santos


2013/5/1 Ian Boston <ie...@tfd.co.uk>

> Hi Marcus,
> Good news.
>
> Integration test framework.
> The test integration framework runs an instance of Sling on a reserved
> port. It then makes REST calls to that reserved port testing all aspects of
> Sling over HTTP. There are over 100 tests, I dont know the exact figure.
>
> You will need to:
> Work on the pom.xml [1] so that:
> It starts the standalone Sling instance without errors and then
> runs the tests.
>
> Once that is done, where there are test failures, you will need to
> investigate and fix.
>
> The pom.xml [1], almost works but there is more to do and there will
> certainly be test failures to start with.
>
> There isnt any new Java code to write to make this work, just detailed
> investigation and configuration. You may need to write Java code to fix
> issues that are found once the integration tests are running.
>
> Best Regards
> Ian
>
>
> 1
>
> http://svn.apache.org/repos/asf/sling/whiteboard/ieb/oak/launchpad-testing/pom.xml
>
>
>
> On 2 May 2013 03:46, Marcus Santos <l2...@alunos.uevora.pt> wrote:
>
> > Thanks Ian Boston, actually I'm working on it. I have been reading some
> > tutorials about OSGi and doing some examples.
> >
> > I would like to know more about the integration test framework, what I
> > suppose to do and how...
> >
> > Thanks for helping,
> > Marcus Santos
> >
> >
> > 2013/4/30 Ian Boston <ie...@tfd.co.uk>
> >
> > > Dont forget, the deadline for proposals is 3rd May (Probably end of day
> > > PST).
> > >
> > >
> > > On 30 April 2013 10:28, Ian Boston <ie...@tfd.co.uk> wrote:
> > >
> > > > Hi,
> > > > I put that one up. The need is genuine, here is some background.
> > > >
> > > > Apache Sling uses a content repository to store its content. You can
> > > think
> > > > of it like a file system but its a lot more sophisticated than that.
> > The
> > > > standard content repository is Apache Jackrabbit. Version 1.x and 2.x
> > of
> > > > Apache Jackrabbit were focused on delivering blisteringly fast read
> > > access
> > > > to content in deep content hierarchies where 99% of the activity was
> > read
> > > > and 1% was write. It does that outstandingly well. Time has moved on,
> > the
> > > > web has become more social and applications typically have higher
> > levels
> > > of
> > > > write acces. Content trees have become more user generated and hence
> > are
> > > > often flatter with few levels and millions of children.
> > > >
> > > > Apache Oak is the next generation of Apache Jackrabbit which aims to
> > > > support much higher levels of write, and much wider flatter
> > > > content hierarchies. It has also been designed to support cloud like
> > > > deployments on NoSQL infrastructure  There is support for storage on
> > > > MongoDB already and other backends are almost certainly possible.
> Where
> > > > Jackrabbit 2.x was capable of being deployed in small clusters, Oak
> > > should
> > > > be suitable for large clusters.
> > > >
> > > > For Apache Sling to use Apache Oak the Apache Jackrabbit server
> > component
> > > > has been replaced with an Apache Oak version. Fortunately all the
> > > projects
> > > > mentioned interact constantly and so the basics of this all work.
> What
> > > > hasn't been done yet is to bring up an Sling instance running on Oak
> > and
> > > > run the 100s of Sling integration tests against that instance. If
> that
> > > can
> > > > be achieved it will create a high level of confidence that Sling will
> > run
> > > > on Oak.
> > > >
> > > > As of today, here is what works:
> > > > An instance of Sling running on Oak that starts up and accepts
> requests
> > > > using Basic http authentication.[1]
> > > > An initial attempt at getting the integration testing framework
> > running,
> > > > which almost starts.
> > > >
> > > > The GSoC project will need to:
> > > >
> > > > Make the integration test framework run.
> > > > Identify tests that fail.
> > > > Fix tests that fail by providing patches to Sling or to Apache Oak.
> > > > (Optionally) write some tests that exercise some of the features of
> Oak
> > > > (high levels of write, large numbers of children).
> > > >
> > > > If you want to take up this challenge you are going to need to be
> > willing
> > > > to learn about OSGi and you will have to be prepared on interact with
> > > both
> > > > the Sling and Jackrabbit/Oak communities, as most of the solutions to
> > > > problems you find will be in the community, such is Apache!
> > > >
> > > > Ian
> > > >
> > > > 1 http://svn.apache.org/repos/asf/sling/whiteboard/ieb/oak/
> > > > (there is a commit pending here, within the hour).
> > > >
> > > >
> > > >
> > > > On 30 April 2013 08:38, Marcus Santos <l2...@alunos.uevora.pt>
> wrote:
> > > >
> > > >> Hi everyone,
> > > >>
> > > >> I'm interested to contribute on the project "Test and Fix Apache Oak
> > > >> Integration with Sling" under GSOC. How can I talk with the mentor
> to
> > > know
> > > >> more about it and expose my doubts?
> > > >>
> > > >> Best regards,
> > > >> Marcus Santos
> > > >>
> > > >
> > > >
> > >
> >
>

Re: GSOC 2013 - Test and Fix Apache Oak Integration with Sling

Posted by Ian Boston <ie...@tfd.co.uk>.
Hi Marcus,
Good news.

Integration test framework.
The test integration framework runs an instance of Sling on a reserved
port. It then makes REST calls to that reserved port testing all aspects of
Sling over HTTP. There are over 100 tests, I dont know the exact figure.

You will need to:
Work on the pom.xml [1] so that:
It starts the standalone Sling instance without errors and then
runs the tests.

Once that is done, where there are test failures, you will need to
investigate and fix.

The pom.xml [1], almost works but there is more to do and there will
certainly be test failures to start with.

There isnt any new Java code to write to make this work, just detailed
investigation and configuration. You may need to write Java code to fix
issues that are found once the integration tests are running.

Best Regards
Ian


1
http://svn.apache.org/repos/asf/sling/whiteboard/ieb/oak/launchpad-testing/pom.xml



On 2 May 2013 03:46, Marcus Santos <l2...@alunos.uevora.pt> wrote:

> Thanks Ian Boston, actually I'm working on it. I have been reading some
> tutorials about OSGi and doing some examples.
>
> I would like to know more about the integration test framework, what I
> suppose to do and how...
>
> Thanks for helping,
> Marcus Santos
>
>
> 2013/4/30 Ian Boston <ie...@tfd.co.uk>
>
> > Dont forget, the deadline for proposals is 3rd May (Probably end of day
> > PST).
> >
> >
> > On 30 April 2013 10:28, Ian Boston <ie...@tfd.co.uk> wrote:
> >
> > > Hi,
> > > I put that one up. The need is genuine, here is some background.
> > >
> > > Apache Sling uses a content repository to store its content. You can
> > think
> > > of it like a file system but its a lot more sophisticated than that.
> The
> > > standard content repository is Apache Jackrabbit. Version 1.x and 2.x
> of
> > > Apache Jackrabbit were focused on delivering blisteringly fast read
> > access
> > > to content in deep content hierarchies where 99% of the activity was
> read
> > > and 1% was write. It does that outstandingly well. Time has moved on,
> the
> > > web has become more social and applications typically have higher
> levels
> > of
> > > write acces. Content trees have become more user generated and hence
> are
> > > often flatter with few levels and millions of children.
> > >
> > > Apache Oak is the next generation of Apache Jackrabbit which aims to
> > > support much higher levels of write, and much wider flatter
> > > content hierarchies. It has also been designed to support cloud like
> > > deployments on NoSQL infrastructure  There is support for storage on
> > > MongoDB already and other backends are almost certainly possible. Where
> > > Jackrabbit 2.x was capable of being deployed in small clusters, Oak
> > should
> > > be suitable for large clusters.
> > >
> > > For Apache Sling to use Apache Oak the Apache Jackrabbit server
> component
> > > has been replaced with an Apache Oak version. Fortunately all the
> > projects
> > > mentioned interact constantly and so the basics of this all work. What
> > > hasn't been done yet is to bring up an Sling instance running on Oak
> and
> > > run the 100s of Sling integration tests against that instance. If that
> > can
> > > be achieved it will create a high level of confidence that Sling will
> run
> > > on Oak.
> > >
> > > As of today, here is what works:
> > > An instance of Sling running on Oak that starts up and accepts requests
> > > using Basic http authentication.[1]
> > > An initial attempt at getting the integration testing framework
> running,
> > > which almost starts.
> > >
> > > The GSoC project will need to:
> > >
> > > Make the integration test framework run.
> > > Identify tests that fail.
> > > Fix tests that fail by providing patches to Sling or to Apache Oak.
> > > (Optionally) write some tests that exercise some of the features of Oak
> > > (high levels of write, large numbers of children).
> > >
> > > If you want to take up this challenge you are going to need to be
> willing
> > > to learn about OSGi and you will have to be prepared on interact with
> > both
> > > the Sling and Jackrabbit/Oak communities, as most of the solutions to
> > > problems you find will be in the community, such is Apache!
> > >
> > > Ian
> > >
> > > 1 http://svn.apache.org/repos/asf/sling/whiteboard/ieb/oak/
> > > (there is a commit pending here, within the hour).
> > >
> > >
> > >
> > > On 30 April 2013 08:38, Marcus Santos <l2...@alunos.uevora.pt> wrote:
> > >
> > >> Hi everyone,
> > >>
> > >> I'm interested to contribute on the project "Test and Fix Apache Oak
> > >> Integration with Sling" under GSOC. How can I talk with the mentor to
> > know
> > >> more about it and expose my doubts?
> > >>
> > >> Best regards,
> > >> Marcus Santos
> > >>
> > >
> > >
> >
>

Re: GSOC 2013 - Test and Fix Apache Oak Integration with Sling

Posted by Marcus Santos <l2...@alunos.uevora.pt>.
Thanks Ian Boston, actually I'm working on it. I have been reading some
tutorials about OSGi and doing some examples.

I would like to know more about the integration test framework, what I
suppose to do and how...

Thanks for helping,
Marcus Santos


2013/4/30 Ian Boston <ie...@tfd.co.uk>

> Dont forget, the deadline for proposals is 3rd May (Probably end of day
> PST).
>
>
> On 30 April 2013 10:28, Ian Boston <ie...@tfd.co.uk> wrote:
>
> > Hi,
> > I put that one up. The need is genuine, here is some background.
> >
> > Apache Sling uses a content repository to store its content. You can
> think
> > of it like a file system but its a lot more sophisticated than that. The
> > standard content repository is Apache Jackrabbit. Version 1.x and 2.x of
> > Apache Jackrabbit were focused on delivering blisteringly fast read
> access
> > to content in deep content hierarchies where 99% of the activity was read
> > and 1% was write. It does that outstandingly well. Time has moved on, the
> > web has become more social and applications typically have higher levels
> of
> > write acces. Content trees have become more user generated and hence are
> > often flatter with few levels and millions of children.
> >
> > Apache Oak is the next generation of Apache Jackrabbit which aims to
> > support much higher levels of write, and much wider flatter
> > content hierarchies. It has also been designed to support cloud like
> > deployments on NoSQL infrastructure  There is support for storage on
> > MongoDB already and other backends are almost certainly possible. Where
> > Jackrabbit 2.x was capable of being deployed in small clusters, Oak
> should
> > be suitable for large clusters.
> >
> > For Apache Sling to use Apache Oak the Apache Jackrabbit server component
> > has been replaced with an Apache Oak version. Fortunately all the
> projects
> > mentioned interact constantly and so the basics of this all work. What
> > hasn't been done yet is to bring up an Sling instance running on Oak and
> > run the 100s of Sling integration tests against that instance. If that
> can
> > be achieved it will create a high level of confidence that Sling will run
> > on Oak.
> >
> > As of today, here is what works:
> > An instance of Sling running on Oak that starts up and accepts requests
> > using Basic http authentication.[1]
> > An initial attempt at getting the integration testing framework running,
> > which almost starts.
> >
> > The GSoC project will need to:
> >
> > Make the integration test framework run.
> > Identify tests that fail.
> > Fix tests that fail by providing patches to Sling or to Apache Oak.
> > (Optionally) write some tests that exercise some of the features of Oak
> > (high levels of write, large numbers of children).
> >
> > If you want to take up this challenge you are going to need to be willing
> > to learn about OSGi and you will have to be prepared on interact with
> both
> > the Sling and Jackrabbit/Oak communities, as most of the solutions to
> > problems you find will be in the community, such is Apache!
> >
> > Ian
> >
> > 1 http://svn.apache.org/repos/asf/sling/whiteboard/ieb/oak/
> > (there is a commit pending here, within the hour).
> >
> >
> >
> > On 30 April 2013 08:38, Marcus Santos <l2...@alunos.uevora.pt> wrote:
> >
> >> Hi everyone,
> >>
> >> I'm interested to contribute on the project "Test and Fix Apache Oak
> >> Integration with Sling" under GSOC. How can I talk with the mentor to
> know
> >> more about it and expose my doubts?
> >>
> >> Best regards,
> >> Marcus Santos
> >>
> >
> >
>