Pawn:Dublin Core Project Page
From Adapt
Overview
PAWN has the ability to attach meetadata to any level in a package. From the package perspective there is nothing special about metadata, it's just bits that refer to other bits or a folder. The builder in has the ability to assign decriptive 'types' to metadata and data in addition to tracking standard mime-type information. The descriptive type is used to inform PAWN of an objects intended use. For this project we will teach how to handle dublin core metadata.
Dublin core metadata is a simple schema from the library community that tracks information similiar to card-catalog. It defined simple attributes, author, title, etc. The Dublin Core Metadata Initiative page has more information about what is covered in DC.
Setting up your environment
On naradev01, you should checkout a copy of the pawn/adapt source tree from http://narasvn.umiacs.umd.edu/repository/src. You'll also want to checkout a copy of all the libraries from http://narasvn.umiacs.umd.edu/repository/lib. Open the following projects in netbeans:
- umiacs-util
- adapt-common
- adapt-xml
When you open the latter two, you will get errors about missing dependancies. Right-click on the project and click Resolve Reference Problems. There are two types of dependancies, library and project. For project dependancies, select project name and click Resolve. Browse to the project directory and click ok. Now, for library dependancies, you will want to go to Tools -> Library Manager. Click New Library and enter the name of one of the missing libraries (ie, javax.xml.bind, org.apache.log4j, etc..). After the library is creates, select it and click Add Jar/Folder. Browse to the lib/stow directory you checked out from subversion. You should see the librarys listed by version. In each library, there is a subdirectory named the same as the name in the library manager. Select all the jar files in here and add to the current library.
After resolving the reference problems, you should be able to compile all three projects.
Milestones
- Basic Dublin Core Editing
- Create a new project that has a JDialog form for creating / editing and saving a dublin core document. The form should have all standard dc elements and implement a getInputStream() method that will return an input stream containing the current xml representation of the document. The form should also have constructors that take an InputStream containing a mets xml stream.
- Use the JAXB stubs in the adapt-xml package to edit your xml document. Do not hand parse or hand-write any xml tags.
- Do not assume the input stream is error free, or even an xml document
- The following projects and any libraries they include may be used: umiacs-util, adapt-common, adapt-xml
- Integrate DC Editor
- Using the pawn-client project, integrate your editor into PAWN by replacing the DublinCoreDialog dialog in edu.umiacs.pawn.client.gui with your own editor. You should accept the same constructors and implement <getInputStream and showDialog like the stub project.
Tools
- OnJava JAXB tutorial (ignore setup parts)