<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://groups.drupal.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Build Systems &amp; Change Management</title>
 <link>http://groups.drupal.org/change-management-systems</link>
 <description>A group for the discussion of change management and build management strategies for Drupal</description>
 <language>en</language>
<item>
 <title>What is biggest drupal project you have ever managed ? (size in man-days)</title>
 <link>http://groups.drupal.org/node/14832</link>
 <description>&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/testing-qa&quot;&gt;Testing and Quality Assurance&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/14832#comments</comments>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <group domain="http://groups.drupal.org/consulting">Consulting and Business</group>
 <group domain="http://groups.drupal.org/designers-and-information-architects">Designers and Information Architects</group>
 <group domain="http://groups.drupal.org/projectManagement">Project Management</group>
 <group domain="http://groups.drupal.org/revision-control-systems">Revision Control Systems</group>
 <group domain="http://groups.drupal.org/testing-qa">Testing and Quality Assurance</group>
 <pubDate>Fri, 12 Sep 2008 23:06:09 +0000</pubDate>
 <dc:creator>Julien Marboutin</dc:creator>
 <guid isPermaLink="false">14832 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Drupal as a Sourceforge clone?</title>
 <link>http://groups.drupal.org/node/14318</link>
 <description>&lt;p&gt;I&#039;m investigating Drupal as an internal Sourceforge alternative. I&#039;m having trouble understanding how the Project Manager works with issues and subversion repositories. Is there any GOOD documentation that explains how to the PM module/Drupal interact with repositories?&lt;/p&gt;
&lt;p&gt;I&#039;m familiar with Trac or GForge, where a project is directly tied to a specific repository and any commits you make against a specific issue are added to that ticket.&lt;/p&gt;
&lt;p&gt;I used ClearCase/ClearQuest recently, which despite its many, major flaws, is my benchmark for functionality. One prime example is linking commits to an issue/ticket so that an auditor can clearly see the software changes that were made for that issue.&lt;/p&gt;
&lt;p&gt;I created a project on my Drupal site. I also added a subversion repository in the project administration -&amp;gt; vcs repositories admin page. But I don&#039;t want to have to manually create this entry every time I create a new project. Or do I have to manually create the svn repository on the disk and then add an entry in the vcs repositories admin page?&lt;/p&gt;
&lt;p&gt;For example in GForge, I register a new project and a crontab entry automatically creates the svn repository on disk and links it to the project. Do I have to do all this manually?&lt;/p&gt;
&lt;p&gt;I&#039;m confused!&lt;/p&gt;
&lt;p&gt;Any help appreciated!&lt;br /&gt;
Thanks&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/14318#comments</comments>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Wed, 27 Aug 2008 18:33:32 +0000</pubDate>
 <dc:creator>stodge@drupal.org</dc:creator>
 <guid isPermaLink="false">14318 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Post your proposed session for DrupalCampLA 2008</title>
 <link>http://groups.drupal.org/node/14194</link>
 <description>&lt;p&gt;This is easy and quick, nothing fancy, no voting - just post your session idea (title) and your name/contact info and show up to present that day! We have sessions open from 10am-2pm each day (Saturday and Sunday) and each session should plan for 45 minutes each.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://groups.drupal.org/node/12528&quot; title=&quot;http://groups.drupal.org/node/12528&quot;&gt;http://groups.drupal.org/node/12528&lt;/a&gt; (edit wiki page)&lt;/p&gt;
