This page describes the DSpace SIP toolkit, a class that makes it
easier to write an application to produce valid Submission Information
UNSUPPORTED: This is unsupported code. Use it at your own
risk. It is simple enough that reading the code and examples should
be enough to answer any questions you may have, but if not, there
may not be any other help available. It is provided freely to the
DSpace community but there are no support resources available.
What it Does
In order to use the package-based ingester
interfaces such as the LNI, you have to construct a
Submission Infromation Package (SIP) out of your digital content
and metadata. The default type of package, a DSpace SIP,
is a Zip archive that includes:
- a mandatory METS document which acts as the manifest
- _content files _ (the digital objects)
- any metadata files referenced by the METS document
This toolkit helps an application construct a valid METS-based package
and either write it to a file or transmit it on a stream. It takes
care of most of the housekeeping and METS structure, which lets you
produce a SIP-writing application much more quickly and easily.
You still have to write an application around it, but now you can
produce a SIP by simply providing some descriptive metadata and
content files. Almost all of the details of Zip and METS structure are
The best way to illustrate the toolkit is through an example.
This code fragment constructs a SIP and writes it to a file:
See the source code, which has Javadoc-style comments, for more
complete documentation. You can also use
javadoc to create
web pages of API documentation.
Downloading and Running DSpaceSIP
- Note this class and its dependencies have been defined in a modules in the DSpace SVN repository located here [--Mark Diggory] 16:40, 5 June 2009 (EDT)
To use this class in your application, you will also need the following
Java libraries on your classpath:
NOTE: These libraries are also required by DSpace 1.4 and 1.5, so they
should be available in the
lib subdirectory of your DSpace
As mentioned, this is completely unsupported code.
You are encouraged to use it, improve upon it, and use the Wiki
to document and share your improvements.
If you find this documentation lacking, please add the missing answers