SlideShare a Scribd company logo
1 of 48
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Capturing Existing Content with AEM
Kevin Nennig | nennig@adobe.com
Bob O’Connor | oconnor@adobe.com
© 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-
assetfinder-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
 nennig@adobe.com
 @knennigtri
 Bob O’Connor
 oconnor@adobe.com
 LinkedIn
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

What's hot

AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 
CIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesICF CIRCUIT
 
Dynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMDynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMBojana Popovska
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1ICF CIRCUIT
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep DiveGabriel Walt
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMconnectwebex
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMrbl002
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMAdobeMarketingCloud
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core componentsLokesh BS
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLo Ki
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2Tricode (part of Dept)
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativePolidea
 
Three WEM Dev Tricks
Three WEM Dev TricksThree WEM Dev Tricks
Three WEM Dev TricksGabriel Walt
 
Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component ResuseJustin Edelson
 
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEMDo more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEMBob Paulin
 
AEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UIAEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UIGilles Knobloch
 
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - EcosystemBe Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - EcosystemLucas Renan
 

What's hot (20)

AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 
CIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM Sites
 
Dynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMDynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEM
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
AEM responsive
AEM responsiveAEM responsive
AEM responsive
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Three WEM Dev Tricks
Three WEM Dev TricksThree WEM Dev Tricks
Three WEM Dev Tricks
 
Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component Resuse
 
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEMDo more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
 
IOT strategy
IOT strategyIOT strategy
IOT strategy
 
AEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UIAEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UI
 
iOS App Using cordova
iOS App Using cordovaiOS App Using cordova
iOS App Using cordova
 
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - EcosystemBe Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - Ecosystem
 

Viewers also liked

10 reasons to migrate from AEM 5 to 6.1
10 reasons to migrate from AEM 5 to 6.110 reasons to migrate from AEM 5 to 6.1
10 reasons to migrate from AEM 5 to 6.1Tricode (part of Dept)
 
Close to community provider’s role in strengthening reproductive health servi...
Close to community provider’s role in strengthening reproductive health servi...Close to community provider’s role in strengthening reproductive health servi...
Close to community provider’s role in strengthening reproductive health servi...REACHOUTCONSORTIUMSLIDES
 
Foreign Trade Complaince
Foreign Trade ComplainceForeign Trade Complaince
Foreign Trade ComplainceMayowa Oni
 
Guillermo Martín Caille (Webinar CREHO-CDS)
Guillermo Martín Caille (Webinar CREHO-CDS)Guillermo Martín Caille (Webinar CREHO-CDS)
Guillermo Martín Caille (Webinar CREHO-CDS)Creho Centro Ramsar
 
Diagrama de gantt
Diagrama de ganttDiagrama de gantt
Diagrama de ganttDavid Arceo
 
Actualización de la regulación de Panamá para la prevención del blanqueo de c...
Actualización de la regulación de Panamá para la prevención del blanqueo de c...Actualización de la regulación de Panamá para la prevención del blanqueo de c...
Actualización de la regulación de Panamá para la prevención del blanqueo de c...Ricardo González
 
Trovare lavoro linkedin e social 1 marzo2017_fata (2)
Trovare lavoro linkedin e social 1 marzo2017_fata (2)Trovare lavoro linkedin e social 1 marzo2017_fata (2)
Trovare lavoro linkedin e social 1 marzo2017_fata (2)Anna Fata
 
Superhero Tank Tops- Bewakoof.com
Superhero Tank Tops- Bewakoof.comSuperhero Tank Tops- Bewakoof.com
Superhero Tank Tops- Bewakoof.comBewakoof.com
 

Viewers also liked (18)

10 reasons to migrate from AEM 5 to 6.1
10 reasons to migrate from AEM 5 to 6.110 reasons to migrate from AEM 5 to 6.1
10 reasons to migrate from AEM 5 to 6.1
 
Close to community provider’s role in strengthening reproductive health servi...
Close to community provider’s role in strengthening reproductive health servi...Close to community provider’s role in strengthening reproductive health servi...
Close to community provider’s role in strengthening reproductive health servi...
 
