You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by paksegu <pa...@yahoo.com> on 2007/08/01 22:46:24 UTC

Re: Sling Proposal

Hi, 
  I have read the documention but I am still confuse on the purpose and benefit of sling, can you please give me  a brief explanation of what is does and where it applicable, say a usecase scenario.
  Thanks

Felix Meschberger <fm...@gmail.com> wrote:
  Hi all,

You may have noticed, that I started adding pages to the Jackrabbit Wiki
on a new project called Sling ([1]). The main features of Sling may be
summarized as follows:

* Uses a JCR Repository as its data store
* Uses Jackrabbit OCM to map Repository Items to Java Objects
* Internally deals with Java Objects
* Built as OSGi Bundles supporting any compliant OSGi framework
* Provides integration into Apache Felix for launching and OSGi
services support
* Componentized data model allowing flexible web application building
* Based on standard Servlet API
* Open to allow support for web application complying with REST
architectural style
* Each Node for which a valid Jackrabbit OCM mapping exists may be
addressed by URL

Sling has been developed at Day to provide a common Web Application
Development Framework for future products based on Java Content
Repositories. During this development we realized that such a framework
would be of benefit not only to Day but also to the Community at large.

For this reason, we decided to offer Sling to the community at Apache.
We envision to submit the project to the Incubator under the name Sling
with the final goal to make Sling a sub project of the Jackrabbit
project.

As part of the submission process we have to put together a Project
Proposal for the Incubator describing the project and nominating a set
of initial commiters and a sponsoring entity. An initial draft of this
proposal may be found at [2].

As we are heading to have Sling as a subproject in Jackrabbit, we
propose to have the Jackrabbit PMC be the sponsoring entity for the
Sling poddling (subject to a successful vote).

In the next few days I will be adding more documentation of Sling to the
Jackrabbit Wiki such that you may gain some initial insight into Sling.
In the meantime, I invite you to read through the material and comment
on it as you see fit.

Additionally, I am also looking forward for any people interested to be
initial commiters to express their interest.

Regards
Felix

[1] http://wiki.apache.org/jackrabbit/ApacheSling
[2] http://wiki.apache.org/jackrabbit/SlingProposal




Ransford Segu-Baffoe

paksegu@yahoo.com

https://serenade.dev.java.net/
http://www.noqturnalmediasystems.com/
       
---------------------------------
Be a better Globetrotter. Get better travel answers from someone who knows.
Yahoo! Answers - Check it out.

Re: Sling Proposal

Posted by Felix Meschberger <fm...@gmail.com>.
Good point. Just done that.

Regards
Felix

Am Freitag, den 03.08.2007, 10:13 +0200 schrieb Christophe Lombart:
> Maybe we can add this kind of info in the wiki.
> 
> Christophe
> 
> 
> On 8/3/07, Felix Meschberger <fm...@gmail.com> wrote:
> >
> > Hi Ransford,
> >
> > Am Mittwoch, den 01.08.2007, 13:46 -0700 schrieb paksegu:
> > > I have read the documention but I am still confuse on the purpose and
> > benefit of sling, can you please give me  a brief explanation of what is
> > does and where it applicable, say a usecase scenario.
> >
> > Basically, the intent of Sling is to be JCR-based web application
> > development framework. All content delivered is backed by actual
> > Repository Content (Nodes and Properties). As such, a request is
> > resolved against a Repository Node, loaded (using the JCR Mapper) into a
> > Java Object called the Content object, which is handed to a Component
> > object which in turn handles the Java Object representing the node and
> > renders the response.
> >
> > The uses of these are vast and way beyond my own imagination (David is
> > much better at that :-) ). But here are a few ones:
> >
> >
> > Wiki
> > ----
> >
> > We built a Wiki system on Sling. Each Wiki page is a node (with optional
> > child nodes) in the repository. As a page is requested, the respective
> > node is accessed and through the applying Component is rendered.
> >
> > Thanks to the JCR Mapping and the resolution of the Component from the
> > mapped Content, the system does not care for what actual node is
> > addressed as long as there is a Content mapping and a Component capable
> > of handling the Content.
> >
> > Thus in the tradition of REST, the attachement of a Wiki page, which
> > happens to be in a node nested below the wiki page node is easily
> > accessed using the URL of the wiki page attaching the relative path of
> > the attachement node. The system resolves the URL to the attachement
> > Content and just calls the attachement's Component to spool the
> > attachement.
> >
> >
> > Digital Asset Management
> > ------------------------
> >
> > Day has implemented a Digital Asset Management (DAM) Application based
> > on Sling. Thanks to the flexibility of the Content/Component combo as
> > well as the service registration/access functionality offered by OSGi,
> > extending DAM for new content type is merely a matter of implementing
> > one or two interfaces and registering the respective service(s).
> >
> > Again, the management assets may be easily spooled by directly accessing
> > them.
> >
> >
> > Web Content Management
> > ----------------------
> >
> > Last but not least, Sling offers it self very well to implementing a Web
> > Content Management system. Thanks to the flexibility of rendering the
> > output - remmber: the system does not care what to render, as long as
> > the URL resolves to a Content object for which a Component exists, which
> > is called to render the Content - providing support for Web Content
> > authors (not PHP programmers but users out in the field) to build pages
> > to their likings can easily be done.
> >
> >
> > I hope these examples helped clarfiy a bit the scope of Sling and what
> > can be accomplished.
> >
> > Regards
> > Felix
> >
> >


