Jump to Navigation

Changes to sublooping elements

Blogs > General Library Blog
in

There have been some big changes commited to the Fez trunk recently: some may have seen Rev 923, labelled 'MAJOR COMMIT! FEZ 2!' by a uqckorte. That was a change to how Fez indexes the records stored in fedora. The Fez index is used throughout Fez whenever it produces a listing of records or searches for information in fedora. Rewriting it touched almost every file in Fez which has prompted us to consider incrementing the major version number on the next release. The new index has made Fez a lot faster and paved the way for adding better search tools later but I've already blogged about that.

My changes today were much less exciting but have come with a bit of documentation which might help others who have tried to figure out these things in the Fez XML mappings called sublooping elements.

We came across a problem recently where we realised that we couldn't put a sublooping element on mods:identifier. The problem was that sublooping elements assume that the actual element that is the base of the loop can't have a value stored in the XML.

In order to fix this, I decided to document the sublooping elements to some extent in order to get clear in my head how they work. The results of that effort can be read here on the FezWiki.

Once I felt I'd fully gotten my head around these sublooping elements, I dived into the code and tried to get the mods:identifier values mapped. My first attempt was heading down a pretty radical departure from the current code so I decided to rewind and keep the changes within the current framework. The result is Rev 1032. In order to show how the changes work, I've also recorded a quick screencast of the mappings I made for mods:identifier.

I hope that anyone mapping their own document types in Fez will find these resources of help.