evolve'15 | enhance | bob o'conner & kevin nenning | capturing existing content with...
TRANSCRIPT
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Capturing Existing Content with AEM Kevin Nennig | [email protected] O’Connor | [email protected]
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Ah-ha
2
AEM
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Clipper
3
Evernote Demo
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Intro - Story
4
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Concept
5
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Easy right?
Learn the Evernote API Learn to create an OSGi bundle Integrate Done
6
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fairly easy
Learn the Evernote API Make a java application to test
Learn to create an OSGi bundle What method should I use to sync with AEM?
Integrate How do you create an AEM asset?
Done
7
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Getting harder
Learn the Evernote API Make a java application to test
Understand the format of an Evernote note
What information can I get back?
Whats the cost of calling the Evernote API?
Learn to create an OSGi bundle Should use the new AEM plugin Use an AEM Archetype
Front end in Touch What should the front end
look like? Integrate
How do you create an AEM asset?
Done
8
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Okay… it’s time for a backlog
Learn the Evernote API Make a java application to test
Understand the format of an Evernote note Can I translate that to a readable
format in AEM? What information can I get back?
Does Evernote clipper give me the same metadata?
Whats the cost of calling the Evernote API? Can I make less expensive calls?
Learn to create an OSGi bundle Should use the new AEM plugin
How does this work with Maven? …wait, how does maven work?
Use an AEM Archetype What do I actually need for this project?
Front end in Touch I need to extend the asset finder I need to override the asset finder cards Touch component placeholder? Sightly component
What should the front end look like? Css
Integrate How do you create an AEM asset? Understanding cron jobs Should I support multiple Evernote
accounts? Sync or import? JCR API or Sling API or DAM API?
Done ??????????
9
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Different Methods of Sync
Scheduled Task Periodic Importer JSP scripting Sync with VLT
10
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Different Methods of Sync
Scheduled Task – setup via cron job and configurable through OSGi Periodic Importer – Good for small amounts of data and configurable
through the JCR JSP scripting – Requires someone to start the sync and configurable
by a front end dev Sync with VLT – Can be hard to debug and is a very efficient way to
import
11
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Different Methods of Sync
Scheduled Task – setup via cron job and configurable through OSGi Periodic Importer – Good for small amounts of data and configurable
through the JCR JSP scripting – Requires someone to start the sync and configurable
by a front end dev Sync with VLT – Can be hard to debug and is a very efficient way to
import
12
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
13
OSGi Configurations The Bundle Evernote Component Demo Content
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
14
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
15
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
16
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
17
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
18
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
19
OSGi Configurations The Bundle Evernote Component Demo Content
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle
20
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle
21
Scheduled task every minute
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Getting Notes
22
Scheduled task every minute
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Getting Notes
23
Scheduled task every minute
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Getting Notes
24
Scheduled task every minute
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Service User
25
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Service User
26
Localhost:4502/crx/explorer
Set permissions in /useradmin
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle - Sync
27
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle - Sync
28
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle - Sync
29
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Imported Assets
30
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Imported Asset Properties
31
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
32
OSGi Configurations The Bundle Evernote Component Demo Content
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component
33
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component – Asset Finder
34
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component – Asset Finder
35
evernoteController.js
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component
36
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component - note-viewer.html
37
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component - Java Use Class
38
………
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
39
OSGi Configurations The Bundle Evernote Component Demo Content
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo
40
Demo
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
What’s currently supported
41
Single Evernote Account Sync “Dev mode” Sync Basic text and HTML from Evernote Initial Note Import only
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Future thoughts
42
Enable Oauth for username/password Enable multiple Evernote accounts to Sync with AEM Enable image support from Evernote Enable Component editing on the page
Enable versioning Develop a real front end
GitHub (Grab a fork and dig in!)https://github.com/knennigtri/Import-Evernote-into-AEM
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Business Take-aways
43
Evernote Collaboration Scrape existing content
AEM New content Presentation Brand management
Kumbaya Best of both worlds
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Technical Take-aways
44
This project is a great reference for Creating a touch UI optimized component Extending the assetfinder Extending the assetfinder cards Creating a Sightly component Using OSGi config nodes Making an scheduler service
GitHub (Grab a fork and dig in!)https://github.com/knennigtri/Import-Evernote-into-AEM
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Questions?
45
GitHub (Grab a fork and dig in!)https://github.com/knennigtri/Import-Evernote-into-AEM
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Resources
46
https://sling.apache.org/documentation/the-sling-engine/service-authentication.html
Code Samples https://github.com/Adobe-Marketing-Cloud/aem-authoring-extension-a
ssetfinder-flickr
Slides http://www.slideshare.net/KevinNennig/aem-evernote-sync
GitHub (Grab a fork and dig in!)https://github.com/knennigtri/Import-Evernote-into-AEM
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Thank you!!!!
47
Kevin Nennig [email protected] @knennigtri
Bob O’Connor [email protected] LinkedIn
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.