wcm transfer services

49
Alfresco Transfer Service 1 Mark Rogers Senior Software Engineer, Alfresco Alfresco forums: mrogers

Upload: alfresco-software

Post on 30-Nov-2014

1.779 views

Category:

Technology


3 download

DESCRIPTION

In this session we will look at the options for replicating content between Alfresco repositories. Starting with a re-cap of the existing functionality of version 3.3, we will then introduce the new replication features of Alfresco 3.4 including some more advanced scenarios. If you have been paying attention to recent SVN commits then you can't have failed to notice that Alfresco folders can be invaded by aliens. Find out what that means in this session!

TRANSCRIPT

Page 1: WCM Transfer Services

1

Alfresco Transfer Service

Mark RogersSenior Software Engineer, Alfresco

Alfresco forums: mrogers

Page 2: WCM Transfer Services

2

Alfresco Transfer Service

Agenda

Presentation 20 mins

Demo 20 mins

Q & A 10 mins

Lunch!

Page 3: WCM Transfer Services

3

One big repository

Clustering

Network

Page 4: WCM Transfer Services

4

Multiple repositories

WCM Scenarios

Network

Runtime

Authoring

Page 5: WCM Transfer Services

5

Multiple repositories

Geographically dispersed.

Page 6: WCM Transfer Services

6

Transfer Service 3.3

Transfer service introduced in 3.3

Page 7: WCM Transfer Services

7

Transfer Service 3.3

Goals

•Primary use case: wcm

•Transfer web assets from an authoring environment to a runtime environment.

•API level service only.

Page 8: WCM Transfer Services

8

Transfer Service 3.3

Transfer Service

•Primary use case: wcm

•Transfer web assets from an authoring environment to a runtime environment.

•API level service only.

• Push nodes to another system.

• Create transfer target• Update and delete nodes

on target system• Transfer sets of nodes, as

one transaction• Asynchronous transfer• Cancel in-flight transfer• Node Finder• Transfer Callbacks

Page 9: WCM Transfer Services

9

Transfer of Nodes 3.3

Primary Assoc – Node Ref or Path

The contentAspects

NodeRef

Properties

Secondary Assocs

cm:content

Page 10: WCM Transfer Services

10

Interface : TransferService

/**Transfer nodes sync, with callback. This synchronous version of the transfer method waits for the transfer to complete

before returning to the caller. Callbacks are called in the current thread context, so will be associated with the curren transaction and use

@param targetName the name of the target to transfer to@param definition - the definition of the transfer. Specifies which nodes to transfer.

The following properties must be set, nodes@param callback - a set of callback handlers that will be called as transfer proceeds. May be null

@throws TransferException@return the node reference of the transfer report*/@Auditable(parameters={"targetName"})public NodeRef transfer(String targetName, TransferDefinition definition, Collection<TransferCallback> callback) throws TransferException;

Page 11: WCM Transfer Services

11

Type : TransferTarget

NameDescriptionTitleEndpoint HostEndpoint ProtocolEndpoint PortEndpoint Path

UserNamePassword

Enabled

Page 12: WCM Transfer Services

12

Interface : TransferDefinition 3.3

Simply has a collection of nodeRefs to transfer!

/** * Set which nodes to transfer * @param nodes */ public void setNodes(Collection<NodeRef> nodes) { this.nodes = new HashSet<NodeRef>(nodes); } public void setNodes(NodeRef...nodes) { this.setNodes(Arrays.asList(nodes)); }

Page 13: WCM Transfer Services

13

Interface : NodeCrawler

public interface NodeCrawler{ public abstract Set<NodeRef> crawl(NodeRef... nodes);

public abstract Set<NodeRef> crawl(Set<NodeRef> startingNodes);

public abstract void setNodeFinders(NodeFinder... finders);

public abstract void setNodeFilters(NodeFilter... filters);}

Page 14: WCM Transfer Services

14

Transfer Service 3.3 – node crawler

Node Crawler

•Node Finder• ChildAssociatedNodeFinder

• PeerAssociatedNodeFinder

•NodeFilter• ContentClassFilter

1

2 3

54

Page 15: WCM Transfer Services

15

Transfer Service 3.4

Transfer service enhanced in 3.4

Page 16: WCM Transfer Services

