cancel
Showing results for 
Search instead for 
Did you mean: 

Repository Merging

jarrodwl
Champ in-the-making
Champ in-the-making
Hi guys.
I'm new to Alfresco and I'm very impressed with what I've seen to date, excellent work!!!

My question:
I'm currently evaluating many CMS' and one requirement I have is a means for supporting both a "Production CMS" and "Project(s) CMS". 

- The "Production CMS" environment will support the daily/hourly movement of files to the production servers.
- The "Project CMS" environment(s) will support projects that intend on deploying to Production run-time in the future (think holiday campaigns as an example of project).  From my perspective these environments could start as branches of production (created at a particular point in time), these branches would be coded on then merged back into "Production CMS" when there ready.

I see Alfresco being able to manage the "Production CMS Environment" through the use of "User Sandboxes" workflowing to "Staging Sandbox" then files being pushed to our Production run-time with FSR.  However, I don't see how Alfresco can meet our other requirement of a "Project CMS environment"  I haven't seen a mechanism for merging or branching repositories.

How are others in the wild accomplishing this task?

Thanks everyone,

Jarrod
1 REPLY 1

pmonks
Star Contributor
Star Contributor
The repository itself does support branching and merging, but we've held off on exposing that functionality (particularly merging) in the UI until we have the time to develop a good merge UI.  Branching is exposed in a limited fashion in the latest versions (v2.1.2+) - when creating a new Web Project you have the opportunity to use an existing Web Project as a template.  Under the covers this is accomplished by creating a branch of the original Web Project (with the idea that it's more of a fork than a branch - the two Web Projects go their separate ways and aren't ever merged).

As for how to handle your requirement, here are a couple of ideas:
  1. Collect the changes for each project in a single user sandbox and either hold off on submitting them until they're ready to be published or submit them with an effective date

  2. Use a Web Project per project and then assemble the content together into a consolidated user experience in your delivery tier

  3. Use a Web Project per project and then use the "create layer" function (v2.2+) to "mixin" the new content to your primary Web Project once it's ready for publication

  4. Investigate calling the merge APIs yourself, using whatever merge tools you're comfortable with for handling merge collisions
Cheers,
Peter