39
USE CASES AND TECHNOLOGIES FOR INTEGRATING MAGNOLIA WITH ALFRESCO Credit: Christmas Lights by Abhishek Shirali Some Rights Reserved CC-BY 2.0 https://www.flickr.com/photos/abhishekshirali/11397502823

Use Cases and Technologies for Integrating Magnolia with Alfresco

Embed Size (px)

DESCRIPTION

In this session Axel Faust, PRODYNA will outline capabilities of the Alfresco content platform relevant to potential integration use cases and how those can help integrate indirect participants into editorial processes and general collaboration with Magnolia.

Citation preview

Page 1: Use Cases and Technologies for Integrating Magnolia with Alfresco

USE CASES AND TECHNOLOGIES FOR INTEGRATING MAGNOLIA WITH ALFRESCO

Credit: Christmas Lights by Abhishek Shirali Some Rights Reserved CC-BY 2.0

https://www.flickr.com/photos/abhishekshirali/11397502823

Page 2: Use Cases and Technologies for Integrating Magnolia with Alfresco

AXEL FAUST PRODYNA AG

SENIOR IT CONSULTANT / SOFTWARE ARCHITECT

Page 3: Use Cases and Technologies for Integrating Magnolia with Alfresco

“The open platform for business-critical content management and collaboration.”

In a (very) few words o Secure collaboration

o Content-centric business processes

o Compliant records management

o Open ECM for on-premise, cloud and mobile

Page 4: Use Cases and Technologies for Integrating Magnolia with Alfresco

Subject Expert Group

Marketing

COLLABORATION

Repository

(on-premise)

Enterprise Sync

Hybrid Workflow

External

Agency

Cloud Media

Services

Cloud API

B2B / CLOUD ON-PREMISE

Page 5: Use Cases and Technologies for Integrating Magnolia with Alfresco

Authors

Publisher

Direct

Access

SME

Marketing

External

Agency

Page 6: Use Cases and Technologies for Integrating Magnolia with Alfresco

Authors

Publisher

Direct

Access

SME

Marketing

External

Agency

Create draft video

Create storyboard

Fill with subject detail

and sketch

Submit for „overhaul“

Review draft Submit for

review / inclusion

Asset collaboration

Page 7: Use Cases and Technologies for Integrating Magnolia with Alfresco

Authors

Publisher

Direct

Access

SME

Marketing

External

Agency

Submission / Cherry-picking

Browse & Import

Create synchronization

Ask / submit for inclusion

Review & feedback

OR

Import

alternatively

Page 8: Use Cases and Technologies for Integrating Magnolia with Alfresco

RELEVANT APIS

Page 9: Use Cases and Technologies for Integrating Magnolia with Alfresco

REST(-like)

Generic domain model / API

Different protocol bindings

URL discovery

Focus on file/folder (+ item)

Formal type mechanism

Existing full-featured libraries

Proprietary API

Typically JSON-based

REST: focus on resources

REST-like: anything

(just make sure it‘s JSON)

Page 10: Use Cases and Technologies for Integrating Magnolia with Alfresco

CMIS ISSUES „Everyone integrate with ME!“ syndrome

CMIS „transition phase“ – Magnolia 4.x – 5.x

Some key DMS concepts not yet supported

Page 11: Use Cases and Technologies for Integrating Magnolia with Alfresco

REST ISSUES Majority of exposed API is „internal“

Discoverability of parameters / conditions

Identifiers typically non-universal / non-uniform

Page 12: Use Cases and Technologies for Integrating Magnolia with Alfresco

HYBRID

INTEGRATION

Page 13: Use Cases and Technologies for Integrating Magnolia with Alfresco

CONCEPT Best of both worlds

CMIS core + ReST add-ons to “flesh out”

Both platforms = active participants

Reusable / adaptable

Generic CMIS services / API

Pluggable actions, authentication, metadata mapping…

Page 14: Use Cases and Technologies for Integrating Magnolia with Alfresco

DEMO

Page 15: Use Cases and Technologies for Integrating Magnolia with Alfresco

CMIS CORE

Page 16: Use Cases and Technologies for Integrating Magnolia with Alfresco

MODULE STRUCTURE

CMIS COMMON

CMIS CLIENT

CMIS MAPPING

CMIS BROWSER APP

CMIS CHEMISTRY

CLIENT

Page 17: Use Cases and Technologies for Integrating Magnolia with Alfresco

MODULE STRUCTURE

CMIS COMMON

CMIS CLIENT

CMIS MAPPING

CMIS BROWSER APP

CMIS CHEMISTRY

CLIENT

provides

serivces

implements

data types

Server configuration (JCR)

Connector configuration (JCR)

Logic configuration (JCR)

„Standard“ content app

Page 18: Use Cases and Technologies for Integrating Magnolia with Alfresco

SERVICE ABSTRACTION Service

Manager

Service Factory

Service

Service FactoryImpl

