Fixed a couple of bugs from tickets, did some CSS work to clean up the Team page, fixed a bunch of badly-linked and badly-named images there, and checked and cleared a bunch of older GitHub ticket.
Continuing the work started earlier this year, which is becoming more urgent, I've tested the Potluck test db under PHP7 and confirmed it's all working as expected. So I've now started to port the changes forward to the existing dev and live databases, which were originally forked at different points in the development of the codebase. So far I've updated Maple Ridge Dev, Maple Ridge Live, VPN Dev and VPN Live, and all seems to be well. The last hurdle is the Vancouver properties db, which is a bit older and will need some care. But the problem seems to be solvable. With luck, the first transition to PHP 5.6 will just work, and then we can setEnv UVPHP_VERSION 70 in the .htaccess file and get some speed benefits from PHP 7. In the process of merging changes, I also brought a couple of good ideas into the main codebase from the VPN version.
Finished the work I started on the plane, and got two things working: first, schema building from the ODD, which incorporates prebuilding the XSLT from Schematron, and second, an ant task for validation. Then I created a Jenkins job to run the validation, and tacked on the existing consistency check task, which is a simple text-only diagnostic.
I've now added the new check to the diagnostics for incomplete sequences of images. In addition to poems which have no images at all, there are also a few poems which are listed in the diagnostics output like this:
Poem #9095 Book VI (Blackwood's Edinburgh Magazine) (expected page count: 5; actual images: 4.)
This check can't really take account of the relatively small number of cases where page numbers are not pure numbers; for instance, if the page-range is specified as:
354a-354b
or
xx-iv
it's not practical to try to figure out how many pages should be in there.
I've normalized all instances of abbreviated pages so that e.g. 227-28 becomes 227-228. But again, I can't easily do that with non-numeric pages, so there may be examples like xx-iv where only a human could really deduce that it should be xx-xxiv.
First day back, stack of stuff to catch up with.
AC wants all page-ranges to be shown in their entirety, so I ran some XQuery to generate fixes for the abbreviated ones:
let $commands :=
for $p in //table_data[@name='poems']/row
return
let $pages := $p/field[@name='po_pages']/text(),
$id := $p/field[@name='po_id']/text()
return
if (matches($pages, '^\d\d\d-\d\d$')) then
concat('UPDATE `poems` set `po_pages` = "', substring($pages, 1, 4), substring($pages, 1, 1), substring($pages, 5), '" WHERE `po_id` = "', $id, '";')
else
if (matches($pages, '^\d\d-\d$')) then
concat('UPDATE `poems` set `po_pages` = "', substring($pages, 1, 3), substring($pages, 1, 1), substring($pages, 4), '" WHERE `po_id` = "', $id, '";')
else ()
return string-join($commands, '
')
then ran the commands (after testing in dev) to fix the existing problems. Added a new test to the diagnostics for this.
My server teijenkins.hcmc.uvic.ca is also proxied as jenkins2.tei-c.org, and it needs a cert for that too. I had assumed that I would need to generate a second certificate, but actually it's easy to add a new domain to the existing cert. The VirtualHost has this:
ServerName teijenkins.hcmc.uvic.ca ServerAlias *jenkins*.tei-c.org
and all I had to do was this:
sudo certbot --apache -d teijenkins.hcmc.uvic.ca -d jenkins2.tei-c.org
and it regenerated the existing cert with the other domain added to it. This cert runs till December; it's not clear from the feedback whether it will be renewed automatically, or whether I'll have to run certbot manually to get that to happen.
Did the first four batches of corrections from HT for vol 25. There are outstanding questions for the guest editor throughout, though.