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:
As before, this effort will involve an ld, or local development, instance of Digital.Grinnell on one of my Mac workstations. Unlike my previous work, this instance will follow the guidance of a different document, specifically install-local-migrate.md.
Before beginning this process I need to get my Github environment updated by synchronizing my ISLE fork with the canonical copy. I followed this workflow to do so, like this:
Opened a zsh shell (terminal) on Digital.Grinnell production node DGDocker1 as user islandora using iTerm2 at ssh://email@example.com. Then, in that shell on the DGDocker1 host I did:
cd ~ mkdir -p migration-copy/var/www/html/sites/default/files cd migration-copydocker cp isle-apache-dg:/var/www/html/sites/default/files/. var/www/html/sites/default/files/
Note that the -p option on mkdir is critical, it will create all, or port of, the entire directory tree as-specified, if it does not already exist. The final command, docker cp..., subsequently takes advantage of this new directory tree and copies all of the Drupal .../default/files from the production container to a similar directory on the host, DGDocker1 in this case.
Login as the System Admin, that’s User 1 or the super-user in Drupal terms.
The home page at https://digital.grinnell.edu provides, in the right-hand menu bar, a Management menu with a first option to Clear cache. Click it.
The home page also provides a Quick Backup block where the default options do a great job of backing up only what’s needed. Accept all defaults and click the Backup Now button. This feature takes the site offline, makes and downloads a backup of the database (in my case it created digital.grinnell.edu-2019-08-13T15-51-20.mysql), and brings the site back online…“automagically”.
This left me with a local ~/diff-and-merge-customizations directory with sub-dirs ld and prod. The diff-and-merge operation subsequently compared the contents of these two sub-dirs, merging the differences from prod into the corresponding files found in ld. I did both the diff and merge operations using Atom.
The command and output from the first diff of the islandora_transforms was:
╰─$ cd ~/diff-and-merge-customization/ld
╰─$ diff -r islandora_transforms ../prod/islandora_transforms 1 ↵
Only in islandora_transforms: .git
diff -r islandora_transforms/WORKFLOW_to_solr.xslt ../prod/islandora_transforms/WORKFLOW_to_solr.xslt
\ No newline at end of file
So, no significant differences here. Yay!
Next, I compared the two files, one-at-a-time, using Atom and its Split Diff package. There were very few differences in foxmToSolr.xslt so it was easy to merge. I took the significant differences in the prod copy and merged them into the ld copy. I did the same with schema.xml, but it was an entirely different beast. There were 34 sections of differences, and in many cases it was not clear if our existing customizations should be merged. As a result, the changes I made in schema.xml, and some I did NOT make, will need to be carefully re-evaluated as this local migrate “test” proceeds.
At this point I’ve saved my “merged” customizations in ~/diff-and-merge-customizations/ld until Step 2a, below.
However, in my case neither of these repositories is “complete” because they are products of the install-local-new.md process, so my focus in this step will be to get these two repos in line with the Git workflow that’s being established.
Regarding the dg-isle repo…
I cloned it to my local workstation and set things up as directed with: