Attention: On 21-May-2020 this optional, but recommended, sixth step was added to the workflow that is documented in Exporting, Editing, & Replacing MODS Datastreams and Exporting, Editing, & Replacing MODS Datastreams: Technical Details. This addtional workflow step comes in the form of a new Drush command: islandora_mods_post_processing, an addition to my previous work in islandora_mods_via_twig.

Purpose

Many of the objects in Digital.Grinnell are “shared” between two or more collections. For example, grinnell:10361 can be found in both the “Social Justice” and “Student Scholarship” collections.

This step in the workflow is designed to account for all of an object’s “duplicate” MODS record exports, no matter which collection(s) they appear in. The intent is to make the “duplicates” easy to recognize so that editors don’t spend time modifying the same record more than once.

Recap: The Original 5-Step Workflow

This document is a follow-up and additon, with technical details, to Exporting, Editing, & Replacing MODS Datastreams: Technical Details, post 070, in my blog. As such, it is NOT necessary for metadata editors working on the 2020 Grinnell College Libraries review of Digital Grinnell MODS metadata to implement this step, but this document may help them better understand the process as a whole.

Attention: This document uses a shorthand ./ in place of the frequently referenced //STORAGE/LIBRARY/ALLSTAFF/DG-Metadata-Review-2020-r1/ directory. For example, ./social-justice is equivalent to the Social Justice collection sub-directory at //STORAGE/LIBRARY/ALLSTAFF/DG-Metadata-Review-2020-r1/social-justice.

Briefly, the initial five steps in this workflow are:

  1. Export of all grinnell:* MODS datastreams using drush islandora_datastream_export. This step, last performed on April 14, 2020, was responsible for creating all of the grinnell_<PID>_MODS.xml exports found in ./<collection-PID>.

  2. Execute my Map-MODS-to-MASTER Python 3 script on iMac MA8660 to create a mods.tsv file for each collection, along with associated grinnell_<PID>_MODS.log and grinnell_<PID>_MODS.remainder files for each object. The resultant ./<collection-PID>/mods.tsv files are tab-seperated-value (.tsv) files, and they are key to this process.

  3. Edit the MODS .tsv files. Refer Exporting, Editing, & Replacing MODS Datastreams for details and guidance.

  4. Use drush islandora_mods_via_twig in each ready-for-update collection to generate new .xml MODS datastream files. For a specified collection, this command will find and read the ./<collection-PID>/mods-imvt.tsv and create one ./<collection-PID>/ready-for-datastream-replace/grinnell_<PID>_MODS.xml file for each object.

  5. Execute the drush islandora_datastream_replace command once for each collection. This command will process each ./<collection-PID>/ready-for-datastream-replace/grinnell_<PID>_MODS.xml file and replace the corresponding object’s MODS datastream with the contents of the .xml file. The digital_grinnell branch version of the islandora_datastream_replace command also performs an implicit update of the object’s “Title”, a transform of the new MODS to DC (Dublin Core), and a re-indexing of the new metadata in Solr.

Step 6 - Islandora MODS post-processing

This is an optional, but recommended, step at the end of the workflow, and it is intended for use by a system admin, presumably the same person who executed steps 4 and 5. The process calls for running a new Drush command inside the Apache container on the Digital.Grinnell host.

To process a collection after completion of steps 4 and 5, all that’s required is running drush islandora_mods_post_processing. Running that command with the --help option produces:

[islandora@dgdocker1 ~]$ docker exec -it isle-apache-dg bash
root@122092fe8182:/# cd /var/www/html/sites/default/
root@122092fe8182:/var/www/html/sites/default# drush -u 1 islandora_mods_post_processing --help
Find a collection's ./ready-for-datastream-replace/*.used files and comment out found PIDs from all *.tsv files.

