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 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.
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:
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.
According to the HTML5 spec, this is valid code:
<video controls="controls" width="320" height="256" id="gbua1"> <source src="http://lettuce.tapor.uvic.ca/~taprlans/media/gbua1.m4v" type="video/mp4; codecs="avc1, mp4a""></source> <source src="http://lettuce.tapor.uvic.ca/~taprlans/media/gbua1.ogv" type="video/ogg; codecs="theora, vorbis""></source> <p> <a href="http://lettuce.tapor.uvic.ca/~taprlans/media/gbua1.m4v">Download the video</a>.</p> </video>
According to the W3 validator, however, it's invalid. Removing one of the source elements gets rid of the validation error. This doesn't affect the performance of the video. So, it's just a case of waiting for the validator to catch up to the standard.
After I successfully deployed the Lansdowne eXist app on Pear I had to make a minor change to controller-config.xml, after which I needed to stop and start the app. So, I attempted to do so in the Tomcat manager. Stopping the app worked, but upon pressing 'Start' Tomcat basically froze up, resulting in timeout errors for all Tomcat apps on pear.hcmc.uvic.ca:8081 . I submitted an urgent ticket and sysadmin restarted Tomcat within 20 minutes.
I've used the stop/start functionality before on pear (for Francotoile), so I'm not sure what happened here.
I've put the eXist version of the Lansdowne site, which is essentially a feature-complete prototype, on Pear:
All is running well.
Using the eXist version of FrancoToile as a starting point, I've started a rebuild of the Lansdowne site. Since most of the grunt work has already been completed for FrancoToile, I don't expect this to take me more than a couple of weeks. I started by making a copy of FranoToile on my local machine, and will be editing from there. There are only two videos with completed transcripts at this time, so there isn't much test data to play with.
Carly, Greg, Dr. Bowman and Filiz met to determine some blanket rules for data entry that came up repeatedly as major issues. The following decisions were made:
Almost every sentence containing a verb becomes an "event".
Statements of interest will be included in the notes field and not as "events".
If Jim has Tiffany, Heather, Cody, Dylan and Dermot by Brandine, then these are entered as "relationships" ONLY, with the marriage, sex, conception and birthing implied, and not listed as actual events.
If two people get married and there's a huge hullabulou, then the marriage is listed as an event, and they are also entered as "relationships". Same for if it's a famous rape or birth. Marriage, sex and births aren't an event unless they're a big deal.
If someone is said to be somewhere, they should be linked to that "place" without a mediating, made-up event. eg. "Carly was in Victoria" becomes a link Carly=Victoria, not an event like "Carly existed in Victoria" and then link that to Carly and to Victoria.
If someone's going on a journey, make two "events". "Carly left Victoria to go home to Whitehorse for the holidays" becomes "Carly leaves Victoria", (one event, link to Carly and Vic) and "Carly arrives in Whitehorse" (another event, link to Carly and to Whitehorse).
If there is an embedded citation or contested information in the text, enter it as if it were true, make a note, and write Greg about it. We will make the notes field for this case available, and note the reported nature of the information. This happens most often for Character/Character/Citation.
Greg's going to see if he can create an "uber-character" that is a group that constitutes many characters that we can associate with events.
Carly's going to come up with a sample journey describing any one labour of Hercules from listing events in the database in order. Also continue answering any emails from Filiz and Amy.
Filiz is going to keep entering Apollodorus.
Dr.Bowman is going to finish disambiguating and eventually proof-read all this data.
Yesterday I booked all of the movies left, and plan to digitize them over the next two weeks.
For exporting videos in iMovie, use: stream dv; NTSC; Progressive Scan Mode; 4:3 ratio; 44.100.
Jouet was in iMovie from before, I exported and handbraked it, and put it on the server.
O'Reilly was captured, exported and handbraked, and I put it on the server.
Halle was captured and exported.
At start of week I had 22 hours left.
I captured Jouet.
I handbraked Calder.
I re-exported Klepfisz in standard ratio to see how big a difference it made.