&lt;p&gt;If you can&#039;t see or edit the wiki page, be sure to &lt;a href=&quot;http://groups.drupal.org/los-angeles&quot;&gt;join our group&lt;/a&gt; which may be required for editing the wiki page.
&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/zen-task-force&quot;&gt;Zen Task Force&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/14194#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/275">camp</category>
 <category domain="http://groups.drupal.org/taxonomy/term/41">DrupalCamp</category>
 <category domain="http://groups.drupal.org/taxonomy/term/107">event</category>
 <category domain="http://groups.drupal.org/taxonomy/term/469">schedule</category>
 <category domain="http://groups.drupal.org/taxonomy/term/449">sessions</category>
 <group domain="http://groups.drupal.org/bay-area">Bay Area</group>
 <group domain="http://groups.drupal.org/beginner-documentation">Beginner Documentation</group>
 <group domain="http://groups.drupal.org/benchmarking-drupal">Benchmarking Drupal</group>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <group domain="http://groups.drupal.org/coding-standards-and-performance-optimization">Coding Standards and Performance Optimization</group>
 <group domain="http://groups.drupal.org/designers-and-information-architects">Designers and Information Architects</group>
 <group domain="http://groups.drupal.org/drupal-camp">Drupal Event Organization</group>
 <group domain="http://groups.drupal.org/drupal-for-good">Drupal for Good</group>
 <group domain="http://groups.drupal.org/drupal-education">Drupal in Education</group>
 <group domain="http://groups.drupal.org/los-angeles">Los Angeles</group>
 <group domain="http://groups.drupal.org/multiuser-blogging">Multi-user blogging</group>
 <group domain="http://groups.drupal.org/southern-california">Southern California</group>
 <group domain="http://groups.drupal.org/zen-task-force">Zen Task Force</group>
 <pubDate>Fri, 22 Aug 2008 16:27:11 +0000</pubDate>
 <dc:creator>Chris Charlton</dc:creator>
 <guid isPermaLink="false">14194 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Drupalcon Szeged hosting best practices: development, staging, deployment</title>
 <link>http://groups.drupal.org/node/12860</link>
 <description>&lt;p&gt;If you are interested in participating in a panel on Drupal infrastructure, development environments, deployment, and best practices please indicate what you are interested in presenting. I am hoping to get some experts in best practices to do a tutorial.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/drupal-ide&quot;&gt;Drupal IDE&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <group domain="http://groups.drupal.org/drupal-ide">Drupal IDE</group>
 <pubDate>Wed, 02 Jul 2008 04:15:49 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">12860 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Selenium and Drupal</title>
 <link>http://groups.drupal.org/node/11186</link>
 <description>&lt;p&gt;First, for those that don&#039;t want to read the full post, here&#039;s the &quot;30-second elevator speech&quot;:&lt;br /&gt;