Examples:
  drush -u 1 islandora_mods_post_processing social-justice  Process ../social-justice/ready-for-database-replace/*.used files.

Arguments:
  collection                                                The name of the collection to be examined for *.used files.  Defaults to "social-justice".

Aliases: impp

So, my command sequence to run islandora_mods_post_processing for the “Social Justice” collection, as an example, was:

[islandora@dgdocker1 ~]$ docker exec -it isle-apache-dg bash
root@122092fe8182:/# cd /var/www/html/sites/default/
root@122092fe8182:/var/www/html/sites/default# drush -u 1 islandora_mods_post_processing social-justice

Process Details

The islandora_mods_post_processing command does the following:

  1. Builds a list of all the object PIDs that have successfully passed through steps 1 through 5, by identifying all of the *.used files in the //STORAGE/LIBRARY/ALLSTAFF/DG-Metadata-Review-2020-r1/<target-collection> directory. Note that .used files are generated as part of Step 5 in this workflow.

  2. Builds a list of all the *.tsv files that exist in all //STORAGE/LIBRARY/ALLSTAFF/DG-Metadata-Review-2020-r1/<target-collection> sub-directories.

  3. For each object PID identified in step 1 (above), the process searches for a match at the start of each row (the first column) in each *.tsv file identifed in step 2 (above). When a match is found that PID is replaced by a hashtag-prefixed string, a “comment”. The replacement/comment string includes the hashtag, the object PID with a double colon (::), a timestamp, and the name of the collection that was processed. It will look something like this:

```
# grinnell::102 - reviewed and modified at Thu, 21 May 20 23:19:59 -0500 as part of social-justice
```

Repeat As Needed

Note that this process is designed to be repeated as often as required. Since the process modifies the PIDs that are searched for, there should be no chance of duplication since subsequent executions won’t find the same PIDs that were found previously.

Testing

I performed some preliminary tests of islandora_mods_post_processing using the “Social Justice” collection, and once those all passed I elected to try post-processing the “College Buildings” collection. Five objects in that collection passed through workflow steps 1 through 5 earlier this month, and I’m preparing to process many more “College Buildings” objects later today.

Post-Processing the “College Buildings” Collection

The input and output from post-processing the “College Buildings” collection, run from within the isle-apache-dg container, is captured here.

root@122092fe8182:/var/www/html/sites/default# drush -u 1 islandora_mods_post_processing college-buildings

Welcome to drush islandora_mods_post_processing!

The collections contain 39 .tsv files to check and modify.
Now processing the collection in: college-buildings.
Now processing PID: 'grinnell:1000', pattern: '/^grinnell:1000 *	/m'
  Checking /mnt/metadata-review/A_reingest/AA_RC_mods-imvt-test - Copy.tsv for grinnell:1000...
  Checking /mnt/metadata-review/alumni-oral-histories/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/ancient-coins/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/archives-suppressed/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/campus-collections/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/college-buildings/mods-imvt-original.tsv for grinnell:1000...
    Found grinnell:1000 in /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1000 - reviewed and modified at Fri, 22 May 20 20:12:01 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
  Checking /mnt/metadata-review/college-buildings/mods-imvt.tsv for grinnell:1000...
    Found grinnell:1000 in /mnt/metadata-review/college-buildings/mods-imvt.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1000 - reviewed and modified at Fri, 22 May 20 20:12:01 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt.tsv.
  Checking /mnt/metadata-review/college-buildings/mods.tsv for grinnell:1000...
    Found grinnell:1000 in /mnt/metadata-review/college-buildings/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1000 - reviewed and modified at Fri, 22 May 20 20:12:01 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods.tsv.
  Checking /mnt/metadata-review/college-handbooks/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/college-history/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/college-life/mods.tsv for grinnell:1000...
    Found grinnell:1000 in /mnt/metadata-review/college-life/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1000 - reviewed and modified at Fri, 22 May 20 20:12:01 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-life/mods.tsv.
  Checking /mnt/metadata-review/curricular-materials/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/digital-stories-social-justice/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/faculty-scholarship/mods-imvt.tsv for grinnell:1000...
  Checking /mnt/metadata-review/faculty-scholarship/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/faulconer/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/geology-suppressed/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/geology/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/grinnell-in-china/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/gwcc/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/jimmy-ley/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/kleinschmidt/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/pending-review/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/phpp-community/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/phpp-dcl/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/phpp-ghm/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/phpp-oral-history/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/phpp/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/physics-museum/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/postcards/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/recent-art-acquisitions/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/scholarship/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/social-gospel/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/social-justice/mods-generated-2020-Apr-18.tsv for grinnell:1000...
  Checking /mnt/metadata-review/social-justice/mods-imvt-test-original.tsv for grinnell:1000...
  Checking /mnt/metadata-review/social-justice/mods-imvt.tsv for grinnell:1000...
  Checking /mnt/metadata-review/soviet-graphic-art/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/special-collections/mods.tsv for grinnell:1000...
  Checking /mnt/metadata-review/student-scholarship/mods.tsv for grinnell:1000...
Now processing PID: 'grinnell:1030', pattern: '/^grinnell:1030 *	/m'
  Checking /mnt/metadata-review/A_reingest/AA_RC_mods-imvt-test - Copy.tsv for grinnell:1030...
  Checking /mnt/metadata-review/alumni-oral-histories/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/ancient-coins/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/archives-suppressed/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/campus-collections/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/college-buildings/mods-imvt-original.tsv for grinnell:1030...
    Found grinnell:1030 in /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1030 - reviewed and modified at Fri, 22 May 20 20:12:03 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
  Checking /mnt/metadata-review/college-buildings/mods-imvt.tsv for grinnell:1030...
    Found grinnell:1030 in /mnt/metadata-review/college-buildings/mods-imvt.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1030 - reviewed and modified at Fri, 22 May 20 20:12:03 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt.tsv.
  Checking /mnt/metadata-review/college-buildings/mods.tsv for grinnell:1030...
    Found grinnell:1030 in /mnt/metadata-review/college-buildings/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1030 - reviewed and modified at Fri, 22 May 20 20:12:03 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods.tsv.
  Checking /mnt/metadata-review/college-handbooks/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/college-history/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/college-life/mods.tsv for grinnell:1030...
    Found grinnell:1030 in /mnt/metadata-review/college-life/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::1030 - reviewed and modified at Fri, 22 May 20 20:12:03 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-life/mods.tsv.
  Checking /mnt/metadata-review/curricular-materials/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/digital-stories-social-justice/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/faculty-scholarship/mods-imvt.tsv for grinnell:1030...
  Checking /mnt/metadata-review/faculty-scholarship/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/faulconer/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/geology-suppressed/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/geology/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/grinnell-in-china/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/gwcc/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/jimmy-ley/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/kleinschmidt/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/pending-review/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/phpp-community/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/phpp-dcl/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/phpp-ghm/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/phpp-oral-history/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/phpp/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/physics-museum/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/postcards/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/recent-art-acquisitions/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/scholarship/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/social-gospel/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/social-justice/mods-generated-2020-Apr-18.tsv for grinnell:1030...
  Checking /mnt/metadata-review/social-justice/mods-imvt-test-original.tsv for grinnell:1030...
  Checking /mnt/metadata-review/social-justice/mods-imvt.tsv for grinnell:1030...
  Checking /mnt/metadata-review/soviet-graphic-art/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/special-collections/mods.tsv for grinnell:1030...
  Checking /mnt/metadata-review/student-scholarship/mods.tsv for grinnell:1030...
Now processing PID: 'grinnell:10399', pattern: '/^grinnell:10399 *	/m'
  Checking /mnt/metadata-review/A_reingest/AA_RC_mods-imvt-test - Copy.tsv for grinnell:10399...
  Checking /mnt/metadata-review/alumni-oral-histories/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/ancient-coins/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/archives-suppressed/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/campus-collections/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/college-buildings/mods-imvt-original.tsv for grinnell:10399...
    Found grinnell:10399 in /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10399 - reviewed and modified at Fri, 22 May 20 20:12:04 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
  Checking /mnt/metadata-review/college-buildings/mods-imvt.tsv for grinnell:10399...
    Found grinnell:10399 in /mnt/metadata-review/college-buildings/mods-imvt.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10399 - reviewed and modified at Fri, 22 May 20 20:12:04 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt.tsv.
  Checking /mnt/metadata-review/college-buildings/mods.tsv for grinnell:10399...
    Found grinnell:10399 in /mnt/metadata-review/college-buildings/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10399 - reviewed and modified at Fri, 22 May 20 20:12:04 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods.tsv.
  Checking /mnt/metadata-review/college-handbooks/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/college-history/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/college-life/mods.tsv for grinnell:10399...
    Found grinnell:10399 in /mnt/metadata-review/college-life/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10399 - reviewed and modified at Fri, 22 May 20 20:12:04 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-life/mods.tsv.
  Checking /mnt/metadata-review/curricular-materials/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/digital-stories-social-justice/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/faculty-scholarship/mods-imvt.tsv for grinnell:10399...
  Checking /mnt/metadata-review/faculty-scholarship/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/faulconer/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/geology-suppressed/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/geology/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/grinnell-in-china/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/gwcc/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/jimmy-ley/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/kleinschmidt/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/pending-review/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/phpp-community/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/phpp-dcl/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/phpp-ghm/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/phpp-oral-history/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/phpp/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/physics-museum/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/postcards/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/recent-art-acquisitions/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/scholarship/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/social-gospel/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/social-justice/mods-generated-2020-Apr-18.tsv for grinnell:10399...
  Checking /mnt/metadata-review/social-justice/mods-imvt-test-original.tsv for grinnell:10399...
  Checking /mnt/metadata-review/social-justice/mods-imvt.tsv for grinnell:10399...
  Checking /mnt/metadata-review/soviet-graphic-art/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/special-collections/mods.tsv for grinnell:10399...
  Checking /mnt/metadata-review/student-scholarship/mods.tsv for grinnell:10399...
Now processing PID: 'grinnell:10400', pattern: '/^grinnell:10400 *	/m'
  Checking /mnt/metadata-review/A_reingest/AA_RC_mods-imvt-test - Copy.tsv for grinnell:10400...
  Checking /mnt/metadata-review/alumni-oral-histories/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/ancient-coins/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/archives-suppressed/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/campus-collections/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/college-buildings/mods-imvt-original.tsv for grinnell:10400...
    Found grinnell:10400 in /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10400 - reviewed and modified at Fri, 22 May 20 20:12:06 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
  Checking /mnt/metadata-review/college-buildings/mods-imvt.tsv for grinnell:10400...
    Found grinnell:10400 in /mnt/metadata-review/college-buildings/mods-imvt.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10400 - reviewed and modified at Fri, 22 May 20 20:12:06 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt.tsv.
  Checking /mnt/metadata-review/college-buildings/mods.tsv for grinnell:10400...
    Found grinnell:10400 in /mnt/metadata-review/college-buildings/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10400 - reviewed and modified at Fri, 22 May 20 20:12:06 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods.tsv.
  Checking /mnt/metadata-review/college-handbooks/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/college-history/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/college-life/mods.tsv for grinnell:10400...
    Found grinnell:10400 in /mnt/metadata-review/college-life/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10400 - reviewed and modified at Fri, 22 May 20 20:12:06 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-life/mods.tsv.
  Checking /mnt/metadata-review/curricular-materials/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/digital-stories-social-justice/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/faculty-scholarship/mods-imvt.tsv for grinnell:10400...
  Checking /mnt/metadata-review/faculty-scholarship/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/faulconer/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/geology-suppressed/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/geology/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/grinnell-in-china/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/gwcc/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/jimmy-ley/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/kleinschmidt/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/pending-review/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/phpp-community/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/phpp-dcl/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/phpp-ghm/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/phpp-oral-history/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/phpp/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/physics-museum/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/postcards/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/recent-art-acquisitions/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/scholarship/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/social-gospel/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/social-justice/mods-generated-2020-Apr-18.tsv for grinnell:10400...
  Checking /mnt/metadata-review/social-justice/mods-imvt-test-original.tsv for grinnell:10400...
  Checking /mnt/metadata-review/social-justice/mods-imvt.tsv for grinnell:10400...
  Checking /mnt/metadata-review/soviet-graphic-art/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/special-collections/mods.tsv for grinnell:10400...
  Checking /mnt/metadata-review/student-scholarship/mods.tsv for grinnell:10400...
Now processing PID: 'grinnell:10401', pattern: '/^grinnell:10401 *	/m'
  Checking /mnt/metadata-review/A_reingest/AA_RC_mods-imvt-test - Copy.tsv for grinnell:10401...
  Checking /mnt/metadata-review/alumni-oral-histories/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/ancient-coins/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/archives-suppressed/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/campus-collections/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/college-buildings/mods-imvt-original.tsv for grinnell:10401...
    Found grinnell:10401 in /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10401 - reviewed and modified at Fri, 22 May 20 20:12:07 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt-original.tsv.
  Checking /mnt/metadata-review/college-buildings/mods-imvt.tsv for grinnell:10401...
    Found grinnell:10401 in /mnt/metadata-review/college-buildings/mods-imvt.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10401 - reviewed and modified at Fri, 22 May 20 20:12:07 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods-imvt.tsv.
  Checking /mnt/metadata-review/college-buildings/mods.tsv for grinnell:10401...
    Found grinnell:10401 in /mnt/metadata-review/college-buildings/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10401 - reviewed and modified at Fri, 22 May 20 20:12:07 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-buildings/mods.tsv.
  Checking /mnt/metadata-review/college-handbooks/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/college-history/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/college-life/mods.tsv for grinnell:10401...
    Found grinnell:10401 in /mnt/metadata-review/college-life/mods.tsv.
      Executed 1 replacement(s).  New fields say: '# grinnell::10401 - reviewed and modified at Fri, 22 May 20 20:12:07 -0500 as part of college-buildings 	'
    Replacement saved to /mnt/metadata-review/college-life/mods.tsv.
  Checking /mnt/metadata-review/curricular-materials/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/digital-stories-social-justice/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/faculty-scholarship/mods-imvt.tsv for grinnell:10401...
  Checking /mnt/metadata-review/faculty-scholarship/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/faulconer/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/geology-suppressed/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/geology/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/grinnell-in-china/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/gwcc/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/jimmy-ley/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/kleinschmidt/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/pending-review/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/phpp-community/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/phpp-dcl/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/phpp-ghm/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/phpp-oral-history/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/phpp/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/physics-museum/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/postcards/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/recent-art-acquisitions/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/scholarship/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/social-gospel/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/social-justice/mods-generated-2020-Apr-18.tsv for grinnell:10401...
  Checking /mnt/metadata-review/social-justice/mods-imvt-test-original.tsv for grinnell:10401...
  Checking /mnt/metadata-review/social-justice/mods-imvt.tsv for grinnell:10401...
  Checking /mnt/metadata-review/soviet-graphic-art/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/special-collections/mods.tsv for grinnell:10401...
  Checking /mnt/metadata-review/student-scholarship/mods.tsv for grinnell:10401...

drush islandora_mods_post_processing is finished!

A quick check of /mnt/metadata-review/college-life/mods.tsv, one of the changed .tsv files, shows that all is well. A repeat of the same command produced no additional changes, as expected.

And that’s a wrap. Until next time, stay safe and wash your hands! 😄