<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stefano Rivera (Posts about blog)</title><link>https://stefanorivera.com/</link><description></description><atom:link href="https://stefanorivera.com/categories/blog.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2025 &lt;a href="mailto:stefano@rivera.za.net"&gt;Stefano Rivera&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
     class="cc-license-button"
     src="/assets/img/cc-by-sa-4.0.svg"&gt;&lt;/a&gt;</copyright><lastBuildDate>Mon, 10 Nov 2025 10:14:03 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Drupal Migration</title><link>https://stefanorivera.com/posts/2007/12/31/drupal-migration/</link><dc:creator>Stefano Rivera</dc:creator><description>&lt;p&gt;As should be obvious to non-feed readers, I've migrated my blog to &lt;a href="https://www.drupal.org/"&gt;Drupal&lt;/a&gt;. This fits in with my greater plan of organising myself and moving into digs this holiday. Drupal is an awesome CMS - or maybe a better description is "the &lt;em&gt;only&lt;/em&gt; decent CMS". I've set up and maintained a few drupal sites, and have been very impressed with it.&lt;/p&gt;
&lt;p&gt;I've yet to migrate all my previous blog-posts across, but by the time you see &lt;em&gt;this&lt;/em&gt; post, that'll be done. Vhata has walked this road before me (albeit from Serendipity), and I intent do follow &lt;a href="http://vhata.net/blog/2007/03/27/converting-from-serendipity-to-drupal"&gt;his advice&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the past, I mantained my &lt;a href="https://wordpress.org/"&gt;Wordpress&lt;/a&gt; blog as an &lt;a href="https://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion"&gt;SVN install&lt;/a&gt;. This allowed me to install plugins with &lt;code&gt;svn:externals&lt;/code&gt;, which made upgrades a doddle. Drupal uses CVS, so this approach wasn't an option. After months of procrastination, I investigated &lt;a href="http://wiki.bazaar.canonical.com/ConfigManager"&gt;config-manager&lt;/a&gt;. With it, I built a recipe for downloading drupal and all the modules I use with it. Then I committed this as a &lt;a href="https://code.launchpad.net/~stefanor/drupal/sr"&gt;bzr tree&lt;/a&gt;, so that I could base all my sites on a common base. To install a module, I &lt;code&gt;bzr mv modules/foo drupal/sites/all/modules/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Now to update all my drupal sites, I update my &lt;code&gt;config-manager&lt;/code&gt; recipe, and build a new master tree. Commit it to the repo, and push to launchpad. And then &lt;code&gt;bzr merge&lt;/code&gt; in all the sites. It's pretty quick and painless.&lt;/p&gt;
&lt;p&gt;For anyone who's interested, the modules I'm using are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/akismet"&gt;akismet&lt;/a&gt; - Anti-spam.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/atom"&gt;atom&lt;/a&gt; - Some people prefer to consume atom feeds&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/marksmarty"&gt;marksmarty&lt;/a&gt; - I'm a markdown fan.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/openid"&gt;openid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/openidurl"&gt;openidurl&lt;/a&gt; - To point to my  &lt;a href="http://www.siege.org/projects/phpMyID/"&gt;phpMyID&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/pathauto"&gt;pathauto&lt;/a&gt; - A drupal must, I like clean URLs.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/pingback"&gt;pingback&lt;/a&gt; - The best of the &lt;a href="https://en.wikipedia.org/wiki/Linkback"&gt;linkbacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/recaptcha"&gt;recaptcha&lt;/a&gt; - Stop bogus account creation. (i.e. more-anti-spam)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.drupal.org/project/xmlsitemap"&gt;xmlsitemap&lt;/a&gt; - Be polite to the search engines.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So far I've had to write a drupal module to &lt;a href="https://stefanorivera.com/code/amatomu"&gt;support amatomu&lt;/a&gt;, and it was a bliss. Drupal's API and code is some of the neatest PHP I've ever had to work with.&lt;/p&gt;
&lt;p&gt;I think I'll be happy here :-)&lt;/p&gt;</description><category>blog</category><category>bzr</category><category>drupal</category><category>wordpress</category><guid>http://tumbleweed.org.za/2007/12/30/drupal-migration</guid><pubDate>Sun, 30 Dec 2007 22:35:18 GMT</pubDate></item></channel></rss>