Week Beginning 20th January 2014

A bit of a brief post this week as I’m running short of time.  I didn’t get round to continuing my investigations of the problems getting Inkscape to run on the server for the Mapping Metaphor project as I ended up having a lot of other projects to look at and meeting to go to.  However, thinking about the issue over the weekend I think if we just provide the option to allow people to download the SVG files that might actually be sufficient – if people want to create PNGs from the SVG files then they can do this themselves using the graphics package of their choice.  I might come back to the issue of PNG creation in future, but for now I’m leaving it.

I spent most of Monday this week setting up a new website for the ‘Robert Burns Choral Settings’ project.  The site design and a bare bones structure is now in place, and I am awaiting some content from Vivien and Kirsteen now.  I also had a lot of sound files to generate and upload for the main BurnsC21 website in preparation for Burns’ Night on Saturday.

I also spent a fair amount of time working on the technical plan for Carole’s new place-name bid – mostly doing research into existing solutions and the sample data that Simon sent to me.  I created a rather extensive list of questions during the course of this research which I emailed Carole, Simon and Thomas, and I attended a meeting with them to discuss the bid on Friday.  I had an email conversation with Stevie Barratt about the Fife place-name data that is also of relevance to the new bid, as it will share the same structure (and hopefully the same underlying system) as the data for the new project.   It will be great if we can establish a system that can be used for all the place-name survey data for the whole of Scotland.

I also met with Rhian Williams to discuss the structure of the data she will be gathering for a project she is starting next week.  We went through some sample data and I helped her create an Access database that she will use whilst away doing fieldwork.

In addition, I spent a little time speaking to Peter about the server for the DSL website, access to it and also the API.

Week Beginning 11th January 2014

I spent most of this week continuing to work with the visualisations for the Mapping Metaphor project, going through the list of new features and fixes that has been built up since I first unveiled the test version of the site to the project team.  I renamed to top-level main categories as found in the side panel of the aggregate view of the diagram so they have the correct names, which I somehow managed to get wrong before.  I also updated the way dates are displayed in the ‘metaphor card’ view.  Previously the dates were rounded to decades but it was decided that this gave a somewhat false impression of accuracy.  I have now rounded the dates to half centuries – e.g. ‘First half of the 14th century’, which is a lot better.  Of course, all the dates currently used for test purposes were pulled out of thin air, but once I get some proper data things will work as required.

Those two changes were pretty easy to implement, and after getting those out of the way I dived into some more taxing updates.  Firstly, I added in facilities to rotate the diagram.  Previously the diagram loaded and the user had to option of rotating it – not so good if the category name is very long and gets cut off, or if you want to get the category you’re particularly interested in at the left with straight, easily readable text.  Now I’ve added buttons that allow users to rotate the diagram clockwise or anti-clockwise, moving 10 degrees per click.  I think it works very well and makes the diagrams much more readable.

The next thing I added was the option to focus in on one particular subcategory, showing just it and all the subcategories linked to / from it.  This view really helps when you’re looking at a category that has a huge number of connections within it (e.g. B – life).  If you’re particularly in the connections between one of the subcategories (e.g. B02 Birth) you can now click an option load the diagram with the connections to/from this subcategory without the rest of the category connections cluttering things up.  And of course you can easily return to the full category view, or navigate to another subcategory too.  It works rather nicely.  I might try and get some animation into the diagram, so the non-linked subcategories fade away and the linked categories move around the diagram to their optimal positions.  This is for sometime down the line though!

The final big thing I started to investigate this week was providing an option to export your diagram as an image file.  At the moment you can view lots of information using the diagram, but it’s not possible to save a particular view for future use, or to export an image to use in your research etc.  I wanted to add the facility to save the diagram as a nice, high-resolution PNG file.  In my naivety I had thought that converting an SVG file into a PNG file would be quite a straightforward task.  But no.  Actually, it might be straightforward with relatively simple SVG files, but ones that include so much text where the position of the text is of vital importance proved quite tricky.  Initially I had hope to accomplish this at the client side using Javascript.  I used a library called canvg to add the SVG onto an HTML5 canvas element, with the intension of then using  the HTML5 canvas.toDataURL facility to convert the canvas area to a PNG.  Unfortunately canvg failed to get the text labels properly positioned so I instead decided to try a server-side tool.

