Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Working with version control on a Drupal/CMS project

I was wondering how teams that develop sites using Drupal (or any other CMS) integrate version control, subversion, git or similar, into their workflow. You'd obviously want your custom code and theme files under version control but when you use a CMS such as Drupal a lot of the work consists of configuring modules and settings all of which is stored in the database.

So when you are a team of developers, how do you collaborate on a project like this? Dumping the database into a file and putting that file under version control might work I guess, but when the site is live the client is constantly adding content which makes syncing a bit problematic.

I'd love to know how others are doing this.

like image 935
Jens Ljungblad Avatar asked May 23 '10 22:05

Jens Ljungblad


People also ask

Does Drupal have version control?

Version Control API is an engine for Drupal integration with a variety of version control systems. The focus is primarily on working with canonical, server-side repositories.

Is Drupal a CSM?

Drupal is a flexible CMS based on the LAMP stack, with a modular design allowing features to be added and removed by installing and uninstalling modules, and allowing the entire look and feel of the website to be changed by installing and uninstalling themes.

Why is Drupal better than CMS?

Drupal is a highly flexible platform for digital innovation, speed of implementation, and scalability. Its supporting open-source community is like none other, and it's a wonderful thing to be a part of – you can in fact do good in the world by contributing back to open source software while you build with Drupal.

What is Drupal content management system?

Drupal is content management software. It's used to make many of the websites and applications you use every day. Drupal has great standard features, like easy content authoring, reliable performance, and excellent security.


1 Answers

You are correct that this is an issue for Drupal--version control works fine until you turn the site over to your client or open it up to users.

Your question seems like a more specific version of this one, which touched on version control in the Drupal workflow. You may find some answers there that help.

For some projects, I have exported all of the views to code, using that feature of the Views module, and I have one project where all of the blocks have been exported, as well. (Although that was a development exercise and not a customary thing to do with blocks.)

Take a look at the work that Development Seed is doing to work around this problem. They are leading the development of the Context, Features, and Spaces modules that work together to store configuration data in modules (outside of the DB) so that it can be versioned with the code.

There is a Drupal group called Packaging & Deployment for discussing the various solutions that are being developed for this issue.

like image 107
flamingLogos Avatar answered Oct 30 '22 20:10

flamingLogos