Week Beginning 12th February 2018

I returned to a full week of work this week, after the horribleness of last week’s flu.  I was still feeling pretty exhausted by the end of each working day, but managed to make it through the week.  I’d had several meetings scheduled for last week, and rescheduled them all for this week.  On Monday I met with Kirsteen and Brianna to discuss the website for the Romantic National Song Network.  I’d been working on some interactive stories, on timeline based, the other map based and we talked about how we were going to proceed with these.  The team seem pretty happy with how things are developing, and the next step will be to take the proof of concept that I created and add in some higher resolution images, more content and try to make the overall interface a bit larger so as to enable embedded images to be viewed more clearly.  On Tuesday I met with Faye Hammill in English Literature to discuss a project she is currently putting together with colleagues at the University of Birmingham.  I have agreed to write a technical plan for this project, although it’s still not clear exactly when the AHRC are going to replace the technical plans with their new data management plans.  We also discussed a couple of older project websites she has that are currently based at Strathclyde University but will need to be migrated to Glasgow.  The sites are currently ASP based and we’d need to migrate them to something else as we don’t support ASP here.

On Wednesday I had three meetings.  The first was with Honor Riley of The People’s Voice project.  This project launched on Thursday so we met to discuss making all of the online resources live.  This included the database of poems I had been developing, which can now be viewed here:  http://thepeoplesvoice.glasgow.ac.uk/poems/.  I spent some time on Wednesday making final tweaks to the site, and attended the project’s launch event, which lasted all day Thursday.  It was an interesting event, held at the Trades Hall in the Merchant City.  It was great to see the online resources being launched at the event, and it was also good to learn more about the subject and hear the various talks that took place.  The event concluded with a performance of some of the political songs by Bill Adair, which was excellent.

The remaining meetings I had on Wednesday were with Matthew Creasey and Megan Coyer.  Matthew has an AHRC leadership fellowship starting up soon and I’m going to help him put a project website together.  This will include an online resource, a sort of mini digital edition of some poems.  Megan wanted to discuss some potential research tools that might be used to help her in her studying of British periodicals, specifically tools that might help with annotation and note taking.  We discussed a few options and considered how a new tool might be developed, if there was a gap in the market.  Developing such a tool would not be something I’d be able to manage myself, though.  My final meeting of the week was with Stuart Gillespie on Friday.  I’d put together a website that will accompany Stuart’s recent publication, and we met to discuss some final tweaks to the website and to discuss how to handle updates to it in future years.  The website is now currently available here: http://www.nrect.glasgow.ac.uk/

Other than attending these various meetings and the launch event on Thursday, I managed to squeeze in some other work too.  I had an email conversation with Thomas Widmann of the DSL about the API that was developed for the DSL website, and I also helped Ann Ferguson to get access to the WordPress version of the DSL website that I created in November last year.  I also spent a bit of time updating all of the WordPress sites I manage, as yet another new version of WordPress had been released (the third so far this year, which is a bit ridiculous).  I’d had an email from someone at the Mitchell Library to say that some of the images on TheGlasgowStory weren’t working so I spent a small amount of time investigating and fixing this.  It turned out that some images had upper case extensions (JPG instead of jpg) and as Linux is case sensitive the images weren’t getting found.  I also had an email chat with Fraser about some of the outstanding work that needs to be done for the Linguistic DNA project.  We’re going to meet with Marc in the next few weeks to discuss this further.  Fraser also gave me access to the tagged EEBO resource, from which I will need to extract some frequency data.

I spent the remainder of the week working on the front end and API for the REELS project.  I managed to complete several new endpoints for accessing the data in the API.  The most important of these was the advanced search endpoint, which allows any combination of up to 16 different fields to be submitted in order to return results as JSON or CSV data.  I also created other endpoints that will be used for autocomplete features and lists of things, such as sources, parishes, classification codes and elements.  With all of this in place I could start working on the actual advanced search form in the front end, and although I haven’t managed to complete this yet I am making pretty good progress with it.  Hopefully I’ll have this completed before the REELS team meeting on Tuesday next week.

Week Beginning 5th February 2018

There’s not much to report from this week.  I had to head home on Friday afternoon last week as I wasn’t feeling well. Actually, I’d started to feel unwell on Thursday evening, but then foolishly struggled into work and then didn’t make it through the day.  I thought I had a bad cold, but it turned out to be flu, the like of which I have not experienced for decades.  I could barely move all weekend and although I was over the worst of it on Monday it took me many days before I was well enough to do anything at all.  I finally managed to return to work on Friday, although I was still exhausted and if I hadn’t been working from home I don’t think I would have made it through a full day.

