Top Banner
The future of digital marketing. London, Poznań, New York. © 02/07/2015 Page 1 Boost your productivity for free Maciej Majchrzak / @majchrzak_m
41
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: Boost your productivity for free!

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

– ?

Page 3: Boost your productivity for free!

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

The Project

Chocolate Company

Marketing Platform

Page 4: Boost your productivity for free!

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

Page 5: Boost your productivity for free!

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

Meet your team!

Page 6: Boost your productivity for free!

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

Development

Challenge #1 – Team:

– Getting up to speed

– Upskilling inexperienced

Page 7: Boost your productivity for free!

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/

Page 8: Boost your productivity for free!

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

Page 9: Boost your productivity for free!

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

Page 10: Boost your productivity for free!

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

Page 11: Boost your productivity for free!

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

Page 12: Boost your productivity for free!

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

Neba

Page 13: Boost your productivity for free!

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

Page 14: Boost your productivity for free!

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

Slice

Page 15: Boost your productivity for free!

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?

Page 16: Boost your productivity for free!

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

Page 17: Boost your productivity for free!

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

Page 18: Boost your productivity for free!

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

Page 19: Boost your productivity for free!

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?

Page 20: Boost your productivity for free!

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

Development – Functional Testing

Prosper

https://github.com/Citytechinc/prosper

Page 21: Boost your productivity for free!

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

Page 22: Boost your productivity for free!

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

Prosper

Page 23: Boost your productivity for free!

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

Go Live?

Page 24: Boost your productivity for free!

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

– ...

Page 25: Boost your productivity for free!

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

Page 26: Boost your productivity for free!

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

Page 27: Boost your productivity for free!

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

Page 28: Boost your productivity for free!

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?

Page 29: Boost your productivity for free!

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

Go Live – Security Testing

SecureCQ

https://github.com/Cognifide/SecureCQ

Page 30: Boost your productivity for free!

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

Page 31: Boost your productivity for free!

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/)

Page 32: Boost your productivity for free!

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

Go Live!

Page 33: Boost your productivity for free!

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

Page 34: Boost your productivity for free!

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

Page 35: Boost your productivity for free!

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

Page 36: Boost your productivity for free!

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

Page 37: Boost your productivity for free!

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

Maintenance – Content Sync

Grabbit

https://github.com/TWCable/grabbit

Page 38: Boost your productivity for free!

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)

Page 39: Boost your productivity for free!

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

AEM Open Source World

Page 40: Boost your productivity for free!

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

Contribute

It’s Your Turn!

Page 41: Boost your productivity for free!

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

Question? Answer!