<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>migration</title><description/><link>https://kevinquillen.com</link><language>en</language><item><title>Migrating from Drupal to Astro on Cloudflare Pages</title><link>https://kevinquillen.com/migrating-from-drupal-to-astro-on-cloudflare-pages</link><guid isPermaLink="true">https://kevinquillen.com/migrating-from-drupal-to-astro-on-cloudflare-pages</guid><description>&lt;p&gt;I recently moved my personal site from Drupal to Astro on Cloudflare Pages. The decision was not driven by a technical problem or limitation with Drupal. It came down to how I want to spend my limited time and budget.&lt;/p&gt;</description><pubDate>Thu, 01 Oct 2026 12:53:18 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Drupal 9 Upgrade!</title><link>https://kevinquillen.com/drupal-9-upgrade</link><guid isPermaLink="false">330 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Drupal 9 Upgrade!&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;My site is now running on Drupal 9! The upgrade was pretty straightforward with only a few things to correct in some custom modules so they could be read and registered in Drupal 9. On deck are a half dozen client projects to bring from 8.6+ to Drupal 9. I don&apos;t expect a lot of issues there, either, despite those projects being an order of magnitude larger and functionally complex than mine. It&apos;s not about scale - it&apos;s about process.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2020-06-08T12:49:30+00:00&quot;&gt;&lt;time datetime=&quot;2020-06-08T08:49:30-04:00&quot; title=&quot;Monday, June 8, 2020 - 08:49&quot;&gt;June 8th, 2020&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Mon, 08 Jun 2020 12:49:30 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>I&apos;ve relaunched on Drupal 8.</title><link>https://kevinquillen.com/ive-relaunched-drupal-8</link><guid isPermaLink="false">313 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;I&apos;ve relaunched on Drupal 8.&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;After many, many years of running on various static site platforms, I&apos;ve relaunched my blog on Drupal 8.&lt;/p&gt;

&lt;h2&gt;Why?&lt;/h2&gt;

&lt;p&gt;After returning home from vacation in the Virgin Islands, I noticed my site had an old email address in the metadata of the site. For 5 years I never noticed this. It was really annoying to see and even harder to find where it was coming from. So I decided to make the switch.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2019-06-18T00:54:53+00:00&quot;&gt;&lt;time datetime=&quot;2019-06-17T20:54:53-04:00&quot; title=&quot;Monday, June 17, 2019 - 20:54&quot;&gt;June 17th, 2019&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Tue, 18 Jun 2019 00:54:53 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Add 301 Redirects to a Drupal Migration</title><link>https://kevinquillen.com/add-301-redirects-drupal-migration</link><guid isPermaLink="false">305 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Add 301 Redirects to a Drupal Migration&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Migrating content from one platform to another saves lots of time from doing grunt work and gets data moved fast. However, simply moving the content doesn’t mean the job is done. There are other considerations too, such as 301
redirects for example. Since we are moving content, our aliases are likely changing too. We can create 301s while migrating content in all at once.&lt;/p&gt;

&lt;p&gt;The way I like to do it is to place the following in my Migration class &lt;code&gt;complete()&lt;/code&gt; method:&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2014-07-02T08:02:00+00:00&quot;&gt;&lt;time datetime=&quot;2014-07-02T04:02:00-04:00&quot; title=&quot;Wednesday, July 2, 2014 - 04:02&quot;&gt;July 2nd, 2014&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Wed, 02 Jul 2014 08:02:00 GMT</pubDate><dc:creator>Kevin</dc:creator></item></channel></rss>