cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Deployment

robain
Champ in-the-making
Champ in-the-making
In any decent application infrastructure there is dev, staging and production at least. I didnt find how content can flow through these environments for deployment. Understand that WCM is supposed to address this but seems like that is only usable for web projects and documents under web projects dont even seem to support custom attribute atleast not out-of-the-box. So how does the deployment for regular alfresco documents other than web projects take place ? are they just exported from one environment and imported to the other? can anybody forward me to any documentation on this.

Thanks
7 REPLIES 7

pmonks
Star Contributor
Star Contributor
Alfresco WCM (as in most WCM systems) subsumes the roles of "development" and "QA" of content into a single system - the CMS.  Deployment is then used to push approved content out to a "production" environment of some kind, which is how that blessed content is delivered to the intended audience.  In fact the CMS itself is also a production system (albeit typically a back-office, in-house system), so I prefer to use the term "delivery" when referring to the system that delivers content to the audience.

The approach of using separate independent systems for "development" and "QA" of content is a throwback to the early-to-mid 1990s, when everyone developed web sites as a stack of files on disk (often a shared network file server), QAed their content on a separate file server that also had a web server configured, and then (once everything was approved) copied that content over to yet another set of servers (production) for delivery to the audience.  Starting in the mid 1990s, WCM systems started appearing on the scene and they pretty much obsoleted that approach.

Cheers,
Peter

robain
Champ in-the-making
Champ in-the-making
Lets say you have dev/qa and production. now you have your DM content on you dev that you work on and QA. so now whats the best practice to deploy that content on to production. Or is it that the DM content is never supposed to be exposed through a middle layer application? What i am thinking about basically is using alfresco as a back end and then have a java or php application talking to it and creating dynamic html. DM because it allows me to create content with custom attributes and there is a clear parent child relation that I can maintain between the contents. Is that kind of application totally not what alfresco is intended for ?

Thanks

pmonks
Star Contributor
Star Contributor
The process you're describing is best supported by the WCM functionality (via sandboxes, approval workflows, etc.).  DM exposes a much "flatter" repository - documents exist in the repository and can be edited, but there's no real separation between "blessed" versions and "work in progress" versions.  Of course you can use versioning and/or careful space configuration to emulate the same kind of thing, but that's a lot of work to emulate what WCM already does.

Regardless of whether you decide to use DM or WCM to support this process, the integration approach would be much the same - your application would interact with the Alfresco server via REST (Web Scripts).

Cheers,
Peter

unknown-user
Champ on-the-rise
Champ on-the-rise
Hi,

I am also looking for the same.

I have a bunch of images that I store in Alfresco DM which I want to publish/deploy to a remote webserver. I dont have a fulfledged web-project rather just the image files. Can you please let me know how I can use the Deployment Engine in Alfresco to do this without going through WCM?. I dont want to use WCM for this because we just need to deploy only these image files all the time.

Thanks

pmonks
Star Contributor
Star Contributor
jjacob, Alfresco 3.3 added the TransferService [1], which allows content to be transferred between Alfresco instances (typically between a R/W master and a series of R/O slaves).  It doesn't (yet) support Alfresco to Filesystem transfers though, so for now you'd be limited to deployment to another Alfresco instance.

This is planned for a future release of Alfresco, but in the meantime one possible workaround is to use CIFS or FTP combined with shell scripting to periodically copy content out of the repo to the target filesystem.

Cheers,
Peter

[1] http://wiki.alfresco.com/wiki/Transfer_Service

mrogers
Star Contributor
Star Contributor
The Deployment Engine is part of Alfresco WCM so you can't use it with a "DM" repository.

There are plans to enhance the transfer service to give it similar functionality to deploy content out of Alfresco and to a filesystem in particular,  but that's stuff for the future.

In the meantime, to take content from alfresco and copy it onto a file system is fairly trivial, and can be done in many ways.    Or the other approach you can use is to keep your images in alfresco and access them by their URL rather than putting them onto a web server's filesystem.   That's how Web Quick Start works.

unknown-user
Champ on-the-rise
Champ on-the-rise
Thanks a lot Peter and mrogers for the prompt reply.

Looking forward to the Transfer Service implementaion which works with FileSystem.

I was about to ask about the URL Addressability feature, thats when I saw the post from you, mrogers. I really like this feature and have used it in couple of my projects, but they were all accessing the content from the same web context. Now I have another app that is installed in a different environment which needs the images from Alfresco. I dont want the app to access the images stored in Alfresco as a 'guest' user. If I have to use the Ticket Authentication, can I create the Ticket at my end (Alfresco) and pass it to the app which will use it at a "later" point in time to access the image? Will that Ticket be valid by then?

I know that an authentication ticket can be acquired by making a WebService call, but that would be a change to the app that consumes the images from Alfresco.

Thanks again to both you for the prompt reply.