Question

I have a website that I am setting up with Version Control. We use Beanstalk with git. Now, I just got a request to add a CMS to his website, which basically is just adding a "cms" class to whatever div I want the client to be able to edit.

For our CMS, we use Pagelime, a very light CMS. But the client will get their own login to make changes and it will automatically upload those changes live via FTP.

How will that work with my Version Control set up? the files in the repository for that website will be outdated, if the client is going in and adding new content with the CMS.

Thanks!

Was it helpful?

Solution

Are you using PHP? You could use the Pagelime FTP-XML publishing system and then use the code in this GIST: https://gist.github.com/945294

It will set up Pagelime to push content to your client site using XML and not by over-writting the source code. You then use PHP (or any other language) to PULL the content into your pages.

Everything is still hosted on your FTP but your source code never gets touched!

Just make sure to never delete the "cms-assets" folder as that's where the XML, images, and docs Pagelime uploads live.

Hope that makes sense!

OTHER TIPS

Our S/FTP deployments automatically copy the files to your remote server but do not preserve a link to the hosted git repo at Beanstalk. Instead, you could deploy by cloning the Beanstalk repo to your remote server and then each time you deploy, you would issue a "git pull" from within that repo on the server to get any changes from Beanstalk.

In order to compensate for changes made by Pagelime, you'd need a couple of extra steps before and after a pull:

1) commit any changes made by pagelime by issuing the command

git commit -am "commit pagelime changes"

2) pull changes from Beanstalk to the server

git pull origin master

3) push Pagelime changes to Beanstalk

git push master

This is the simplest workflow, and does not account for conflicts that cannot be auto-resolved between Pagelime changes and changes you make and commit to Beanstalk from your development environment.

Once you have configured and/or scripted this workflow in your preferred scripting language (ruby, python, php) you can start using Beanstalk's SSH deployments instead of the S/FTP deployments. Beanstalk can then log in to your server and your script or your commands automatically each time you run a deployment.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top