Hey Allister,<br><br>I can&#39;t speak to Google SoC requirements, but your idea sounds great.&nbsp; I could see some code being written to automate setting up the environment, perhaps that could be the focus.&nbsp; I know there is a set of repetitive tasks that we go through whenever evaluating a new module or upgrading an existing one:
<br><br>1) Get the module from <a href="http://drupal.org">drupal.org</a><br>2) Stage our database and other contrib modules<br>3) Copy over the module code and enable it through the admin UI<br>4) Test expected behaviors
<br><br>A separate but somewhat related question/task/complicated activity is moving changes between environments, such as moving a discrete change from dev -&gt; integration -&gt; test -&gt; production.&nbsp; There is a module called importexportapi that does some of this, but no real complete solution.&nbsp; Perhaps your project could include a methodology + utility to allow us to hot deploy drupal changes to a prod environment.
<br><br>Kevin<br><br><br><div><span class="gmail_quote">On 3/19/07, <b class="gmail_sendername">Allister Beharry</b> &lt;<a href="mailto:allister.beharry@gmail.com">allister.beharry@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks for the heads-up Robert. I&#39;ve been reading the SoC project<br>proposal for automating testing of patches, and also your posts on a<br>performance and scalability testing environment for Drupal. Virtual<br>machine images have been posited as part of an solution for both. So
<br>I&#39;m going to channel Laskey wrt my original idea and propose a better<br>one. (I&#39;m just punching this out before I race to class so it&#39;s gonna<br>be brief/fragmented with typos. I&#39;ll elaborate further when I get
<br>back.)<br><br>A key requirement of automated testing of Drupal is the ability to<br>create a Drupal site with a specific configuration. In the case of<br>unit testing patches and code and also regression testing, the Drupal
<br>site must be running specfic versions of core and module code. Now<br>automating tests is one thing but at the end-of-the day a human will<br>have to be able to eyeball a Drupal site with specific versions of<br>core and module code. There needs to be an automated way for a tester
<br>to create a complete Drupal sit by simply specifiying what code<br>versions he/she wants running<br><br>For performance and scalability testing,a human tester will want to<br>vary things like choice of web server - Apache, lightpd, IIS - choice
<br>of db - MySQL, PostgreSQL - PHP configuration - mod_pho, FastCGI, PHP<br>enhancements like APC, Zend optimizer, reverse proxies, as well as<br>varying load parameters for the Drupal site as you mentioned - number<br>of core/contrib modules, number of databases, memcache, database
<br>topography, so on.<br>You&#39;ll also need to populate the db with sample content and user<br>account. For testing on Amazon EC you&#39;d need an AMI image<br><br>What is needed is some kind of interface or configuration script that
<br>a tester can use to quickly generate a Drupal site configured with<br>these parameters.&nbsp;&nbsp;The script interpreter would take a configuration<br>script and a designated target, and spit out:<br>1. A ready to run tarball with drupal 
settings.php + php.ini +<br>database script&nbsp;&nbsp;thatcan be immediately deployed to an existing web +<br>database server setup<br>2. A virtual machine image in either VMWare or Xen or AMI format.<br><br>Well it sounds kind of ambitious, but even if done on a scaled back
<br>way, could have applications well outside Drupal. What do you think?<br><br>Allister.<br><br>On 19/03/07, Robert Douglass &lt;<a href="mailto:rob@robshouse.net">rob@robshouse.net</a>&gt; wrote:<br>&gt; Allister,<br>&gt;
<br>&gt; before I discuss your idea, it should be noted that you can&#39;t propose a<br>&gt; GSoC project which doesn&#39;t produce code. As you describe it, your idea<br>&gt; is mostly a task for a sysadmin and doesn&#39;t produce code, therefore
<br>&gt; wouldn&#39;t be eligible for the program.<br>&gt;<br>&gt; Your idea, however, is very good. I had envisioned a similar use of<br>&gt; virtual images here: <a href="http://groups.drupal.org/node/2742">http://groups.drupal.org/node/2742
</a> The problem with<br>&gt; doing my idea as GSoC is that it is more than one person could<br>&gt; reasonably manage, I think, and is dependent on infrastructure that<br>&gt; we&#39;re not in a position to provide.<br>&gt;
<br>&gt; I think what is needed is some brainstorming that combines your software<br>&gt; appliance with performance, scalability and regression testing. Please<br>&gt; chew on these ideas and come up with an alternate proposal. We&#39;d love to
<br>&gt; have you apply to GSoC with a Drupal project.<br>&gt;<br>&gt; cheers,<br>&gt;<br>&gt; Robert<br>&gt;<br>&gt; Allister Beharry wrote:<br>&gt; &gt; Hello all,<br>&gt; &gt; I&#39;ll be participating in SoC 07 and I&#39;d appreciate it if I can get
<br>&gt; &gt; some feedback on my idea for a project with Drupal. Here is the<br>&gt; &gt; synopsis:<br>&gt; &gt;<br>&gt; &gt; My project idea for SoC 2007 is a Drupal software appliance – a<br>&gt; &gt; self-contained virtual image consisting of a minimal Linux
<br>&gt; &gt; environment, a LAMP stack, and Drupal 5.1&nbsp;&nbsp;– which can be distributed<br>&gt; &gt; as a bootable LiveCD or virtual machine image which can be run on<br>&gt; &gt; virtualization software like VMware Player or MS Virtual PC.
<br>&gt; &gt;<br>&gt; &gt; At ~50Mb or less, a Drupal appliance is a perfect way for potential<br>&gt; &gt; users with no system administration experience to evaluate Drupal.<br>&gt; &gt; Advocacy for Drupal can be extended by distributing the Live CD with
<br>&gt; &gt; magazines and in trade shows. Drupal companies and consultants can<br>&gt; &gt; rapidly prototype and demonstrate a Drupal a solution to their clients<br>&gt; &gt; starting with the base appliance image. Drupal admins can easily test
<br>&gt; &gt; module patches before deployment to live sites. The virtual machine<br>&gt; &gt; image can also be part of an automated testing framework by utilizing<br>&gt; &gt; the scripting capabilities of virtualization software like VMware
<br>&gt; &gt; Server.<br>&gt; &gt;<br>&gt; &gt; This project can build on existing LiveDistro images from Knoppix or<br>&gt; &gt; Damn Small Linux, and virtual appliance images like those from Virtual<br>&gt; &gt; Appliance (
<a href="http://virtualappliances.net/products/lamp/">http://virtualappliances.net/products/lamp/</a>). The main<br>&gt; &gt; tasks will be:<br>&gt; &gt; 1.Collecting requirements from the Drupal community;<br>&gt; &gt; 2.Building
 the target environment;<br>&gt; &gt; 3.Installing and integrating Drupal and necessary modules;<br>&gt; &gt; 4.Comprehensive testing of the entire appliance;<br>&gt; &gt; 5.Coding hooks in the virtualization software for use of the appliance
<br>&gt; &gt; by automated testing tools;<br>&gt; &gt; 6.Promotion and obtaining distribution channels for the release of the<br>&gt; &gt; appliance.<br>&gt; &gt;<br>&gt; &gt; Thanks a lot.<br>&gt; &gt; Allister<br>&gt; &gt;
<br>&gt;<br>&gt;<br>&gt; --<br>&gt; * * * * *<br>&gt; Lullabot&#39;s First Ever Advanced Workshops Are Here!<br>&gt; Drupal API &amp; Module Building - Advanced Drupal Themeing<br>&gt; April 9th-13th - Providence, RI<br>&gt; Early Bird Discounts Available Now
<br>&gt; <a href="http://www.lullabot.com/training">http://www.lullabot.com/training</a><br>&gt; * * * * *<br>&gt;<br>&gt;<br></blockquote></div><br>