cancel
Showing results for 
Search instead for 
Did you mean: 

configuring dynamic deployment

apwynne
Champ in-the-making
Champ in-the-making
Hi

I'm quite new to Alfresco and am currently evaluating it, particularly with regards the WCM functionality.

I now have a deployment receiver configured and working using the "default" target which is a file system deployment reciever and that all works fine.

Now I'm trying to configure a second deployment receiver for dynamic content delivery.

According to the wiki there sould be a target called "avm" but when I specify a deployment receiver to use that target on port 44100, the deployment fails.

Digging a little more into it, it seems the "avm" target would normally be defined in a file called deployment\avm-target.xml or something similar, but that doesn't seem to exist on my install. Do I have to create it? If so, where can I get a sample file from as a basis? There is an entry in the wiki at http://wiki.alfresco.com/wiki/AVM_Deployment_Target but no sample xml congig (although there is sample xml for the file system receiver page).

I do I ignore all the AVM stuff and start investigating the (deprecated) ASR recevier options instead?

A few minutes help from someone who knows how to get this going would be really useful!

cheers

Adrian
3 REPLIES 3

samuel_penn
Champ in-the-making
Champ in-the-making
I haven't used the new 3.2 way of doing things (I assume you're looking at 3.2) until just now, but I've used ASR deployment before.

I think the main thing you have wrong is that the port should be 50500 if you're deploying to a remote Alfresco instance. If it helps, I just managed to get a test 3.2 WCM install to deploy to itself by doing the following:

1) Create a web project called test
2) Create a web project called test-live (in the same instance of Alfresco)
3) Add a deployment receiver to test which points at the same server name, port 50500 with a target of avm and username/password for admin
4) Add a file to the test project and submit to staging.
5) Deploy the snapshot. The content appears in the test-live project

The only difference for deployment to a remote instance of Alfresco (rather than to itself) is the server name, and the web project on the remote server will be called 'test' rather than 'test-live'. If you create the web project on the destination server first, before doing the first deployment, then you can browse it from the Web UI, which makes testing easier.

Hope that helps,

Sam.

apwynne
Champ in-the-making
Champ in-the-making
Thanks Sam - very helpful

I've now managed to configure a deployment server on localhost with the avm target and the correct port (50500) and successfully deploy.

So what URL do I now use to access the web site through? And is there a URL for managing the dynamic delivery runtime e.g. to configure roles, users, caching etc?

Sorry if I'm being thick but I can't seem to find an example in the docs or wiki

cheers

Adrian

samuel_penn
Champ in-the-making
Champ in-the-making
So what URL do I now use to access the web site through? And is there a URL for managing the dynamic delivery runtime e.g. to configure roles, users, caching etc?

You don't, which in my mind is a weakness in the way things work. All this provides you with is a server which stores the content, and it leaves it up to you how you get that content to the user.

The way we've done it, is to configure a new host config in the Tomcat server.xml which serves the site out of CIFS. For example:


<Host name="127.0.0.1" appBase="\\127.0.0.1\AVM\sitename\HEAD\DATA\www\avm_webapps" unpackWARs="false" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" />

Then, when you browse to "http://127.0.0.1/index.jsp" Tomcat looks in the CIFS mount, finds the ROOT folder as the root webapp, and locates the index.jsp file in there. Tomcat then displays that as normal, just as if index.jsp was sitting on your local drive.

This method is all rather self-referential, in that the CIFS mount doesn't exist until after Tomcat starts Alfresco. We used the 127.0.0.1 address because we have Apache modcache fronting it (itself listening on a public IP address).

Getting the above working on MS Windows (especially Windows 2008) was a nightmare since we had to disable Window's own file sharing as getting Tomcat to reference the "server_a" netbios name before it was activated proved troublesome. You may also need to create a user in Alfresco with the same name as the user Tomcat is running as. It's probably easier under Linux.

The JSPs themselves made calls to webscripts to make calls to Alfresco (such as running searches or pulling out page metadata).

Alternatively, you could front Alfresco with another webapp (possibly a single servlet) which pulls the content out of Alfresco (again, you could use webscripts to do this) when it's required.

There are examples on the wiki and forums, though they're not easy to find and there's not a single "This Is How You Do It" article to reference (at least, we never found one).

I hope that made some sense 🙂

Sam.