This post to to discuss using Seleinum with Drupal. Specifically using Maven to run the selenium tests and writing the Selenium tests in Java.&lt;br /&gt;
The example code be downloaded from the Workhabit Inc. public repository here: &lt;a href=&quot;https://svn.workhabit.com/svn/public/drupal/selenium/trunk&quot; title=&quot;https://svn.workhabit.com/svn/public/drupal/selenium/trunk&quot;&gt;https://svn.workhabit.com/svn/public/drupal/selenium/trunk&lt;/a&gt;&lt;br /&gt;
One must have the following installed to run:&lt;br /&gt;
1. Firefox&lt;br /&gt;
2. Java 1.5+&lt;br /&gt;
3. Maven&lt;br /&gt;
All 3 are easy to install and aquire. Once you download the code from the repository, you can just navigate to the directory and run:&lt;br /&gt;
&lt;code&gt;mvn -P drupal integration-test&lt;/code&gt;&lt;br /&gt;
Maven and writing tests are beyond the scope of this blog post.&lt;br /&gt;
&lt;em&gt;I&#039;m writing this up for comments, thoughts, and hopefully for others to use and/or contribute.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ok, now the long winded version:&lt;/p&gt;
&lt;p&gt;I&#039;ve been in the Java world for a bit and I&#039;m now bringing my self back into the PHP/Drupal realm.&lt;br /&gt;
With that said on my last project we had to validate ALL code with unit tests, and then we did fully functional integration tests using Selenium.&lt;/p&gt;
&lt;p&gt;The Build management tool we used was Maven ( way past the scope of discussion here ). However, what I have done is GREATLY simplified down what we used into a very short, simple, and small file which allows one to run Selenium tests out of the box. It uses Maven/Java to do the tests...but, that&#039;s neither here nor there.&lt;br /&gt;
It is available here: &lt;a href=&quot;https://svn.workhabit.com/svn/public/drupal/selenium/trunk&quot; title=&quot;https://svn.workhabit.com/svn/public/drupal/selenium/trunk&quot;&gt;https://svn.workhabit.com/svn/public/drupal/selenium/trunk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I know that there is a Selenium module for Drupal...however when I thought about this, I also felt that this was an inherit problem. This dawned on me when I read the link that there is a patch to port it to 5.x. There in lies the problem. As we move versions/etc., we&#039;re updating the testing frame-work instep with the item we&#039;re testing. E.g. PHPUnit may be at 2.3, and we can still use PHPUnit 2.3 for Drupal 4.7, 5.1, 6.x, etc. However, by tightly integrating the testing frame work into the item we are testing, I feel one is creating a cyclic-redundancy in which the end result is chaos.&lt;/p&gt;
&lt;h1&gt;Goals&lt;/h1&gt;
&lt;p&gt;My only goals of this project is 2 fold:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Give a solid base so that anyone can download the drupal-seleinum project and write tests for their drupal site.&lt;/li&gt;
&lt;li&gt;The community should have an entire suite of tests to test the Drupal installation as a base install ( I have currently started these in the com.workhabit.drupal.selenium.core package. Inside the package, it think they should be split into their subsystems, e.g. Authentication, Taxonomy, CCK, etc.).
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Why Java/Maven?&lt;/h2&gt;
&lt;p&gt;Well, there are a number of reasons; I will not list/discuss all of them here as they are not really part of this post. But on the short list; Java allows one to set break points where Selenium is running to see why a test may be failing ( it should be noted you can also do this with PHP; if you setup your IDE correct and get xdebug installed/setup correctly also).&lt;br /&gt;
Also, by using Maven, one doesn&#039;t have to worry about dependencies with the unit testing suite (versions, etc.) as Maven takes care of all of that. Java/Maven will also allow us to do more in terms of continuous-build integration. Further, writing tests in Java is not that much harder/different that writing them in PHP. The Selenium IDE gives code in many languages (HTML, PHP, Java, Ruby, etc.) so anyone should be able to create tests easily. I&#039;m hoping to write a post of how to write/add tests in Java. Most of the hard work has already been setup in the code, so all one has to do for a new test pretty much is create a new class and create an annotated java method, such as:&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;@Test&lt;br /&gt;public void myDrupalTest() {&lt;br /&gt;&amp;nbsp; BROWSER.open(&amp;quot;/path/to/my/site&amp;quot;);&lt;br /&gt;&amp;nbsp; // ....other browser test code from Selenium IDE&lt;br /&gt;&amp;nbsp; // ...Assertions&lt;br /&gt;&amp;nbsp; return;&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Also, in the coming days, I shall be adding to this suite a &quot;MockSoapServer&quot;. This will allow you to hit a webservice in point (in this case the MockSoapServer), and it will return &quot;canned&quot; results. Maven will fire up both the Selenium server AND the MockSoapServer BEFORE running the test suites. It will then create a report and take down both after the tests are run.&lt;/p&gt;
&lt;h2&gt;Environment Setup&lt;/h2&gt;
&lt;p&gt;First things first, you will need to have Maven installed on your local machine in order to use the Drupal-Seleinum tests. Installing maven is very simple and straight forward. See the &lt;a href=&quot;http://maven.apache.org/download.html&quot;&gt;Apache Maven Site&lt;/a&gt; for more information on installing Maven.&lt;/p&gt;
&lt;h2&gt;Setup your Tests&lt;/h2&gt;
&lt;p&gt;So, lets be real; Usually when we are developing, we are changing some of the default workings of Drupal; So we will need to have a some-what custom test suite for each site we develop; or at least we will be extending the tests with more/new tests.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
*EXPORT* the base Selenium maven build from the Workhabit repository.&lt;br /&gt;
&lt;code&gt;svn export https://svn.workhabit.com/svn/public/sandbox/earnest/drupal/drupal-selenium&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Update the POM (If you are unfamiliar with Maven, ignore this step)&lt;br /&gt;
You can update the POM if you want to better describe you project.
&lt;/li&gt;
&lt;li&gt;
&lt;h3&gt;Modify the &quot;setup.xml&quot;&lt;/h3&gt;
&lt;p&gt;You will notice when you download the code that there is a file called &quot;setup-example.xml&quot; in the src/test/resources folder. This file is read by the test suite and contains some general settings regarding your site. The settings are pretty self explanatory. The main ones you will need to change out of the box are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;siteRootPath&lt;/li&gt;
&lt;li&gt;siteDomain&lt;/li&gt;
&lt;li&gt;testUsername&lt;/li&gt;
&lt;li&gt;testPassword&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I will hopefully be documenting the settings further, but for now, I apologize that the documentation is a bit sparse.
&lt;/li&gt;
&lt;li&gt;Test to see that you have everything setup correctly by running a maven integration test (Note: All tests are done with the drupal plugin)&lt;br /&gt;
&lt;code&gt;mvn -P drupal integration-test&lt;/code&gt;&lt;br /&gt;
This should run the DrupalLoginTest which will bring up your Drupal site, and login a user.
&lt;/li&gt;
&lt;li&gt;Add the package to your own repository.&lt;br /&gt;
&lt;code&gt;svn add drupal-selenium &amp;amp;&amp;amp; svn commit -m &amp;quot;Adding the drupal-selenium package to my site&amp;quot;&lt;/code&gt;&lt;br /&gt;
You now have a customized maven/Selenium test suite for the project that you are working on.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/usability&quot;&gt;Usability&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/11186#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/5036">selenium</category>
 <category domain="http://groups.drupal.org/taxonomy/term/356">testing</category>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <group domain="http://groups.drupal.org/enterprise">Enterprise</group>
 <group domain="http://groups.drupal.org/testing-qa">Testing and Quality Assurance</group>
 <group domain="http://groups.drupal.org/usability">Usability</group>
 <pubDate>Sat, 03 May 2008 16:03:04 +0000</pubDate>
 <dc:creator>Souvent22@drupal.org</dc:creator>
 <guid isPermaLink="false">11186 at http://groups.drupal.org</guid>