16

Transfer Service 3.4

Goals

Primary use case: Geographic replication

Transfer documents from one repository to another.

Configure replication through User Interface.

Page 17: WCM Transfer Services

17

Transfer Service 3.4

Transfer Service

Primary use case: Geographic replication

Transfer documents from one repository to another.

Configure replication through User Interface.

• New Replication Service• Share has Replication

Jobs in Admin console• Sync mode transfer flag• Read Only transfer flag• Exclude certain aspects• Content only transferred if

not on destination• Transfer of Access Control

Lists

Page 18: WCM Transfer Services

18

Transfer of Nodes 3.4

Primary Assoc – Node Ref or Path

The contentAspects

NodeRef

Properties

Secondary Assocs

cm:content

ACL

Page 19: WCM Transfer Services

19

Transfer

Replication Service

Alfresco Share

Transfer Service

Replication Service

Rep Job 1

ReplicationNode Finder

Page 20: WCM Transfer Services

20

Transfer

Transfer a set of nodes

Company home / HR Docs Company home / HR Docs

Page 21: WCM Transfer Services

21

Transfer Service

Share UI for replication

Page 22: WCM Transfer Services

22

Share Admin Console 3.4

• Replication Jobs on admin console

Page 23: WCM Transfer Services

23

Transfer Service

Read Only Transfer Flag

Page 24: WCM Transfer Services

24

Transfer

Read only transfer

Company home /HR Docs/Bonus Company home /HR Docs/Bonus

Page 25: WCM Transfer Services

25

Transfer

Read only transfer

Company home /HR Docs/Bonus Company home /HR Docs/Bonus

Edit

Page 26: WCM Transfer Services

26

Transfer Service

Sync Mode Transfer

Page 27: WCM Transfer Services

27

Sync Mode Transfer

32

1

4 5

Page 28: WCM Transfer Services

28

Sync Mode Transfer

32

1

4 5

2

4 5

3

1

Transfer

Page 29: WCM Transfer Services

29

Sync Mode Transfer

2

1

2

4 5

3

1

Page 30: WCM Transfer Services

30

Sync Mode Transfer

2

1

2

1

Transfer

Page 31: WCM Transfer Services

31

Transfer Service

Multiple repository and Sync Mode

Page 32: WCM Transfer Services

32

Multi Repo and Sync Mode

A

B D

C

Company Home / Images

Page 33: WCM Transfer Services

33

Sync Mode Transfer From A to B

32

1

4 5

A B

Page 34: WCM Transfer Services

34

Sync Mode Transfer From A to B

32

1

4 5

2

4 5

3

1

A B

Transfer

Page 35: WCM Transfer Services

35

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

6

Page 36: WCM Transfer Services

36

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

6 6

Transfer

Page 37: WCM Transfer Services

37

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

6

Page 38: WCM Transfer Services

38

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

Transfer

Page 39: WCM Transfer Services

39

Aliens!

Page 40: WCM Transfer Services

40

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

Page 41: WCM Transfer Services

41

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

6

Page 42: WCM Transfer Services

42

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

6

7

Page 43: WCM Transfer Services

43

Sync Mode Delete 6 from Repository C

2

45

3

1

A CB

Company Home / Images

7

Page 44: WCM Transfer Services

44

Sync Mode Delete 1 from Repository A

3

1

A CB

Company Home / Images

7

Page 45: WCM Transfer Services

45

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

6

7

Page 46: WCM Transfer Services

46

Notes

Page 47: WCM Transfer Services

47

Transfer Service Gotchas ?

Transfer Service

•Don’t try to transfer the entire company home•Don’t transfer to yourself•All nodes need a parent•Replication service is only transferring files / folders and following cm:contains.

Page 48: WCM Transfer Services

48

Transfer Service Future ?

Transfer Service

•Pull transfer as well as push•Transfer model elements as required•Change log•Transaction batching / splitting•Queue Transfers•Transfer out of Alfresco (Similar to Standalone Deployment Receiver)•More transformations (ACL mapping etc)http://wiki.alfresco.com/wiki/Transfer_Service#Wish_List

Page 49: WCM Transfer Services

49

Learn Morewiki.alfresco.comforums.alfresco.comtwitter: @AlfrescoECM