Lars Trieloff is a product manager for Day's digital asset management (DAM) system. He discusses how DAM is built on Day's Communiqué platform using Sling, OSGi, and the CRX repository. DAM provides features like rich media handling, extensibility through OSGi bundles, and integration with existing Communiqué applications. Developers can customize DAM by creating new OSGi bundles or using the scripting API.
1. Get into the Flow with CQ DAM
Day Tech Summit Basel,
June 2008
Lars Trieloff, Product Manager
1
2. Hello, my name is Lars Trieloff
Product Manager Collaboration
and Digital Asset Management
With Day since November 2007
Background:
Open Source Software Development
Collaboration Software
Technical Documentation (DocBook)
Blogging
IT Systems Engineering
2
3. Hello, my name is Lars Trieloff
Product Manager Collaboration
and Digital Asset Management
Product
With Day ManagNovember 2007
since emen
Department oft:
Background:
“not yet”
Open Source Software Development
Collaboration Software
Technical Documentation (DocBook)
Blogging
IT Systems Engineering
2
13. Value Proposition
Unique Repository for Digital Assets
means
reduced cost of ownership for assets
increased value for assets as these are
easily searchable and retrievable
Built-in media processing capabilities
Unlimited Extensibility without
Restarts
8
15. DAM 4.5?
Technically, DAM is based on Communiqué 5
platform
Sling, OSGi, Widget Framework
But it still integrates with Communiqué 4
and is made available before CQ5 launch
10
16. Deployment Architecture
CQSE - Servlet Container
DAM Webapp
Sling Servlet
Apache Felix - OSGi Runtime
OSGi Bundles
DAM UI Image 3rd Party
DAM UI Image 3rd Party
Bundle Support Plugin
Bundle Support Plugin
JCR
CRX Repository
11
17. CRX
Standards-compliant
content repository CQSE - Servlet Container
based on Apache DAM Webapp
Jackrabbit
Sling Servlet
Apache Felix - OSGi Runtime
Content Repository for OSGi Bundles
Java (JCR) DAM UI
DAM UI
Bundle
Bundle
Image
Image
Support
Support
3rd Party
3rd Party
Plugin
Plugin
JCR
CRX Repository
12
18. CQSE
Day’s Servlet
Container CQSE - Servlet Container
Alternatives other DAM Webapp
Sling Servlet
Servlet Containers Apache Felix - OSGi Runtime
OSGi Bundles
Apache Tomcat DAM UI
DAM UI
Bundle
Bundle
Image
Image
Support
Support
3rd Party
3rd Party
Plugin
Plugin
Jetty
JCR
CRX Repository
13
19. Sling Servlet
Instantiates OSGi
Runtime CQSE - Servlet Container
Basic Request DAM Webapp
Sling Servlet
Handling Apache Felix - OSGi Runtime
OSGi Bundles
Manages OSGi DAM UI
DAM UI
Bundle
Bundle
Image
Image
Support
Support
3rd Party
3rd Party
Plugin
Plugin
bundles via REST
JCR
CRX Repository
14
20. Apache Felix
OSGi runtime
application life cycle
CQSE - Servlet Container
management DAM Webapp
Sling Servlet
service registry Apache Felix - OSGi Runtime
basic services DAM UI
DAM UI
OSGi Bundles
Image
Image
3rd Party
3rd Party
Bundle Support Plugin
Bundle Support Plugin
JCR
CRX Repository
15
21. OSGi Bundles
All functionality in Sling
is implemented via CQSE - Servlet Container
OSGi bundles DAM Webapp
OSGi bundles can offer Sling Servlet
Apache Felix - OSGi Runtime
extension points OSGi Bundles
can run 3rd party
DAM UI Image 3rd Party
DAM UI Image 3rd Party
Bundle Support Plugin
Bundle Support Plugin
plugins
JCR
CRX Repository
16
22. Extending the DAM
Create a OSGi Bundle
Implement existing
CQSE - Servlet Container
DAM Interfaces DAM Webapp
Sling Servlet
Attach to extension Apache Felix - OSGi Runtime
points DAM UI
DAM UI
Bundle
OSGi Bundles
Image
Image
Support
3rd Party
3rd Party
Plugin
Bundle Support Plugin
Deploy your bundle
JCR
CRX Repository
17
23. DAM API Guide
MediaHandler
• Implements media (file type) support
• com.day.cq.dam.MediaHandler
• com.day.cq.dam.media.ImageMediaHandler
• implementation hint: extend
com.day.cq.dam.media.AbstractMediaHandler
18
24. DAM API Guide
Exporter
• Exports media, e.g. creates a ZIP archive or uploads
to external server
• com.day.cq.dam.export.Exporter
• implementation hint: extend com.day.cq.dam.export.
AbstractBackgroundExporter
• Only one method: export()
19
25. DAM API Guide
Converter
• Converts one image format into another, e.g. Docs
into PDF
• com.day.cq.dam.converter.Converter
• Applicable range: getInputMimeTypes(),
getOutputMimeTypes(), canConvert()
• The actual conversion: convert()
• operates at byte or InputStream level
20
26. Two ways of coding DAM
Take the Volvo or the Vespa
All the power, performance and security of But sometimes all you need is a
Java, static typing, workflows and OSGi quick script around the block...
21
28. Wrap-up
Communiqué DAM gives you
Digital Asset Management based on JCR, CRX and Sling
Integration with Communiqué 4 Media Library
Document, Image, Video and Audio handling
AJAX Interface, WebDAV and CIFS (Windows Networking)
Communiqué DAM is a
powerful platform for asset centric applications
harness the power of CRX, Sling and OSGi
use existing extension points to add additional media type support
use the scripting API to extend and customize the user interface
Communiqué DAM - available now
23