wcm transfer services

Post on 30-Nov-2014

1.780 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

1

Alfresco Transfer Service

Mark RogersSenior Software Engineer, Alfresco

Alfresco forums: mrogers

2

Alfresco Transfer Service

Agenda

Presentation 20 mins

Demo 20 mins

Q & A 10 mins

Lunch!

3

One big repository

Clustering

Network

4

Multiple repositories

WCM Scenarios

Network

Runtime

Authoring

5

Multiple repositories

Geographically dispersed.

6

Transfer Service 3.3

Transfer service introduced in 3.3

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.

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

9

Transfer of Nodes 3.3

Primary Assoc – Node Ref or Path

The contentAspects

NodeRef

Properties

Secondary Assocs

cm:content

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;

11

Type : TransferTarget

NameDescriptionTitleEndpoint HostEndpoint ProtocolEndpoint PortEndpoint Path

UserNamePassword

Enabled

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)); }

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);}

14

Transfer Service 3.3 – node crawler

Node Crawler

•Node Finder• ChildAssociatedNodeFinder

• PeerAssociatedNodeFinder

•NodeFilter• ContentClassFilter

1

2 3

54

15

Transfer Service 3.4

Transfer service enhanced in 3.4

16

Transfer Service 3.4

Goals

Primary use case: Geographic replication

Transfer documents from one repository to another.

Configure replication through User Interface.

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

18

Transfer of Nodes 3.4

Primary Assoc – Node Ref or Path

The contentAspects

NodeRef

Properties

Secondary Assocs

cm:content

ACL

19

Transfer

Replication Service

Alfresco Share

Transfer Service

Replication Service

Rep Job 1

ReplicationNode Finder

20

Transfer

Transfer a set of nodes

Company home / HR Docs Company home / HR Docs

21

Transfer Service

Share UI for replication

22

Share Admin Console 3.4

• Replication Jobs on admin console

23

Transfer Service

Read Only Transfer Flag

24

Transfer

Read only transfer

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

25

Transfer

Read only transfer

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

Edit

26

Transfer Service

Sync Mode Transfer

27

Sync Mode Transfer

32

1

4 5

28

Sync Mode Transfer

32

1

4 5

2

4 5

3

1

Transfer

29

Sync Mode Transfer

2

1

2

4 5

3

1

30

Sync Mode Transfer

2

1

2

1

Transfer

31

Transfer Service

Multiple repository and Sync Mode

32

Multi Repo and Sync Mode

A

B D

C

Company Home / Images

33

Sync Mode Transfer From A to B

32

1

4 5

A B

34

Sync Mode Transfer From A to B

32

1

4 5

2

4 5

3

1

A B

Transfer

35

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

6

36

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

6 6

Transfer

37

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

6

38

Sync Mode Transfer From C to B

1

2

4 5

3

1

A C

1

Transfer

39

Aliens!

40

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

41

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

6

42

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

6

7

43

Sync Mode Delete 6 from Repository C

2

45

3

1

A CB

Company Home / Images

7

44

Sync Mode Delete 1 from Repository A

3

1

A CB

Company Home / Images

7

45

Sync Mode Transfer From C to B

2

45

3

1

A CB

Company Home / Images

6

7

46

Notes

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.

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

49

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

top related