WCM Transfer Services
-
Upload
alfresco-software -
Category
Technology
-
view
1.780 -
download
3
description
Transcript of WCM Transfer Services
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