Re: Sling Proposal

Posted by Christophe Lombart <ch...@gmail.com>.
Maybe we can add this kind of info in the wiki.

Christophe


On 8/3/07, Felix Meschberger <fm...@gmail.com> wrote:
>
> Hi Ransford,
>
> Am Mittwoch, den 01.08.2007, 13:46 -0700 schrieb paksegu:
> > I have read the documention but I am still confuse on the purpose and
> benefit of sling, can you please give me  a brief explanation of what is
> does and where it applicable, say a usecase scenario.
>
> Basically, the intent of Sling is to be JCR-based web application
> development framework. All content delivered is backed by actual
> Repository Content (Nodes and Properties). As such, a request is
> resolved against a Repository Node, loaded (using the JCR Mapper) into a
> Java Object called the Content object, which is handed to a Component
> object which in turn handles the Java Object representing the node and
> renders the response.
>
> The uses of these are vast and way beyond my own imagination (David is
> much better at that :-) ). But here are a few ones:
>
>
> Wiki
> ----
>
> We built a Wiki system on Sling. Each Wiki page is a node (with optional
> child nodes) in the repository. As a page is requested, the respective
> node is accessed and through the applying Component is rendered.
>
> Thanks to the JCR Mapping and the resolution of the Component from the
> mapped Content, the system does not care for what actual node is
> addressed as long as there is a Content mapping and a Component capable
> of handling the Content.
>
> Thus in the tradition of REST, the attachement of a Wiki page, which
> happens to be in a node nested below the wiki page node is easily
> accessed using the URL of the wiki page attaching the relative path of
> the attachement node. The system resolves the URL to the attachement
> Content and just calls the attachement's Component to spool the
> attachement.
>
>
> Digital Asset Management
> ------------------------
>
> Day has implemented a Digital Asset Management (DAM) Application based
> on Sling. Thanks to the flexibility of the Content/Component combo as
> well as the service registration/access functionality offered by OSGi,
> extending DAM for new content type is merely a matter of implementing
> one or two interfaces and registering the respective service(s).
>
> Again, the management assets may be easily spooled by directly accessing
> them.
>
>
> Web Content Management
> ----------------------
>
> Last but not least, Sling offers it self very well to implementing a Web
> Content Management system. Thanks to the flexibility of rendering the
> output - remmber: the system does not care what to render, as long as
> the URL resolves to a Content object for which a Component exists, which
> is called to render the Content - providing support for Web Content
> authors (not PHP programmers but users out in the field) to build pages
> to their likings can easily be done.
>
>
> I hope these examples helped clarfiy a bit the scope of Sling and what
> can be accomplished.
>
> Regards
> Felix
>
>

Re: Sling Proposal

Posted by paksegu <pa...@yahoo.com>.
Hi Felix,
  Thanks for the detail explanation it really helped.

Felix Meschberger <fm...@gmail.com> wrote:
  Hi Ransford,

Am Mittwoch, den 01.08.2007, 13:46 -0700 schrieb paksegu:
> I have read the documention but I am still confuse on the purpose and benefit of sling, can you please give me a brief explanation of what is does and where it applicable, say a usecase scenario.

