The Grinnell College Digital Library Application Developer's Blog
Building My `dg-islandora` Code Repository 4 min read Aug 16, 2019 | Updated: Nov 5, 2019 - 21:00
As promised in post 037, this post combines elements of post 021 with updated post 034 to create a “customized” local ISLE instance with features of Digital.Grinnell. In this November 2019 update I’m building the repository on my MacBook ma7053 using ISLE-1.3.0. The target of this endeavor will be a properly populated Digital.Grinnell custom Islandora code repository featuring ISLE-1.3.0 code. Process Overview I believe the process I need to engage here can be outlined like this: Repeat or follow-up on post 034. ...
Building ISLE 1.3.0 (ld) for Local Development 8 min read Aug 5, 2019 | Updated: Nov 5, 2019 - 20:38
This post, an updated (the original was written in August 2019 for ISLE-1.2.0) follow-up to a previous post is intended to chronicle my efforts to build a new ~ISLE v1.2.0~ ISLE-1.3.0, ld, or local development, instance of Digital.Grinnell on my work-issued MacBook, ma7053. Goal Statement The goal of this project is to spin up a pristine, local Islandora stack using an updated fork of the ISLE project at https://github.com/Digital-Grinnell/dg-isle, then introduce elements like the Digital Grinnell theme and custom modules like DG7. ...
Digital.Grinnell's IMI Workflow 5 min read Aug 21, 2019 | Updated: Sep 16, 2019 - 22:11
Note: The abbreviation IMI is used frequently in this post to represent the Islandora Multi-Importer, a CSV-file-driven batch ingest tool used by numerous institutions in the Islandora community. Also, while updating this post I found this gem… Diagrams in Documentation (Markdown Guide). This post is an addition to the discussion in post 028, Mounting //Storage for IMI Ingest in Digital.Grinnell which was written largely to remind me how the //Storage mount works. 😕 Unlike post 028, this post is meant for myself AND for others at Grinnell College who prepare digital objects for ingest via IMI. ...
Configuring DGDocker2 13 min read Sep 3, 2019 | Updated: Sep 11, 2019 - 10:53
My mission today is to successfully migrate the images/containers/services chronicled in post 030, “Dockerized Omeka-S: Starting Over” to Docker-ready node dgdocker2 without compromising any of the services that already run there. Pushing WMI Omeka-S to Production on dgdocker2 Grinnell’s dgdocker2 server, specifically dgdocker2.grinnell.edu with an IP address of 132.161.132.143, is a Docker-ready CentOS 7 node that’s currently supporting the following containers and configuration: ╭─root@dgdocker2 ~ ╰─# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef20d71ffea8 mcfatem/ohscribe "./boot.sh" 6 days ago Up 6 days 5000/tcp ohscribe b525f4670cd2 mariadb:latest "docker-entrypoint. ...
Omeka-S in Docksal 8 min read Aug 17, 2019 | Updated: Aug 18, 2019 - 16:57
Attention! The Docksal portion of this discussion DID NOT WORK PROPERLY so I’ve hidden it from public view. Don’t use this project with Docksal (fin commands) until further notice! git checkout -b docksal-proper mkdir -p .docksal/services/cli cp -f Dockerfile ./docksal/services/cli/Dockerfile atom . | In case you haven't seen me do this before, that last `atom .` command simply opens the entire project directory in my [Atom](https://atom.io) editing environment. ...
Migrating Digital.Grinnell (DG) to ISLE 1.2.0 (ld) for Local Development 30 min read Aug 13, 2019 | Updated: Aug 16, 2019 - 10:52
This post is a follow-up to previous post 034 where I successfully completed a “local” build of ISLE v1.2.0, but did no “customization” of that local instance. So, this post’s intent is to complete the goal stated in post 034, specifically to: The goal of this project is to spin up a pristine, local Islandora stack using an updated fork of the ISLE project at https://github.com/DigitalGrinnell/dg-isle, then introduce elements like the Digital Grinnell theme and custom modules like DG7. Once these pieces are in-place and working, I’ll begin adding other critical components as well as a robust set of data gleaned from https://digital. ...
Building Grocy in Docksal 6 min read Aug 8, 2019 | Updated: Aug 11, 2019 - 08:34
Grocy looks lika a great little PHP stack application for me. It’s aim is to help folks organize and inventory their “stuff”, with a slant toward food and groceries. I need this! Since I’m also a big fan of Docker and Docksal, naturally I wanted to spin Grocy up in one of these environments. Thankfully, the heavy lifting of getting this “Dockerized” has already been done, and that fine work is shared in GitHub at grocy/grocy-docker. So my quest last evening started with a fork of this GitHub project to SummittDweller/grocy-docker, where I’ve created a new docksal branch. ...
CanonifyURLs in Hugo 1 min read Aug 6, 2019 | Updated: Aug 6, 2019 - 21:25
I’ve been seeing a lot of .URL will be deprecated... warnings in my Hugo compilations lately, and just now figured out a slick replacement for it: canonifyURLs = true. The documentation for this parameter says… By default, all relative URLs encountered in the input are left unmodified, e.g. /css/foo.css would stay as /css/foo.css. The canonifyURLs field in your site config has a default value of false. By setting canonifyURLs to true, all relative URLs would instead be canonicalized using baseURL. For example, assuming you have baseURL = https://example. ...
Adding a LastMod Date 1 min read Aug 2, 2019 | Updated: Aug 6, 2019 - 15:02
So, Hugo supports the use of front matter “date” variables including: date, publishDate and lastmod. I won’t explain the details of each variable because the aforementioned resource has a nice, concise explanation of them all. Until recently this blog only dealt with the “date” field since I used to have Atom configured to automatically update that field for me when I save changes to a file. However, Hugo treats “date” more like the date of publication (publishDate) than the last modification (lastmod) date, so things got a little screwy if/when I edited an old post. ...
Deleting Config Items in Drupal 8 1 min read Jul 30, 2019 | Updated: Jul 31, 2019 - 22:53
None of this is my creation, but it’s too valuable to forget! So kudos to Goran Nikolovski and his blog post. The problem I ran into involved the Drupal update.php script, and an orphaned bit of configuration data. When I tried running update.php the first of 13 pending database updates kept throwing an exception telling me of a missing plugin, and that effectively killed the other 12 updates. 😦 Well, I really didn’t care that it was missing (and Drupal should not either) because the update was there to delete it, but since the update kept failing, we had ourselves an impossible loop. ...