Foreign Trade Complaince
Foreign Trade ComplainceForeign Trade Complaince
Foreign Trade Complaince
 
S4 tarea4 hemoa
S4 tarea4 hemoaS4 tarea4 hemoa
S4 tarea4 hemoa
 
Jornais e rádios
Jornais e rádiosJornais e rádios
Jornais e rádios
 
Guillermo Martín Caille (Webinar CREHO-CDS)
Guillermo Martín Caille (Webinar CREHO-CDS)Guillermo Martín Caille (Webinar CREHO-CDS)
Guillermo Martín Caille (Webinar CREHO-CDS)
 
Diagrama de gantt
Diagrama de ganttDiagrama de gantt
Diagrama de gantt
 
Actualización de la regulación de Panamá para la prevención del blanqueo de c...
Actualización de la regulación de Panamá para la prevención del blanqueo de c...Actualización de la regulación de Panamá para la prevención del blanqueo de c...
Actualización de la regulación de Panamá para la prevención del blanqueo de c...
 
Trovare lavoro linkedin e social 1 marzo2017_fata (2)
Trovare lavoro linkedin e social 1 marzo2017_fata (2)Trovare lavoro linkedin e social 1 marzo2017_fata (2)
Trovare lavoro linkedin e social 1 marzo2017_fata (2)
 
Superhero Tank Tops- Bewakoof.com
Superhero Tank Tops- Bewakoof.comSuperhero Tank Tops- Bewakoof.com
Superhero Tank Tops- Bewakoof.com
 
Los alimentos
Los alimentosLos alimentos
Los alimentos
 
Tongue disorders
Tongue disordersTongue disorders
Tongue disorders
 
Avaliação 9 ano grafite
Avaliação 9 ano grafiteAvaliação 9 ano grafite
Avaliação 9 ano grafite
 
Planificación anual-segundo-grado 2017
Planificación anual-segundo-grado 2017Planificación anual-segundo-grado 2017
Planificación anual-segundo-grado 2017
 
Dia de la dona
Dia de la donaDia de la dona
Dia de la dona
 
Novedades (1ra) Marzo 2017
Novedades (1ra) Marzo 2017Novedades (1ra) Marzo 2017
Novedades (1ra) Marzo 2017
 
Tumor markers
Tumor markersTumor markers
Tumor markers
 
Esquema de sesión 2017 (propuesta)
Esquema de sesión 2017 (propuesta)Esquema de sesión 2017 (propuesta)
Esquema de sesión 2017 (propuesta)
 

Similar to AEM Evernote Sync

Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for DevelopersBuilding Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developersarumsey
 
MongoDB Days Silicon Valley: Using MongoDB with Adobe AEM Communities
MongoDB Days Silicon Valley: Using MongoDB with Adobe AEM CommunitiesMongoDB Days Silicon Valley: Using MongoDB with Adobe AEM Communities
MongoDB Days Silicon Valley: Using MongoDB with Adobe AEM CommunitiesMongoDB
 
AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15Kevin Nennig
 
Charting your path to app nirvana with AEM Mobile
Charting your path to app nirvana with AEM MobileCharting your path to app nirvana with AEM Mobile
Charting your path to app nirvana with AEM MobileBruce Lefebvre
 
AEM Tools - Eclipse & Brackets
AEM Tools - Eclipse & Brackets AEM Tools - Eclipse & Brackets
AEM Tools - Eclipse & Brackets Lokesh BS
 
Ask the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + BracketsAsk the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + BracketsAdobeMarketingCloud
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...mfrancis
 
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersApigee | Google Cloud
 
Summit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
Summit 2015: Mobile App Dev and Content Management with Adobe Experience ManagerSummit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
Summit 2015: Mobile App Dev and Content Management with Adobe Experience Managerbrucelefebvre
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLokesh BS
 
Adobe MAX 2015 - Giving Flash Professional Another Look
Adobe MAX 2015 - Giving Flash Professional Another LookAdobe MAX 2015 - Giving Flash Professional Another Look
Adobe MAX 2015 - Giving Flash Professional Another LookJoseph Labrecque
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Managerconnectwebex
 
Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12Flash Conference
 