Basically, the intent of Sling is to be JCR-based web application
development framework. All content delivered is backed by actual
Repository Content (Nodes and Properties). As such, a request is
resolved against a Repository Node, loaded (using the JCR Mapper) into a
Java Object called the Content object, which is handed to a Component
object which in turn handles the Java Object representing the node and
renders the response.

The uses of these are vast and way beyond my own imagination (David is
much better at that :-) ). But here are a few ones:


Wiki
----

We built a Wiki system on Sling. Each Wiki page is a node (with optional
child nodes) in the repository. As a page is requested, the respective
node is accessed and through the applying Component is rendered.

Thanks to the JCR Mapping and the resolution of the Component from the
mapped Content, the system does not care for what actual node is
addressed as long as there is a Content mapping and a Component capable
of handling the Content.

Thus in the tradition of REST, the attachement of a Wiki page, which
happens to be in a node nested below the wiki page node is easily
accessed using the URL of the wiki page attaching the relative path of
the attachement node. The system resolves the URL to the attachement
Content and just calls the attachement's Component to spool the
attachement.


Digital Asset Management
------------------------

Day has implemented a Digital Asset Management (DAM) Application based
on Sling. Thanks to the flexibility of the Content/Component combo as
well as the service registration/access functionality offered by OSGi,
extending DAM for new content type is merely a matter of implementing
one or two interfaces and registering the respective service(s).

Again, the management assets may be easily spooled by directly accessing
them.


Web Content Management
----------------------

Last but not least, Sling offers it self very well to implementing a Web
Content Management system. Thanks to the flexibility of rendering the
output - remmber: the system does not care what to render, as long as
the URL resolves to a Content object for which a Component exists, which
is called to render the Content - providing support for Web Content
authors (not PHP programmers but users out in the field) to build pages
to their likings can easily be done.


I hope these examples helped clarfiy a bit the scope of Sling and what
can be accomplished.

Regards
Felix




Ransford Segu-Baffoe

paksegu@yahoo.com

https://serenade.dev.java.net/
http://www.noqturnalmediasystems.com/
       
---------------------------------
Luggage? GPS? Comic books? 
Check out fitting  gifts for grads at Yahoo! Search.

Re: Sling Proposal

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Ransford,

Am Mittwoch, den 01.08.2007, 13:46 -0700 schrieb paksegu:
> I have read the documention but I am still confuse on the purpose and benefit of sling, can you please give me  a brief explanation of what is does and where it applicable, say a usecase scenario.

Basically, the intent of Sling is to be JCR-based web application
development framework. All content delivered is backed by actual
Repository Content (Nodes and Properties). As such, a request is
resolved against a Repository Node, loaded (using the JCR Mapper) into a
Java Object called the Content object, which is handed to a Component
object which in turn handles the Java Object representing the node and
renders the response.

The uses of these are vast and way beyond my own imagination (David is
much better at that :-) ). But here are a few ones:


Wiki
----

We built a Wiki system on Sling. Each Wiki page is a node (with optional
child nodes) in the repository. As a page is requested, the respective
node is accessed and through the applying Component is rendered.

Thanks to the JCR Mapping and the resolution of the Component from the
mapped Content, the system does not care for what actual node is
addressed as long as there is a Content mapping and a Component capable
of handling the Content.

Thus in the tradition of REST, the attachement of a Wiki page, which
happens to be in a node nested below the wiki page node is easily
accessed using the URL of the wiki page attaching the relative path of
the attachement node. The system resolves the URL to the attachement
Content and just calls the attachement's Component to spool the
attachement.


Digital Asset Management
------------------------

Day has implemented a Digital Asset Management (DAM) Application based
on Sling. Thanks to the flexibility of the Content/Component combo as
well as the service registration/access functionality offered by OSGi,
extending DAM for new content type is merely a matter of implementing
one or two interfaces and registering the respective service(s).

Again, the management assets may be easily spooled by directly accessing
them.


Web Content Management
----------------------

Last but not least, Sling offers it self very well to implementing a Web
Content Management system. Thanks to the flexibility of rendering the
output - remmber: the system does not care what to render, as long as
the URL resolves to a Content object for which a Component exists, which
is called to render the Content - providing support for Web Content
authors (not PHP programmers but users out in the field) to build pages
to their likings can easily be done.


I hope these examples helped clarfiy a bit the scope of Sling and what
can be accomplished.

Regards
Felix