The Grinnell College Digital Library Application Developer's Blog
Call it The GCDLADB if you like.
Collaborating on Hugo Site Development 9 min read Nov 12, 2020 | Updated: Sep 27, 2021 13:42
I’ve nearly completed migration of all Grinnell College Libraries’ static sites to Azure and I’m updating this post to reflect that move. Wherever possible I’ll strike-through outdated information like this, and replace it with updated info. This post will instruct the reader to install necessary tools and engage the workflow I now use to develop and maintain a handful of Hugo static websites. The list of sites now includes both professional, those owned and operated by Grinnell College, as well as “personal” sites that I develop, maintain and host myself. ...
Debugging ISLE Local with PHPStorm 8 min read Mar 12, 2021 | Updated: Mar 17, 2021 08:39
For the past couple of years I’ve been working in Digital.Grinnell to remove as much “customization” as I can. The effort is coming along, but still, there’s a long way to go. Every now and then I come across a feature that we just can’t live without, and it’s in times like those that I turn to PHPStorm for development and testing. Unfortunately, I’ve been operating without PHPStorm in ISLE because I worried that configuring the PHPStorm debugger in a Docker environment would be a time-consuming, tall task. ...
Everything You Ever Wanted to Know About Digital.Grinnell Entities, but were Afraid to Ask 7 min read Feb 16, 2021 | Updated: Feb 17, 2021 15:12
Digital.Grinnell used to support and use “entities”, metadata-only objects that are referential in nature. Entities are best described in this Entities Solution Pack documentation. Quoting from that resource… This module allows you to add person, place, event, and organization entities to an Islandora repository. Entities are small, metadata-based objects. A number of forms and additional features are provided in this module for those building an institutional repository with Islandora. Much of the functionality for batch ingest and autocomplete (to use entities as authority objects) centres [sic] around the MADS forms provided with the module. ...
Book Ingest in Digital.Grinnell 3 min read Nov 30, 2020 | Updated: Feb 5, 2021 16:12
It’s high-time this was posted to my blog, but the canonical copy of this document can be found in smb://Storage/LIBRARY/mcfatem/DG-Book-Ingest-Workflow.md. Valid Book Datastream Structure I want to begin here by showing what I see as a “proper” working book datastream structure in Digital.Grinnell. The image below is a screen grab of the datastreams from the Grinnell College Yearbook 1961, DG object grinnell:23749: Figure 1 · Valid Book Datastreams Creating a Valid Book Structure One of the biggest problems I have encountered with ingest of books is uploading very large multi-page PDFs. ...
Git Submodule Tips 2 min read Jan 25, 2021 | Updated: Jan 27, 2021 12:10
I seem to have a never-ending struggle with git submodules. Today, I need to add some new features to one of my submodules in a non-ISLE project, but I’ve elected to post this here because this blog is relatively easy to search. I also feel fortunate to have found Mastering Git Submodules from Christophe Porteneuve. So, what I need to do now is update some submodule code, commit, and push that change back to its remote. I will also want to subsequentmly update a pair of projects that use the submodule so they are referencing the newest submodule code. ...
Debugging SSH Login Issues 3 min read May 6, 2020 | Updated: Jan 26, 2021 20:15
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. So here’s what I came up with as a process to try and determine exactly where the problems are… To Debug SSHD Issues with Key Logins From a terminal opened in the target (CentOS 7 in this example) server: ...
Changing Master to Main 2 min read Jan 25, 2021 | Updated: Jan 26, 2021 11:04
In hindsight, this really should have been post number 100 in the blog, or perhaps it should have happened even earlier. In any event it’s high-time I made this move and captured the process. In June 2020 the good folks at GitHub announced that they would begin removing references to master as a small step forward in removing divisive language in tech. The change dictates that the default branch name of future repositories should be main in place of master. ...
Adding LASIR Features to DG 1 min read Jan 12, 2021
This afternoon I finally got back to trying to implement some features of LASIR, the Liberal Arts Sprint for Institutional Repositories. The information I found initially was not what I expected to encounter, and that left me scratching my head just a bit. Fortunately, a colleague at the ICG came through with the needed information and I immediately added it to my list of key resources. You can find those resources in my OneTab at: https://www.one-tab.com/page/9OatzLo-TB6XuuizqbGrwA And that’s a… break. I hope to add some details, and more links, when I return. ...
Git Submodule Workflow in ISLE 1 min read Dec 7, 2020
In the past few days I’ve attempted to update the “staging” copy of Digital.Grinnell at https://dg-staging.grinnell.edu and learned a valuable lesson regarding workflow around Git and submodules. Specifically, I found the following resource to be most helpful: https://intellipaat.com/community/9971/git-update-submodule-to-latest-commit-on-origin In case that post ever disappers, here’s the gist of it… The git submodule update command actually tells git that you simply want your submodules to each check out the commit already mentioned in the index of the superproject. If you want to update your submodules to the most recent commit available from their remote, you’ll try this directly within the submodules. ...
Production ISLE Installation: Migrate Existing Islandora Site - with Annotations 39 min read Nov 20, 2020 | Updated: Nov 23, 2020 08:15
This post is an addendum to earlier post 092. It is intended to chronicle my efforts to complete migration of our production instance of Digital.Grinnell from ISLE v1.1 to ISLE v1.5.1 on Linux node DGDocker1.grinnell.edu. The remainder of this document is an annotated copy of Production ISLE Installation: Migrate Existing Islandora Site. Annotations, with information specific to my experience with Digital.Grinnell migration, appear in text blocks like this one. Production ISLE Installation: Migrate Existing Islandora Site Expectations: It takes an average of 2-4+ hours to read this documentation and complete this installation. ...