Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Writer Development


Published on

Writer development

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Writer Development

  1. 1. What's cooking in the Writer project? Oliver-Rainer Wittmann Co-Lead Sun Microsystems, Inc.
  2. 2. Agenda <ul><li>Who is
  3. 3. Writer projects of Sun's Writer team: </li><ul><li>Metadata support.
  4. 4. Import of Microsoft Word 2007 file format.
  5. 5. Better and new text fields.
  6. 6. Change to graphics and embedded objects. </li><ul><li>Refactoring of Drawing layer usage. </li></ul><li>List level attribute for paragraph styles.
  7. 7. “List consolidation” project.
  8. 8. Spell checking and grammar checking. </li></ul><li>Q&A </li></ul>
  9. 9. Who is <ul><li>Born in Hamburg, 38 years old, married, two daughters.
  10. 10. Study of computer science at university of Hamburg, diploma in 1999.
  11. 11. Since 1993 working as a software engineer.
  12. 12. Since July 2002 working for Sun Microsystems, Inc. at Writer.
  13. 13. Since December 2006 active member of the OASIS OpenDocument TC. </li></ul>
  14. 14. ODF 1.2 Metadata support - 1 <ul><li>OOo 3.0 </li><ul><li>Integration of a metadata repository based on RDF (Resource Description Framework) using the Redland RDF library.
  15. 15. Draft RDF API. </li></ul><li>OOo 3.2 </li><ul><li>Completion of the RDF API.
  16. 16. RDF/XML and RDFa import/export.
  17. 17. Full access of document's metadata.
  18. 18. Enable metadata support for: </li><ul><li>Paragraphs/headings
  19. 19. Bookmarks.
  20. 20. ODF 1.2 Metadata Text (new).
  21. 21. ODF 1.2 Metadata Field (new). </li></ul></ul></ul>
  22. 22. ODF 1.2 Metadata support - 2 <ul><li>RDF Metadata repository: </li><ul><li>Based on RDF triples – subject-predicate-object.
  23. 23. Organized in a graph. </li></ul></ul>subject predicate object
  24. 24. Import of Microsoft Word 2007 file format <ul><li>Status – OOo 3.2: </li><ul><li>The main part of the Microsoft Word 2007 file format's elements and attributes are handled. </li><ul><li>Not all are mapped into a Writer document due to missing or different feature set. </li></ul><li>Not finished are mainly details or complex items, et al.: </li><ul><li>Positioning, anchoring and text wrapping of Drawing objects.
  25. 25. Certain table properties, tables with merged or splitted cells and Table-in-table.
  26. 26. Certain document properties and compatibility options.
  27. 27. Change tracking. </li></ul></ul><li>Next steps – OOo 3.x </li><ul><li>Complete import of Drawing objects and tables. </li></ul></ul>
  28. 28. Better and new text fields - 1 <ul><li>Project goals are: </li><ul><li>Better usability, et al.: </li><ul><li>“in-place” editing of fields.
  29. 29. special form mode – read-only document, but fields are editable. </li></ul><li>Formatted text content for the field result. </li></ul></ul>
  30. 30. Better and new text fields - 2 <ul><li>Project goals are [continued]: </li><ul><li>Fields whose results are spread over several paragraphs.
  31. 31. Nesting of fields.
  32. 32. Improved interoperability with Microsoft Word documents: </li><ul><li>Introduction of field types which are better corresponding to the ones of Microsoft Word.
  33. 33. Roundtrip for unsupported fields via a generic approach. </li></ul></ul><li>Support for such fields needs to be integrated into the next version of ODF -> ODF-Next. </li></ul>
  34. 34. Change to graphics and embedded objects - 1 <ul><li>The Writer has its own implementations for graphics and embedded objects currently resulting in: </li><ul><li>Duplication of implementations.
  35. 35. Different user experience on the different implementations.
  36. 36. Writer's graphics can not be rotated.
  37. 37. Writer's objects can not be grouped.
  38. 38. Writer's objects support other border styles and have macro and hyperlink properties.
  39. 39. Several coded workarounds in order to treat the different implementations correct in the Writer. </li></ul><li>Thus, finally we decided to change this. </li></ul>
  40. 40. Change to graphics and embedded objects - 2 <ul><li>The change on which we agreed: </li><ul><li>Get rid of the Writer implementations – use implementations of the Drawing layer (DL).
  41. 41. Implement missing features at the DL implementations in general for all applications or only for the Writer. </li></ul><li>We also agreed to improve and simplify the corresponding code in advance: </li><ul><li>Refactoring of DL usage – main goals are. </li><ul><li>Clear separation of model and view.
  42. 42. Get rid of special code for Writer in DL.
  43. 43. Solve certain issues regarding Drawing objects in repeated areas (page header/footer or table header). </li></ul></ul></ul>
  44. 44. Change to graphics and embedded objects - 3 <ul><li>Involved developers </li><ul><li>Armin Le Grand (, Sun Microsystems, Inc.) </li><ul><li>Implementation of missing features in general in the DL. </li></ul><li>Henning Brinkmann (, Sun Microsystems, Inc.) </li><ul><li>Removal of Writer's implementations.
  45. 45. Implementation of missing features for the Writer </li></ul><li>Oliver-Rainer Wittmann (, Sun Microsystems, Inc.) </li><ul><li>Refactoring of DL usage.
  46. 46. Implementation of missing features for the Writer. </li></ul></ul><li>Further details on OOo's wiki page. </li><ul><li>“Unification of Graphic Objects and Embedded Objects” </li></ul></ul>
  47. 47. Refactoring of Drawing layer usage - 1 <ul><li>State of the art: </li><ul><li>The Writer holds one Draw model with one Draw page for the model and the view of Drawing objects in Writer.
  48. 48. The consequences are: </li><ul><li>Virtual Drawing objects for repeated areas – special code in DL.
  49. 49. Special Draw page layers for invisible Drawing objects.
  50. 50. Special callback mechanisms in DL for changes at Drawing objects – again special code in DL.
  51. 51. Conversion of Drawing object's position and related properties in UNO-API from view positions to model positions and vice versa. </li></ul></ul></ul>Writer document - model and view One Draw model with one Draw page
  52. 52. Refactoring of Drawing layer usage - 2a <ul><li>Solution chosen for the refactoring [in graphic]: </li></ul>Draw view model Writer document - model and view Draw model clone
  53. 53. Refactoring of Drawing layer usage - 2b <ul><li>Solution chosen for the refactoring [in words]: </li><ul><li>The Writer model will hold one Draw model for the model data of its Drawing objects.
  54. 54. Each Writer view/layout will get its own Draw model for the visualization of the Writer's Drawing objects. </li><ul><li>These Draw models are called Draw view models. </li></ul><li>The Drawing objects in a Draw view model will be clones of the Drawing objects in the Draw model.
  55. 55. The Writer takes care of the relationships between the Drawing objects in the Draw model and its clones in the Draw view models. </li></ul></ul>
  56. 56. List level attribute for paragraph styles - 1 <ul><li>Contribution from IBM, currently in progress.
  57. 57. This feature based on an ODF 1.2 feature proposed and contributed by IBM to the OASIS OpenDocument TC: </li><ul><li>ODF attribute style:list-level has been introduced for paragraph styles.
  58. 58. This ODF attribute is only of relevance when the paragraph style has also a list style applied. </li></ul></ul>
  59. 59. List level attribute for paragraph styles - 2a <ul><li>ODF 1.2 list level attribute at paragraph styles in OOo Writer [in graphic]: </li></ul>
  60. 60. List level attribute for paragraph styles - 2b <ul><li>ODF 1.2 list level attribute at paragraph styles in OOo Writer [in words]: </li><ul><li>Assignment of a paragraph style to a certain list level of a list style. </li><ul><li>No direct access in the user interface to this attribute, but indirect in the list style's format dialog on pane “Options”. </li></ul><li>When applying such a paragraph style the paragraph will directly become a list item on the given list level.
  61. 61. Better interoperability with Microsoft Word documents. </li></ul></ul>
  62. 62. List level attribute for paragraph styles - 3 <ul><li>i-Team members: </li><ul><li>Jim Cheng (
  63. 63. Xuan Gong (
  64. 64. Frank He (
  65. 65. Xia Zhao (
  66. 66. Oliver-Rainer Wittmann (Sun Microsystems, Inc.) – only supporting role </li></ul><li>Current specification can be found at the OOo specs project in the section for the Writer. </li></ul>
  67. 67. “List consolidation” project <ul><li>Small project which takes care of Writer's list and outline functionality.
  68. 68. Project group: </li><ul><li>Jacqueline Rahemipour, lead and user experience
  69. 69. Andre Schnabel, quality assurance
  70. 70. Michael Rüß (Sun Microsystems, Inc.) , quality assurance
  71. 71. Oliver-Rainer Wittmann (Sun Microsystems, Inc.) , development </li></ul><li>Detailed information will be given in OOoCon 2009 presentation “lists and outline in Writer”, Nov. 6, 10:00. </li></ul>
  72. 72. Spell checking and grammar checking <ul><li>Mainly maintenance work.
  73. 73. Availability of many dictionary extensions since dictionaries are possible as extensions (OOo 3.0).
  74. 74. Availability of a couple of grammar checking extensions the grammar checking framework is born in OOo 3.0.1. </li></ul>
  75. 75. Oliver-Rainer Wittmann [email_address] [email_address] Meet the Sun Experts at the Sun Booth