Having used ImageMagick for many years to convert images through PHP scripts, I thought this would be an ideal solution.  However, there is some issue with ImageMagick’s SVG processing capabilities, and it too managed to mess up the positioning of the text elements when generating a PNG file.  Eventually I found a very nice SVG manipulation and creation tool called inkscape that as well as providing a GUI based SVG editor also includes some handy command-line tools, including an SVG to PNG converter.  This created my test SVG file to a PNG perfectly, both on my local PC and on our server at the command-line.  Problem solved?  Unfortunately no.  While the script worked directly at the command line it refused to output a PNG file when executed via Apache within a PHP script.  The PHP script itself also worked fine at the command-line so there was some problem with permissions when running things through Apache.  Chris, our helpful server admin guy, and I spent a few frustrating hours trying to get to the bottom of this on Friday and I’m afraid to say we still haven’t found a solution.  I really hope we can figure something out next week.

Other than Mapping Metaphor stuff I spent a little time on Burns related things this week.  I had a meeting with Kirsteen and Vivien about their ‘Choral Burns’ project which is starting up this month.  I also started working on the website for this project, although there is still a lot to set up for it.

I also attended a meeting with Carole Hough, Simon Taylor and Thomas Clancy about a new AHRC bid that they are putting together.  I will be involved in the writing of the technical plan for this project in the next couple of weeks or so.

Week Beginning 6th January 2014

So here we are at the end of the first week back after the Christmas holidays.  I began this year as I ended the last one – by working on the redevelopment of the Scottish Words and Place-Names website.  I have now successfully moved all required content from the old website to the new one, and have set up a nice new interface to the glossary database.  I have also made the page design ‘resposnsive’, for the most part.  Carole, Ellen and I had a chat about the content of the discussion forum and we agreed that there wasn’t really anything in the forum that was worth keeping online – all necessary content had already fed into the glossary or appeared in other forms elsewhere such as through Facebook or Twitter.  With the forum out of the way and new input forms for words and place-names created we were ready to replace the old website with the new one, which should now be available here:


I also spent some time this week working on the redevelopment of the DSL website. This has included participating in some email correspondences with Ann and Peter, sorting out some server-level stuff with Chris McGlashan and getting to grips with the XML structure of the DSL entries, which has included thinking about how best to transform the entries into HTML.  Peter and I agreed that the API should export entries as XML (well, as XML embedded in a larger JSON file) and then the front-end would then use an XSLT stylesheet to transform this into the correct format for display.  Ann sent me a handy document detailing the major XML elements that appear in the entries and how she would like them to be displayed and hopefully it should be pretty straightforward to create an XSLT file that will be able to handle these requirements.

I attended a meeting of the newly started SAMUELS project on Tuesday morning, which was a good opportunity to hear about the project and meet the participants from Lancaster.  I’m not actually going to be involved very much in this project until the second phase begins in July, but it was still useful to hear how things will be proceeding, especially as the Lancaster team will be using the HT data exported from the MySQL database that I set up.

On Thursday I attended a project meeting for the Mapping Metaphor project, which was especially useful this time as I am getting back into the development of the visualisations now after a couple of months off the project.  Ellen had a great idea of plotting metaphor connections on a timeline to show when they were first recorded, and using the data in such a manner should be relatively easy to implement as I have had quite a bit of previous experience with both of the timeline software libraries that Ellen had been looking at (Simile and Timeglider), the former during my time working for the University Archives and the latter while investigating timelines for the Burns project.  I will be looking at setting up a metaphor timeline using one of these solutions in the next few weeks.  I also got back into working with d3 and my previous test visualisations this week, setting up a new bit of webspace to work on a proper version of the visualisations and spending a fair bit of time going through all of my test code, deleting stuff that was no longer needed and rationalising what needs to be kept.  It’s looking a lot tidier now, even though the end result still looks identical.  I also removed the ‘select time period’ slider from this version as we are no longer going to include this facility in the main visualisations – that is what the timeline will be used for instead.

Next week I aim to continue working with the mapping metaphor visualisations and the development of the new DSL website – unless anything else crops up!