Week Beginning 25th August 2025

I was intending to focus on setting up the Books and Borrowing versioning system on the server this week.  I’d spent quite a long time implementing the versioning system earlier in the summer, and this required massive changes to every aspect of the B&B system:  the database, the Solr index, the API, the CMS and the front-end.  I’d completed work on this on my local PC just before my summer holidays and as the team were using the website quite heavily at this time we decided to hold off with the rollout until after the summer.  This of course meant that I had to spend some time to familiarise myself with all of the updates, as it was mid-June when I last dealt with all of this.  Unfortunately, when I came to log into Stirling University’s VPN I was notified that my account had been blocked.  The B&B server is hosted at Stirling and I can’t access it without logging into the VPN so I was unable to proceed with the rollout.  I remembered from the last time this happened that I can’t simply contact Stirling’s IT people and ask for my account to be unblocked – this has to be approved by a head of subject or something like that.  Project PI Katie began this process on Monday but unfortunately I had still not been given access by the end of the week.

However, I did continue to work on some of the other outstanding B&B issues on my local PC.  I’d noticed that the version number in the footer of the updated system wasn’t getting pulled in when the site is loaded into a browser for the first time and the first page to be loaded is a standard WordPress page (e.g. the site’s homepage).  This was because the version number wasn’t getting stored as a session variable until after the page had loaded and I therefore updated the code to add a check for this.

I also investigated the issue of authors that have the same name not being differentiated in the author filter option in the search results.  For example, there are two John Lelands – John Leland (Male, born 1691, died 1766) and John Leland (Male, born c.1506, died 1552) but the filter option only lists one John Leland so it’s not possible to focus on one or the other.  This is because the filter uses the Solr field ‘afullnames’ to construct the list, and this simply joins an author’s forename and surname together to make the field.  I’ll need to update the script that generates the Solr data to deal with this.  The simplest way would be to just add dates, or possibly just birth dates for every author, but this would clutter the filter up unnecessarily.  An alternative would be for the script to only add such dates where it finds multiple authors with the same name, and in such cases it would then add dates.  So for example ‘John Leland, b.1691’ and ‘John Leland, b.c.1506’.  I’ll need to do a full check to be sure this will cover all authors – I guess there may be some that don’t have birth years.

Whilst investigating this I ran a query to find all active authors in the system that have the same name as one (or more) other authors and there are 252, which seemed quite high to me and suggests there may be some unnecessary duplicates in the system.  I exported these authors to a spreadsheet and one of the project team is going to look into this.  I can’t imagine there are two different authors called ‘Cornelius a Lapide’, for example!

Project Co-I Matt had also spotted an issue with apostrophes in the filter options.  The apostrophe in the author ‘Pierre Mathurin de L’Ecluse des Loges’ was causing the system to break when the name was selected in the filter options on the search results page.  However, other apostrophes work perfectly.  If you look at the search results for all authors with the forename ‘Pierre’ (https://borrowing.stir.ac.uk/search/0/0/0/simple/afname|pierre) the “de l’Ecluse” one is (at the time of writing) broken, but lower down we have “Pierre d’ Hancarville” and this works.  Both names appear to have ‘straight’ rather than ‘curly’ apostrophes, but looking at the data, our broken Pierre’s apostrophe has actually been encoded and is stored in the system as “'” and it is this that’s breaking things.  I’m not sure how this encoded form got into the system – possibly by pasting into the CMS from another website .  I checked the database and there are four author surnames that have this encoding, plus one forename.  I’ll fix this when I regenerate the data as part of the new version update.  I also checked the other data and there are no borrowers with this encoding.  However, there are 36 book works and 63 book editions that have this encoding so I’ll fix them too.

This issue got me thinking about apostrophes in the site.  ‘Straight’ and ‘curly’ apostrophes are different characters and both appear in the data (see for example “Pierre Joseph d’ Orléans” in the list of Pierres, which has the ‘curly’ form).  This doesn’t matter for browsing and filtering, but if the user enters an apostrophe into a search box they will only find results for the apostrophe form they entered, which will mostly be ‘straight’, but I believe Apple can make apostrophes users enter into boxes ‘curly’ on their devices.  And of course there are two different ‘curly’ apostrophes – opening and closing.  This is not a major issue as I can’t imagine many people will perform a search that includes an apostrophe, but I raised it with the team and we agreed that all apostrophes (and double quotes) in the data should be changed to their ‘straight’ forms, which I’ll also do once I regenerate the data.

Without having access to the server I didn’t want to continue with any further B&B work as I didn’t want to risk making updates locally and then losing track of them before I could replicate them online.  I also need the current data from the server and I can’t access this yet either.  I therefore moved onto other projects instead.

On Tuesday I had a meeting with Garrick Allen to discuss a new AHRC proposal he’s putting together.  I can’t say much about it here, but it was a great meeting and I’ll be involved with the project if it receives funding.  I spent a bit of time after the meeting writing up my notes and researching some related matters.  I also had an email chat with Craig Lamont about a proposal he’s putting together that I will also be involved with.

Also this week I spent some time making further updates to the Robert Fergusson online exhibition, adding in all missing images, captions and text.  The online exhibition is now publicly available and can be viewed here: https://robert-fergusson.glasgow.ac.uk/online-exhibition/.

I also provided some costings and wrote a detailed description of the place-names database tables and columns for Mícheál Ó Mainnín at QUB, who I’m hoping to work on the place-names of Armagh project with.  For the DSL I had an email conversation about the new part of speech search results filtering option that I will be developing, I responded to a query about online map development, and I fixed the old Emblems websites that had stopped working due to a server upgrade.

I spent the remainder of the week returning to work on the Anglo-Norman Dictionary.  The editor Geert informed me that a search for multiple words was giving a ‘403 Forbidden’ error.  The AND’s various search systems don’t actually work with phrases and are all based on individual words, so a search with spaces is never going to yield meaningful results, but such a scary message is not idea.  I managed to fix the issue by updating the .htaccess file to process spaces.  I also spent some time investigating a strange issue Geert had experienced with cross-references, but despite my best efforts I was unable to replicate it, and neither was Geert.  We’re just going to have to keep a look out for this and figure out what circumstance let to it happening.

I also updated the ‘view entry’ page in the content management system to add in buttons to download the cross-referenced entries as a ZIP file.  This works for the ‘from’, ‘to’ and ‘view entries that include a cross reference in their XML’ lists, finding the matching entries, accessing their XML files, adding them to a ZIP archive and then presenting it as a download to the user.  It all works very well.