</item>
<item>
 <title>DEADLINE FRIDAY: Include Drupal 6.x in Open Solaris</title>
 <link>http://groups.drupal.org/node/10789</link>
 <description>&lt;p&gt;If you are interested in seeing Drupal, and in particular a specific profile be included in OpenSolaris, Friday is the deadline for the next meeting.&lt;/p&gt;
&lt;p&gt;Submit your comments here:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.opensolaris.org/jive/thread.jspa;jsessionid=2A66929A74E346D56D6BD8E515979CFC?messageID=216746&amp;amp;&quot; title=&quot;http://www.opensolaris.org/jive/thread.jspa;jsessionid=2A66929A74E346D56D6BD8E515979CFC?messageID=216746&amp;amp;&quot;&gt;http://www.opensolaris.org/jive/thread.jspa;jsessionid=2A66929A74E346D56...&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/distributions&quot;&gt;Distribution profiles&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/10789#comments</comments>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <group domain="http://groups.drupal.org/distributions">Distribution profiles</group>
 <pubDate>Thu, 17 Apr 2008 15:16:10 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">10789 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Keeping Blocks in Synch</title>
 <link>http://groups.drupal.org/node/10742</link>
 <description>&lt;p&gt;Hey folks,&lt;/p&gt;
&lt;p&gt;I&#039;ve worked on a number of Drupal sites where we needed to keep multiple sites in synch, and Drupal has been a challenge to keep that way because so many options are changed through the UI - this tends to show its weakness when we want to keep the settings across all sites (don&#039;t even mention content). Moving content types and views is easy with the import/export tools, but blocks are another story. The visibility rules, Roles, and input formats all require your time and attention to detail - time you could be spending working on other features.&lt;/p&gt;
&lt;p&gt;Today I came across a very simple system for keeping blocks in synch: just move the database tables.&lt;/p&gt;
&lt;p&gt;This works well, because even if block id numbers get out of synch, you are just overwriting the entire table, so no harm done. Also, if you want to create a new block, you will always be doing so at your integration point, before you push the changes to a testing/QA/beta area and then the production area, right?&lt;/p&gt;
&lt;p&gt;Just do a mysqldump on these three tables:&lt;/p&gt;
&lt;p&gt;blocks&lt;br /&gt;
blocks_roles&lt;br /&gt;
boxes&lt;/p&gt;
&lt;p&gt;and import the resulting data into your production server. It saves you lots of time clicking checkboxes on those pesky Block visibility settings and trying to get all the weights and regions just right. You can also keep a copy of the SQL data in your revision control system, so you always have a snapshot of how your blocks looked at the time of the snapshot.&lt;/p&gt;
&lt;p&gt;There was a time when I used the Insert Block module to include blocks, and that would break blocks based on IDs, but if you really need to include blocks in the content area, please look at using regions.&lt;/p&gt;
&lt;p&gt;For panels, you might just have to move the panel data along if your site is dependent on block ids. Blocks generated by views or modules should not be so hard.&lt;/p&gt;
&lt;p&gt;What else might prevent someone from just moving these tables over? Discuss.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/10742#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/993">block</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3931">change management</category>
 <category domain="http://groups.drupal.org/taxonomy/term/4282">deployment change-management</category>
 <category domain="http://groups.drupal.org/taxonomy/term/319">magazine</category>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Tue, 15 Apr 2008 22:08:53 +0000</pubDate>
 <dc:creator>liberatr@drupal.org</dc:creator>
 <guid isPermaLink="false">10742 at http://groups.drupal.org</guid>
