Boost your productivity for free!

41
The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 1 Boost your productivity for free Maciej Majchrzak / @majchrzak_m

Transcript of Boost your productivity for free!

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 1

Boost your productivity for free

Maciej Majchrzak / @majchrzak_m

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 2

Open source in AEM

Adobe Experience Manager:

– Apache Sling

– Apache Felix

– Apache Jackrabbit Oak

– ...

Community

– ?

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 3

The Project

Chocolate Company

Marketing Platform

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 4

Project Scope

– Multi-channel, multi-lingual website built on Adobe Experience Manager

– Integration with internal news platform (dynamic content)

– Non-functional testing

– Platform set-up

– Deployment

– Maintenance

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 5

Meet your team!

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 6

Development

Challenge #1 – Team:

– Getting up to speed

– Upskilling inexperienced

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 7

Development

ACS AEM Samples

http://adobe-consulting-services.github.io/acs-aem-samples/

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 8

ACS AEM Samples

Your benefits:

Easily accessible training

Code references and guidelines

Suitable for beginners and more advanced

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 9

Development

Challenge #2 – Code:

– Organization / structure

– Separation of concerns

– Reusablility

– Simplicity

– Readability + testability = maintainability

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 10

Development – Framework

Neba

http://neba.io

Slice

http://cognifide.github.io/slice

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 11

Neba

Your benefits:

Power of Spring

• Spring MVC apps with ease

• Integrations

• Dependency injection

Advanced mapping of Sling resources into Java objects

Easily testable and clean code

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 12

Neba

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 13

Slice

Your benefits:

Lightweight and powerful dependency injection

Easily testable and maintainable code

Improved code design and re-use

Advanced mapping of Sling resources into Java objects

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 14

Slice

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 15

Development

Challenge #3 – Dynamic content:

– How to include dynamic content (component) on a page?

– How to cache pages with dynamic content?

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 16

Development – Dynamic Content

Sling Dynamic Include

http://cognifide.github.io/sling-dynamic-include

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 17

Sling Dynamic Include

Your benefits:

Don’t bother dynamic components anymore

Significantly reduced implementation effort

Very simple configuration

Fast and efficient solution for pages with

dynamic fragments

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 18

Dispatcher optimization

Also check: Dispatcher Flush Rules

http://adobe-consulting-services.github.io/acs-aem-commons/features/dispatcher-flush-rules.html

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 19

Development

Challenge #4 – Quality:

– How we are sure that it does what it should?

– How to run tests automatically?

– How to run test often?

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 20

Development – Functional Testing

Prosper

https://github.com/Citytechinc/prosper

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 21

Prosper

Your benefits:

Lightweight integration tests – increased value

• Quick execution

• Can be run often

Powerful yet easy to write and read – BDD-style

Simplified maintenance of tests

Combine with Jacoco/Cobertura for test coverage

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 22

Prosper

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 23

Go Live?

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 24

Go Live

Challenge #5 – AEM setup:

– User, groups and permissions

– Authorable error pages

– Domains and content mappings

– Sitemaps

– ...

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 25

Go Live – User, Groups & Permissions

ACTool

http://github.com/Netcentric/accesscontroltool

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 26

ACTool

Your benefits:

No need for clicking and manual ACL application

You can share them across multiple environments with ease

You can version config files in source repository

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 27

Other tools

Authorable error pages:

– Error Page Handler

– http://adobe-consulting-services.github.io/acs-aem-commons/features/errorpagehandler.html

Sitemaps:

– Simple Sitemap generator

– http://adobe-consulting-services.github.io/acs-aem-commons/features/simple-sitemap.html

Domains and content mappings:

– Carty

– http://cognifide.github.io/carty

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 28

Go Live

Challenge #6 – Security & Performance (load) tests

– How are we sure that our AEM instance is secure?

– How do we know we can handle assumed traffic?

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 29

Go Live – Security Testing

SecureCQ

https://github.com/Cognifide/SecureCQ

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 30

SecureCQ

Your benefits:

Security audit before go-live

Easy to extend by project-specific tests

Easy to run

https://github.com/adobe-marketing-cloud/

cq-java-securecq-maven-plugin

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 31

Go Live – Performance Testing

– No AEM-specific tools

– Other tools:

• JMeter (http://jmeter.apache.org/)

• The Grinder (http://grinder.sourceforge.net/)

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 32

Go Live!

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 33

Maintenance

Challenge #7 – Functional Changes:

– Content manipulation after changing application behaviour

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 34

Maintenance – Content Manipulation

AEM Groovy Console

https://github.com/Citytechinc/cq-groovy-console

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 35

AEM Groovy Console

Your benefits:

Run arbitrary Groovy code on AEM instance:

Migrate content with ease

Extensible

Debug with ease

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 36

Maintenance

Challenge #8 – Debugging

– How to reproduce a bug „safely”?

– Moving content from one environment to another

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 37

Maintenance – Content Sync

Grabbit

https://github.com/TWCable/grabbit

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 38

Grabbit

Your benefits:

Synchronize large repositories efficiently

No need to worry about storage space and network latency

Frequent content synchronization (live <-> staging)

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 39

AEM Open Source World

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 40

Contribute

It’s Your Turn!

The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 41

Question? Answer!