I spent some of the day replying to emails that had mounted up whilst I’d been off sick, and rescheduling meetings that I’d had to cancel due to being off.  I also fixed an old website of mine that had stopped working when it was moved to a new server, due to some calls to PHP functions that are not supported in more recent versions of PHP.  I then made some tweaks to the poems section of The People’s Voice project website, fixing an issue whereby poems that don’t have an archive or library specified weren’t displaying publication dates either.

I then spent the rest of the day on the REELS project, adding in in an initial version of the text view of the search results.  The results page now features two tabs: ‘Map’ and ‘Text’.  If you click on the ‘Text’ tab you can access an alphabetical list of the results (just the matching results, not the ‘grey’ data).  Currently there’s no pagination of results and the links don’t lead anywhere, but it gives an idea of how the feature will work.  Clicking on the ‘map’ tab takes you back to the map.  I’m also wondering now whether I should add a ‘highlight on map’ option to the text list as already when looking down the list I spot interesting names and wonder where they actually appear on the map.  A ‘highlight’ button that then returns to the map tab and makes the corresponding circle blink or something might be handy.

Hopefully I’ll be back to full health next week and will be able to work a full week again.

Week Beginning 29th January 2018

I spent the majority of this week beginning on the implementation of the front-end for the REELS project.  I’d finished an initial version of my specification document last week and had sent it to the team for comment.  After receiving some feedback and thinking through some issues further myself, I created a slightly revised version and then set to work on the actual development.  As with other recent projects, I decided to create an API for the front-end, so that all querying, whether it comes from server-side PHP scripts or client-side JavaScript files, is handled via the same interface.  It keeps things nice and compartmentalised and ensures the data can easily be returned in different formats and by different systems now and in the future.  I based the API on the one I’d already created for the SCOSYA project, so thankfully I just had to adapt this code for the specific queries required by REELS rather than having to start from scratch.

I began with the implementation of the quick search.  This searches a variety of fields such as place-name and element.  I implemented wildcard searches for single characters using MySQL’s ‘_’ search and beginning, end and middle searches using MySQL’s ‘%’ search, and added in an exact search using double quotes too.  The API can return the results as either JSON or CSV, and with the addition of a few new indexes the queries return data pretty speedily.  I also ensured that data which doesn’t meet the criteria is included in the JSON view of the data, so that I’ll be able to add these as ‘grey spots’ on the map in addition to the actual data.

With an initial end point for the API in place I then decided to begin work on the map interface for the front-end.  As with previous projects, I decided to use Leaflet for the map, as it is a simple, lightweight library with no external dependencies that you can easily install on your own server (unlike Google Maps where everything has to get sent to Google’s servers for processing).  I set Leaflet up with an initial MapBox basemap (which I am still going to work with to improve the interface) and managed to connect the map to the API in order to display the search results.  I then split the results up into different map layers based on the place-name type, and assigned each type a different coloured dot.  Eventually I will replace these with icons, but this was a good first step.  With this in place and the legend visible it then became possible to turn on or off a particular type, for example hiding all of the settlements, or hiding all of the grey dots.  Here’s an example of the map, showing a search for ‘h_ll’ (all names with these characters somewhere in them):

I then updated the API to add in a further endpoint for retrieving the data required for the popup and updated the map to add in popups.  These are AJAX powered – none of the map markers actually includes the content of their pop-ups until the user clicks on the map marker.  At that point an AJAX request is sent and the data is retrieved in JSON format, then formatted by the script and the pop-up is displayed.  If the user clicks to open a popup a second time the system can tell that the popup is already populated and therefore a second AJAX request is not made.  Still lots to do for the project, but I feel that I’ve made really good progress this week.

In addition to REELS I worked for some other projects as well this week.  I made some further updates to the NRECT website for Stuart Gillespie, I provided some information to old colleagues in the DCC about the AHRC’s decision to drop Technical Plans, I performed some App account management duties, which involved setting up a new account for a developer who is working with MVLS, and I made a few corrections to some information on the DSL website.  I also tweaked a couple of fields in The People’s Voice database and updated the way poem titles are ordered in the front-end, basically adding a new ‘order’ field that ignores any non-alphanumeric characters.  I also spent a bit of time investigating why an old website had stopped working.  It turned out that the site (and others) had recently been moved to a new server, and the old website (written more than 15 years ago) used a couple of functions that are no longer supported.  A quick find and replace sorted the issue, but I will still need to address the problem in a couple of other old sites next week.  I had to head home at lunchtime on Friday as I was feeling unwell.