adaptTo() 2014 - 22th-24th September in Berlin
More information about adaptTo() 2014: Homepage
Sebastian Schlick, pro!vision GmbH
This rookie session provides a basic introduction in the principles and entities of Apache Sling.
In parallel Adobe will hold an AEM Certification session at venue.
Mike Müller, CEO & Owner, MySign AGCarsten Ziegeler, Senior Developer, Adobe Research Switzerland
A quick look back on Apache Sling in 2013 and 2014 and some ideas about the future of Apache Sling.
Tommaso Teofili, Adobe Research Switzerland
This talk introduced how to replicate data / resources between Sling instances via the new Sling Replication module.
With Sling Replication resources can be pushed from authoring instance to publishing ones or pulled from publishing instances in order to persist, for example, user generated content onto authoring or other publishing instances.
The talk gave an overview of how Sling Replication is designed, how to configure it, how to handle errors and how to define custom behaviors.
Gaston Gonzalez, Headwire
This session described several approaches for integrating Apache Solr with AEM.
It started with an introduction to various pull and push indexing strategies (e.g., Sling Eventing, content publishing and web crawling).
The topic of content ingestion is followed by an approach for delivering rapid search front-end experiences using AEM Solr Search.
Using OSGi Subsystems with Apache Felix
David Bosschaert, Adobe Systems
OSGi Subsystems provide interesting new and convenient ways to deploy OSGi-based applications, especially when these are comprised of large numbers of bundles. This includes features around deployment atomicity, application-level isolation, controllable sharing and automatic provisioning of dependencies. Subsystems support interaction with back-end repositories to obtain deployable resources.
This presentation included a live demo with Apache Felix where it could be seen in action.
Michael Dürig, Adobe Research Switzerland
Apache Jackrabbit Oak is a new JCR implementation with a completely new architecture. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit.
This presentation described the Oak architecture and showed what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality were described and the migration process was explained.
Mike Müller, CEO & Owner, MySign AGThis talk tried to answer the following questions:
- What is ResourceAccessSecurity?
- How to use ResourceAccessSecurity when having different ResourceProviders or special access rule needs?
- How to tune performance of ResourceAccessSecurity?
- What is the future of ResourceAccessSecurity?
Georg Henzler, Netcentric
Knowing the health of your CQ or Sling instance can be a complicated matter as there is a vast range of unhealthy conditions starting from missing content dependencies, unstarted bundles or security misconfiguration all the way to REST services of remote systems being down.
Sling health checks provide an easy way for developers to ensure prerequisites for the software they write are met on any environment the software is deployed to and therefore simplifies collaboration with operations. For operations health checks are a great means to retrieve a reliable state of a system for DevOps setups.
From the initial version 1.0, the health check API and implementation has evolved to allow for more flexible configuration, parallel execution of health checks and a simplified programming model. This talk will give a basic overview on how health checks are implemented and then go into detail about the new features.
Radu Cotescu, Adobe Systems
This talk was about a new generic validation framework in Apache Sling that can be used to validate HTTP requests as well as JCR and Sling Resource structures or any other object structure. This new tool is available in prototype form in SLING-2803, and we are looking at ways to use it with the recently introduced Sling Models framework. The validation models are designed to be usable on the client side as well, without having to recreate validation rules.
Bertrand Delacretaz, Adobe Systems
This talk was about making Sling more devops-friendly, based on a series of experiments and extensions that we've been working on in 2014.
We describe the main challenges related to continuous deployment and devops, and discuss what can be improved in Sling or in the way we build apps with it to better support that.
Feike Visser, Adobe Systems
The presentation summarized project experiences of both Sling models and Sightly, how to reduce code, complexity in implementation, but also focused on "bad smells", and things you have to avoid.
Both Sling models and Sightly are available in AEM 6.0.
Mobile app development with Apache Cordova and AEM
Bruce Lefebvre, Adobe Systems
This talk focused on patterns and tools for bringing your Sling and web expertise to the world of mobile applications. Centre stage was be Cordova, an Apache project with PhoneGap origins - built to enable cross-platform mobile apps and in turn, advance the open web. We introduced techniques for solving common use cases with Sling as the backend, complete with sample code to get you started today. Lastly, took a look at the integration of Cordova and AEM (affectionately known as PhoneGap Enterprise) featured in the 6.0 release.
Robert Munteanu, Adobe Systems
This talk contained an overview of the Sling IDE tooling which is actively developed under the Apache Sling project. It focused on how a developer can connect there to an Apache Sling installation and develop against it without the need to use other tools. It also provided an intro to the technical foundations of the IDE tooling for those interested in contributing.
Sling Resource Merger
Carsten Ziegeler, Senior Developer, Adobe Research Switzerland
The Sling Resource Merger introduced with SLING-2986 allows to overlay resources based on ResourceResolver search paths. This talk covered the options and constraints of the feature. It will for instance be used in Adobe Experience Manager 6 (CQ) to allow customization of the UI for partners/customers under /apps, without touching /libs.
Vivek Sachdeva, IntelliGrape
ElasticSearch is one of the hottest technologies in Big Data world. As organizations that use CQ5 have huge amount of data, so if they dont manage it properly, it becomes merely pile rather than meaningful data. This talk covered the Integration of ElasticSearch as highly scalable search engine in CQ5.
Andon Sikavica, Netcetera
Bojana Popovska, Netcetera
Dynamic components display content dependable on context, hence they cannot be cached. Out of the box, Adobe Experience Manager doesn't give us many options for granular caching on a component level.
When faced with this problem, we usually resort to developing components that are leveraging Server-Side Includes or AJAX to get the HTML with dynamic data. As an alternative solution, we have also developed dynamic components that use Single Page Application concepts, by using templates and JSON-responses, to provide the same dynamic behavior.
This presentation covered all of the dynamic components types, compared the benefits and drawbacks of each, and stated the use-cases where each can be effectively applied.
We took a deeper look at the dynamic components done with SPA concepts, as they are rarity in the AEM world, and also provided a walk-through of the technologies used, how some common problems were solved, as well as the benefits that have been gained by their usage.
Michael Dürig, Adobe Research Switzerland
The Asynchronous Services Specification of the OSGi Alliance is an effort to better support parallelism on the OSGi platform. While it allows services to be called asynchronously it is more that just another RPC mechanism.
This sessions showed how to use Asynchronous Services to structure highly concurrent programs for maximised resource utilisation and throughput and how this approach results in less blocking and lock contention.
While not entirely new, the approach shown resembles a shift in paradigms in the sense that explicit thread management moves from client code to the environment much like it had happened for explicit memory management in the 90ies.
Bartłomiej Soin, Adobe Systems Demo Labs
With many iBeacons applications springing around and new features for mobile apps appearing AEM6, it's a natural idea to start working with both. This session summarized iBeacons technology and its challenges and presented an approach to use them in AEM6 mobile applications, including some working examples.
Stefan Seifert, pro!vision GmbH
A lot of new features are available since Sling Models 1.1.0, making Sling Models a powerful addition to the Developers Toolbox for Sling-based applications beyond the simple Resource-to-Domain Object adaption pattern.
After a short recap of Sling Models 1.0.x this talk focused on the new injectors available, constructor injection and alternate adapter interfaces.
Stefan Seifert, pro!vision GmbH
When developing complex web applications using AEM and Apache Sling, it is important to apply a sustainable architecture style that supports separation of concerns, maintainability and testability.
This session showed how to apply this for Sling Components and business logic using practical examples, and how the new Sling Models framework can help.
The JCRBrowser shows the Sling resource tree with its properties and is currently being developed for editing capabilities.
This talk covered a demo of the latest results, the architecture behind it, some cool technologies that have been used and some details on the code level. It also covered the author's motivation for his dedication and why he will be putting a significant amount of time in it.
Last but not least an outlook was provided on how the JCRBrowser could be further developed into being a quickly usable application for example for company-internal work, a rapid web application development tool and a CMS.