</item>
<item>
 <title>A Deployment Framework </title>
 <link>http://groups.drupal.org/node/9137</link>
 <description>&lt;p&gt;I have been working on a framework that attempts to address some of the issues of deploying code and data in Drupal. It is outlined here:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://heyrocker.com/drupal/content/deployment-and-change-management-framework&quot; title=&quot;http://heyrocker.com/drupal/content/deployment-and-change-management-framework&quot;&gt;http://heyrocker.com/drupal/content/deployment-and-change-management-fra...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&#039;d love to hear people&#039;s thoughts on this.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9137#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3931">change management</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1781">deployment</category>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Sat, 23 Feb 2008 20:50:57 +0000</pubDate>
 <dc:creator>heyrocker</dc:creator>
 <guid isPermaLink="false">9137 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Deployment and Change Management - The Problem</title>
 <link>http://groups.drupal.org/node/8747</link>
 <description>&lt;p&gt;Written by Heyrocker.&lt;/p&gt;
&lt;p&gt;I had been hoping to get together with people at Drupalcon this year to discuss issues surrounding deployment and change management. Unfortunately I will not be able to go. So this will have to act as my contribution to that discussion, which will hopefully carry on well beyond Boston. There are three parts - The Problem, Things That Help Now, and Some Ideas For The Future.&lt;/p&gt;
&lt;p&gt;One of the first things we tackled while putting together our Drupal architecture was workflow - both for our editorial team and our engineering team. Very quickly we knew we had a problem on our hands.&lt;br /&gt;
Our development environment is pretty typical for any large site. We have three server environments - dev, qa, and production. For us, dev is one box where every developer has a sandbox which is basically a VHost and an svn working directory. The code there connects to a local mysql database. Every developer has root on this MySQL server so we can create, trash, and share databases at will. When code is ready for testing we have a packaging script that pulls it together and pushes it to the qa server, where it is tested. This process is repeated until code is ready to go to production when it is packaged and pushed live to a series of load-balanced production web servers.&lt;br /&gt;
Editorially we had around 10 separate content management systems for various parts of the site that had been built up as needed over the years. This included things like Movable Type and phpBB as well as custom solutions. The editorial team passed Word documents around through the various phases of writing and editing, finally saving them as text and pasting them into whatever system was in place for final deployment. The plan was to move all this stuff into Drupal, taking advantage of revisioning and workflow.&lt;/p&gt;
&lt;p&gt;The problem comes when you want to deploy new functionality. If there was one thing that was nice about the old way, it is that everything was isolated. Recently we upgraded our user registration system which involved some major database munging. This was not a huge deal, we just took registration and login offline for a few hours overnight (logged in users remained logged in) and did our thing. The rest of the site went on its merry way. Obviously this doesn&#039;t fly in the new world.&lt;/p&gt;
&lt;p&gt;A great deal of Drupal&#039;s life is stored in the database. This is even more true when you&#039;re extensively using CCK, Views, and Taxonomy (and we are.) Simply deploying code is not enough to push new functionality live anymore, you need to push the database too. However you can&#039;t just replace the database every time you want to deploy new stuff - even if you refreshed QA a day or two or even a few hours before launch, you risk stomping on any new comments, logs, cache, users, etc. Drupal is constantly generating new content.&lt;/p&gt;
&lt;p&gt;Also how does the editorial team stage their content now? They can&#039;t stage it on QA, we need to be able to have pretty much free reign on that database while testing and debugging. Even if they did how would the content move live? The problem is extremely sticky and we struggled with it for a long time before coming up with a solution nobody really liked but which seems pretty standard in Drupal-land.&lt;/p&gt;
&lt;p&gt;The process for deploying code is unchanged, and works well. However where data is concerned the process is the opposite - Editorial does all their work on the live site. When necessary we refresh dev and qa with this database. In a nutshell, code moves &quot;forward&quot; and data moves &quot;backwards.&quot; In a situation where code relies on, for instance, a new content type or view or something, code is pushed forward and the changes are made by hand through the admin.&lt;/p&gt;
&lt;p&gt;This works but it is unweildy, and the more changes you&#039;re doing by hand the worse it is. We are working on a project now which will involve deploying 9 content types, perhaps twice as many views, a new taxonomy vocabulary, a full new set of pathauto settings (since we&#039;re upgrading to 2.0), and a wide variety of assorted admin changes in different areas. It also doesn&#039;t account for the fact that if something goes wrong while you&#039;re doing your final deployment, there is no easy way to roll back to square one. Hearing stuff like this makes business owners twitchy.&lt;/p&gt;
&lt;p&gt;So what can be done?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://heyrocker.com/drupal/content/deployment-and-change-management-problem&quot; title=&quot;http://heyrocker.com/drupal/content/deployment-and-change-management-problem&quot;&gt;http://heyrocker.com/drupal/content/deployment-and-change-management-pro...&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8747#comments</comments>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Fri, 08 Feb 2008 15:37:34 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">8747 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Drupalcon Tutorial: Best practices in development environments, staging, build management, and production environments</title>
 <link>http://groups.drupal.org/node/8645</link>
 <description>&lt;p&gt;Tutorial Panel, 90 minutes:&lt;/p&gt;
