cancel
Showing results for 
Search instead for 
Did you mean: 

Filesystem Deployment Target for WCM

jefflv
Champ in-the-making
Champ in-the-making
I have added a new Tomcat server to the development box running my Alfresco v3.2 server. I would like to have a deployment target that publishes my WCM website to a webapp folder in my new Tomcat. Therefore, I am trying to create a new filesystem deployment target (or modify the existing one, it doesn't matter).

I have followed the instructions at http://wiki.alfresco.com/wiki/WCM_Deployment_Engine#Targets and http://wiki.alfresco.com/wiki/File_System_Deployment_Target, but I must say, these sections leave as much as they cover, so it feels like a guessing game. (It sure would be nice to have step-by-step instructions on how to complete what should be these very simple tasks.)

When I publish, the content goes to the filesystem, but it keeps putting it into a ROOT folder, which is not what I desire. I want to put the content into $tomcat/webapps/$project. However, every time I publish, my content get put into $tomcat/webapps/$project/ROOT, which is not my intention. How do I stop it adding "/ROOT" to my publish location?

Can anyone help? Below are my configuration files and deployment settings.

Thanks,
Jeff



/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/deployment/jeff-target.xml
==================================================================================

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<!–  Built in deployment server target –>

<beans>

     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreUnresolvablePlaceholders">
            <value>true</value>
        </property>
        <property name="locations">
            <list>
                <value>classpath:alfresco/deployment/jeff.properties</value>
            </list>
        </property>
    </bean>

    <!–  This is the common configuration for all file system receivers –>
    <bean id="fileSystemReceiverService" class="org.alfresco.deployment.impl.fsr.FileSystemReceiverServiceImpl"
          init-method="init">

        <!– Will an error be thrown if the FSR overwrites files outside its control –>
        <property name="errorOnOverwrite"><value>${deployment.filesystem.errorOnOverwrite}</value></property>

        <!–  Where to store temporary data –>
        <property name="dataDirectory">
            <value>${deployment.filesystem.datadir}</value>
        </property>

        <!–  Where to log information –>
        <property name="logDirectory">
            <value>${deployment.filesystem.logdir}</value>
        </property>



        <property name="commandQueue"><ref bean="deploymentReceiverCommandQueue" /></property>
    </bean>

        <!–

        Defines and registers the deployment target with the name "default"
        Which is a FileSystemDeploymentTarget with the "deploymentReceiverEngine"
        –>

        <bean class="org.alfresco.deployment.impl.server.DeploymentTargetRegistrationBean"
                init-method="register" >

                <property name="name"><value>${deployment.filesystem.default.name}</value></property>
                <property name="registry"><ref bean="deploymentReceiverEngine" /></property>

                <property name="target">
                    <bean class="org.alfresco.deployment.impl.fsr.FileSystemDeploymentTarget" init-method="init">
                            <property name="rootDirectory"><value>${deployment.filesystem.default.rootdir}</value></property>

                         <!–  where to store meta data –>
                                        <property name="metaDataDirectory">
                                        <value>${deployment.filesystem.default.metadatadir}</value>
                                        </property>

                        <property name="autoFix"><value>${deployment.filesystem.autofix}</value></property>
                        <property name="fileSystemReceiverService"><ref bean="fileSystemReceiverService"/></property>

                        <!–  how to authenticate for this particular target –>
                                                <property name="authenticator">
                                                <bean class="org.alfresco.repo.deploy.DeploymentReceiverAuthenticatorAuthenticationService"
                                                        init-method="init">
                                                        <property name="authenticationService">
                                                                <ref bean="AuthenticationService" />
                                                        </property>
                                                </bean>
                                                </property>

                                        <!– Target Event Handlers
                                        <property name="prepare">
                                <list>
                                                        <bean class="org.alfresco.deployment.SampleRunnable"/>
                                </list>
                        </property>

                        <property name="postCommit">
                                <list>
                                                        <bean class="org.alfresco.deployment.SampleRunnable"/>
                                </list>
                        </property>
                                        –>
            </bean>
       </property>
   </bean>

</beans>


/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/deployment/jeff.properties
==================================================================================

; Built in deployment receiver properties for the default
; filesystem receiver

; filesystem receiver configuration
deployment.filesystem.rootdir=./wcm-prod
deployment.filesystem.datadir=${deployment.filesystem.rootdir}/depdata
deployment.filesystem.logdir=${deployment.filesystem.rootdir}/deplog
deployment.filesystem.metadatadir=${deployment.filesystem.rootdir}/depmetadata

deployment.filesystem.autofix=true
deployment.filesystem.errorOnOverwrite=false

; default filesystem target configuration
deployment.filesystem.default.rootdir=/opt/prod-tomcat/webapps/internal
deployment.filesystem.default.name=internalweb
deployment.filesystem.default.metadatadir=${deployment.filesystem.metadatadir}/default


Deployment Receiver
========================

Type: Live Server
Display Name: Development Tomcat
Display Group:
Transport Name: default
Host: locatlhost
Port: 50500
URL: http://192.168.168.29:8081/internalweb
Username: admin
Password: <password>
Source Path:
Excludes:
Target Name: internalweb
12 REPLIES 12

djyahoo
Champ in-the-making
Champ in-the-making
Jefflv wrote :
I have followed the instructions at http://wiki.alfresco.com/wiki/WCM_Deplo … ne#Targets and http://wiki.alfresco.com/wiki/File_Syst … ent_Target, but I must say, these sections leave as much as they cover, so it feels like a guessing game. (It sure would be nice to have step-by-step instructions on how to complete what should be these very simple tasks.)

I totally agree ! Does anyone could point a document or write here some documentation about how one can set up a deploiement on another file system or server ? I'm thinking about giving up…
Maybe Jefflv can share with his own experience ?

djyahoo
Champ in-the-making
Champ in-the-making
At least I managed to deploy 'something' today !

Here is the information that was missing to me :
One way to setting up a deploiement process is to use a 'Alfresci deploiement receiver'. It is a separate component, to download and to install on the remote server (the apache server for example).
1) So install it
2) Start the Alfresco WCM on one server (I assume you have succeeded in installing it before reading this post)
3) Start the deploiement receiver on the target server
4) Configure your webapp in Alfresco WCM in order to set up a deployment server, whose values are corresponding to your deploiement receiver (ip, port and user password you defined during the installation of the DeploymentServer : these are also editable in {DeploymentReceiverHome]\deploiement.properties). For the port, you have to use the RMI port of the deploiement receiver (44100 is the default one)
5) Try to deploy a snapshot… It should be successful now Smiley Happy

So that was for the 'standalone deploiement engine' process. You have to know that there is another way for deploying : the 'repository based WDR receiver Subsystem', but I'm not cumfortable enough with this concept to deal with it… at this moment.

You can read http://forums.alfresco.com/en/viewtopic.php?f=14&t=24472&p=84493#p84488 (two messages) for related information.

I apologize because I notice today that my previous message wasn't in the aim of this topic.

bnordgren
Champ in-the-making
Champ in-the-making
So that was for the 'standalone deploiement engine' process. You have to know that there is another way for deploying : the 'repository based WDR receiver Subsystem', but I'm not cumfortable enough with this concept to deal with it… at this moment.

The "wcm_deployment_receiver" subsystem appears to have a single type configured (called "default") which is set up to publish the service as Java RMI. I spent a lot of the week trying to figure out how to reconfigure the service as HTTP. I have made a start at it here, but it currently does not appear to be working.  On the way to writing that wiki page, I wrote a lot of "spring configuration reference" wiki pages for the filesystem deployment target, deployment receiver engine, etc.  Most of these can be found on this category page. Any help getting this working would be greatly appreciated. Smiley Happy