<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>bzr</title>
  <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/tags/bzr"/>
  <link rel="self" type="application/atom+xml" href="http://tumbleweed.org.za/taxonomy/term/40/atom/feed"/>
  <id>http://tumbleweed.org.za/taxonomy/term/40/atom/feed</id>
  <updated>2008-01-03T16:04:50+00:00</updated>
  <entry>
    <title>Drupal Migration</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/12/30/drupal-migration" />
    <id>http://tumbleweed.org.za/2007/12/30/drupal-migration</id>
    <published>2007-12-30T22:35:18+00:00</published>
    <updated>2008-01-03T16:04:50+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="blog" />
    <category term="bzr" />
    <category term="drupal" />
    <category term="wordpress" />
    <summary type="html"><![CDATA[<p>As should be obvious to non-feed readers, I&#8217;ve migrated my blog to <a href="http://drupal.org/">Drupal</a>. This fits in with my greater plan of organising myself and moving into digs this holiday. Drupal is an awesome <span class="caps"><span class="caps">CMS</span></span> - or maybe a better description is &#8220;the <em>only</em> decent <span class="caps"><span class="caps">CMS</span></span>&#8221;. I&#8217;ve set up and maintained a few drupal sites, and have been very impressed&nbsp;with&nbsp;it.</p>

<p>I&#8217;ve yet to migrate all my previous blog-posts across, but by the time you see <em>this</em> post, that&#8217;ll be done. Vhata has walked this road before me (albeit from Serendipity), and I intent do follow <a href="http://vhata.net/blog/2007/03/27/converting-from-serendipity-to-drupal">his advice</a>.</p>

<p>In the past, I mantained my <a href="http://www.wordpress.org/">Wordpress</a> blog as an <a href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion"><span class="caps"><span class="caps">SVN</span></span> install</a>. This allowed me to install plugins with <span class="geshifilter"><code class="geshifilter-text">svn:externals</code></span>, which made upgrades a doddle. Drupal uses <span class="caps">CVS</span>, so this approach wasn&#8217;t an option. After months of procrastination, I investigated <a href="http://bazaar-vcs.org/ConfigManager">config-manager</a>. With it, I built a recipe for downloading drupal and all the modules I use with it. Then I committed this as a <a href="https://code.launchpad.net/~stefanor/drupal/sr">bzr tree</a>, so that I could base all my sites on a common base. To install a module, I <span class="geshifilter"><code class="geshifilter-text">bzr mv modules/foo drupal/sites/all/modules/</code></span>.</p>

<p>Now to update all my drupal sites, I update my <span class="geshifilter"><code class="geshifilter-text">config-manager</code></span> recipe, and build a new master tree. Commit it to the repo, and push to launchpad. And then <span class="geshifilter"><code class="geshifilter-text">bzr merge</code></span> in all the sites. It&#8217;s pretty quick&nbsp;and&nbsp;painless.</p>

<p>For anyone who&#8217;s interested, the modules I&#8217;m&nbsp;using&nbsp;are:</p>

<ul>
<li><a href="http://drupal.org/project/akismet">akismet</a>&nbsp;-&nbsp;Anti-spam.</li>
<li><a href="http://drupal.org/project/atom">atom</a> - Some people prefer to consume&nbsp;atom&nbsp;feeds</li>
<li><a href="http://drupal.org/project/marksmarty">marksmarty</a> - I&#8217;m a&nbsp;markdown&nbsp;fan.</li>
<li><a href="http://drupal.org/project/openid">openid</a></li>
<li><a href="http://drupal.org/project/openidurl">openidurl</a> - To point to my  <a href="http://www.siege.org/projects/phpMyID/">phpMyID</a></li>
<li><a href="http://drupal.org/project/pathauto">pathauto</a> - A drupal must, I like&nbsp;clean&nbsp;URLs.</li>
<li><a href="http://drupal.org/project/pingback">pingback</a> - The best of the <a href="http://en.wikipedia.org/wiki/Linkback">linkbacks</a></li>
<li><a href="http://drupal.org/project/recaptcha">recaptcha</a> - Stop bogus account creation.&nbsp;(i.e.&nbsp;more-anti-spam)</li>
<li><a href="http://drupal.org/project/xmlsitemap">xmlsitemap</a> - Be polite to the&nbsp;search&nbsp;engines.</li>
</ul>

<p>So far I&#8217;ve had to write a drupal module to <a href="/code/amatomu">support amatomu</a>, and it was a bliss. Drupal&#8217;s <span class="caps"><span class="caps">API</span></span> and code is some of the neatest <span class="caps"><span class="caps">PHP</span></span> I&#8217;ve ever had to&nbsp;work&nbsp;with.</p>

<p>I think I&#8217;ll be happy&nbsp;here&nbsp;:-)</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>As should be obvious to non-feed readers, I&#8217;ve migrated my blog to <a href="http://drupal.org/">Drupal</a>. This fits in with my greater plan of organising myself and moving into digs this holiday. Drupal is an awesome <span class="caps">CMS</span> - or maybe a better description is &#8220;the <em>only</em> decent <span class="caps">CMS</span>&#8221;. I&#8217;ve set up and maintained a few drupal sites, and have been very impressed with&nbsp;it.</p>

<p>I&#8217;ve yet to migrate all my previous blog-posts across, but by the time you see <em>this</em> post, that&#8217;ll be done. Vhata has walked this road before me (albeit from Serendipity), and I intent do follow <a href="http://vhata.net/blog/2007/03/27/converting-from-serendipity-to-drupal">his advice</a>.</p>

<p>In the past, I mantained my <a href="http://www.wordpress.org/">Wordpress</a> blog as an <a href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion"><span class="caps">SVN</span> install</a>. This allowed me to install plugins with <code>svn:externals</code>, which made upgrades a doddle. Drupal uses CVS, so this approach wasn&#8217;t an option. After months of procrastination, I investigated <a href="http://bazaar-vcs.org/ConfigManager">config-manager</a>. With it, I built a recipe for downloading drupal and all the modules I use with it. Then I committed this as a <a href="https://code.launchpad.net/~stefanor/drupal/sr">bzr tree</a>, so that I could base all my sites on a common base. To install a module, I <code>bzr mv modules/foo drupal/sites/all/modules/</code>.</p>

<p>Now to update all my drupal sites, I update my <code>config-manager</code> recipe, and build a new master tree. Commit it to the repo, and push to launchpad. And then <code>bzr merge</code> in all the sites. It&#8217;s pretty quick and&nbsp;painless.</p>

<p>For anyone who&#8217;s interested, the modules I&#8217;m using&nbsp;are:</p>

<ul>
<li><a href="http://drupal.org/project/akismet">akismet</a> -&nbsp;Anti-spam.</li>
<li><a href="http://drupal.org/project/atom">atom</a> - Some people prefer to consume atom&nbsp;feeds</li>
<li><a href="http://drupal.org/project/marksmarty">marksmarty</a> - I&#8217;m a markdown&nbsp;fan.</li>
<li><a href="http://drupal.org/project/openid">openid</a></li>
<li><a href="http://drupal.org/project/openidurl">openidurl</a> - To point to my  <a href="http://www.siege.org/projects/phpMyID/">phpMyID</a></li>
<li><a href="http://drupal.org/project/pathauto">pathauto</a> - A drupal must, I like clean&nbsp;URLs.</li>
<li><a href="http://drupal.org/project/pingback">pingback</a> - The best of the <a href="http://en.wikipedia.org/wiki/Linkback">linkbacks</a></li>
<li><a href="http://drupal.org/project/recaptcha">recaptcha</a> - Stop bogus account creation. (i.e.&nbsp;more-anti-spam)</li>
<li><a href="http://drupal.org/project/xmlsitemap">xmlsitemap</a> - Be polite to the search&nbsp;engines.</li>
</ul>

<p>So far I&#8217;ve had to write a drupal module to <a href="/code/amatomu">support amatomu</a>, and it was a bliss. Drupal&#8217;s <span class="caps">API</span> and code is some of the neatest <span class="caps">PHP</span> I&#8217;ve ever had to work&nbsp;with.</p>

<p>I think I&#8217;ll be happy here&nbsp;:-)</p>
    ]]></content>
  </entry>
</feed>
