<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Publishing in multi-server environment in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263703#M216833</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've set up Alfresco 3.4.d locally, publishing works fine. Now I'd like to use am environment with two servers:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Local server for editing (Quick Start Editorial), Windows 7, localhost&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Live-server (Quick Start Live), Linux, &lt;/SPAN&gt;&lt;A href="http://www.mysite.com" rel="nofollow noopener noreferrer"&gt;http://www.mysite.com&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After making changes to the local site I want to publish it to the live-server. My question is regarding the setup of this environment. What prerequisite do I have to fulfill?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Setup of parameters for live-server (hostname, hostport)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Creation of the wcmqs site on live server?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Database content?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Lemmy&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 Feb 2011 06:26:57 GMT</pubDate>
    <dc:creator>lemmy</dc:creator>
    <dc:date>2011-02-22T06:26:57Z</dc:date>
    <item>
      <title>Publishing in multi-server environment</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263703#M216833</link>
      <description>Hi, I've set up Alfresco 3.4.d locally, publishing works fine. Now I'd like to use am environment with two servers:1. Local server for editing (Quick Start Editorial), Windows 7, localhost2. Live-server (Quick Start Live), Linux, http://www.mysite.comAfter making changes to the local site I want to</description>
      <pubDate>Tue, 22 Feb 2011 06:26:57 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263703#M216833</guid>
      <dc:creator>lemmy</dc:creator>
      <dc:date>2011-02-22T06:26:57Z</dc:date>
    </item>
    <item>
      <title>Re: Publishing in multi-server environment</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263704#M216834</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;There are a few steps needed. At the moment it does require some code to achieve it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pushing the content to your live environment will make use of the transfer service, and two things need to be done initially to set this up:&lt;/SPAN&gt;&lt;BR /&gt;&lt;OL style="list-style-type:decimal;"&gt;&lt;LI&gt;Create a new transfer target. This is done by creating a new folder below Data Dictionary/Transfers/Transfer Target Groups/Default Group. When you have created the folder, edit its metadata and you will see a number of fields to fill in that identify the location of your target Alfresco server and the credentials for it. Make a note of the name of this new transfer target - you'll need it later&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;In your target repository, create a Share site with the same name as the one in the editorial repository&lt;/LI&gt;&lt;/OL&gt;&lt;SPAN&gt;After having done those two bits of setup, the next task is to write the code that's going to actually push the content to your new transfer target. This code will be triggered when the internal publish has occurred, so will hook into one of the new policies in the transfer service: "OnEndInboundTransferPolicy". I wrote a &lt;/SPAN&gt;&lt;A href="http://blogs.alfresco.com/wp/bremmington/2010/11/15/new-policies-for-the-transfer-service/" rel="nofollow noopener noreferrer"&gt;blog post about this&lt;/A&gt;&lt;SPAN&gt; a while ago.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I imagine the code will look something along the lines of this, but please be aware that this is just an outline that I just wrote for the purposes of this response - it is not tested, and is missing at least a couple of setters and error handling:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public class RemotePublisher&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private PolicyComponent policyComponent;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private TransferService2 transferService;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void init()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; policyComponent.bindClassBehaviour(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransferServicePolicies.OnEndInboundTransferPolicy.QNAME, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransferModel.TYPE_TRANSFER_RECORD,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new JavaBehaviour(this, "onEndInboundTransferCommit", NotificationFrequency.TRANSACTION_COMMIT));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onEndInboundTransferCommit(String transferId, Set&amp;lt;NodeRef&amp;gt; createdNodes, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;NodeRef&amp;gt; updatedNodes, Set&amp;lt;NodeRef&amp;gt; deletedNodes)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;NodeRef&amp;gt; nodesToTransfer = new HashSet&amp;lt;NodeRef&amp;gt;(359);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodesToTransfer.addAll(createdNodes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodesToTransfer.addAll(updatedNodes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodesToTransfer.addAll(deletedNodes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransferDefinition transferDef = new TransferDefinition();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transferDef.setNodes(nodesToTransfer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transferService.transferAsync("My Remote Target", transferDef);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;The last line, where the transfer service is called, needs to have the name of your new transfer target as the first parameter (in place of "My Remote Target").&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope that's useful.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Feb 2011 10:27:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263704#M216834</guid>
      <dc:creator>bremmington</dc:creator>
      <dc:date>2011-02-22T10:27:37Z</dc:date>
    </item>
    <item>
      <title>Re: Publishing in multi-server environment</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263705#M216835</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks, Brain. This looks like a good solution. After reading your blog about the transfer service and the wiki about policies &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Policy_Component" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Policy_Component&lt;/A&gt;&lt;SPAN&gt; one peace keeps unclear for me. I've understood that the transfer service calls OnEndInboundTransferPolicy for all registered policies. You want to hook there to use the transfer service to push the local repository to the remote. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The question is how and even more where to register this new policy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Lemmy&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 06:05:57 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263705#M216835</guid>
      <dc:creator>lemmy</dc:creator>
      <dc:date>2011-02-23T06:05:57Z</dc:date>
    </item>
    <item>
      <title>Re: Publishing in multi-server environment</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263706#M216836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The "init" method of the outline class I posted earlier does the necessary binding to the policy. The line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; policyComponent.bindClassBehaviour(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransferServicePolicies.OnEndInboundTransferPolicy.QNAME, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransferModel.TYPE_TRANSFER_RECORD,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new JavaBehaviour(this, "onEndInboundTransferCommit", NotificationFrequency.TRANSACTION_COMMIT));&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;will cause the policy framework to call the "onEndInboundTransferCommit" method on the RemotePublisher object when the transfer commits. When you wire this into the Spring application context as a bean, specify an "init-method". Something along the lines of:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="myRemotePublisher" class="com.example.RemotePublisher" init-method="init"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="policyComponent" ref="policyComponent" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="transferService" ref="transferService2" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;This will cause Spring to invoke the "init" method once it has created the object.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 10:50:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263706#M216836</guid>
      <dc:creator>bremmington</dc:creator>
      <dc:date>2011-02-23T10:50:26Z</dc:date>
    </item>
    <item>
      <title>Re: Publishing in multi-server environment</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263707#M216837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When working in a multi-server environment there is also the issue of synchronizing tags and categories across repositories. From my experience so far the Transfer Service is only handling content below Company Home. At least there is no option in the UI to set up a replication job that includes the categories associated with content. Even if the same categories (same in regard to name and path but not UUID) exist in the target repository the category assignments seem to get lost when synching.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way to synchronize the categories between two repositories in a way so they can be assigned on the editorial server and would still be assigned on the live server?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jul 2011 10:14:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263707#M216837</guid>
      <dc:creator>aussen2</dc:creator>
      <dc:date>2011-07-29T10:14:14Z</dc:date>
    </item>
    <item>
      <title>Re: Publishing in multi-server environment</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263708#M216838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Missed this last post - sorry.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In WQS we actually flatten tag values directly on to the web assets themselves so that, when published, the tag values remain. However, that aside, there's no reason why the transfer service can't transfer category / tag nodes - it can transfer any kind of node. It's not something I've tried, but if you write a new NodeFinder that traverses category properties and then alter the configuration of the publishing NodeCrawler to include it then that should work. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The WQS PublishService accepts an object that implements an interface named "NodeCrawlerConfigurer". There is currently one implementation of this interface: "WqsNodeCrawlerConfigurerImpl" that pulls together a selection of NodeFinder and NodeFilter objects that provide the default WQS behaviour. To add you new NodeFinder then you would define your own NodeCrawlerConfigurer class (probably derived from the WQS one) and replace the default configurer bean with an instance of your new configurer. The bean id that's relevant is "wqsmodule_publishingCrawlerConfigurer". The default definition for that bean is simply:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="wqsmodule_publishingCrawlerConfigurer" &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class="org.alfresco.module.org_alfresco_module_wcmquickstart.publish.WqsNodeCrawlerConfigurerImpl" /&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;However, as I said initially, tag values should be published without doing this. Hope that helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2011 07:16:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/publishing-in-multi-server-environment/m-p/263708#M216838</guid>
      <dc:creator>bremmington</dc:creator>
      <dc:date>2011-08-11T07:16:50Z</dc:date>
    </item>
  </channel>
</rss>

