Monday January 21, 2013

Merging Lotus Symphony: Allegro moderato





The house lights flash; Please take your seats. The symphony is about to begin.



Apache OpenOffice will soon have some new features and other improvements, courtesy of IBM and their Lotus Symphony effort. Interoperability, performance, accessibility improvements, as well as exciting new user interface elements are in the works. Read on to learn how the Apache OpenOffice volunteer community is doing this, and how this will benefit users of OpenOffice as well as developers who build upon OpenOffice.



Movement I: The Contribution.



IBM Lotus Symphony is an IBM licensed derivative of OpenOffice, offered at no charge, which IBM enhanced for their customer and corporate use. Symphony was developed with OpenOffice.org technology, essentially a fork of OpenOffice. Last May IBM decided to end that fork and combine their development effort with the Apache OpenOffice project. IBM contributed the source code for Symphony to Apache, via a Software Grant Agreement (SGA). (An SGA is an agreement by which a code base developed outside of Apache is contributed to Apache under specified licensing terms.) Since the areas that IBM improved Symphony are also areas of interest for OpenOffice users, and for 3rd party products based on OpenOffice, the Apache OpenOffice project was glad to receive this contribution.

Once the Symphony contribution was received and checked into the Apache OpenOffice version control, the discussion to determine the best way to use this new code. The two primary options discussed on our mailing list were:

Make the Symphony code the new base for Apache OpenOffice. Then merge back into Symphony the code improvements that had been made in Apache OpenOffice 3.4.

Continue with the existing Apache OpenOffice 3.4 as the base and merge features from Symphony into that code.

There were good arguments for either approach, and we had a spirited discussion. The main points were:



Using Symphony as the new base would have required careful review of that code base, and months of additional work to bring it up to Apache IP requirements. Essentially we would need to redo much of the work we had already done with the OpenOffice code that Oracle had contributed via their SGA. This would have been more disruptive to other, non-IBM, OpenOffice developers, but would have brought the distinguishing Symphony features to a release faster.

Merging Symphony features into OpenOffice would be less disruptive, but would be a slower path to integrating Symphony features, and would require more attention from IBM, since they know the Symphony code best.



In the end the consensus was to go with the 2nd option, merging Symphony code into OpenOffice. This brings the Symphony code, feature by feature, bug fix by bug fix, into OpenOffice, where it is integrated, tested, reviewed, etc., in smaller chunks, as it works its way toward release. Doing it this way is less flashy. There is no 'big bang integration" where everything happens at once. But that was the point, to avoid the disruptions of a radical change in the code base.



Work on the "slow merge" has been ongoing since last summer, in parallel with work on Apache OpenOffice 3.4.1. Our use of Apache Subversion facilitated this kind of parallel development, where one group focused on the 3.4.1 release in a "branch", another group of developers started to bring Symphony enhancements into the "trunk".



Movement II: Many Bug Fixes



Expect to see a lot of bug fixes in Apache OpenOffice 4.0, especially in the area of Microsoft interoperability. The Symphony team reviewed their IBM bug reports from Symphony and pulled out the most important ones that were already fixed in Symphony. They then tested Apache OpenOffice, to see which of these bugs still existed in OpenOffice. For the ones that still were in OpenOffice, they merged in the fix from Symphony. This was a very efficient approach to a targeted merge and led to many fixes, include the following so far (and we're still months away from release):



To open a sample file contains chart with large data source can lead to AOO crash

Application crashed if undo paste text from shape

Impress crashed when play screen show with sample file

Crash if undo redo creating data pilot from imported data

Application crash if insert sample file to section

Application crashed if undo/redo covert nest table to text

Undo redo insert file cause application crashed

User-definded format code is lost with a cell which value is TRUE or FALSE when importing xls file

Loading performance for xls file with row banded style is bad

Macro doesn't work if click "Undo" button

Chart data lost if the source data refers to a range name which is defined as a reference formula

Sample file's table border is missing

Page number in footer display incorrectly

Text is overlapped by the drawing object when open the .doc file

"Fit shape to text" property not work after openning ppt by AOO

It costs too much memory to open a large spreadsheet file containing pivot tables

Numbering will lose when saving or opening a ppt file

Color of underline display wrongly

Grid size for snake wipe transition too fine

Bookmark value changed when opening the doc file

Repeat count of animations ignored.

Fill color animations run too fast

Table changes to multiple shapes after saved in AOO

after save the sample file with page border and shadow to doc, the shadow depth and color changed

The graphic's spacing is not correct when open the .doc file

The graphic's border size and spacing is not correct when open the .doc file

Animation color is not exported correctly to PPT.

Number range variable filed shows in AOO

import of Microsoft Word document: indent of certain paragraphs in list is wrong

the text properties from table style are lost for table in the docx file

the background color from table style are lost for table in the docx file

Page number in footer alignment changed after saved

Shape Gradient MS2003 import/export Enhancement

Connector line does not shown correctly in grouped object

characters at the beginning of each lines in shape are lost when loading the sample ppt in AOO

disable antialiased lines for background hatches

Cell text direction changed after saved as doc file

Time format is different than MS Office

the text in textbox display paritially when opening .ppt file

After doc file saved by AOO, one more section is created

Doc file saved by AOO, section size changed

the text in the table turn to black from white when opening the pptx file

the background of the file create from template 'blue_floral.otp' changed after save as the ppt or pot file

Filter is not shown in merged cell

Need press "ESC" key twice to exist chart edit mode

Cannot modify the second document even if close range picker in first document

Pie chart height becomes greater when open Excel file

Ellipse shape display too large in MS office after save odp file to ppt format file

Formula GETPIVOTDATA returns #REF! value

The Emphasis or Exit or Motion Path effect can not play if there is an Entrance effect after it.

Picture missing when saving ODP file

Number displays different from MS with the same format code

TOC should not be updated if load doc in Writer

Placeholder in ppt file created by MS 2007 is lost if load in Impress

Text outside quotation cannot be paste in cell

Cannot open sample file

Application crashed if undo add caption to drawing object

Underline "_" can not work with ";" in format code, the semicolon will always be regarded as separator

Last agrument of formula should not be removed

Removing chart in odt file, it causes a crash.

Graphic in header and footer can not be displayed correctly

Crash when redo split the pasted table

Number formating are changed after save and reopen it again.

Import .pptx file into OO3.4, the vertical text direction of the table will be lost.

Shape border and fill color lost if open the ppt doc via AOO

Shape shadow position changed incorrect if open the ppt doc via AOO

Fontwork alignment changes after saving to another ppt with AOO

The graphic background in left table display incorrectly when using AOO open the sample .ppt file

Vertical text direction in table cell change to horizontal after saving to another .ppt by AOO

The vertical text alignment of the placeholder is wrong while opening the ppt file in AOO

all drawing objects lost aftering saving to another ppt by AOO

Line transparency value is lost after saving as another ppt by AOO

Graphic bullet is incorrect in the .ppt doc which saved via AOO

The bullet in outline area lost after openning by AOO

Some shapes in master page lose after save to another ppt by AOO

The position of conncector change after save to another ppt by AOO

Froze when saving the doc file to another one.

TOC jumping function lost if save document by AOO

star and symbol shape in ppt changed after openning by AOO

Transparency setting of Fill color lost in cell comments.

animation flash once doesn't work after save the ppt by aoo

exit animation changed after save as ppt file to another ppt

Page number lost if save template to doc format

Some numbering format not support

Additional dot appear after the numbering.

Apply Envelope page style cause application crash

Crash after delete column(s) from chart's source table, and then adjusted table size

[Crash]When press "Ctrl+Shift+Backspace" in table cell "A1" ,Undo,crash

Font size increased if saved by AOO

Hyperlink font size increased if saved to .doc file

Function "Case sensitive" in "Special Filter" dialog can not work.

Shape shadow lost if load .doc file in AOO

Macro button lost if save template to .doc file

Teardrop shape can not show correct in pptx sample file

Bullet color is lost when open pptx sample file

Arrow shape changed is save doc file by AOO

Outline level in sample file lost

the .doc page number is incorrect when opened in aoo 3.4

[BiDi]The order of Hebraic string are changed after save as new .doc

Alphabetical and roman numberals became ditial numbering

Text font spacing in comments doesn't expand/condense by the expected value

The left-style columns display with the same width when opening with AOO

MS Word that has Table that with Text wrap around the table can not be shown correctly

MS's Macro button symbol can't correct display in aoo 3.4

][BIDI]The position and direction of Right bracket is incorrect in Arabic locale

Paragraph indent and spacing between bullets and text are inconsistent with MS word

the content display mess when open the sample in AOO3.4

WMF graphic size changed too small to see if saved by AOO

The text box style display incorrectly when open the sample in AOO3.4

Vertical letters in "VerticalText" fontwork get horizontal when opening .ppt file

Table rows get heighter when opening a .docx file with AOO 3.4

Column header can not be displayed correclty in AOO3.4 after open the xls file.

font size of Fontwork changes from 96 to 36 after save as new .doc file

Text anchor in subtitle text box is changed from Top to Center when open a pot template in AOO3.4

