Bibliographic/Developer Page/Services API

From Apache OpenOffice Wiki
Jump to: navigation, search

This page is very much under construction and we would appreciate assistance in making it better. David Wilson

Option 1 Word Processor handles the Selection of Citations

The Word Processor handles citation selection and optionally some the citation management functions. The reference list is requested from the Bibliographic Application, It is displayed on the WP using it own browser panel, and the user selects the citation(s) to be inserted from list.The WP then requests the formatted citation text from the Bibliographic Application for display.


Basic API Functions needed to support word processor interaction with a Bibliographic Application (like Zotero)
Word processor Bibliographic Application
Request list of Reference Data Collections (libraries / folders) available.

User selects Collection. It is made current.

Returns list of available Reference Data Collections :

Collection names, Descriptions, Current (default) Collection name.

Request list of References from the selected or default collection. Includes an option for selection criteria for large reference lists: i.e send:

{keyword=irish, keyword=sagas, PublishedDate > 1999}.

User selects Citation(s) from the provided list.

Returns list of References in the named selected or default Collection:

list of field names, then the fields:

reference id number, Author, Title, Publisher, date, keywords, etc.

Request List of Bibliographic Styles, and style variants.

User selects the Citation Style, It is made current.

Returns list of Citation styles supported:

Style Name, Description, & other Style Metadata: Author, version , date etc.

Request citation(s) text. Send:

Selected Citation Style name(s), ref id number(s).

Returns formatted text:

style & variant names (i.e initial & subsequent forms), formatted text strings.

Request bibliography text. Send:

Selected Citation Style name, reference id numbers in document order, any bibliography formatting options.

Returns formatted bibliography text.


Diagram

BibliographicAPI.png

Links to service descriptions

Option 2 Bibliographic Application handles the Selection of Citations

The Bibliographic Application handles the Citation management and citation selection. Each citation is pushed into the word processor document at the current cursor location via a command on the Bibliographic Application.

Basic API Functions needed to support word processor interaction with a Bibliographic Application (like Zotero)
Word processor Bibliographic Application
Citation is received and inserted in Text. User selects Citation from the provided list.

Bibliographic Application pushes citation to WP. Sending the formatted reference strings.

Question: DO we need to collect the reference data as well ???[1]

reference id number, Author, Title, Publisher, date, keywords, etc.

Request List of Bibliographic Styles, and style variants.

User selects the Citation Style, It is made current.

Returns list of Citation styles supported:

Style Name, Description, & other Style Metadata: Author, version , date etc.

Request new citation formatting. Send:

Selected Citation Style name, reference id numbers.

Returns full set of formatted citation strings:

style & variant names (i.e initial & subsequent forms), formatted text strings.

Request bibliography text. Send:

Selected Citation Style name, reference id numbers in document order, any bibliography formatting options.

Returns formatted bibliography text.

Diagram

The Diagram would be similar to the one above but the Service BrowseCitation would be on the Bibliographic Application side rather than with the Word Processor.

Optional Extras

Optional Extras actions to manage reference data
Word processor Bibliographic Application
Request reference to be deleted. Send:

Collection name, reference id number.

Collection name, reference with id number is deleted.
Request reference to be added (or replaced). Send:

Collection name, list of field names, then the fields - Author, Title, Publisher, date, keywords, etc.

In the named Collection name, the new reference is added (or replaced).
Request creation of new Collection. Send:

Collection name.

Collection name is added.
Request delete Collection.Send:

Collection name.

Named Collection is deleted.

Notes:

I suggest that the Bibliographic Application provide the full set of citation variants, when a citation formatting request is made for a given style and language-

  • initial full citation (in-text or footnote depending upon the style selected)
  • subsequent shortened citation
  • Ibid text
  • Ibid & location text
  • author name
  • year

These could stored in the proposed new constants group BibliographyDataField.

The advantage of this is that when a user moves, adds or deletes a citation, Writer only needs to pick the appropriate stored citation string (initial, subsequent or Ibid) from the constants group BibliographyDataField to display the appropriate ciation text, and not calling Bibliographic Application again. When the user changes the document style, Bibliographic Application would be called to regenerate all the BibliographyDataField citation strings in one pass.

Author name and year are suggested to enable functions like - 'Exclude Author's Name' and 'Exclude Year' options in the Insert Citation dialogue. These options are needed when you have referred to the author's name in the text, as in

Gao Xingjian in his novel 'sole mountain' (1990) explores identity and myth in China.

and you do not want the author's name repeated in the citation field.

Do we need to collect the reference data as well ?

Currently the only options for storing the reference data in the current form of Writer, is to store it in the document as bibliographic fields or the bibliographic database. Storing the data in the document is not practical because the current bibliographic fields do not allow the user or I believe a program to over ride the bibliographic field re-formatting process. So that even if you over wrote the bibliographic citation field, a 'Update Fields' action would remove the custom citation string. I do not think placing the citation reference data in the database automatically as much use as their are other was of doing this.

When the new proposed ODF metadata enhancements are in place, it will be quite practical to store the reference data along with a citation string and/or bibliography generated by another application.

Related Links

Bibliographic API Enhancements

Citeproc Writer Interaction

Feature Spotlight: Zotero Microsoft Word Integration Alpha

OOo Bibliographic Projects's Dev mailing list Search='zotero'

OOo Bibliographic Projects's Developers Page

Personal tools