adaptTo() 2012 - 26-28 September in Berlin
This talk gives a basic introduction to the "Java Content Repository" data model and API. We'll start with an overview of the JCR concepts and objectives. The second part of the presentation deals with the jackrabbit reference implementation of the JCR API. It also shows the usage of JCR in the context of enterprise-scaled applications on the example of CQ5/CRX.
Apache Sling is a content-centric web framework on top of JCR. This talk introduces and illustrates the basic concepts like resources, URL resolution and request processing.
The OSGi Alliance is the standards development organization behind the OSGi framework and its compendium services. This talk presents the organization and how it works.
This talk presents the motivation to have chose OSGi as the underlying technology for Apache Sling (and thus Adobe CQ5) and introduces the framework and services leveraged by Sling.
This talk presents a number of real-world examples of how JCR tree structures are used to store content. We'll describe a number of macro- and micro-tree structures that expose your content in a transparent, evolvable and self-documenting way. It will present and discuss basic rules (the famous "David's model") and give several examples.
Shared nothing is the new default cluster deployment since CQ 5.4. Learn about its internal workings and improvements available in CQ 5.5.
Evaluation of the few different scenarios using XPath and JCR-SQL2 queries. I’ll discuss the pros and cons associated with performance and indexing aspects of this important topic for the JCR practitioners. Presentation includes examples of projects developed in Adobe DemoLab.
As the size of a CQ5 instance increases, performance will become a bigger topic to focus on. Learn what impact content structures have on performance and repository size. The second part of this talk covers queries in JCR and how to analyze and optimize them.
Get an update on the current state of the Apache Sling project, areas of development, new features and future plans.
Oak is a next generation content repository designed for use as the foundation of modern world-class web sites and other demanding content applications. This talk introduces Oak as it’s it is getting close to its first stable release, and shows how to start using it in your applications.
This talk will show how Apache Solr can be leveraged to provide Oak with a scalable search server but also how it can be used as internal Oak search index to improve performance and/or provide additional query expressions and finally how Solr could be used as a NoSQL like MicroKernel.
During any project and often post go-live, situations arise that require content manipulation, searches, recursive updates, and/or frequent content tasks. Adobe Partner, City Tech Inc. has created a CQ 5 Groovy Console that is a 'swiss-army knife' for any CQ developer or sys admin. This workshop will look at how to install and use the CQ5 Groovy Console.
Security with SlingRepository#loginAdministrative et al
Angela Schreiber, Adobe Systems Incorporated
loginAdministrative has been identified as a major source of security issues. This presentation shows the risks associated with the use of admin sessions and provides information about how to detect and avoid security issues associated with their usage.
The Apache Sling resource API is an abstraction unifying CRUD operations against any data storage. This talk presents the latest development in this area and demonstrates working with different data sources like JCR, the file system and MongoDB by using the same API.
This talk is about sharing the field experience gained while working on a real-life CQ5 mobile project. The talk starts with Sebastian explaining the project setup and general architectural decisions. Alex then picks up and takes us on a tour into the actual technical CQ5 solution which is topped off with Berts insight of how to cope with all these devices on the frontend side.
Dependency Injection frameworks have for years been a way to both improve code reuse and shorten development time. Now we have introduced DI into the Sling environment. We will present you how we have combined Guice and Sling (CQ) and created a solid foundation for building high quality projects efficiently.
Sling Dynamic Include - declarative caching of partially personalized pages
Tomasz Rękawek, cognifide
It's a common situation that the almost whole page is statically generated and therefore could be cached. Unfortunately, there is a one or two dynamic components preventing it. Sling Dynamic Include is a tool which allows to enumerate these components using their resource types and replace them with a server- or client-side include tag, eg. Apache SSI or AJAX. Eventually, the page with the include tags is cached and appropriate components are loaded dynamically.
PHPCR is the PHP port of the Java Content Repository standard, giving a flexible way for CMS developers to define their content model, to work with content trees and query and manage data. The PHPCR initiative initially started from the Typo3 project, but has since gathered many other participants. There are several standards-compliant PHPCR implementations out there, allowing developers to persist content and transport it between storage layers like Apache Jackrabbit, Midgard2, and MongoDB. This session explains how the Java Content Repository world maps into the PHP scripting language.
An often overlooked aspect of many CQ projects is configuring the side-kick prior to go-live with the components that were meant to show up on the given pages/template types. This workshop will look at several ways to control this at the code level as well as how to configure default component properties.
This talk demonstrates how to transparently integrate a RDBMS data model and Hibernate into the Sling Resource infrastructure. Different mapping strategies from flat hierarchies to master/detail mappings are discussed. The integration makes use of the new Resource API's new CRUD features and demonstrates how this can be integrated in the CQ5 environment.
Previous efforts taken by the Sling Community to make Scala scripting available in Sling are demonstrated. Some enhancements are proposed and we try to combine this with precompiled Sling components implemented in Scala to support some real-world CQ5 templating. How can DSL capabilities support working with the stack? Scala and general approaches are shown.