&lt;h2&gt;Presenters (Panelists)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Narayan Newton (OSUOSL)&lt;/li&gt;
&lt;li&gt;Milind Parikh (IBM)&lt;/li&gt;
&lt;li&gt;Sam Tresler (Advomatic)&lt;/li&gt;
&lt;li&gt;Eric Mandel (BlackMesh)&lt;/li&gt;
&lt;li&gt;Neil Giarratana (Lucidus Corporation)&lt;br /&gt;
(Note that I have only included panelists who have been involved in the conversation for this presentation. There may be others interested or with whom I have not personally interacted with; this is not meant to be a slight...just giving the list as I knew it. NG)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Track&lt;/h2&gt;
&lt;p&gt;Site Building&lt;/p&gt;
&lt;h2&gt;Session Description&lt;/h2&gt;
&lt;p&gt;Using multiple developers to build a Drupal site without stepping on each other&#039;s toes can be difficult. Marrying change management with a database-driven, content management system can be near impossible. Narayan Newton (Drupal Assocation/OSUOSL), Milind Parikh (IBM), Sam Tressler (Advomatic) and Neil Giarratana (Lucidus Corporation) will share change management best practices they have applied specifically for Drupal site implementations. You&#039;ll learn how to set up dev, test and production environments; how to simplify automated deployments; and how best to apply software tools (project management, source control, etc.) for Drupal implementations.&lt;/p&gt;
&lt;h2&gt;Agenda&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Dev/Test/Prod Configurations (including Drupal specific hosting configurations)&lt;/li&gt;
&lt;li&gt;Leveraging Source Control Management for Team Development&lt;/li&gt;
&lt;li&gt;Automated Builds&lt;/li&gt;
&lt;li&gt;Code vs. Content Migration Challenges&lt;/li&gt;
&lt;li&gt;QA Best Practices&lt;/li&gt;
&lt;li&gt;Planning and Tracking Enhancements, Upgrades and Fixes&lt;/li&gt;
&lt;li&gt;Eliminating (or Reducing) Unscheduled Downtime (High availability, replication, load balancing)&lt;/li&gt;
&lt;li&gt;Preparing for Disaster (Point in time recovery, backups, centralized configuration)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Goals&lt;/h2&gt;
&lt;p&gt;The goal of this session is to empower attendees with real-world knowledge of how other organizations have successfully managed change within Drupal environments.&lt;/p&gt;
&lt;h2&gt;Resources&lt;/h2&gt;
&lt;p&gt;No special resources required.&lt;/p&gt;
&lt;h2&gt;Updates&lt;/h2&gt;
&lt;p&gt;Did this tutorial session get recorded?  If so, could it be provided?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Mon, 04 Feb 2008 15:05:46 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">8645 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Drupalcon Boston brainstorming session?</title>
 <link>http://groups.drupal.org/node/8395</link>
 <description>&lt;p&gt;Is anyone interesting in having a brainstorming session on deployment and change/build management at Drupalcon Boston? This could either be an officially submitted proposal with an open agenda, or an unofficial get together in a side room at the conference center. It seems like a lot of us are struggling with enterprise-level deployment issues, and getting a bunch of smart and interested people in a room talking about their own solutions and brainstorming new ones would be useful for everyone. We all have our own ways of handling it and I&#039;d love to hear other people&#039;s ideas.&lt;/p&gt;