Service Impl

Session Aspect

produces

produces

retrieve service

Apache Chemistry

OpenCMIS provider

API

Page 19: Use Cases and Technologies for Integrating Magnolia with Alfresco

SESSION ASPECT?

CMIS session setup

Host and binding

Authentication

Cache, proxy, compression…

Page 20: Use Cases and Technologies for Integrating Magnolia with Alfresco

EXAMPLE ASPECT

External authentication (Alfresco)

Magnolia trusted to authenticate user

ReST setup call to obtain “user ticket”

Verification “Magnolia as client” + user exists

User ticket => CMIS “password”

Page 21: Use Cases and Technologies for Integrating Magnolia with Alfresco

CONFIGURATION

Page 22: Use Cases and Technologies for Integrating Magnolia with Alfresco

CONFIGURATION

Page 23: Use Cases and Technologies for Integrating Magnolia with Alfresco

METAMODEL

MAPPING

Page 24: Use Cases and Technologies for Integrating Magnolia with Alfresco

MAPPING ELEMENTS

Mapping Rule

Mapping Service

MappingManager

ApplicabilityDefinition

CompositeRule

XY Rule

Page 25: Use Cases and Technologies for Integrating Magnolia with Alfresco

MAPPING ELEMENTS Mapping Service

MappingManager

Context • direction

• CMIS: identifier / parentIdentifier

• JCR: identifier / parentIdentifier

+ path / parentPath

• JCR workspace

• contextData (arbitrary)

Result • Primary / secondary type(s)

• Mapped properties (key-value)

• Binary stream

• Property / type removals

• Mapped children

Mapping Rule

ApplicabilityDefinition

CompositeRule

XY Rule

Page 26: Use Cases and Technologies for Integrating Magnolia with Alfresco

CONFIGURATION

Page 27: Use Cases and Technologies for Integrating Magnolia with Alfresco

REST INTERACTION

Page 28: Use Cases and Technologies for Integrating Magnolia with Alfresco

1) Initiate asset process (REST)

2) Fetch / push asset(s) (CMIS)

N) Post/fetch updates to/for Pulse (REST)

N+1) Trigger review (REST)

N+2) Fetch / view result (CMIS)

N+3) Import asset(s) (CMIS)

N+4) Notify completion (REST)

Page 29: Use Cases and Technologies for Integrating Magnolia with Alfresco

BASIC FRAMEWORK

Primarily Magnolia

Abstract service facades

JAX-RS / ReSTEasy client

Commands vs. actions / „remote forms“

Page 30: Use Cases and Technologies for Integrating Magnolia with Alfresco

MODULES

CMIS

CLIENT

CMIS

MAPPING

CMIS

BROWSER APP

CMIS

CHEMISTRY

CLIENT

CMIS

COMMON

Page 31: Use Cases and Technologies for Integrating Magnolia with Alfresco

MODULES

CMIS

CLIENT

CMIS

MAPPING

CMIS

BROWSER APP

CMIS

CHEMISTRY

CLIENT

ALFRESCO

CORE

ALFRESCO

UI

ALFRESCO

CHEMISTRY

CMIS

COMMON

Page 32: Use Cases and Technologies for Integrating Magnolia with Alfresco

REMOTE FORM ACTION Action X

Page 33: Use Cases and Technologies for Integrating Magnolia with Alfresco

REMOTE FORM ACTION Action X

1) Instantiate

with form / item ID

(ALF) Form

Definition

Page 34: Use Cases and Technologies for Integrating Magnolia with Alfresco

REMOTE FORM ACTION Action X

1) Instantiate

with form / item ID

(ALF) Form

Definition (MGNL) Form

Definition

Item

2) Build

3) Mix-in cust.

fields

Page 35: Use Cases and Technologies for Integrating Magnolia with Alfresco

REMOTE FORM ACTION Action X

1) Instantiate

with form / item ID

(ALF) Form

Definition Item

2) Build

3) Mix-in cust.

fields

(MGNL) Form

Definition

FormData 4) Submit Editor

Callback

Page 36: Use Cases and Technologies for Integrating Magnolia with Alfresco

CONCLUSIONS &

FINAL REMARKS

Page 37: Use Cases and Technologies for Integrating Magnolia with Alfresco

CONCLUSIONS

Highest „effort per progress“ in Magnolia UI

(#1: replacing JCR dependancies)

Wanted #1: CMIS module update (5.x)

Wanted #2: Command parameter exposure

Improbable: full identifier decoupling

Page 38: Use Cases and Technologies for Integrating Magnolia with Alfresco

FINAL REMARKS

Magnolia 5.2.2 / Alfresco 4.0+ (minor fix req.)

Plan: basic modules => Community • CMIS browser + client services

• Simple submission / collaboration process

Thanks for your attention!

Page 39: Use Cases and Technologies for Integrating Magnolia with Alfresco

QUESTIONS &

ANSWERS