We used it for an extranet for sales people. The company has different
brands, each brands contains different products and then the country is
divided in regions, sectors and target units. The nodes tree was then
convenient for this data structure. We have then different "documents"
(nodes) which contains "pages" and "components" (also nodes, like text
components, images, tables etc). A document is pre-filled by the management
with some data (charts, goals etc.), then for some component each user can
provide its own data (for instance update the text of a text component).
We found Sling useful because we don't have to architecture the data
structure for future components. Let's say we want to provide a Youtube
component that will display a Youtube video in the document, we just create
a new node with Sling:resourceType = myapp/component/youtube, set the video
URL, and add a specific view for this component. Before, it was all stored
in a database and not very flexible.
The front is just an Angular site sending requests to the Sling REST API,
as it's ready to use. Users/groups and privileges management was also a
good point as it's also ready to use and flexible. We didn't develop a lot
of things for content management. I was a complete Sling newbie at the
beginning of the project but with some spamming to the mailing list it
worked pretty well.
As lots of documents have the same skeleton, we just created a tool to do
bulk updates on nodes but that's pretty much it.
On Fri, 2017-01-13 at 15:28 +0000, Jason Bailey wrote:
> I know that Sling is used for 2 downstream CMS applications.
> I was wondering if anyone could share other use cases that they have
> found Sling to be useful for.
I don't think the Chris Millar is subscribed here, but there's a
blogging engine built on Sightly + Sling that is pretty active these
If you need to store any kind of content, Sling is a great option. To that extent, it's hard to imagine what Sling couldn't be used for. It's very flexible.
I think recent contributions by Adobe to bring Oak and HTL (formerly Sightly) to Sling makes it even easier to build out a fully functioning web application. Best of all, it's enterprise grade since it sits on top of Java and OSGi.
As Robert mentioned, Slick is a good example of how one developer can build out a fairly robust application. It just happens to be focused on blogging. There's nothing preventing a social network, a digital asset manager, really anything you can think of. There's been rumblings that McDonald's used Sling to power their nutrition information on their site. This is a good distinction between a monolith like AEM, and leveraging a lighter weight framework like Sling.
Lastly, because JSON is a first class citizen in Sling, it makes for a great engine to power modern day applications that may be based on Angular, Handlebars, or even native mobile applications.
I'm definitely bias, but with Sling I can run a single jar and get authentication, data storage, elegant templating, etc. all rolled in. No MySQL connectors, no PHP vulnerabilities, no NPM headaches. It just works. With the SlingPostServlet, you don't even have to know Java. You can build a couple web forms and start running.