Pro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii Ivashchenko
Pro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii IvashchenkoPro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii Ivashchenko
Pro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii IvashchenkoPro Magento Community
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerJustin Edelson
 
IMMERSE'16 Introduction to AEM Tooling
IMMERSE'16 Introduction to AEM ToolingIMMERSE'16 Introduction to AEM Tooling
IMMERSE'16 Introduction to AEM ToolingAdobeMarketingCloud
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Diego Zuluaga
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015Mike McNeil
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 

Similar to AEM Evernote Sync (20)

Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for DevelopersBuilding Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
 
MongoDB Days Silicon Valley: Using MongoDB with Adobe AEM Communities
MongoDB Days Silicon Valley: Using MongoDB with Adobe AEM CommunitiesMongoDB Days Silicon Valley: Using MongoDB with Adobe AEM Communities
MongoDB Days Silicon Valley: Using MongoDB with Adobe AEM Communities
 
AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15
 
Charting your path to app nirvana with AEM Mobile
Charting your path to app nirvana with AEM MobileCharting your path to app nirvana with AEM Mobile
Charting your path to app nirvana with AEM Mobile
 
AEM Tools - Eclipse & Brackets
AEM Tools - Eclipse & Brackets AEM Tools - Eclipse & Brackets
AEM Tools - Eclipse & Brackets
 
Ask the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + BracketsAsk the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + Brackets
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
 
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
Summit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
Summit 2015: Mobile App Dev and Content Management with Adobe Experience ManagerSummit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
Summit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
Adobe MAX 2015 - Giving Flash Professional Another Look
Adobe MAX 2015 - Giving Flash Professional Another LookAdobe MAX 2015 - Giving Flash Professional Another Look
Adobe MAX 2015 - Giving Flash Professional Another Look
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12
 
Pro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii Ivashchenko
Pro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii IvashchenkoPro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii Ivashchenko
Pro Magento MeetUp #4 - Upgrade Compatibility Tool, Sergii Ivashchenko
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
IMMERSE'16 Introduction to AEM Tooling
IMMERSE'16 Introduction to AEM ToolingIMMERSE'16 Introduction to AEM Tooling
IMMERSE'16 Introduction to AEM Tooling
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 

Recently uploaded

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

