ODFDOM - Present, Past  and Future Svante Schubert Software Engineer Sun Microsystems Inc.
ODFDOM - Present, Past and Future <ul><li>The Past </li><ul><li>Requirements
Principles </li></ul><li>The Present </li><ul><li>Architecture
Resources </li></ul><li>The Future </li><ul><li>Next Step
Visions </li></ul></ul>
The Past - Requirements <ul><li>Library for ODF processing </li><ul><li>ODF centric library
Lightweight / lean library
Simple / intuitive API
Opensource
High usability </li></ul></ul>
The Past - Principles <ul><li>Base Principles </li><ul><li>Model based on ODF
Focus on model
Generate sources (typed DOM)  from ODF schema
Public available on Odftoolkit.org using Apache 2
Allow feature perspective </li></ul></ul>
The Present - Layered Model
Upcoming SlideShare
Loading in …5
×

ODFDOM ODF as a server

1,528 views

Published on

ODFDOM - using ODF as a server

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,528
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Who am I: - Since over 10 years working for Sun Microsystems in XML area for StarOffice/OpenOffice.org - Developer of the XHTML export filter (XSLT) and MS Office 2003 SpreadsheetML export filter - Co-Lead of the OpenOffice.org XML Projectes - Member of the W3C Compound Document Format WG and related to this in the W3C CSS WG the editor of the CSS Mobile Profile 2.0 - Member of the W3C Semantic Interest Group - Member of the OASIS ODF TC - Member of the OASIS ODF Metadata Subcommittee (Co-editor der Metadaten Spec with Patrick Durusau) - Member of the OASIS ODF Interoperability and Conformance TC (OIC) - Chair des ODFDOM Projektes (ODF Java library) on odftoolkit.org
  • IF you need an ODF opensource library on the server (manipulating thousends of document) You want an: - Lean library (only provide, what you need for ODF document creation/manipulation - e.g. no UI) - ODF centric (package / XML) (OOo source base founded 1984 - 2002 OASIS Open Office XML - ODF 1.0 ISO 2006) - 22 years later - Simple API (intuitive, repeating pattern, low learning curve) - high usability (ease of use) - be comfortable, avoid redunandant tasks for the user
  • IF you need an ODF opensource library on the server (manipulating thousends of document) You want an: - Lean library (only provide, what you need for ODF document creation/manipulation - e.g. no UI) - ODF centric (package / XML) (OOo source base founded 1984 - 2002 OASIS Open Office XML - ODF 1.0 ISO 2006) - 22 years later - Simple API (intuitive, repeating pattern, low learning curve) - high usability (ease of use) - be comfortable, avoid redunandant tasks for the user
  • Layered model similar to the ODF 1.2 specification Part 1 (Schema) and Part 3 (Package)
  • Convenient API Common high-level convenience functionality based on Feature (e.g. add table, add table row, etc.) DOM API Processing ODF documents on ODF XML element level Generated from the ODF RelaxNG Schema (typed W3C XML DOM) Package API Adding / removing file streams from the ODF package (ZIP)
  • ODF to XHTML transformation ODF 1.2 specification as HTML Allow JavaDoc to reference directly to spec
  • ODF to XHTML transformation ODF 1.2 specification as HTML Allow JavaDoc to reference directly to spec
  • ODF to XHTML transformation ODF 1.2 specification as HTML Allow JavaDoc to reference directly to spec
  • ODF to XHTML transformation ODF 1.2 specification as HTML Allow JavaDoc to reference directly to spec
  • ODF to XHTML transformation ODF 1.2 specification as HTML Allow JavaDoc to reference directly to spec
  • ODFDOM ODF as a server

    1. 1. ODFDOM - Present, Past and Future Svante Schubert Software Engineer Sun Microsystems Inc.
    2. 2. ODFDOM - Present, Past and Future <ul><li>The Past </li><ul><li>Requirements
    3. 3. Principles </li></ul><li>The Present </li><ul><li>Architecture
    4. 4. Resources </li></ul><li>The Future </li><ul><li>Next Step
    5. 5. Visions </li></ul></ul>
    6. 6. The Past - Requirements <ul><li>Library for ODF processing </li><ul><li>ODF centric library
    7. 7. Lightweight / lean library
    8. 8. Simple / intuitive API
    9. 9. Opensource
    10. 10. High usability </li></ul></ul>
    11. 11. The Past - Principles <ul><li>Base Principles </li><ul><li>Model based on ODF
    12. 12. Focus on model
    13. 13. Generate sources (typed DOM) from ODF schema
    14. 14. Public available on Odftoolkit.org using Apache 2
    15. 15. Allow feature perspective </li></ul></ul>
    16. 16. The Present - Layered Model
    17. 17. The Present – ODF Table Example
    18. 18. The Present - ODF Table as DOM
    19. 19. The Present - API Model
    20. 20. The Present - Resources <ul><li>Quick Look </li><ul><li>Project of ODF Toolkit - http://odftoolkit.org
    21. 21. Wiki - http://odftoolkit.org/projects/odfdom/pages/Home </li></ul><li>Deep Look (Packages) </li><ul><li>The zipped JavaDoc API
    22. 22. The JAR of the reference Java 5 implementation
    23. 23. The zipped Maven package containing the sources of ODFDOM 0.7.5 </li></ul></ul>
    24. 24. The Present - Resources / Tools <ul><li>ODF to XHTML transformation </li><ul><li>ODF 1.2 specification as HTML
    25. 25. Allow JavaDoc to reference directly to spec </li></ul><li>Get default values from ODF 1.2 spec </li><ul><li>Currently XSLT soon ODFDOM bootstraping itself </li></ul></ul>
    26. 26. The Future - Resources / Tools <ul><li>Most powerful: schema2template </li><ul><li>Creates model of XML schema (using Sun' Multi Schema Validator)
    27. 27. Templates using scripts to access model
    28. 28. (using Apache's Velocity template engine)
    29. 29. Templates generating </li><ul><li>Source code for type DOM (e.g. in Java)
    30. 30. XML reference documentation (e.g. in HTML) </li></ul><li>Comparison of two models to identify changes </li><ul><li>ODF 1.0 with ODF 1.1
    31. 31. ODF 1.1 with ODF 1.2 </li></ul></ul></ul>
    32. 32. The Future – Union of ODF teams <ul><li>ODFDOM concepts applied for </li><ul><li>C# (AODL team)
    33. 33. Python (LpOD team) </li></ul><li>Cooperation on convenient API </li><ul><li>Finding of mapping from XML to (sub-)feature
    34. 34. Proof of concept: </li><ul><li>Test document is generable
    35. 35. Convenient API is generable
    36. 36. Prototype base on ODF image feature </li></ul></ul></ul>
    37. 37. The Future – ODF SDK <ul><li>ODF SDK will consist of.. </li><ul><li>ODF library (ODFDOM) </li><ul><li>JavaDoc (in HTML) linked to spec
    38. 38. ODF 1.2 spec (in HTML) </li></ul><li>ODF XML reference (in HTML)
    39. 39. Visual ODF comparison tool </li><ul><li>Comparison based on file/line level </li></ul><li>Common use cases </li><ul><li>Reference code as solution (e.g. Java) </li></ul></ul></ul>
    40. 40. Join the Agile Team of ODFDOM! <ul><li>Agile group of professional developers </li><ul><li>from IBM, Sun and private contributors </li></ul><li>Test driven development
    41. 41. Communication via mail & bugtracker
    42. 42. One weekly phone call (toll free)
    43. 43. Using Maven & Mercurial
    44. 44. Commitment by patches and review </li></ul>
    45. 45. Come together NOW! <ul><li>ODF Toolkits BoF: “Programming Anywhere&quot; New session: 17:15-18:00 Palazzo del Popolo - Sala Etrusca </li></ul>
    46. 46. Questions & Answers Svante Schubert [email_address]

    ×