Exporting, Editing, & Replacing MODS Datastreams
· ☕ 5 min read · ✍️ Mark A. McFate
Attention: On 21-May-2020 an optional, but recommended, sixth step was added to this workflow in the form of a new Drush command: islandora_mods_post_processing, an addition to my previous work in islandora_mods_via_twig. See my new post, Islandora MODS Post Processing for complete details.

Exporting, Editing, & Replacing MODS Datastreams: Technical Details
· ☕ 14 min read · ✍️ Mark A. McFate
Attention: On 21-May-2020 an optional, but recommended, sixth step was added to this workflow in the form of a new Drush command: islandora_mods_post_processing, an addition to my previous work in islandora_mods_via_twig. See my new post, Islandora MODS Post Processing for complete details.

Enhancing 'motd' with 'server-info'
· ☕ 2 min read · ✍️ Mark A. McFate
My memory isn’t what it used to be, but I have this blog. 😄 And on the handful of CentOS and Ubuntu servers that I maintain, I have my server-info script, my replacement for motd. 😄 Requirements: mdv and figlet The server-info script/command relies on a pair of utilities, namely mdv and figlet.

Dockerized Traefik Host Using ACME DNS-01 Challenge
· ☕ 11 min read · ✍️ Mark A. McFate
This post builds on My dockerized-server Config and attempts to change what was a problematic ACME HTTP-01 or httpChallenge in Traefik and Let’s Encrypt to an ACME DNS-01 or dnsChallenge. The problem with the old HTTP-01 or httpChallenge is that it requires the creation of a valid and widely accessible “A” record in our DNS before the creation of a cert; the record has to be in place so that the Let’s Encrypt CA-server can find it to confirm that the request is valid.

Debugging SSH Login Issues
· ☕ 2 min read · ✍️ Mark A. McFate
Lately my passwordless, SSH logins to all my servers have quit working, at least they seem to have stopped working from the only accessible “work” workstation that I have at the moment, MA7053. Since our enterprise malware mitigation agent, Traps, is blocking my access to my “real” workstation, MA8660, this has become more than just a nuisance.

Updating DG's Collection Views
· ☕ 3 min read · ✍️ Mark A. McFate
Digital.Grinnell employs a custom-built Drupal “view” we call the dg7 Collection View; it’s part of the code in our custom dg7 module where all of Digital.Grinnell‘s hook implementations are also defined. Experience leads me to beleive that keeping a complex Drupal view in code is prudent, but overriding that code with a database copy of the view helps tremendously in terms of system performance.

New Blog Style and Features
· ☕ 1 min read · ✍️ Mark A. McFate
Welcome to my new blog theme/style with new features. All of the content, aka ‘posts’, from my old blog have been moved here, but there are still lots of remnants of the new theme, Zzo, lurking here. Please be patient with this new format while I work to fully implement all the features that this setup provides.

Migration to Lando
· ☕ 28 min read · ✍️ Mark A. McFate
I have ITS tickets, for seemingly simple DNS changes, that are now more than a month old, and because of that I’ve taken steps to try and do some ISLE staging work on one of my DigitalOcean droplets, namely summitt-services-droplet-01. In order to accommodate that I’ve moved nearly all of the sites and services from that droplet to my other, summitt-dweller-DO-docker.

How to Create a New GitHub Repo from an Existing Branch
· ☕ 1 min read · ✍️ Mark A. McFate
I just found a handy git/GitHub workflow in a Quora post titled “How do I create a new GitHub repository from a branch in an existing repository?". And I used it, successfully, to create a new GitHub repo for my updated Drupal 8 rendition of the Wieting Theatre’s website.

Archiving What Git Ignores
· ☕ 3 min read · ✍️ Mark A. McFate
I love git and GitHub, and I can certainly appreciate the usefullness of .gitignore, but there are times when I’d really like to move an ENTIRE project to a new home. I have in my head a process that might play out like this…