incubator-odf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Devin Han <>
Subject Re: How to contribute
Date Wed, 28 Sep 2011 15:18:01 GMT
Hi Henrique,

I am out of office yesterday. Sorry for the late response.

2011/9/26 Henrique Lobo Weissmann <>

> Hi,
> in 2009 I made few contributions to the ODF Toolkit project and started my
> own related project (ODF Easy) based on ODF DOM.

So you are a contributor older than me,  pay a tribute to you;)

> Recently I received an
> invitation from Devin Han to rejoin this project, and, of course, I
> accepted. :)
> So, how can I contribute?
> If you have any interest, I can even donate the source code of my own
> project ODF Easy (if it can have any use) as a form of contribution. I
> remember that back then the Simple API was embrionary. How is that today?

Simple API was splitted from ODFDOM Doc Layer, very close with ODF Easy. The
first release of Simple API is on Nov 1th last year with table,
presentation, and metadata convenient methods moved from ODFDOM into a new
package structure. Our release policy is each month a release. Until moved
to Apache, we have 10 relese versions. The newest version is 0.6.6. In these
versions, there are lots of new features added:
(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.

I studied the source code of ODF Easy and found that it focus on Table API.
So, I think is it possible you help us review the Table API of Simple API?
One hand, Simple API is improved, on the other hand, ODF Easy is involved in
Simple API in this way.
(1) When you find some features that ODF Easy have, but Simple API doesn't
have, you can add these features to Simple API.
(2) If you think some of the design isn't good enough, you can give us
comments, then we discuss and improve it.
I think this is just a start, in feature you can contibute more useful
features to ODF Toolkit.
If you agree my proposal, please check the source code here:
Maybe you have better suggestion;)

> Best regards,
>  Henrique Lobo Weissmann
> --
> Henrique Lobo Weissmann (Kico)
> (55) 31 9226-0459


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