Can't pop up protect password dialog when attempt to unprotect sheet with password for xls file in AOO.

Can't open by MS Office correctly when save sample file contain line with text to ppt format file

Position of drawing obj incorrect when opening .doc in aoo 3.4 if the text direction of the whole document is vertical

paragraph>pagination> Window/Orphan control setting lost after save the .doc file by aoo 3.4

The title text is Align left in sample file, while in MS Office ,it is align right.

he table border got lost when open the .ppt file in AOO

The title text is not Italic in Studio design template like that in MS Office.

sequence number is not displayed when open docx

Failed to open sample file but no any feedback to user

<Shape><Extrusion>The Extrusion direction of shape can't be saved correctly

arrow change size and position in MS after save odp to ppt format

Trendline of two Data Series can't be displayed but after edit it the trendline will be showed correctly

the bullet color display incorrectly in AOO3.4

the subtitle area of ppt file display incorrectly in AOO3.4

Can not open the sample ppt file which contain vb controls in the slide master.

The line indent change after save once by AOO

the right brace shape cannot display after save the sample .odt file to .doc file then reopen in aoo

One shape's border cannot be displayed completely

Text and fill color in a table are lost while opening a ppt file

Text in a text box can not be displayed correctly

a pic in the .doc file cannot display in Aoo 3.4

The numbering in table cell changes to bullets when saved in AOO

Item lists are incorrectly imported by Symphony.

Picture is lost when opening sample PPT file

Import file created by MS Excel, if there is blank item selected in Page filed of Pivot Table, the selection will be lost.

one column is lost if opened in AOO

[Crash]When save the file as ppt, AOO crashes

PPT Import:Word Art becomes larger

Arrow style of line changes after save the sample file to a new .ppt file.

AOO crash if a connector which connected to PPT table

The .xlsx sample file is opened with modified state

Under Handout view mode, Header&Footer displays inconsistent with the one presented in MS PowerPoint

Images lose macro association when open Excel file in AOO.

TOC lost if saved by AOO

PPT Import:Cell background color in table gets lost while opening a ppt file with AOO

PPT Export: Diagram bullet can not be displayed correctly after saved as *.ppt in AOO

page number in header lost when we save the .doc file as another in web layout

Picture shadow lost after saved by AOO

Form controls cannot be saved into .ppt file in AOO3.4

text alignment changed from left to center when importing the docx

The position of Shape (connectors) in slide is incorrect after save once by AOO3.4.

The image OLE's icon doesn't display correctly in Aoo3.4

Formula field lost

the shape 3D property effect in MS PPT can't be load correctly.

Some field is not shown

White block( on Mac and Black block on Windows) appears if click somewhere else in presentation

Presentation crashed if exit screen show

Writer crash after modify properties of new Frame

Calc crashes when Redo refreshing data

Create summary slide in .odp file which has expanded blank slides in,there is a crash.

Calc crashed if paste unsupport formula from MS Excel

Worksheet.Change event works not correctly

Application.Run could not work correctly

On our wiki you can see a visual "before & after" look and some of these fixes.



Movement III: New Features

Of course, a long list of bug fixes is impressive, but what about new features? Symphony brings those as well. A large one is a user interface addition of a "Task Pane". Since a Task Pane is continuously available, it can greatly improve productivity with some repetitive operations. Symphony had one version of this feature, but we're not just doing a literal copy of that UI, since grafting a UI of one application onto another is rarely successful. So we're reviewing several variations on a Task Pane design, which you can see on our wiki. Coding for this feature is ongoing in a branch.



Symphony had a nice collection of clipart and themes, and we're bringing those into OpenOffice.



IAccesible2 is an interface used by "assistive technologies" (screen readers, etc.) to help persons with disabilities use desktop applications. We're bringing the IAccesible2 support from Symphony into OpenOffice. Coding for this feature is also ongoing in a branch.





Movement IV: più allegro, anyone?



That's a summary of what Symphony is bringing to Apache OpenOffice 4.0 and beyond. Users of OpenOffice will benefit from these enhancements, of course. But so will other products, based on Apache OpenOffice, as they build their solutions on top of Apache OpenOffice, or selectively copy functionality from our releases.

When exactly will Apache OpenOffice 4.0 be released? We don't have a date set yet, but we think it will be before mid-year. As a volunteer-led open source project we rely on our volunteers to set the direction and pace of the work. We welcome help in any of these areas, from developers of course, but also from associated project functions, like QA, design, documentation, translation, marketing, etc. If you are interested in volunteering with the Apache OpenOffice project, please read our "Getting Involved" page. With your help we can go even faster!











Posted at 04:40PM Jan 21, 2013 by robweir in General | |