OOXML support maintenance By Tams Zolnai Sofware Engineer at - - PowerPoint PPT Presentation

ooxml support maintenance
SMART_READER_LITE
LIVE PREVIEW

OOXML support maintenance By Tams Zolnai Sofware Engineer at - - PowerPoint PPT Presentation

Collabora Productivity OOXML support maintenance By Tams Zolnai Sofware Engineer at Collabora Productiity tamas.zolnai@collabora.com www.collaboraoffice.com Collabora Productivity Introducton Why OOXML compatbility is an issue?


slide-1
SLIDE 1

Collabora Productivity

www.collaboraoffice.com

Collabora Productivity

OOXML support maintenance

By Tamás Zolnai

Sofware Engineer at Collabora Productiity tamas.zolnai@collabora.com

slide-2
SLIDE 2

www.collaboraoffice.com

Introducton

Why OOXML compatbility is an issue?

  • Migraton or mixed environment
  • Replacement of MSO

What will I speak about?

  • Areas of comp. issues
  • Improvements done in last year
  • Future possibilites
slide-3
SLIDE 3

Form controls

slide-4
SLIDE 4

Collabora Productivity

www.collaboraoffice.com

Form control example

slide-5
SLIDE 5

www.collaboraoffice.com

Form controls

LibreOfce

  • Lots of diferent control types: opton buton, radio buton,

pushbuton, combobox, listbox, picture buton, etc

  • Floatng objects: can be anchored as text or as a shape object

MS Ofce

  • Three kind of controls: legacy, ActveX and content
  • Content control: new controls, control types: plain text, image,

checkbox, combobox, listbox, date picker

  • ActveX controls: foatng, more visual propertes (cbackground

color, triplestate, wordwrap, image, alignment)

slide-6
SLIDE 6

Collabora Productivity

www.collaboraoffice.com

MSO control types

slide-7
SLIDE 7

www.collaboraoffice.com

What’s done about form controls?

ActieX controls

  • Now imported from DOCX fles (ctdf#91384)
  • Before only XSLX and PPTX was supported
  • LO form controls are exported as MSO ActveX controls

(ctdf#50097)

  • ActveX controls are matching the best to LO form controls
  • Floatng objects, similar additonal propertes, similar types
  • One serious limitaton is the missing preset items for list

controls

  • Except date picker, which has a beter matching with content

control

slide-8
SLIDE 8

www.collaboraoffice.com

Implementaton details

Positon, size and anchor

  • Specifed in /word/content.xml, defned as a VML shape
  • A bit diferent XML tags when the control is a foatng object (cpict
  • r object context)

Control propertes

  • Binary fle inside DOCX, /word/actveX/actveX1.bin
  • /word/actveX/actveX1.xml contains some optons how to read

that binary

  • This binary data seems to be picked up from the DOC binary

format

slide-9
SLIDE 9

www.collaboraoffice.com

Future possibilites

Check specifc controls whether ActieX the best match

  • Maybe list controls (ccombobox and listbox) would be beter to

save as content control (cbecause of preset items)

slide-10
SLIDE 10

www.collaboraoffice.com

Future possibilites

Small issues in ActieX control support (easy hacks)

  • ActveX control locked / read only property is not imported

(ctdf#111417)

  • Additonal picture of buton control is not saved to DOCX
  • Text color of ActveX controls are not saved to DOCX
slide-11
SLIDE 11

Vertcal text in a table

slide-12
SLIDE 12

Collabora Productivity

www.collaboraoffice.com

Vertcal text in MSO

slide-13
SLIDE 13

www.collaboraoffice.com

Vertcal text in a table

MS Ofce

  • Vertcal text for most of the container objects (ctables, shapes,

text boxes)

  • Two supported rotaton angle (c90° and 270°)

LibreOfce

  • Has some vertcal text support, but this is related to diferent

language scripts (cright-to-lef, top-to-botom, etc)

  • Needed to have an actual rotaton property which is

independent of other font script propertes.

slide-14
SLIDE 14

www.collaboraoffice.com

What’s done about iertcal text?

Implemented text rotaton for Impress tables

  • Now text rotaton is imported form PPTX fles (ctdf#100926)
  • The same two rotaton angles are supported
  • By now it’s only available via UNO API, can’t set on the GUI
slide-15
SLIDE 15

www.collaboraoffice.com

Implementaton details

Diferent leiels of text rotaton implementaton

  • Low level code was already there (cCalc has text rotaton in cells)
  • Medium level was added during implementaton.
  • Editengine now handles TopToBotom and BotomToTop text.
  • Both during editng and in non-actve mode.
  • Heigher level
  • PPTX import flter now handles the vertcal propertes (cvert,

vert270)

  • Calc table cells has this property already, so we did not need to

extend API or ODF.

slide-16
SLIDE 16

www.collaboraoffice.com

Future possibilites

GUI opton for iertcal text in Impress tables

  • tdf#111633: Missing GUI opton for text rotaton inside Impress

table Extend iertcal text support for other objects

  • Writer tables
  • They have a diferent implementaton (csw core)
  • ODF property is already there
  • Shapes, text boxes, text frames
slide-17
SLIDE 17

Piiot tables

slide-18
SLIDE 18

Collabora Productivity

www.collaboraoffice.com

A pivot table example

slide-19
SLIDE 19

www.collaboraoffice.com

Piiot table

In general

  • Special table to organize and aggregate data
  • Complex feature supported both by LO and MSO

Issues

  • Lots of issues related to MSO compatbility
  • Most serious type: corrupton and data loss afer RT in Calc
slide-20
SLIDE 20

www.collaboraoffice.com

What’s done about piiot tables?

Performance improiement (tdf#102694)

  • Pivot cache behind the pivot table
  • Groups are shared between tables
  • Specifc test document import tme 20 min → 0,5 min

Larger and smaller fxes (stll working on that)

  • Pivot table’s layout was wrongly exported (ctdf#112946)
  • Corrupted XLSX was generated by LO (ctdf#112893)
  • Filtering of diferent felds were not preserved (ctdf#107711)
slide-21
SLIDE 21

Collabora Productivity

www.collaboraoffice.com

Filtering of a pivot feld

slide-22
SLIDE 22

www.collaboraoffice.com

Implementaton details

MSO piiot table

  • Diferent table layout modes: outline, tabular and compact.
  • LO supports outline and tabular form, but not the compact

mode

  • Pivot table defniton and pivot cache
  • Pivot table: felds, layout, etc
  • Cache contains the shared items, groups, etc.
  • Redundancy in pivot cache defniton for robustness (crepair

dialog)

slide-23
SLIDE 23

www.collaboraoffice.com

Future possibilites

Support compact mode in LO

  • It needs to have a diferent pivot table output, with some

additonal butons

  • LO already support outline and tabular mode, so might be easy

to add a new mode (ce.g. ODF extension) Improie performance of XLSX import

  • UNO API usage seems slow
  • Also pivot cache handling might has issues
slide-24
SLIDE 24

Collabora Productivity

www.collaboraoffice.com

Outline mode vs compact mode

slide-25
SLIDE 25

Collabora Productivity

Thank you!

By Tamás Zolnai

tamas.zolnai@collabora.com