&lt;p&gt;This is obviously becoming a bigger and bigger issue for the community as Drupal gets adopted at more and more large organizations and I think there&#039;s an enormous amount of interest out there in solutions.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8395#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3931">change management</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1781">deployment</category>
 <category domain="http://groups.drupal.org/taxonomy/term/247">drupalcon</category>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Wed, 23 Jan 2008 15:07:42 +0000</pubDate>
 <dc:creator>heyrocker</dc:creator>
 <guid isPermaLink="false">8395 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Can D7 handle enterprise-level change management features?</title>
 <link>http://groups.drupal.org/node/7423</link>
 <description>&lt;p&gt;Now that Dries has concocted a business model that leverages core, I wonder if this is a good time to begin talking in earnest about making D7 into a manageable, upgradeable system with built-in change management features? Dries is one of only a few people with core commit privs in CVS, and as such, he&#039;s now perfectly positioned to listen and act on revisions to core that would make everyone&#039;s lives easier, but especially his new company&#039;s options or desires.&lt;/p&gt;
&lt;p&gt;There&#039;s a need for small changes to Drupal that allow big business to leverage it to create and manage a system while being able to upgrade that system in a live setting. We&#039;ve all seen the problems. Dries has too. Now Dries has a company and wants to begin leveraging Drupal&#039;s core to provide services to businesses, but then again, I&#039;m sure that lots of other people out here do as well.&lt;/p&gt;
&lt;p&gt;Start listing the problems, people! Post a quick comment on this thread outlining something that you&#039;ve actually run into in real life while re-publishing changes to a D5.x site. What went wrong when you last moved a set of upgraded modules from the dev server to the live server by way of the staging server? Where were the pitfalls in your last QA process? How did you get around it? If enough people start talking about this now, maybe Drupal 7 can incorporate some brilliant ideas to alleviate a few change management issues. Maybe there&#039;s some idea out there that&#039;s brilliantly simple, and just waiting to be discovered. Start talking!&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/7423#comments</comments>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Sat, 01 Dec 2007 20:46:29 +0000</pubDate>
 <dc:creator>Senpai</dc:creator>
 <guid isPermaLink="false">7423 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Why can&#039;t we just ignore the nid?</title>
 <link>http://groups.drupal.org/node/6785</link>
 <description>&lt;p&gt;We&#039;re all building sites that have functionality based upon the nid, right? Why can&#039;t we break out of that mold of doing nodeapi adjustments to certain nodes based upon a sequentially incrementing number, and try to use something like auto_nodetitle.module to trigger from?&lt;/p&gt;
