incubator-odf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Weir <>
Subject Re: Merge of ODFDOM DOC package and Simple API
Date Wed, 28 Sep 2011 15:55:00 GMT
On Wed, Sep 28, 2011 at 11:48 AM, Devin Han <> wrote:
> 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
> on.
> (2) List API. With these new methods, user can easily add lists to text
> document and presentation document, with numbering, bullets, or graphic
> bullets.
> (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
> element/component.
> (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!!

Could we mark the DOC API's as "deprecated" in our initial release,
and point to the replacements in the Simple API?  We could do that in
the JavaDoc.  That will give users the opportunity to migrate, but we
don't break their code immediately.  Then we can remove the DOC API in
a future release.

Would that work?

> --
> -Devin

View raw message