![Page 1: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/1.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
OpenOffice.orgOpenOffice.orgProject :Project :
Mac OS X portMac OS X port
Des
ign
: Ben
Boi
s b
en@
hoob
oo.c
om
![Page 2: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/2.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
● Introduction
● Mac port in the Project
● Mac porting project objectives
● Todo and roadmap
● Connect With the OOo Developer Teams
Summary
![Page 3: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/3.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Introduction
![Page 4: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/4.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Speaker introduction :
Eric Bachard,
Professor of Applied Physics, UTBM (France)
Developer
Porting project Co-Lead
OpenOffice.org Project
![Page 5: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/5.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
... a brief history
First working version of OpenOffice.org 2.0
on Mac OS X: january 2005
Mac Intel port : january 2006
Work in progress : Aqua port ( sched : 2007 )
( no X11 / Aqua Look and feel )
![Page 6: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/6.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
OpenOffice.org Project is ...
A Community Project
( LGPL for code , PDL for documentation)– Multi OS ( Linux , Windows, Mac OS X, Solaris,
FreeBSD, OpenBSD, OpenVMS )
– Multi architectures (Intel, PowerPC, ARM, Alpha ...including 32, 64bits )
![Page 7: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/7.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Everything is project in OpenOffice.org
– Accepted projects : framework, gsl, porting ... (24)
– Native Lang Community (72 )
– Incubator projects (14 )
– WebWork ( 5)
![Page 8: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/8.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Languages used in OpenOffice.org :
C++ : ~ 90 %
Java : <4,5%
Ansi C : ~ 2,5 %
Perl : 1%
Other (11 ) < 2 %
Source : http://blogs.linux.ie/caolan/2007/01/
![Page 9: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/9.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Mac port in the project
![Page 10: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/10.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
● Sources are common, organized in 150 modules (supposed independant)
● OpenOffice.org is a framework ● the code is old● nothing was existing for Mac OS X port
(only an Unix port , including X Windows server, aka X11)
![Page 11: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/11.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Mac Intel port :
– works since January 2006– Available for both PowerPC and Intel (two
separate binaries)– Official since 2.0.3 on X11 version
![Page 12: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/12.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Mac porting project objectives
![Page 13: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/13.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
● Provide a real Mac Application
● get rid of X11
● respect the Aqua Look
● respect Aqua Human Interface Guidelines
![Page 14: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/14.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Programming Requirements :
● Good C/C++ knowledge (important)
● basic knowledge of the UNIX command line
● Know the Carbon API
● Own a Mac ...
![Page 15: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/15.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
What do we have to do?
Implement : direct access to Apple graphical engine, using Apple API: Quartz2D/CoreGraphics (and replacing Xlib use)
native events management, using CarbonEventManager (replacing Xlib management)
![Page 16: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/16.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Implement :● native font use, using Apple Type Server and ATSUI (for Unicode Imagery) (replacing X11 management)
● native Drag and drop,
● native sound, using QuickTime (replacing Java Media Framework):
● Native Filepicker
● Native Printing: current uses cups, but native printing is mandatory
![Page 17: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/17.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Where is located the code to be modified?
Most of the changes are located in vcl (Visual
Class Layer), for everything graphical, events, fonts,
rendering and printing.
![Page 18: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/18.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Other, for sound and movies will be in avmedia (where the player is implemented in OpenOffice.org sources).
For drag and drop, dtrans is concerned (Pasteboard Manager implementation)
Filepicker : fpicker, sfx2, scp2, vcl
![Page 19: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/19.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
How will the new implementation be tested?
In vcl module", a toy called svdem is built at buildtime. This binary is linked to libvcl* and so all new stuff can be tested.
e.g. : draw antialiased lines works well.
![Page 20: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/20.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Everything implemented in aqua vcl code :● will be included in libvclplug_aqua,
● svdem source code will contain a specific part to proceed tests.
The magic is:
When all needed features will work with svdem, it will work in the new version of OpenOffice.org !!
![Page 21: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/21.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
![Page 22: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/22.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
![Page 23: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/23.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Todo and roadmap
![Page 24: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/24.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Step 1 :
Fix Top 10 of issues, to provide a public version : proof of concept
concerned: crashes, windows refresh, missing functions for fonts, cursor .. to make the aqua version usable (not for production)
![Page 25: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/25.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Step 2
Code review
Integrate aquavcl01 cws
Start basic QA ( manual tests first, feedback from users .. )
Implement missing parts :
- filepicker, sound , drag and drop, printing ...
![Page 26: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/26.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Step 3
Beta
Complete QA
![Page 27: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/27.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Step 4
Complete integration
First Aqua version ( 1.0 )
![Page 28: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/28.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Connect With the OOo Developer Teams
![Page 29: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/29.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
● IRC Channels :
● server : irc.freenode.net
● channel : #ooo_macport● Site :
http://porting.openoffice.org/mac
![Page 30: OpenOffice.org · OpenOffice.org Project is ... A Community Project ( LGPL for code , PDL for documentation) – Multi OS ( Linux , Windows, Mac OS X, Solaris, FreeBSD, OpenBSD, OpenVMS](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa643b6f6cad3efe7b1cbe/html5/thumbnails/30.jpg)
Eric Bachard / Porting Project / FOSDEM 2007 Bruxelles
Mailing lists :
● [email protected]: general developers mailing list
● [email protected]: mac porting specific list
● [email protected]: vcl specific list (more on vcl later)