{"id":30,"date":"2019-07-16T20:13:40","date_gmt":"2019-07-16T20:13:40","guid":{"rendered":"http:\/\/www.wiredcola.com\/wifi\/?p=30"},"modified":"2021-04-21T17:40:34","modified_gmt":"2021-04-21T17:40:34","slug":"technical-debtors-prison","status":"publish","type":"post","link":"http:\/\/www.wiredcola.com\/wifi\/2019\/07\/16\/technical-debtors-prison\/","title":{"rendered":"Technical Debtor\u2019s Prison"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">So, my friend Keith (funny story about my friends Keith&#8230;another time perhaps) heard the tale of my Drupal non-upgrade, and encouraged me to write it up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Long ago, I set up Wired Cola as a blogger.com site, and it was fine. I even pointed wiredcola.com at it. Time passed, it seemed good to move it to my own Drupal site, hosted on a provider. And it was good. I configured the setup myself, back when Drupal 4 or 5 was current, and all was well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drupal has a principle, a reasonable one, that \u201cthe drop keeps moving,\u201d which is their way of politely saying \u201cstay current or die.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Good advice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I didn\u2019t stay current.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Drupal is now on version 8, and version 6 is supported in \u201csecurity fixes only\u201d mode. I looked into migrating the site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drupal supports doing upgrades from the latest version of a major release to the next release. So there\u2019s generally an upgrade path from 5.latest to 6.anything. I think in the current versions you can fairly easily go from 6.latest to 8.anything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also along the lines, the way that upgrades worked has changed. The old model was to upgrade-in-place, more or less. You\u2019d put your site in maintenance mode, dump all the new files on top of the old file structure, run the upgrade script, and turn the back on. Voil\u00e0, you are upgraded.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">New-school Drupal now has much better, somewhat automated upgrading. But to get from old to new, you have to migrate. The procedure is all laid out for you, but the core is that you set up the new site in a new directory tree, run a module that automatically imports your old content into the new system, and then when it\u2019s definitely working, archive the old site, delete it, and copy the new site with the migrated content into the place of the old one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Easy!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s a pretty good system if you\u2019ve been prudently updating things all along. One new, hard upgrade, and then you\u2019re good, right?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drupal is built on a technology called PHP. You either know what that is (and may be recoiling in horror, or not), or there\u2019s not much point in explaining it. Suffice to say that PHP has also been evolving, and each version of Drupal has its own version requirements for PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In case it ever helps anyone in a similar situation, here\u2019s my research on the PHP version path.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drupal 5 will only run on <a href=\"https:\/\/api.drupal.org\/api\/drupal\/INSTALL.txt\/5.x\">PHP versions up to 5.2.x<\/a>; 5.3 or later won\u2019t work. Drupal 6 will work with the same versions of PHP, and <a href=\"https:\/\/www.mydropwizard.com\/blog\/what-version-php-does-drupal-6-need\">probably up to 5.5<\/a>, maybe. Depends on your modules. Drupal 7 will work on <a href=\"https:\/\/www.drupal.org\/docs\/7\/system-requirements\/php-requirements\">PHP 5.3 to 7.2<\/a>, maybe 7.3, and Drupal 8 will work on <a href=\"https:\/\/www.drupal.org\/docs\/8\/system-requirements\/php-requirements\">PHP 5.5 to 7.3<\/a>, but you really want to be on 7.x. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reader, do you see the dilemma? You need to upgrade between versions of Drupal that have a common version of PHP available, until you get to a version of PHP that Drupal 8 can run on, at which point you can finally move your site into its <a href=\"http:\/\/wheresmysammich.com\/picture\/33081\/not-even-my-final-form\/\">final form.<\/a> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Looking over that list of dependencies, I believe I need to upgrade my installation to PHP 5.2, then upgrade Drupal to 6.x, then upgrade to PHP 5.3, then migrate to Drupal 7, upgrade to PHP 7.2, then up to Drupal 8, followed by the latest version of PHP 7.2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(Astute readers will notice a living-dangerously path of PHP 5.2-Drupal 6.x-PHP 5.5-Drupal 8-PHP 7.x, and indeed that Drupal 6-to-8 migration <a href=\"https:\/\/alvinalexander.com\/drupal\/how-to-upgrade-drupal-6-website-to-drupal-8\">appears to be possible<\/a>, so point taken, this isn\u2019t a 7-step upgrade process, only 5 steps, consider me refuted!)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Looking at that made me tired, because this is a site I write for my own entertainment, and from past experience a 5-step Drupal migration is going to mean several quiet evenings staring at terminal windows, punctuated by irregular moments of loud cursing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In conclusion, I put the Drupal site into maintenance mode and used my hosting service\u2019s one-click installer to create this here host-maintained WordPress instance, and I\u2019ll revive the old site, complete with intact URLs or 301 redirects, Real Soon Now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, my friend Keith (funny story about my friends Keith&#8230;another time perhaps) heard the tale of my Drupal non-upgrade, and encouraged me to write it up. Long ago, I set up Wired Cola as a blogger.com site, and it was fine. I even pointed wiredcola.com at it. Time passed, it seemed good to move it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"_links":{"self":[{"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/comments?post=30"}],"version-history":[{"count":3,"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/posts\/30\/revisions"}],"predecessor-version":[{"id":129,"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/posts\/30\/revisions\/129"}],"wp:attachment":[{"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/media?parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/categories?post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wiredcola.com\/wifi\/wp-json\/wp\/v2\/tags?post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}