The Grinnell College Digital Library Application Developer's Blog
Call it The GCDLADB if you like.
Traefik and Acme.sh Instead of DNS-01 13 min read Jun 2, 2020
This post is a follow-up to Dockerized Traefik Host Using ACME DNS-01 Challenge. It introduces an alternative to the failed process that was proposed in that earlier post. Note that the following config-specific elements have been replaced below: 6 occurances of ?.grinnell.edu now say example-1.grinnell.edu, and 2 occurances of ?.info now say example-2.info. New Proposal On June 1 my colleage, Matt, suggested the following… As much as I would like to resolve the DNS-01 challenge using Traefik alone, I don’t believe it will support what we’re trying to do here. ...
Remote Connection to MA6879 2 min read Jun 2, 2020
MA6879 is the tag ID of the Mac Mini student-workstation in my Grinnell College office in Burling Library. During the COVID-19 pandemic it’s the only Mac that I have access to on campus. But the Macs here in my home office are not allowed to run Screens 4, the software that I formerly used to make remote connections between Macs. Fortunately, since the IP address of MA6879 is “static” and known (by me!), I can use built-in tools to make my screen-share and remote-control connections. ...
Oral History Transcription Workflow 14 min read Jun 1, 2020 Superseded by posts/121-new-oral-history-transcription-workflow.md
Digital.Grinnell features a fair number of transcribed digital oral histories. Most are interviews conducted with Grinnelleans as they return to campus annualy for alumni Reunion or Grinnell’s Multicultural Reunion. What follows is largely sharable “public” content lifted from a “private” GitHub repository at https://github.com/McFateM/OHScribe, the README.md and WORKFLOW.md files in particular. OHScribe! https://ohscribe.grinnell.edu Note: This link was disabled in the spring of 2020, but is working again as of July 1, 2020, on host DGDocker3. This is a Python 3 and Flask web application designed to transform oral history transcripts, presumably created using InqScribe, into XML suitable for ingest into the Islandora Oral Histories Solution Pack to populate a TRANSCRIPT datastream and its derivatives. ...
Digital.Grinnell Custom MODS Display 2 min read May 28, 2020
Digital.Grinnell has seen a lot of customization over the years, and quite a bit of it relates to how an object’s metadata, especially its MODS metadata, is displayed. My aim for the past couple of years has been to remove as much customization as possible, but I’ve found it difficult to remove features of our MODS display because those features seem to be rather popular. This is particulary true of our compound object display. Custom Compound/Child MODS Display At present, May 28, 2020, the MODS display for a typical compound/child object in Digital. ...
Simplified Testing of Traefik 2 with ACME DNS-01 Challenge 3 min read May 19, 2020
This post is a simplified and focused follow-up to Dockerized Traefik Host Using ACME DNS-01 Challenge. Simplify Today, 19-May-2020, I’m going to take a shot at simplifying my testing on dgdocker3.grinnell.edu by removing unnecessary things and consolidating as much as possible to reduce clutter in the logs and get right to the point. I’m also going to have a look to see if there are additional logs that can tell give me more detail. Everything used here, and everything that takes place here, will be found in a new directory, /opt/containers/test on DGDocker3. ...
Enhancing 'motd' with 'server-info' 2 min read May 5, 2020
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. The server-info Script You’ll find the script itself in this gist. Sample installation of the script is documented below, and the content template can be found in this gist. ...
Dockerized Traefik Host Using ACME DNS-01 Challenge 11 min read Apr 27, 2020
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. ...
Exporting, Editing, & Replacing MODS Datastreams: Technical Details 8 min read Apr 23, 2020 Superseded by posts/115-exporting-editing-replacing-mods-datastreams-updated-technical-details
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. A 5-Step Workflow This document is follow-up, with technical details, to Exporting, Editing, & Replacing MODS Datastreams, post 069, in my blog. In case you missed it, the aforementioned post was written specifically for metadata editors working on the 2020 Grinnell College Libraries review of Digital Grinnell MODS metadata. ...
Updating DG's Collection Views 3 min read Mar 17, 2020
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. So, I recommend keeping the view code in the module, but that means that when significant changes are made, like the addition of a new colleciton, the code should be updated in the database to speed things up. ...
Exporting, Editing, & Replacing MODS Datastreams 5 min read Mar 17, 2020
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. The transition to distance learning, social distancing, and more remote work at Grinnell College in the wake of the COVID-19 pandemic may afford GC Libraries an opportunity to do some overdue and necessary metadata cleaning in Digital.Grinnell. ...