Archive for January, 2007

Loose Ends

January 26, 2007

Loose ends that I’m still working on in no order whatsoever:

  1. OAI data provider, looks like I’ll be doing this in XQuery, thanks to Kevin and Mike for the jumping off point for this.
  2. Lucene search, since the release date has been pushed back (to match the grand opening of our non-virtual office) I think I’ll hold off on this until after the cod4lib pre-conference. I’m also waiting until after the conference to start exploring some faceted browse and/or search options.
  3. Collection level pages, need a little redesigning
  4. Adding a save as pdf option to items and EADs.
  5. Adding a sandbox for development.
  6. Those other XForms, METS and MODS.
  7. Creating a better browse page. Currently it is a browse by title, I’d like to add the options to browse by subject, date, people, and places. Still working on getting the metadata to support these features.
Advertisements

More on MODS and XForms

January 25, 2007

Two recent posts by Peter Sefton caught my eye.

This one where he has a demo of an incomplete MODS XForm (allows you to add and edit subjects). And this one, posted after a session at Open Repositories 2007:

Yesterday I was most impressed with a presentation on XForms and the Fedora repository by Matt Zumwalt, Simplifying Fedora Frontends with XForms and Fedora. Matt talked about how he added an interface to allow editing of XML metadata streams in a Fedora repository using XForms. What this means is that a bit of standards-based configuration code can be used to build a portable interface for editing structured XML.

and…

Matt’s work should work with MODS metadata, which seems to be a strong prospect for RUBRIC and ARROW repositories in 2007. I hope to have more to report on this soon.

Something I like about XForms is their potential to interface with many different systems; Peter is looking at them as an option to be used with Fedora, they could also be used with DSpace, XTF, and other repositories/digital asset management systems. As for a MODS XForm, I’ve spoken to several other people/institutions who are also interested in or even in the process of creating XForms for MODS, it would be great if we could coordinate our efforts (and get the word out) because it sounds like there is a real interest in getting a MODS editor off the ground.

Room 313, the Center for Digital Initiatives

January 20, 2007

Here are a few pictures from a recent visit to the future Center for Digital Initiatives (thanks Justin for having a camera handy). Oddly enough the room looks bigger now that the framing is in.

Center for digital initiatives

Looking down the hall, we have my office on the left, the scanning room on the right and the conference room all the way at the back.

Chris is standing in the “lobby” which will have a few chairs, a table, and a data port so all those people waiting in line to see me can hook up their laptops.

Estimated finish date is the mid March, grand opening (ribbon cutting included) mid April.

Because they are all I talk about

January 17, 2007

I’ve written a lot about XForms including posting lots of code, but haven’t really been able to share the other side of the forms, the user interface side, because as soon as I finished the forms they were in production (and I have yet to build a sandbox). But I’m rather pleased with the user interface side of the forms also, so here’s what they look like in action:

Xforms

Revisiting Xforms

January 11, 2007

In the next few weeks I will be revisiting the original XForms I created for metadata entry. I started out by adding some styles, so the forms are a bit more user friendly, and am working on resolving some of the issues that I had previously ignored in the original forms.

This week:

I added additional xforms:instances for fields that use a controlled vocabulary. For example we are using several controlled vocabularies for genre (most notably DCMI Type and MARC Genre Type). The list of terms is saved as a separate xml file (genre.xml) that is called as an additional xforms:instance in the xforms:model. The genre instance data populates a select1 menu which populates the genre elements in the metadata instance. New genre terms can be added or edited by a separate xform.

The next step was to deal with the problem of empty repeat elements. In my original forms when the final element in a repeat has been deleted there is no way to insert a new element into the instance. XForms 1.1 has solved this by adding a context attribute. The context attribute is used to select the parent node of the element, when the nodeset is empty, the insert trigger uses the parent node to insert the new element or node. The context attribute is not currently supported in the Firefox extension. I’m exploring several options. This is one (described here also):

When populating my metadata instance I dynamically add blank elements/nodes at the end of the instance for repeating elements to serve as a template for the repeat. In the repeat I use the following:

<xforms:repeat nodeset="item[position()!=last()]" id="repeat-cart">

This omits the empty element I had inserted as template from the xforms:repeat. The following trigger prevents the last visible element from being deleted, the element remains but the data is cleared.

<forms:trigger>
  <xforms:label>Remove</xforms:label>
  <xforms:action ev:event="DOMActivate">
     <xforms:delete nodeset="instance('metadata')dc:title[position()!=last()]"
            at="index('repeat.title')"/>
     <xforms:insert nodeset="instance('metadata')dc:title[last()=1]" at="1" position="before"/>
  </xforms:action>
</xforms:trigger>

The empty elements get stripped out of the data when it is saved.

I’m also looking for other options to handle the empty xforms:repeat, perhaps using the xforms:bind, or conditional statements.

I have also started submitting the forms via post rather than put, this allows for some processing of the data before it is submitted to the database. Initially I’m using this to strip out the empty elements, but I imagine it will have other uses as well particularly in calculating element and attribute values in for our METS records.

My next step is to start working on some simple MODS forms so that we can make the switch from DC.

Breaking ground

January 5, 2007

The CDI (Center for Digital Initiatives) is getting a home. So far I have been peacefully coexisting with the cataloging department while the scanning has been going on in an unused office in Special Collections. There have been plans in the works for a while now to renovate a room in the library for the CDI. This new space includes a dedicated scanning room, an office, and a conference room. After months of research, discussion, and reviewing and revising architectural drawings, construction has begun. I went up this afternoon and the framing for the walls is in, which means I can really visualize what the space is going to look like.