jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@gmail.com>
Subject Re: Sling Proposal
Date Fri, 03 Aug 2007 06:15:35 GMT
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


Mime
View raw message