APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN,...

14
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden.

Transcript of APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN,...

Page 1: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016

Staging by Versioning

Ralf Wunsch, IST GmbH Dresden.

Page 2: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

adaptTo() 2016 2

a simple open source application management platform

starting with a small CMS nucleus

the Idea

Page 3: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

the intention

adaptTo() 2016 3

▪ AEM ▪ huge, heavyweight, expensive

▪ but (1) - a nice template

▪ but (2) - needs simplification… ▪ no ‚staging‘ for I18N (no MSM)

▪ no different instances (author, publish), no replication …

Page 4: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

the approach

4

▪ Versions

▪ JCR defines a versioning api

▪ not really used by sling based applications

▪ let’s use this for content staging…

▪ use the ‚versionable’ mixing type

▪ each page content node is ‚versionable‘

▪ each asset original node is ‚versionable‘

Page 5: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

the releases

5

▪ there is a new object bundling the pages:the ‚Site‘

▪ the site manages releases(and some other things like mappings rules and langauages)

▪ ‚versionables’ can be assigned to releases

▪ one release is marked as the ‚public‘ release

Page 6: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

an example

6

SITE

HOME

EDITING MANAGEMENT DEVELOPMENT ABOUT

1.6

1.3

1.2

1.0

Releases

1.1

2.0

1.0

1.0

1.0

1.1

Page 7: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

7

Homepage - versions

Page 8: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

Homepage - comparing

8

Page 9: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

Homepage - preview

9

all pages in the navigation

Page 10: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

Dev page - no versions

10

• no versions • can’t be

released • not visible in

public view

Page 11: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

Homepage - public view

11

navigation contains released pages only (transparent for the navigation component)

Page 12: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

Site - status view

12

ready to release

Page 13: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

the request handling

13

▪ for each request

▪ autor or public request ?

▪ restrict the access appropriate

▪ determine the right release (public only)

▪ restrict delivered artifacts to the selected release content

Access Filter • author or public ? • access restrictions

Release Filter •determines the release label

Release Switch • wraps the ResourceResolver • restricts the API to the

release (public access)

Page 14: APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 … · APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Staging by Versioning Ralf Wunsch, IST GmbH Dresden. adaptTo()

What’s going on?

14

▪ first prototype

▪ will be public in a few months

▪ available on GitHubNodes (Console)

AssetsPages

Platform

https://github.com/ist-dresden/composum