Drupal

Goodbye Drupal, welcome Hugo!

15 years ago I migrated this website to the popular CMS Drupal. At first I loved Drupal, it was a nice and shiny tool for managing my content without having to deal with designing the appearance of the site. Over the years, however, I realized that running a dynamic website also has a cost, and that cost is keeping the software that drives the site up-to-date. With Drupal that cost is substantial: Security updates are constantly pouring in, and upgrading Drupal to a major new version invariably also means a major amount of work to be done. The latest upgrade to Drupal 8 in 2018, for instance, took me about two weeks to complete!

Manual teaser breaks vs. "Filtered HTML" text format

Placing the following line inside a Drupal story node's body (I guess it also works for other content types) adds a manual teaser break:

<!--break-->

This works fine when the story uses the "Full HTML" text format. It stops working, however, when the story's text format is switched to "Filtered HTML" - in that case Drupal simply ignores the manual teaser break and auto-breaks wherever it sees fit.

For Drupal 7, a bug report was submitted 8 long years ago, and the issue is still open today. I can only imagine that they didn't fix it because a workaround exists: A site admin can add <!--> to the "Filtered HTML" text format's set of allowed HTML tags.

In Drupal 8 this workaround is no longer available because in Drupal 8 the "Filtered HTML" text format unconditionally filters out all HTML comments. A few days ago I submitted another bug report on drupal.org for Drupal 8, and today I decided that I'm really not in the mood for going through all my old stories and switch those with manual teaser breaks to "Full HTML". Instead I wrote a patch that fixes the issue and that is now live on this site. If you're interested you can find the patch in the bug report referenced above.

Two bugs found in Drupal 8 Core

In the previous Drupal 8 site upgrade story, I mentioned that the link field type does not correctly render URLs with certain query strings. Example: http://www.isfdb.org/cgi-bin/title.cgi?1580 is rendered incorrectly as http://www.isfdb.org/cgi-bin/title.cgi?0=.

When I didn't receive any satisfactory answers to my plea for help on the StackExchange site "Drupal Answers", I decided to go bug hunting myself. The result: I found two bugs deep inside Drupal 8 Core! For the first bug I have submitted a new Drupal Core issue (issue 3007243). For the second bug I have contributed my analysis to the discussions of two existing Drupal Core issues (issue 2987114 and issue 1464244).

If you're interested you can hit the "Read more" button to find my detailed analysis. It's the same text that I wrote as answer on "Drupal Answers", but I'm reproducing it here to give my site a little bit more content 😀

Site upgraded to Drupal 8

After two weeks of work I have more or less completed the upgrade of this website from Drupal 7 (D7) to Drupal 8 (D8). Also part of the package is a new theme (the "Nexus" theme) because the old Drupal core theme "Garland" has not been ported over to D8. I'm not as happy with the new theme as I was with "Garland" (for instance, check out how ugly the "