Reorganizing backups. I had several backup files which had been set to --perms, which pushed read-only files up to the server, which then couldn't overwrite them later. This happened with .svn files particularly. Removed --perms, chmodded everything on the server to u+w, and then was able to do backups.
Drop-in visit -- gave a quick tour of HCMC and some of our projects.
- Page body contents now fill the space available appropriately (although I think we may be able to move the page number down a bit and get more body space).
- Page numbers are now Times.
- The journal running title has now been replaced with the article author's name.
- French abstracts have been suppressed, obviating the need for layout changes to take account of the larger typeface and smaller page on the title page of articles.
- Several code bugs have been fixed.
- Images are now rendered slightly smaller, to give more chance that two will fit on a page (depending on how big their captions are).
Drop-caps are rendering un-dropped, for some reason -- they protrude above the para rather than drop down into it. I'm still working on that one.
One of our existing documents from 1860 was found in CO 305 vol 17 (no other 1860 documents are in there), so KSW has processed the first 20-odd pages of 305/17, and we've added them to the collection, but the rest remain to be done when 1861 is being processed.
Met with EGW and did the navigation plan and Project Lite (sic) Web document for the Professional Writing site; these have now been submitted, and we're waiting for the feedback from the information architects, and for provision of the site.
Troubleshooting on MOL project took unexpected time.
Page numbers are now centred in the footer, which shows that the content region is too short, nhot the page. Still working on that.
For a couple of days now I've been trying to figure out an unusual error when trying to build PDFs. The symptom was that the process would fail to validate the XSL:FO, and therefore terminate, with a slightly different error each time, usually along the lines of [attribute] cannot have a value of "". Turns out this is a bug in the 64-bit Java vm, and can be got around by adding this to the command line in oXygen: -valid (turns off validation), or this to the formatter options in xep.xml: <option name="VALIDATE" value="false"/>. The former worked for me, but the latter did not.
JJ called up to report an access problem, which we eventually narrowed down to what looks like a rogue ACL:
- mapoflondon.uvic.ca is accessible from everywhere.
- The admin interface (lettuce port 8888) is not accessible from UVic WIFI or from wired connections in the English dept, but it IS accessible from our office, and from outside UVic (e.g. 3g phones).
I've put in a ticket to sysadmin -- waiting for responses.
The website is located at: http://pear.hcmc.uvic.ca:8081/lansdowne/site/index.xql
the Lansdowne app lives in the webapps-dev directory on Pear.
To connect to the database: see the documentation ODT.
The Website
The website is a feature-complete, sparse prototype. The site is based on a version of the FrancoToile site, albeit without a lot of the FrancoToile features such as multi-language support.
Pages
Home and About: these are two simple pages that simply display static content.
Browse: grabs a list of movies from the collection, and simply loops over and formats them into an unordered list.
Search: Upon form submission, an XPath statement is dynamically built from the options selected by the user.
The comment in the search.xql script explaining how the results are parsed and formatted:
Search for videos using the XPath filters constructed above. Because the filters are constructed dynamically and stored as an xs:string, we need to use util:eval to grab the collection because the collection() function doesn't accept variables, just a hard string for an argument.
The search uses the eXist KWIC ('keywords in content') module to parse search results:
http://demo.exist-db.org/exist/functions/kwic
Each result in the initial for ... in loop is expanded with kwic:expand(), which formats the query results and turns them into organized search hits. Then, the kwic:get-summary() function is executed on each record in the search result. This returns a <p> element with three child <span> elements: the hit itself, and the chunks of text that come before and after the hit. These results are output as a list element.
The Transcripts and Incidents
The most interesting part of the site – and the only part that differs from, or goes beyond, FrancoToile – is the incident or 'event' support. While the FrancoToile site displays the transcript – that is, tei:u (utterance) elements in the data – corresponding to the time of the video, the Lansdowne player also displays 'incidents', which are extra sets of information in the tei:body element of a data file. On the public-facing website, these incidents are called events. Gbua1.xml has an 'incident' set that looks like this:
<div type="incidents" xml:id="slideIncidents">
<div xml:lang="en" type="lang">
<head>Slides</head>
<incident start="gbua1s0" end="gbua1s1">
<desc>slide 1 - <ref target="http://en.wikipedia.org/wiki/Archivo_General_de_Indias">Archives of the Indies and Seville</ref>
</desc>
</incident>
<incident start="gbua1s1" end="gbua1s2">
<desc>slide 2 - Arial view of the Rio Belen, Panama</desc>
</incident>
<incident start="gbua1s2" end="gbua1s3">
<desc>slide 3 - People using a <ref target="http://en.wikipedia.org/wiki/Magnetometer">magnetometer</ref> on the beach in <ref target="http://maps.google.com/maps?f=q&hl=en&q=Jamaica&ll=18.442973,-77.198009&spn=0.113828,0.190716&t=k">St. Anne's Bay, Jamaica</ref>
</desc>
</incident>
<incident start="gbua1s3" end="gbua1s4">
<desc>slide 4 - Researchers examining seabed core samples</desc>
</incident>Default
<incident start="gbua1s4" end="gbua1s5">
<desc>slide 5 - Underwater photo of a Byzantine wreck</desc>
</incident>
<incident start="gbua1s5" end="gbua1s6">
<desc>slide 6 - Turkish sponge diver standing on the deck of a boat</desc>
</incident>
</div>
</div>
Each incident's @start and @end must correspond to a timeline/when element, just like an utterance.
To make a series of events appear on the player page, one need only add the XML markup like above. Each series of events (that is, div type=”incidents”) will automatically be loaded into the page via an XSLT transformation using xslt/incidents.xsl. The full transcript of each event series will appear in the “Events” tab of the player, while the individual incidents themselves will appear below the movie at the appropriate time as defined in the timeline.
What's to be done now?
Without much data, it's tough to say what kind of changes and improvements this website needs. It's feature-complete for now, but undoubtedly will require some expansion if a full suite of data is ever added. For example, the 'browse' page could probably use pagination and sorting options, the player page may need to display the events/incidents with more bells and whistles, and so on.