Bibliographic/Project Announces Innovative Plans
The OpenOffice Bibliographic Project announces innovative development plans. The Openoffice.org Bibliographic Project (OOoBib) intends to build an open-source bibliographic application with features that are in advance of any existing commercial or opensource application. The project announced details of it Stage 1 Development Plan and needs the assistance of skilled programmers to build it.
Bibliographic applications are concerned with documents and the references to information sources in those documents. The terminology can be confusing so, we have fixed upon the following definitions:
citation: a short description that points to a fuller description of an information source, or reference item elsewhere, either in a note or a reference list.
reference item: a fuller description of an information source; also called a bibliographic entry or item.
reference list: a collection of references; also called a bibliography.
Bibliographic applications help users manage their reference items, to incorporate that information into their documents, and to create formatted citations and reference lists. Publishers, academic and other institutions generally specify detailed requirements of how their documents are to look, including reference lists and the citations. Citation and reference list formatting is an often tedious and error-prone task, particularly if one has to later change styles. An ideal bibliographic application, then, allows a user to forget about these arcane details and focus on writing.
The OpenOffice Bibliographic Project (OOoBib) started several years ago to with the aim of improving the bibliographic functions of the OpenOffice word processor (Writer). The original objective of OOoBib was to build an open-source equivalent of the commercial bibliographic packages, Endnote, Reference Manger, ProCite etc. to provide:
- A database for storing details of books and articles.
- Tools to add, edit, browse and manage this reference database.
- An Internet query mechanism which would allow users to query remote library and topic databases and to select references to be added to the users reference database.
- Bibliographic data import and export functions, which support common standards.
- A mechanism for selecting references from the database and for inserting reference items into a document in the format dictated by the selected style.
- A style formatting engine that allows the use to select one of the common formatting styles for document, such as MLA, APA, ASA, Chicago.
- A mechanism for generating reference lists using the format dictated by the selected style.
At the forefront of developing standards
As our design work progressed, we realised that the document standard used by OpenOffice, Koffice and others, the OASIS Open Document Format for Office Applications (OpenDocument), had limitations in its metadata and citation support. In response, a OOoBib project leader, Bruce D'Arcus, proposed citation enhancements to the Open Document Technical Committee.
Bruce is now a member of that committee and is working to finalise the metadata enhancements to the document standard. An application implementing these proposals will be able to tag text and other document objects (tables, charts, graphics, etc.) with their source metadata. This means that each object copied into a document could have its reference details (e.g. source url, or author, publisher details) maintained along with it, even if no bibliographic citation is displayed in the document.
When you cut and paste bits from web pages and other documents into your document, it is easy to lose track of where the bits came from. It would often be useful be able to call up a table of 'Quoted Items' that detailed the source of each inserted item, the URLs, document names, and the relevant page numbers (with Author, publisher, ISBN etc), name and source of graphics, etc. A lawyer could do a query on a case document that returned, say, all documents that referred to a specific case.
When you copy a text quotation, or other object, into your document it could be useful to have the source details to be added to a bibliographic database automatically. We would like to provide some useful automation, for example, if you have to manually type in a quotation, you could type in just the book's ISBN, or a few details, and the Internet search module could locate the full bibliographic details from Internet databases (we have a working code sample). This could be done in background, without interrupting your work.
Beyond our efforts to enhance file level support in OpenDocument, the OOoBib project has extended the basic requirements to features beyond what is available in any other commercial or opensource application. One of our co-leaders, Bruce D'Arcus has created a reference table and citation formatting application based on XSLT with a process called CiteProc. He has also developed a Citation Style language (CSL) which simplifies the construction of document style definition files using an open XML format. These styles will be simple enough for users to write or modify. Citeproc will provide the opportunity for the creation and distribution of open-source bibliographic style definitions that are not specific to a particular word-processor.
In addition, we hope to significantly enhance the data model. The current internal data model of the OpenOffice bibliographic application is limited to a small set of document and media types. We plan to to improved the internal data model and the bibliographic database, so that it will support an expanded set of information types on various storage media, it will support video, audio, maps, graphics, etc,. It will allow the user to define custom collection categories and their data elements. The data model will be compatible with the emerging the industry standards, the "Metadata Object Description Schema" (MODS), a XML based schema, and with the "Resource Description Framework" (RDF), a framework for describing and interchanging metadata. We will also provide the ability to connect to, and to exchange data with bibliographic databases, using the current standards: RDF and and SRU/W.
These changes will make it easier for a wider range of users to describe their references and format their citations and reference lists. It will, for example, be possible to change a document from one style to another with no or minimal further editing, including complex changes such as author-date to footnote citations. No existing product supports such functionality.
The announced Development Plans
The Bibliographic Project (OOoBib) plans, for Stage 1, to design and build OOoBib version 0.1, which will contain the most basic functions for an usable bibliographic facility with the features:
- bibliographic formatting support for:
- complex features required of commonly used citation styles like APA and Chicago.
- automatically switching between potentially radically different citation styles (ie. footnote to in-text).
- a data model that can support a broader range of reference types.
- integration with remote databases.
We have placed our plans on the wiki site as we hope developers will contribute by adding information to assist others and to improve the plans. We are, in fact ready to go with the first task in that plan which is to modify the Writer document-read and document-save modules to support the new OpenDocument enhanced citation format, and to implement basic support for these changes in OOo Writer.
OOoBib offers developers interesting opportunities to become involved with a range of cutting edge technologies, covering: Internet, metadata, databases, and XML / XSLT and OpenOffice.
Please consider if you would like to help us in the development of this exiting project. We especially need the assistance of a C++ programmer to implement the first essential changes to Writer. When these basic changes are in place we can proceed with application prototyping in OOo Basic, Java or Python. When we have designed, built and tested the prototypes and they have been accepted by the OpenOffice community we intend to rebuild them in C++ so that they can become part of the core OpenOffice application. Visit our web site for more details.