Contributing SDI to Apache Sling

24 March 2016Przemyslaw Pakulski

Contributing Sling Dynamic Include to Apache Sling

At Cognifide, we make it our mission to be proactive in open source development. So we're thrilled this week to let you know that we are making a significant contribution to the Apache Sling project by donating the Sling Dynamic Include (SDI) library. The donation proposal, which was raised on the Sling mailing list,  was well received by the community and is now set to become part of the Sling code base as a project extension.

apache sling

My team is very much involved in Apache Sling development – both as a Sling user and also in contributing code to the project. So, I was very happy and excited to learn that Cognifide has made the decision to move ’Sling Dynamic Include’ under the umbrella of the Apache Software Foundation. I am convinced that SDI will be a super valuable component for creating even more scalable web sites based on Sling. I strongly believe in truly collaborative development of infrastructure software. So, it is awesome to see Cognifide's continued contributions to open software development within the Apache Software Foundation.
Dr. Michael Marth, Director of Engineering at Adobe


Sling Dynamic Include is a fairly simple but very useful library that allows you to include dynamic page fragments using server-side tags (ESI, SSI) or through client-side AJAX calls.

Dynamic page fragments are served separately from the static part, which makes the partially dynamic pages cacheable, depending on your needs, using AEM Dispatcher, CDN or other caching tool e.g. Varnish. Additionally,  all of this can be achieved in a declarative way without extra development effort, simply by applying the proper configuration.


Combining all of this means that using SDI is an easy and efficient way of improving the performance of dynamically generated websites based in Adobe Experience Manager:

  • It integrates easily and seamlessly
  • It works out-of-the-box with AEM components
  • It's configurable at runtime with no development effort
  • It will improve the scalability of AEM based sites


To find out more about how SDI works and how to set it up, I would recommend looking at the following resources:
  • The Sling Dynamic Include blog-post on our website
  • SDI code and documentation on GitHub
  • Presentation slides from adapTo() conference

Sharing success

Over the past few years, Cognifide has successfully used this library in several AEM based projects and contributed to many other AEM implementations using SDI, where we have provided maintenance and support.

By adding Sling Dynamic Include to the Apache Sling project we believe that it will become even more popular and accessible to a wider group of AEM techies. Enjoy!

Author: Przemyslaw Pakulski
Published: 24 March 2016
apacheslingopen sourceAEMtool

People in or team love to share their experience. Explore our blog

Job Opportunities

We're always looking for new faces to join the Cognifide family. Take a look at our available jobs.