Personal tools

Pawn:ICDL Book Builder

From Adapt

Jump to: navigation, search

Overview

The International Children's Digital Library (ICDL) Book Builder is a 3rd-party package builder integrated into PAWN for the purpose of archiving the ICDL collection of the University of Maryland HCIL (Human and Computer Interaction Laboratory). The builder presents an interface that allows the user to search for digital books containing specific attributes, package books into user defined archive bundles, and modify what metadata will be stored for each book. Finally the user can submit the archive bundle instructions to PAWN where the books are ingested for long-term preservation.

Implementation

The Book Builer is composed of two packages: edu.umiacs.icdl.gui and edu.umiacs.icdl.builder.

edu.umiacs.icdl.gui

This package contains the components that make up the interface below.

Pawn-bookbuilder.jpg

The search panel allows to user to find particular books based on different characteristics such as letter sequences in book ids and book titles, number range of scan counts and page counts, or span of time in relation to when the book was added to the digital library. When this information is entered and submitted, a SQL statement containing the specifications is composed and submitted to the database containing the digital books. After a search has been completed, the books that have been selected are displayed in the *results panel*. The Table Properties button allows the user to select a different column header, which is a book attribute relative to the books displayed. Below the button is a label reflecting the number of results that have returned from the search.

Below the results panel is the bundle selection panel, which allows the user to select an archive bundle from the bundle manager to store the book results for later processing. The books are not physically stored into an archive bundle, only the sql statement is saved and will later be invoked again to retrieve the books. After a bundle is selected, the user can choose to store the immediate search results by clicking on the Archive Search button, or store the entire book collection by pressing the Archive ICDL button. The change is reflected in the bundle manager by removing its icon and when it is double-clicked it will show how many books it is storing. Once a bundle has been assigned a collection it cannot be changed by resubmitting the same or different search results. Doing so will cause a warning dialogue to appear suggesting that the user create a new bundle to store the next search result.

The Dublin Core Model component displays the book attributes that are assigned to the dublin core metadata tags by default. The user has the option of modifying the attributes assigned to a particular tag through a modify model dialog that appears after pressing the Modify Model button.

edu.umiacs.icdl.builder

The builder package consists of a small collection of classes that combines all the components from edu.umiacs.icdl.gui into one compound interface, and they also handle the bundle processing that is ingested by PAWN. The gui components are integrated into the builder layer, which is the dialog composed of a "Cancel" button, a "Finish" button, and a window displaying an interface. When the finish button is pressed the archive bundles created in the bundle manager are transferred to this package for processing (Prior to this action a dialog appears requesting if the user wants to include the .tif files associated with each scan of a book). First the dublin core model for the archive bundle is observed and the attributes assigned are included in the metadata, which is then added to the ingestion bundle that is being prepared for PAWN. Afterwards each book in the archive bundle is analyzed to confirm that the scans exist before downloading them into the ingestion bundle (.tifs are also confirmed if the user consented to including them and provided a valid path to the digital books local to their machine). Like any other 3rd-party package builder an empty parent or ingestion bundle is given by PAWN and is intended to be used as a carrier for other bundles that are created by the builder. During the book bundle processing, all the book bundles are added to this parent bundle.

Typically each scan has 6 jpeg duplicates that represent the same scan in different sizes. Since ingestion bundles can hold metadata objects, data objects, and other ingestion bundles, a bundle is created for each scan image set and stored in the parent bundle, which is the bundle holding the metadata. While the processing is going on a progress window displays the work that has been done. Once completed the "Close" button of the progress window is activated and the user can press it to close the ICDL Builder.

Results

After completing a prototype of the book builder we integrated it into PAWN as a 3-party package along with a group of other interfaces that can be selected to perform other duties within PAWN. The following image displays the book builder in action.

Pawn-bookbuilderrun.jpg

The following image displays the appearance of the book bundles after processing.

Pawn-bookbuilderresults.jpg

As stated in the implemention of edu.umiacs.icdl.builder package above all the book bundles are stored in a parent bundle given to the builder by PAWN. Within the parent bundle are bundles of books named by their title-or titles since a book can be in more than one language. Within each book bundle are image scan bundles so if a book had 14 page scans, then the book bundle would contain 14 image scan bundles. Each image scan bundle in turn contains the different size representations of that particular scan (tif images are also included if the user choose to have them added).


Future Work

The next step is to transport the PAWN client along with the book builder onto a server and make it accessible to the people in HCIL via java webstart so that they can test the application and give us feedback on the book builder.