cancel
Showing results for 
Search instead for 
Did you mean: 

How to deploy Share content to another server

hss
Champ in-the-making
Champ in-the-making
How can I deploy all of the Share content or some specified sites from one server to another server on a regular basis? We are currently on 3.1 but will be upgrading to 3.3.

We are using Share as the corporate intranet and it is authenticated against AD using LDAP. At the moment, only users within our domain can access Share. I would like for some users outside our domain to access the intranet as well.

Any suggestions please?

Thank you in advance.
14 REPLIES 14

mrogers
Star Contributor
Star Contributor
Wait for 3.4 and use the replication service.  Or on 3.3 use the transfer service.

ssaravanan
Champ in-the-making
Champ in-the-making
At the moment the content is pushed as readonly using replication service.
Is it possible to have that lock removed so that the content pushed to the
other target server could be used by users to edit as well and when they
edit , is it possible to have the changes (on the target server)  synchronised
with the source .

mrogers
Star Contributor
Star Contributor
Yes the "read only" bit is a configurable option which you can turn off.   However at the moment there's no pull replication or confilct resolution, so the read only lock will prevent you getting in a mess!

There's an edit on source feature in Share that means you are forwarded to the source repository to edit your document.   So you can then push out your change.

ssaravanan
Champ in-the-making
Champ in-the-making
Thanks for the prompt response.
Where do I configure the "read only" bit. Moreover my replication process throws an exception
Eventhough I deleted all old targets and re-created a new target pointing to same source repository
as it was pointing before.
I recreated the source directory for replication & deleted the same on  and recreated as well. The replication hangs up now.
I couldn't delete the target directory as well.
Unable to delete Space due to system error: 09110265 Cannot perform operation since the node (id:c946e790-6908-4305-a327-2c2d96531a8b) is locked.


User:admin ERROR [repo.transfer.HttpClientTransmitterImpl] Received "unsuccessful" response code from target server: 500
14:29:30,924  ERROR [repo.action.AsynchronousActionExecutionQueueImpl] Failed to execute asynchronous action: Action[ id=18d593b3-c179-40f5-b0f9-d0bffbc3d4a3, node=workspace://SpacesStore/18d593b3-c179-40f5-b0f9-d0bffbc3d4a3 ]
org.alfresco.service.cmr.replication.ReplicationServiceException: 09110334 Error executing transfer - 09110332 Transfer lock has been claimed for another inbound transfer. Unable to start new transfer.
   at org.alfresco.repo.replication.ReplicationActionExecutor.executeImpl(ReplicationActionExecutor.java:285)
   at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:133)
   at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:749)
   at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:675)
   at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1$1.execute(AsynchronousActionExecutionQueueImpl.java:436)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:325)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:232)
   at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:445)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:508)
   at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:448)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:619)
Caused by: org.alfresco.service.cmr.transfer.TransferException: 09110332 Transfer lock has been claimed for another inbound transfer. Unable to start new transfer.
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
   at org.alfresco.util.json.ExceptionJsonSerializer.deserialize(ExceptionJsonSerializer.java:98)
   at org.alfresco.util.json.ExceptionJsonSerializer.deserialize(ExceptionJsonSerializer.java:40)
   at org.alfresco.repo.transfer.HttpClientTransmitterImpl.rehydrateError(HttpClientTransmitterImpl.java:687)
   at org.alfresco.repo.transfer.HttpClientTransmitterImpl.checkResponseStatus(HttpClientTransmitterImpl.java:179)
   at org.alfresco.repo.transfer.HttpClientTransmitterImpl.begin(HttpClientTransmitterImpl.java:245)
   at org.alfresco.repo.transfer.TransferServiceImpl2.transferImpl(TransferServiceImpl2.java:579)
   at org.alfresco.repo.transfer.TransferServiceImpl2.transfer(TransferServiceImpl2.java:527)
   at org.alfresco.repo.transfer.TransferServiceImpl2.transfer(TransferServiceImpl2.java:502)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
   at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:34)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:44)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.alfresco.repo.audit.AuditMethodInterceptor.proceed(AuditMethodInterceptor.java:178)
   at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:137)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy112.transfer(Unknown Source)
   at org.alfresco.repo.replication.ReplicationActionExecutor.executeImpl(ReplicationActionExecutor.java:254)
   … 12 more

The issue raised in Jira is more or less of the same kind
http://issues.alfresco.com/jira/browse/ALF-4719

mrogers
Star Contributor
Star Contributor
" org.alfresco.service.cmr.replication.ReplicationServiceException: 09110334 Error executing transfer - 09110332 Transfer lock has been claimed for another inbound transfer.  Unable to start new transfer. "

That's not a "hang"… :?  There is a lock held on the destination.   Did you shut down during the middle of a transfer?

You can find and delete the ".lock" node that lives somewhere obvious below Data Dictionary/Transfer/ which will get you up and running again.
Incidentally, this code is being reworked, so this advice will be obsolete in the near future.

ssaravanan
Champ in-the-making
Champ in-the-making
Thanks mrogers, that did solve my problem.
Where do I configure the "read only" bit. Is it configurable at the moment, as
I don't see an option for it on the metadata properties of transfer targets.
So that the users can edit the docs on the target.

As you referred, the view in source repository seems to be loading the same page…
and not to the source repository as expected (pls correct me if I am wrong)

ssaravanan
Champ in-the-making
Champ in-the-making
Ran into an another issue, restart of the source server in the middle of a transfer
will not allow alfresco to restart again, throws an exception saying

11-Oct-2010 16:37:13 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: A web application appears to have started a thread named [DefaultScheduler_Worker-8] but has failed to stop it. This is very likely to create a memory leak.

ssaravanan
Champ in-the-making
Champ in-the-making
The replication readonly transfer property could be set to be either
replication.transfer.readonly=true or false under
tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Replication/default/replication.properties

mrogers
Star Contributor
Star Contributor
Please note you should never change files below the WEB-INF.   Your configuration goes into the "shared" folder, and for properties like that alfresco-global.properties.

To get "edit in source repository" working you need to configure share to know about the source repository.    There is a section in your web-extension/share-config-custom.xml that needs filling out with the repository id and URL of the source repository.


Here's a snippet from one of mine…

<pre>

<config evaluator="string-compare" condition="Replication">
    <share-urls>
<!–             To discover a Repository Id, browse to the remote server's CMIS landing page at:
              http://{server}:{port}/alfresco/service/cmis/index.html
            The Repository Id field is found under the "CMIS Repository Information" expandable panel.

            Example config entry:
           
  –>
  <share-url repositoryId="e596bdc9-9b00-4f12-afa4-482e9ff62891">http://localhost:8080/share/</share-url>
  </share-urls>
  </config>

</pre>