AEM Evernote Sync

  • 1. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Capturing Existing Content with AEM Kevin Nennig | nennig@adobe.com Bob O’Connor | oconnor@adobe.com
  • 2. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Ah-ha 2 AEM
  • 3. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Clipper 3 Evernote Demo
  • 4. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Intro - Story 4
  • 5. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Concept 5
  • 6. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Easy right?  Learn the Evernote API  Learn to create an OSGi bundle  Integrate  Done 6
  • 7. © 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
  • 8. © 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
  • 9. © 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
  • 10. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Different Methods of Sync  Scheduled Task  Periodic Importer  JSP scripting  Sync with VLT 10
  • 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 11
  • 12. © 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
  • 13. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Project 13  OSGi Configurations  The Bundle  Evernote Component  Demo Content
  • 14. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurations 14
  • 15. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurations 15
  • 16. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurations 16
  • 17. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurations 17
  • 18. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurations 18
  • 19. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Project 19  OSGi Configurations  The Bundle  Evernote Component  Demo Content
  • 20. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle 20
  • 21. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle 21 Scheduled task every minute
  • 22. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Getting Notes 22 Scheduled task every minute
  • 23. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Getting Notes 23 Scheduled task every minute
  • 24. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Getting Notes 24 Scheduled task every minute
  • 25. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Service User 25
  • 26. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Service User 26  Localhost:4502/crx/explorer  Set permissions in /useradmin
  • 27. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle - Sync 27
  • 28. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle - Sync 28
  • 29. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle - Sync 29
  • 30. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Imported Assets 30
  • 31. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Bundle – Imported Asset Properties 31
  • 32. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Project 32  OSGi Configurations  The Bundle  Evernote Component  Demo Content
  • 33. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Component 33
  • 34. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Component – Asset Finder 34
  • 35. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Component – Asset Finder 35  evernoteController.js
  • 36. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Component 36
  • 37. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Component - note-viewer.html 37
  • 38. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Evernote Component - Java Use Class 38 … … …
  • 39. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. The Project 39  OSGi Configurations  The Bundle  Evernote Component  Demo Content
  • 40. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Demo 40 Demo
  • 41. © 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
  • 42. © 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
  • 43. © 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
  • 44. © 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
  • 45. © 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
  • 46. © 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- assetfinder-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
  • 47. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Thank you!!!! 47  Kevin Nennig  nennig@adobe.com  @knennigtri  Bob O’Connor  oconnor@adobe.com  LinkedIn
  • 48. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Editor's Notes

  1. Ask the audience -How many are developers? On the business side? Are brand new to AEM?
  2. ----- Meeting Notes (8/18/15 18:17) ----- The Museum of American History is preparing an exhibit on notorious criminals from the Great Depression. It will explore how crime changed from the 1890’s to the 1930’s and how crime fighting changed as a result and came into its own as a science. An important part of the exhibit will be a website with social media interaction and an app. We are part of a team of analysts researching content for the website. Today we are looking at the famous bank robber, John Dillinger. Our team will be using a few tools to aid our collaboration – Evernote, Adobe Experience Manager (AEM) and a new capability to easily connect them. With these, we can use any device, anywhere. Join us on our journey of discovery.
  3. AFTER And we’ve chosen to use Evernote because many companies already use it for content gathering and collaboration. Now we turn to our technical folks to figure out how we implement it. The Museum of American History is preparing an exhibit on notorious criminals from the Great Depression. It will explore how crime changed from the 1890’s to the 1930’s and how crime fighting changed as a result and came into its own as a science. An important part of the exhibit will be a website with social media interaction and an app. We are part of a team of analysts researching content for the website. Today we are looking at the famous bank robber, John Dillinger. Our team will be using a few tools to aid our collaboration – Evernote, Adobe Experience Manager (AEM) and a new capability to easily connect them. With these, we can use any device, anywhere. Join us on our journey of discovery.
  4. Since out analysts use Evernote to gather information, we need to connect to it AFTER: So what does that process look like then?…
  5. AFTER That seems like a fairly easy process…
  6. AFTER Well that’s getting a bit more complicated…
  7. AFTER Okay…. Is there anything else??
  8. AFTER Alright, Alright… There’s a lot to do, but where do we start?
  9. AFTER So are there any advantages or disadvantages to these??
  10. AFTER So which one did you actually pick for this implementation then?
  11. AFTER The configurations sound cool. What types of things can we configure in the OSGi configurations?
  12. Since we’re working with a Scheduler Service, we have the ability to setup OSGi configs.
  13. AFTER So this makes it very pretty to decide what we should be syncing from Evernote?
  14. AFTER So this allows for us to do a real time sync??
  15. Evernote does not like too many API calls
  16. lastSyncState that checks the last state of Evernote… Helps with pulling too much
  17. New to AEM 6.x. Previously, you’d always to getResourceResolver() with loginAdministrative() Now you
  18. AFTER So this helps with Security for your bundle then?
  19. Evernote note from evernote account
  20. Get the input stream from the note Get the assetmanager Create an asset under the evernote-sync folder
  21. Set the metadata that is from the note
  22. AFTER What if I want to modify the tags after it’s imported into AEM?
  23. The Evernote component that’s biult is the note-viewer component which has a few pieces for functionality
  24. Create Clientlib
  25. AFTER That means that the Evernote filter will show up with the standard filters like “lmages” and “Documents”?
  26. In Sightly, I’m able to call my Use class, Eviewer, which gets all the information I need to display on the page
  27. AFTER That’s pretty cool, but technical is not my forte’ can we actually see this integration in action?
  28. AFTER That sounds like a lot functionality, is there any limitations to what you can do??
  29. AFTER Do you have plans to move this forward? Or need any help with anything?