AEM Evernote Sync

Post on 20-Mar-2017

457 views 0 download

transcript

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

Capturing Existing Content with AEM Kevin Nennig | nennig@adobe.comBob 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-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 nennig@adobe.com @knennigtri

Bob O’Connor oconnor@adobe.com LinkedIn

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