48
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Capturing Existing Content with AEM Kevin Nennig | [email protected] Bob O’Connor | [email protected]

AEM Evernote Sync

Embed Size (px)

Citation preview

Page 1: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Capturing Existing Content with AEM Kevin Nennig | [email protected] O’Connor | [email protected]

Page 2: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Ah-ha

2

AEM

Page 3: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Clipper

3

Evernote Demo

Page 4: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Intro - Story

4

Page 5: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Concept

5

Page 6: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Project

13

OSGi Configurations The Bundle Evernote Component Demo Content

Page 14: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

OSGi Configurations

14

Page 15: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

OSGi Configurations

15

Page 16: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

OSGi Configurations

16

Page 17: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

OSGi Configurations

17

Page 18: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

OSGi Configurations

18

Page 19: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Project

19

OSGi Configurations The Bundle Evernote Component Demo Content

Page 20: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle

20

Page 21: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle

21

Scheduled task every minute

Page 22: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Getting Notes

22

Scheduled task every minute

Page 23: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Getting Notes

23

Scheduled task every minute

Page 24: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Getting Notes

24

Scheduled task every minute

Page 25: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Service User

25

Page 26: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Service User

26

Localhost:4502/crx/explorer

Set permissions in /useradmin

Page 27: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle - Sync

27

Page 28: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle - Sync

28

Page 29: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle - Sync

29

Page 30: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Imported Assets

30

Page 31: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Bundle – Imported Asset Properties

31

Page 32: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Project

32

OSGi Configurations The Bundle Evernote Component Demo Content

Page 33: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Component

33

Page 34: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Component – Asset Finder

34

Page 35: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Component – Asset Finder

35

evernoteController.js

Page 36: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Component

36

Page 37: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Component - note-viewer.html

37

Page 38: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Evernote Component - Java Use Class

38

………

Page 39: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The Project

39

OSGi Configurations The Bundle Evernote Component Demo Content

Page 40: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Demo

40

Demo

Page 41: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 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: AEM Evernote Sync

© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.