evolve'15 | enhance | bob o'conner & kevin nenning | capturing existing content with...
TRANSCRIPT
![Page 1: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/1.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Capturing Existing Content with AEM Kevin Nennig | [email protected] O’Connor | [email protected]
![Page 2: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/2.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Ah-ha
2
AEM
![Page 3: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/3.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Clipper
3
Evernote Demo
![Page 4: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/4.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Intro - Story
4
![Page 5: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/5.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Concept
5
![Page 6: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/6.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Easy right?
Learn the Evernote API Learn to create an OSGi bundle Integrate Done
6
![Page 7: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/7.jpg)
© 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
![Page 8: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/8.jpg)
© 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
![Page 9: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/9.jpg)
© 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
![Page 10: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/10.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Different Methods of Sync
Scheduled Task Periodic Importer JSP scripting Sync with VLT
10
![Page 11: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/11.jpg)
© 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
![Page 12: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/12.jpg)
© 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
![Page 13: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/13.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
13
OSGi Configurations The Bundle Evernote Component Demo Content
![Page 14: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/14.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
14
![Page 15: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/15.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
15
![Page 16: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/16.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
16
![Page 17: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/17.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
17
![Page 18: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/18.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
18
![Page 19: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/19.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
19
OSGi Configurations The Bundle Evernote Component Demo Content
![Page 20: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/20.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle
20
![Page 21: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/21.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle
21
Scheduled task every minute
![Page 22: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/22.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Getting Notes
22
Scheduled task every minute
![Page 23: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/23.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Getting Notes
23
Scheduled task every minute
![Page 24: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/24.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Getting Notes
24
Scheduled task every minute
![Page 25: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/25.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Service User
25
![Page 26: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/26.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Service User
26
Localhost:4502/crx/explorer
Set permissions in /useradmin
![Page 27: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/27.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle - Sync
27
![Page 28: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/28.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle - Sync
28
![Page 29: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/29.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle - Sync
29
![Page 30: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/30.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Imported Assets
30
![Page 31: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/31.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Bundle – Imported Asset Properties
31
![Page 32: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/32.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
32
OSGi Configurations The Bundle Evernote Component Demo Content
![Page 33: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/33.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component
33
![Page 34: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/34.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component – Asset Finder
34
![Page 35: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/35.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component – Asset Finder
35
evernoteController.js
![Page 36: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/36.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component
36
![Page 37: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/37.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component - note-viewer.html
37
![Page 38: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/38.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Evernote Component - Java Use Class
38
………
![Page 39: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/39.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
The Project
39
OSGi Configurations The Bundle Evernote Component Demo Content
![Page 40: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/40.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo
40
Demo
![Page 41: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/41.jpg)
© 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
![Page 42: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/42.jpg)
© 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
![Page 43: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/43.jpg)
© 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
![Page 44: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/44.jpg)
© 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
![Page 45: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/45.jpg)
© 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
![Page 46: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/46.jpg)
© 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
![Page 47: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/47.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Thank you!!!!
47
Kevin Nennig [email protected] @knennigtri
Bob O’Connor [email protected] LinkedIn
![Page 48: EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Content with AEM](https://reader036.vdocuments.mx/reader036/viewer/2022062901/58f100c91a28ab1b418b4605/html5/thumbnails/48.jpg)
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.