Difference between revisions of "User talk:Dnw"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 12: Line 12:
 
The OOo API is based on UNO (Universal Network Objects) is the interface-based component model of OpenOffice.org. UNO offers interpretability between different programming languages, different object models, different machine architectures and different processes; either in a local network or even via the Internet. UNO components can be implemented in and accessed from any programming language for which a UNO language binding exists. We currently provide several language bindings for UNO which allows to use the API from Java, C++, OpenOffice.org Basic, Python and Common Language Infrastructure (CLI).
 
The OOo API is based on UNO (Universal Network Objects) is the interface-based component model of OpenOffice.org. UNO offers interpretability between different programming languages, different object models, different machine architectures and different processes; either in a local network or even via the Internet. UNO components can be implemented in and accessed from any programming language for which a UNO language binding exists. We currently provide several language bindings for UNO which allows to use the API from Java, C++, OpenOffice.org Basic, Python and Common Language Infrastructure (CLI).
  
 +
1. Modify the Writer document-read and document-save modules to support the new OpenDocument enhanced citation format.
 +
Implement the citation and bibliography changes to the OOo Writer save file (in Open Document format) accepted by the OpenDocument Technical Committee[http://lists.oasis-open.org/archives/office/200409/msg00023.html]. The changes to the document schema are detailed in our OpenDocument XML Citation Proposal.pdf[http://bibliographic.openoffice.org/XML-bibliography-proposal.pdf].
  
== 1st Stage, Bibliographic Facility Redevelopment ==
+
Implementing the new citation element in xmloff (the XmlOffice module) is a routine task. The Sun developers want to do it together with our programmer, so that he/she can learn how xmloff works.
 +
The changes to the document schema need to be supported by the document save and load modules. The API module(s) concerned are:
  
'''Summary'''
+
interface XComponentLoader[http://api.openoffice.org/docs/common/ref/com/sun/star/frame/XComponentLoader.html] "This is a simple interface to load components by an URL into a frame environment"
 +
which supports loadComponentFromURL and storeAsURL
  
As a first step we are plan to implement the most simple changes to the OOo core code (the API basic code, and UNO mappings, but not yet the user interface code) necessary to implement basic support for -
+
See the Development Guide explanation for - 6.1.5 Handling Documents[http://api.openoffice.org/docs/DevelopersGuide/OfficeDev/OfficeDev.xhtml#1_1_5_Handling_Documents]
  
1. As a first step we will implement the most simple changes to the OOo core code (the API basic code, and UNO mappings, but not yet the user interface code) necessary to implement basic support for:
+
'''??? is this correct and what else.'''
2. Support saving and reading enhanced citation support in OpenDocument
+
Ability to insert and display citations in OpenOffice Writer using the new format. (Note this task does not include the GUI interface to insert the citation in the new format, only the UNO interface to provide the basic function.
+
3. Storage of document bibliographic data in the OOo document save package and the code changes necessary to read and save that bibliographic data.
+
  
When these basic functions are built into OOo and are made assessable via the UNO, we can then use rapid prototyping development methods to design and build prototype GUI interfaces and bibliographic formatting engines. We will be able to use any of the programming languages which have OpenOffice bindings: C++, Java, Python and, of course, OpenOffice Basic. We believe that we will find more developers who can work in these languages than by insisting on C++ code from the start. Also it is much easier to build prototypes using Java, Python and OpenOffice Basic than in C++.
+
2. Modify the writer code to insert and display the new format citations
 +
The bibliographic modules in OOo Writer need to modified to support the new schema. The modules that need to be modified are -
  
NB. When we have designed, built and tested the prototypes and they have been accepted by the OOo community we intend to rebuild them in C++ and to have them made part of the core OpenOffice application.
+
* Bibliography
 +
* textfield/Bibliography
 +
* FieldMaster/Bibliography
 +
* BibliographyDataField
  
'''Skills required''' - good C++ programming and some XML skills with knowledge of, or willingness to learn, the OpenOffice UNO (see the Openoffice Developer's Guide)
+
3. Add support in the OOo save file package for storage of document bibliographic data.
 +
Currently the Writer saves a complete copy of the bibliographic data associated with a citation, with each ciation. We propose to separate the citation and the bibliographic data, by leaving just the citation details in the document save file and place the detailed bibliographic data in a seperate bibliographic data file the OOo save file package.
 +
The task is to complete the design of the bibliographic data file and add support for it in the OOo save file package.There is description of the XML Package, and is a FAQ about it.
 +
4. Modify the Writer save-file read and save modules to support the new the bibliographic data file in the document save package.
 +
The relevant component is "interface XComponentLoader" which supports loadComponentFromURL and storeAsURL.
 +
5. Refine and Improve the CITEPROC bibliographic formating engine.
 +
Experience XSLT programers are needed to work on this core component of the Bibliographic facility. It is functioning and a book has been published which used it to format the bibliographic table and citations.
 +
We propose to build Bibliographic table and citation formating using XSLT style-sheets with a process called CiteProc. Also see BiblioX for technical discusion of this approach.

Revision as of 20:11, 5 December 2005

DRAFT Bibliographic Project's Developer Page

Project Overview

.

The role of the Bibliographic Project (OOoBib) is to support the OpenOffice.org Writer (wordprocessing) application by enhancing the bibliographic facility. See our Vision statement for details. Our current objection to to design and build OOoBib version 0.1, which will contain the most basic functions for an usable bibligraphic facility.

For an overview of the Bibliographic project's major components and a context diagram see components.html. There is information about the current OpenOffice Bibliographic implementation. A start has been made to the Specification for this work (see the Projects Specifications folder on the Documents and Files page). Also see a attempt at an analysis of the proposed Bibliographic enhancement components and their relationships. The best place to start for finding out about development in OpenOffice is the OpenOffice.org For Developers page. An important resource is the Developer's guide which is part of the SDK (software development kit) or available online on at [1] The OOo API is based on UNO (Universal Network Objects) is the interface-based component model of OpenOffice.org. UNO offers interpretability between different programming languages, different object models, different machine architectures and different processes; either in a local network or even via the Internet. UNO components can be implemented in and accessed from any programming language for which a UNO language binding exists. We currently provide several language bindings for UNO which allows to use the API from Java, C++, OpenOffice.org Basic, Python and Common Language Infrastructure (CLI).

1. Modify the Writer document-read and document-save modules to support the new OpenDocument enhanced citation format. Implement the citation and bibliography changes to the OOo Writer save file (in Open Document format) accepted by the OpenDocument Technical Committee[2]. The changes to the document schema are detailed in our OpenDocument XML Citation Proposal.pdf[3].

Implementing the new citation element in xmloff (the XmlOffice module) is a routine task. The Sun developers want to do it together with our programmer, so that he/she can learn how xmloff works. The changes to the document schema need to be supported by the document save and load modules. The API module(s) concerned are:

interface XComponentLoader[4] "This is a simple interface to load components by an URL into a frame environment" which supports loadComponentFromURL and storeAsURL

See the Development Guide explanation for - 6.1.5 Handling Documents[5]

??? is this correct and what else.

2. Modify the writer code to insert and display the new format citations The bibliographic modules in OOo Writer need to modified to support the new schema. The modules that need to be modified are -

  • Bibliography
  • textfield/Bibliography
  • FieldMaster/Bibliography
  • BibliographyDataField

3. Add support in the OOo save file package for storage of document bibliographic data. Currently the Writer saves a complete copy of the bibliographic data associated with a citation, with each ciation. We propose to separate the citation and the bibliographic data, by leaving just the citation details in the document save file and place the detailed bibliographic data in a seperate bibliographic data file the OOo save file package. The task is to complete the design of the bibliographic data file and add support for it in the OOo save file package.There is description of the XML Package, and is a FAQ about it. 4. Modify the Writer save-file read and save modules to support the new the bibliographic data file in the document save package. The relevant component is "interface XComponentLoader" which supports loadComponentFromURL and storeAsURL. 5. Refine and Improve the CITEPROC bibliographic formating engine. Experience XSLT programers are needed to work on this core component of the Bibliographic facility. It is functioning and a book has been published which used it to format the bibliographic table and citations. We propose to build Bibliographic table and citation formating using XSLT style-sheets with a process called CiteProc. Also see BiblioX for technical discusion of this approach.

Personal tools