incubator-odf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Devin Han <>
Subject Re: Merge of ODFDOM DOC package and Simple API
Date Wed, 28 Sep 2011 15:48:41 GMT
Maybe some of the guys don't know the relationship and history between
ODFDOM and Simple API. I explain it detail.

Simple API was splitted from ODFDOM Doc Layer. The initial codebase of
Simple API just changed the pakage name and class name of ODFDOM Doc layer,
no method name change. For example, we just change OdfTable in ODFDOM to
Table in Simple API. After split, we have not maintained ODFDOM Doc Layer
any more.
After 10 relese versions of Simple. There are lots of new features
added(copy from another thread):
(1) Enhance Table API,  including style handling, automatically adjust the
table column width based on its text content, allow several paragraphs to be
added to a single cell, validity rules for the values of table cells and so
(2) List API. With these new methods, user can easily add lists to text
document and presentation document, with numbering, bullets, or graphic
(3) Chart API, including add charts to text, spreadsheet and presentation
documents with easy-to-use methods.
(4) Improved navigation and text extraction. The navigation functions work
for text, spreadsheet, presentation and chart document. New CellSelection
and FieldSelection are supported. Text extraction can work on special
(5) Text Document Component API, including paragraph, hyperlink, page break,
heading and span. Paragraph methods allow to create paragraph, get paragraph
by index, set the text content, and remove paragraph. Paragraph font,
get/set paragraph font size, style, color and so on. Paragraph alignment,
get/set paragraph text alignment. Hyperlinks, including navigation
hyperlinks, apply hyperlink to a selection, append hyperlink to paragraph.
Hard page breaks, including append page break at the end of text document
and append page break after a reference paragraph. Headings, including
append heading, apply plain text as heading. Comments, including add comment
to a text selection, apply comment to a paragraph. With text span, user can
set a different style to a small unit of the text content.
(6) Field API.  Fields methods allow user to easily add a field to a
document, and change the value of a field. We now support data field, time
field, chapter field, title field, subject field, author field, page number
field, page count field, etc.
(7) Initial support for footers and headers. Now user can simply get the
footer and header of text document and add table/image/string content to
footer and header.
(8) Text box and section manipulation methods. Text box methods allow you to
add a text box, change the content of text box, and delete a text box. We
also introduced methods to get, copy and paste sections in text documents.
Copying and pasting sections are useful when you want to clone a section of
a template multiple times for different data.
(9) High level methods for image. User can add images to text, spreadsheet
and presentation documents. The position of the image can be specified by a
rectangle, a paragraph or a cell.
(10) Performance improved. We greatly improved the performance of the table
API. Now creating a large table by adding one row after another is 20 times
faster than before. We also improved the performance of copying slides from
other presentations (foreign slides). The time to copy a single slide is
decreased by 20%, and the time to copy slides with referenced resources is
decreased much more.

So, Simple API is the continue of ODFDOM Doc layer with lots of new features
and bugs fixed. ODFDOM Doc Layer has died on Nov.1st last year. The worthy
disciple excels his masters. Simple API grows vigorously.

The content of ODFDOM Doc layer duplicates with Simple API. But with less
feature and more bugs. There is no reason we continue keep it in the ODFDOM
codebase if merge ODFDOM and Simple. Remove Doc layer will make ODFDOM more
clear for all users. For old user, we have supply this list long time ago
for them to adapt to Simple API.
You will see how easy it is.

Give the user a more clear sky, please!!


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message