&lt;p&gt;I&#039;m envisioning a scenario like the one posed by &lt;a href=&quot;http://drupal.org/user/61393&quot;&gt;jmburnz&lt;/a&gt; on &lt;a href=&quot;http://drupal.org/node/140430#comment-227293&quot; title=&quot;http://drupal.org/node/140430#comment-227293&quot;&gt;http://drupal.org/node/140430#comment-227293&lt;/a&gt; where he says:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
A fair amount of content was added to the dev site before it was branched and went live (enough to populate each site section). At times I&#039;ve needed some additional test content - that is no problem as I can just create it without worrying about what is going over on the live site.&lt;br /&gt;
We have used vids, tids &amp;amp; nids as you describe, but these were all set in stone before the site went live.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Well, kidlets, what happens when your node-&amp;gt;nid isn&#039;t the same on both the live and dev server?  How do you perform actuation on content when the users are deleting old content and re-creating new nodes during the week that you&#039;ve been rolling additional features onto your mirrored dev server?&lt;/p&gt;
&lt;p&gt;We could programmatically alter nodes that had a human-readable title &lt;em&gt;if&lt;/em&gt; that node&#039;s title was unique among all the other nodes. Sure, the uid IS unique, but its also not resettable. At all. Try this little experiment. Use Devel to create 100 random nodes for testing your newest content type. Now delete those nodes by any means necessary. Use the admin pages. Truncate the db. I don&#039;t care what you do, you&#039;ll never get those uid&#039;s back, cause the sequences table is frozen at 101, and it can&#039;t simply be reset without throwing off several other things that &lt;em&gt;rely&lt;/em&gt; on a uid that&#039;s never been used before.&lt;/p&gt;
&lt;p&gt;Now think about this. It wouldn&#039;t matter to a common user if they deleted a node, then recreated it with the same title, would it? A user doesn&#039;t freakin care what that node&#039;s number is. They think it&#039;s the same piece of content as the last one they had. It&#039;d be like creating a PDF on your computer&#039;s desktop. Throw it away, and then re-create it, and when you double-click that second PDF, it will open up, rather than throwing back a &lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php $node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nid &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;100&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;youcrazyjackass!&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; What do you mean, &quot;it&#039;s not there&quot;? &quot;I saved it again, and called it the exact same thing!!? It IS there!&quot;&lt;/p&gt;
&lt;p&gt;Having a unique element for every piece of content is a necessary evil in the CMS world. But imagine for a moment if we could merge our  dev and live databases without loosing content or changing the exact node that nodeapi needed to see in order to do it&#039;s thing? How cool would that be, eh? If I want to aim my hook_nodeapi rifle at the piece of content with a &lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php $title &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;2008 Cherry Festival&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; and that title just happens to be unique across the entire site, then nodeapi would activate itself on the &quot;2008 Cherry Festival&quot; story. Every time. No matter what db that story existed upon.&lt;/p&gt;
&lt;p&gt;No matter what version of which database was pushed upwards into testing. Or pulled downwards from live to dev. It wouldn&#039;t matter.&lt;/p&gt;
&lt;p&gt;I wonder if auto_nodetitle can accomplish this for us? I&#039;m gonna check it out. Developers, how would you handle this $node-&amp;gt;nid situation?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6785#comments</comments>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Fri, 26 Oct 2007 21:56:34 +0000</pubDate>
 <dc:creator>Senpai</dc:creator>
 <guid isPermaLink="false">6785 at http://groups.drupal.org</guid>
</item>
<item>
 <title>10 min video clip from DrupalCampLA</title>
 <link>http://groups.drupal.org/node/6303</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.bryght.com/blog/roland-tanglao/10-minutes-on-drupal-deployment-jonathan-lambert-drupalcamp-la-2007&quot; title=&quot;http://www.bryght.com/blog/roland-tanglao/10-minutes-on-drupal-deployment-jonathan-lambert-drupalcamp-la-2007&quot;&gt;http://www.bryght.com/blog/roland-tanglao/10-minutes-on-drupal-deploymen...&lt;/a&gt; has an excerpt from a really great discussion that ensued at DrupalCampLA during Firebright&#039;s dissertation on how hard it really is to properly upgrade the featureset on a Drupal site that&#039;s live and active.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/change-management-systems&quot;&gt;Build Systems &amp;amp; Change Management&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6303#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3132">build management</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1781">deployment</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1301">videocast</category>
 <group domain="http://groups.drupal.org/change-management-systems">Build Systems &amp;amp; Change Management</group>
 <pubDate>Mon, 24 Sep 2007 18:50:05 +0000</pubDate>
 <dc:creator>Senpai</dc:creator>
 <guid isPermaLink="false">6303 at http://groups.drupal.org</guid>
</item>
</channel>
</rss>
