<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KAMiKAZOW</id>
	<title>Apache OpenOffice Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KAMiKAZOW"/>
	<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/wiki/Special:Contributions/KAMiKAZOW"/>
	<updated>2026-08-13T03:13:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Product_Release&amp;diff=105163</id>
		<title>Product Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Product_Release&amp;diff=105163"/>
		<updated>2008-12-17T13:07:58Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Ongoing OpenOffice.org 3.x.x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Product Releases of OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
For detailed release information or roadmap please see http://development.openoffice.org/releases/&lt;br /&gt;
&lt;br /&gt;
For a list of uploaded developer snapshots and release candidates/releases see http://wiki.services.openoffice.org/wiki/Product_Release/builds_uploaded&lt;br /&gt;
&lt;br /&gt;
For guidance on announcing new releases see http://wiki.services.openoffice.org/wiki/PolicyMirrorLinking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Change &amp;amp;amp; transition to more regular time-based releases is&lt;br /&gt;
underway here; checkout Martin&amp;#039;s&lt;br /&gt;
[http://development.openoffice.org/releases/OpenOffice_org_2_x.html#plan mail]&lt;br /&gt;
on the releases list.&lt;br /&gt;
&lt;br /&gt;
=== Ongoing OpenOffice.org 3.x.x ===&lt;br /&gt;
* [[OOoRelease301]] estimated release January 15th, 2009: for details, please have a look at the document &lt;br /&gt;
* [[OOoRelease31]] estimated release March 29th, 2009: for details, please have a look at the document&lt;br /&gt;
&lt;br /&gt;
=== Released OpenOffice.org 3.x.x ===&lt;br /&gt;
&lt;br /&gt;
* [[OOoRelease30|OpenOffice.org 3.0]] (October 13th, 2008)&lt;br /&gt;
&lt;br /&gt;
=== Ongoing OpenOffice.org 2.x.x ===&lt;br /&gt;
* [[OOoRelease242|OpenOffice.org 2.4.2]] (October 28th, 2008)&lt;br /&gt;
&lt;br /&gt;
=== Released OpenOffice.org 2.x.x ===&lt;br /&gt;
* [[OOoRelease241|OpenOffice.org 2.4.1]] (June 10th, 2008)&lt;br /&gt;
* [[OOoRelease24|OpenOffice.org 2.4]] (March 27th, 2008)&lt;br /&gt;
* [[OOoRelease231|OpenOffice.org 2.3.1]] (December 4th, 2007)&lt;br /&gt;
* [[OOoRelease23|OpenOffice.org 2.3]] (September 17th 2007)&lt;br /&gt;
* [[OOoRelease221|OpenOffice.org 2.2.1]] (June 12th 2007)&lt;br /&gt;
* [[OOoRelease22|OpenOffice.org 2.2]] (March 29th 2007)&lt;br /&gt;
* [[OOoRelease205|OpenOffice.org 2.1]] (December 12th 2006)&lt;br /&gt;
* [[OOoRelease204|OpenOffice.org 2.0.4]] (October 13th 2006)&lt;br /&gt;
* [[OOoRelease203|OpenOffice.org 2.0.3]] (June 29th 2006)&lt;br /&gt;
* [[OOoRelease202|OpenOffice.org 2.0.2]] (March 8th 2006)&lt;br /&gt;
* [[OOoRelease201|OpenOffice.org 2.0.1]] (December 21st 2005)&lt;br /&gt;
* [[OOoRelease200|OpenOffice.org 2.0.0]] (October 21st 2005)&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org 1.1 ===&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org 1.1.5 (September 9th, 2005)&lt;br /&gt;
* OpenOffice.org 1.1.4 (December 22th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.3 (October 4th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.2 (June 18th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.1 &lt;br /&gt;
* OpenOffice.org 1.1.0 (October 1st, 2003)&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org 1.0.3 (April 10th, 2003)&lt;br /&gt;
* OpenOffice.org 1.0.2 (tag OpenOffice_1_0_2) (January, 20th, 2003)&lt;br /&gt;
* OpenOffice.org 1.0.1 (tag OpenOffice_1_0_1) (July 17th, 2002)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_OpenGL_transitions&amp;diff=105161</id>
		<title>Mac OS X Porting - OpenGL transitions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_OpenGL_transitions&amp;diff=105161"/>
		<updated>2008-12-17T13:05:10Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;OpenGL transitions on Mac OS X &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;In Impress, there are transitions between slides, with or without funny 3D effects. The problem is, those nice and Funny effects are power consuming, and without hardware acceleration – means software rendered –, extremely slow, what is not acceptable by users.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;This task aims to replace the software rendered transitions with hardware accelerated transitions on Mac OS X.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;We&amp;#039;ll use OpenGL, the API Mac OS X does natively use&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Below the technical description, the involved code, the plan, and so on. Feel free to add information if you estimate it usefull for the task.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Thanks in advance :-)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Goal === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Make OpenGL transitions work in Impress, on Mac OS X Aqua&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
Expected timeline: &amp;#039;&amp;#039;&amp;#039;October / November 2008&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Current status ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;26th September &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;One issue verified on 42&amp;quot; screen &amp;#039;&amp;#039;&amp;#039; : during OpenGL transitions, the view does not use the fullscreen area, but the Windowed view area (needs to check the exact area ) -&amp;gt; work in progress&amp;#039;&amp;#039;&amp;#039;, + some limitations (unimplemented features), explained below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;7th September &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Excepted the flicker (caused be the slideshow itself) the transitions work. We have two working solutions, and a choice for the implementation will probably be done soon ( waiting from ssa, who will decide what is the best )&lt;br /&gt;
&lt;br /&gt;
Remaining tasks: &lt;br /&gt;
&lt;br /&gt;
* build issue in officecfg: the .xcs and .xcu files have to be modified when ENABLE_OPENGL is true&lt;br /&gt;
* check for memory leaks&lt;br /&gt;
* check for stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;31st August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FIXED: Fixed the colorspace issue: was the pDetectedFormat &lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
&lt;br /&gt;
* Cleanup in void OGLTransitionerImpl::GLInitSlides()&lt;br /&gt;
* Continue to search what happens with the frame (why this sort of &amp;quot;refresh ?&amp;quot; )&lt;br /&gt;
* Work in progress: started learning the slideshow&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;30th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The issue with flicker seems to be caused by the slideshow itself. I&amp;#039;ll add symbols in libsd, and I&amp;#039;ll try to see what happens.&lt;br /&gt;
&lt;br /&gt;
concerned code is in: sd/source/ui/slideshow &lt;br /&gt;
&lt;br /&gt;
The color issue seems to be caused by some color/alpha channel ( RGBA .. RGAB ) or something like that issue.&lt;br /&gt;
&lt;br /&gt;
Shane M. Mathews (I&amp;#039;m in contact with him) suggested several possibilites. I&amp;#039;ll give them a try.&lt;br /&gt;
&lt;br /&gt;
Issue 0 was not an issue. OpenGL version detected is at least 1.3, but can be more. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: test on Leopard, just in case the issue is Tiger only (that would be a bad news)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;29th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Re-reading OpenGL Programming Guide. Tested a lot of possibilities with NSOpenGLContext, unsuccessfully.&lt;br /&gt;
&lt;br /&gt;
Radek Dulik adviced me to check whether the context is really Double buffered (was an issue on Linux). Maybe a missing makeCurrentcontext somewhere (where ? )&lt;br /&gt;
&lt;br /&gt;
Analyzed the known issues: &lt;br /&gt;
&lt;br /&gt;
0) solved:  OpenGL 1.2 or 1.3 detected (2.0 should work imho)&lt;br /&gt;
&lt;br /&gt;
1) bad colors (bad OpenGL initialization?)&lt;br /&gt;
Looks like the complementary color appears, of red effect added. Needs more work&lt;br /&gt;
&lt;br /&gt;
2) offset in window mode, caused by scrollbar not included in the slide position computation&lt;br /&gt;
(the frame dimensions are different)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) flicker &lt;br /&gt;
&lt;br /&gt;
the problem is (using ssa words):&lt;br /&gt;
&lt;br /&gt;
* the slideshow displays the slide first&lt;br /&gt;
* then an opengl view is painted on top of it and plays the slide transition&lt;br /&gt;
* once it is removed the old background appears again still containing the first frame of the animation&lt;br /&gt;
* and after a very short time the slideshow engine draws the final frame,&lt;br /&gt;
* which is visible as a flicker&lt;br /&gt;
&lt;br /&gt;
4) optimization / compatibility?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;28th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Works&amp;#039;&amp;#039;&amp;#039; (experimental and hacked builds are available at [http://oooaqua.laurentbuisson.fr Laurent Buisson site]). &lt;br /&gt;
&lt;br /&gt;
There are currently no crash, but it needs improvement:&lt;br /&gt;
&lt;br /&gt;
* bad colors&lt;br /&gt;
* flickering at the end (will need precise and non trivial work)&lt;br /&gt;
* no optimization &lt;br /&gt;
&lt;br /&gt;
other tests in progress: replace the NSOpenGLView, with a customized NSView ( sublassed as NSOpenGLView, with more possibilities)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cws state changed for new&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;added tasks and modules to the cws&amp;#039;&amp;#039;&amp;#039;. First commits to come soon.  &lt;br /&gt;
&lt;br /&gt;
=&amp;gt; Important: don&amp;#039;t forget to run autoconf in config_office, to regenerate configure (configure.in has been modified)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;27th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cws ogltrans4mac has been created &amp;#039;&amp;#039;&amp;#039; (planned)&lt;br /&gt;
&lt;br /&gt;
Stephan Schaefer helped me ( he made the NSOpenGLView work some weeks ago), and including all the changes, I was able to package a working version!&lt;br /&gt;
&lt;br /&gt;
Created the patches  concerning:&lt;br /&gt;
&lt;br /&gt;
* scp2, &lt;br /&gt;
* config_office (René confirmed it is ok to bypass OpenGL / gl.h, glut.h headers and GLUT tests, and declare ENABLE_OPENGL=TRUE as default on Mac OS X), &lt;br /&gt;
* officecfg,&lt;br /&gt;
* sd, &lt;br /&gt;
* slideshow&lt;br /&gt;
&lt;br /&gt;
Waiting for more information, about how proceed in vcl (I now know it works, but a big issue remains to be fixed :-)  ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;26th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Found why the libOGLTrans was not loaded: the registration as UNO_COMPONENT was not done.&lt;br /&gt;
&lt;br /&gt;
Other issues : the new transitions effects are not listed, because not in the .xcu nor any .xml&lt;br /&gt;
&lt;br /&gt;
I finally found where: in sd/xml!  -&amp;gt; transitions-ogl (who is a plain .xml file) has to be &lt;br /&gt;
&lt;br /&gt;
* renammed into transition-ogl.xml &lt;br /&gt;
* copied into the solver (accordingly to th esd/prj/d.lst file) &lt;br /&gt;
&lt;br /&gt;
Consequence : some changes are needed in officecfg too:&lt;br /&gt;
&lt;br /&gt;
Existing transitions are put in officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; new entries, matching with transitions-ogl.xml have to be entered  (probably around line 1910, after &amp;quot;Random Transition&amp;quot; effect)&lt;br /&gt;
&lt;br /&gt;
FIXME : localisation of new transitions names?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;25th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reading documentation (vcl code, mostly about outdev and co)&lt;br /&gt;
&lt;br /&gt;
Defined the implementation plan (working with DEV300_m29)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;24th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Did some tests, using the first aquaOpenGLView I created. Lot of crashes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;23rd August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Added other ideas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;22nd August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Started the wiki page and the implementation in parallel&lt;br /&gt;
&lt;br /&gt;
PLEASE DO NOT REMOVE THE CREATION DATE&lt;br /&gt;
&lt;br /&gt;
Page created [[User:Ericb|Ericb]] 11:55, 22 August 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Concerned domains ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Build :&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* conditional activation of ENABLE_OPENGL in configure&lt;br /&gt;
* addition of NSOpenGLView class in vcl&lt;br /&gt;
* conditional build of libOGLTrans.dylib in slideshow&lt;br /&gt;
* conditional packaging of ligOGLTrans.dylib in scp2&lt;br /&gt;
* conditional addition of new transitions in the officecfg schema/UI files&lt;br /&gt;
* conditional registration of libOGLTrans.dylib at packaging time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Core :&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* NSOpenGLView implementation in vcl&lt;br /&gt;
* OpenGL initialization and context creation in the slideshow&lt;br /&gt;
* load the libOGLTrans.dylib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;User Interface :&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add the list of the new transitions in the list&lt;br /&gt;
* use them&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039; Concerned modules&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
* config_office: make OpenGL default on Mac OS X Aqua =&amp;gt; ENABLE_OPENGL=TRUE&lt;br /&gt;
* slideshow: where the lib is built. This lib is linked with libvcl (vcl must be built before slideshow)&lt;br /&gt;
* scp2: to add the new lib in the package&lt;br /&gt;
* sd : rename the transitions-ogl in transitions-ogl.xml and deliver it&lt;br /&gt;
* officecfg : add the new transitions names in the list, to make them appear in the UI + add the transitions-ogl.xml file name in the matching Effects.xcs schema&lt;br /&gt;
&lt;br /&gt;
=== Examples === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:16px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;To illustrate the current work in progress, some experimental screenshots are available [http://eric.bachard.free.fr/mac/aquavcl/patches/aqua_August_2008/OGLTransitions/screenshots =&amp;gt; CLICK ME]&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feedback === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The page below, &amp;#039;&amp;#039;&amp;#039;is the place for user experience comments, suggestions and feddback&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:16px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;PLEASE use it and contribute! [http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_OpenGL_transitions/Feedback  click me]&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Modifications&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Existing (historical implementation) ===&lt;br /&gt;
&lt;br /&gt;
Common:&lt;br /&gt;
&lt;br /&gt;
vcl/source/opengl.cxx, implements:&lt;br /&gt;
&lt;br /&gt;
* functions pointers (most important gl functions typedef&amp;#039;ed) &lt;br /&gt;
* + corresponding macro for functions initialization&lt;br /&gt;
* + impl functions getters&lt;br /&gt;
* Ctor: parameter pOutDev is a pointer on a OutputDevice*, using mpOutDev&lt;br /&gt;
* Dtor: deletes mpOGL&lt;br /&gt;
* usual methods ... and so on &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vcl/source/salogl.cxx: &lt;br /&gt;
&lt;br /&gt;
* Static members: oslModule (himpOGLLib == libgl.dylib), NSOpenGLContext* .. (bool) state &lt;br /&gt;
* Macros&lt;br /&gt;
* Callbacks for CreateContext, DeleteContext, MakeCurrent, GetCurrentContext&lt;br /&gt;
* OpenGLWndProc (what&amp;#039;s that ?) &lt;br /&gt;
&lt;br /&gt;
vcl/source/gdi/outdev.cxx&lt;br /&gt;
-&amp;gt;there is a very interesting OpenGL* OutputDevice::GetOpenGL() &lt;br /&gt;
&lt;br /&gt;
FIXME: To be continued&lt;br /&gt;
&lt;br /&gt;
=== Concerned files / ideas ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039; Ideas&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
27th August&lt;br /&gt;
&lt;br /&gt;
Created the patches concerning:&lt;br /&gt;
&lt;br /&gt;
* scp2, &lt;br /&gt;
* config_office (René confirmed it is ok to bypass OpenGL / gl.h, glut.h headers and GLUT tests, and declare ENABLE_OPENGL=TRUE as default on Mac OS X), &lt;br /&gt;
* officecfg,&lt;br /&gt;
* sd, &lt;br /&gt;
* slideshow&lt;br /&gt;
&lt;br /&gt;
Should be the only concerned modules. I used the OpenGL transitions listed in sd/xml/transitions-ogl.xml, but there are obvisouly more in slideshow/source/engine/transitions.&lt;br /&gt;
&lt;br /&gt;
Waiting for more information, about how proceed in vcl (I now know it works, but a big issue remains to be fixed :-) ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
26th August:&lt;br /&gt;
&lt;br /&gt;
I finally found why the libOGLTrans was not loaded: the registration as UNO_COMPONENT was not done.&lt;br /&gt;
&lt;br /&gt;
Other issues : the new transitions effects are not listed, because not in the .xcu nor any .xml&lt;br /&gt;
&lt;br /&gt;
I finally found where: in sd/xml! -&amp;gt; transitions-ogl (who is a plain .xml file) has to be &lt;br /&gt;
&lt;br /&gt;
* renammed into transition-ogl.xml &lt;br /&gt;
* copied into the solver (accordingly to th esd/prj/d.lst file) &lt;br /&gt;
&lt;br /&gt;
Consequence: some changes are needed in officecfg too:&lt;br /&gt;
&lt;br /&gt;
Existing transitions are put in officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; new entries, matching with transitions-ogl.xml have to be entered  (probably around line 1910, after &amp;quot;Random Transition&amp;quot; effect)&lt;br /&gt;
&lt;br /&gt;
FIXME : localisation of new transitions names?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
25th august: &lt;br /&gt;
&lt;br /&gt;
After reading a lot of code (mostly vcl), it appears this is not possible (excepted doing hacks), to use OpenGL without use outdev thing (got systematic crashes using NSOpenGLView directly, and outdev complains about lost events and pending pointers)&lt;br /&gt;
&lt;br /&gt;
The consequence is, the slideshow calls must be abstraction of CreateContext, MakeCurrentContext, ReleaseContext ..etc.&lt;br /&gt;
&lt;br /&gt;
And the real implementation must go in vcl/aqua/source/gdi/salogl.cxx, respecting vcl/source/gdi/opengl.cxx virtual classes.&lt;br /&gt;
&lt;br /&gt;
The plan (to be confirmed seems to be):&lt;br /&gt;
&lt;br /&gt;
* design the abstraction we&amp;#039;ll use, and prepare the OGLTrans_TransitionerImpl.cxx like it is for Linux, but adapted to Mac OS X&lt;br /&gt;
* implement NSOpenGLView* pOpenGLView in vcl, guessing it will be sufficient (else, we&amp;#039;ll have to implement a new class, but things will become complicated)&lt;br /&gt;
* define the NSView containing the scene, instantiate an OpenGLNSView using the same frame, and use addSubview. Current choosen Place to do that: OGLTrans_TransitionerImpl.cxx&lt;br /&gt;
* implement (using existing Windows and Linux implementation) the same classes / macros ( :-/ ) methods in salogl.cxx&lt;br /&gt;
* add the mac osx cases in outdev and anywhere else it is needed&lt;br /&gt;
&lt;br /&gt;
Retry with the coming DEV300_m30&lt;br /&gt;
&lt;br /&gt;
====Possibilities:====&lt;br /&gt;
&lt;br /&gt;
Everything is based on implement an OpenGLView adding a new NSOpenGLView* pOpenGLView object in sysdata.hxx, or an NSView drawn as a subview of the (NSView * type) pView.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: investigate about ImplOutdev and co&lt;br /&gt;
&lt;br /&gt;
Try 1: &amp;#039;&amp;#039;&amp;#039;either&amp;#039;&amp;#039;&amp;#039; implement (NSView * type) pOpenGLView in vcl, more precisely, modify:&lt;br /&gt;
&lt;br /&gt;
vcl/inc/vcl/sysdata.hxx&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/inc/salframe.h&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/inc/salframeview.h,&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/source/window/salframe.cxx&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/source/window/salobj.cxx&lt;br /&gt;
&lt;br /&gt;
+ the makefile &lt;br /&gt;
&lt;br /&gt;
and in slideshow:&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionImpl.hxx&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionImpl.cxx&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Issue is at buildtime&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Pb: visibility of the vcl/aqua/inc headers from slideshow at buildtime&lt;br /&gt;
&lt;br /&gt;
Update: predeclaration in vcl/inc/vcl/sysdata.hxx will help a lot.&lt;br /&gt;
&lt;br /&gt;
Main issue is, how to explain the compiler NSView* pOpenGLView has new methods (OpenGL specific), the NSView* pView has not ?&lt;br /&gt;
&lt;br /&gt;
More precisely, there are warnings because the pOpenGLView is supposed receive no answer from the OpenGL specific methods used in OGLTrans_TransitionerImpl.cxx. In theory, it should work out of the box, but the code aims to be warning free; so this solution is not acceptable.&lt;br /&gt;
&lt;br /&gt;
Workaround could be implement the new methods directly in the NSView, or delegate. Just wild guess [FIXME]&lt;br /&gt;
&lt;br /&gt;
Try 2 &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(maybe completely wrong, but worth a try)&lt;br /&gt;
&lt;br /&gt;
Implement the OpenGL methods directly in the SalframeView. just two methods have the same names/parameters numbers, so just rename they properly to avoid clash. Important: initWithFrame for OpenGL has two parameters, while initWithFrame for normal NSView has only one. &lt;br /&gt;
&lt;br /&gt;
Try 3 &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Add an NSOpenGLView * pOpenGLView in the sysdata.hxx, and modify everything in vcl accordingly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039; [[Mac_OS_X_Porting_-_OpenGL_transitions/NSOpenGLView | ==&amp;gt; click here to have a look at NSOpenGLView available methods]]&amp;#039;&amp;#039;&amp;#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thus, in OGLTrans_TransitionerImpl.cxx instanciate &lt;br /&gt;
&lt;br /&gt;
an NSView who is a pointer on the normal NSView, and an NSOpenGLView, who is a pointer &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
create the AquaOpenGLView object directly in slideshow, modify the other slideshow files mentioned above (changes are similar)&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Result&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
Using the second solution, the subview seems to -somewhat- show something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test&amp;#039;&amp;#039;&amp;#039;: a right click in the transition demo, using the presentation wizard, give the same contextual menu we have in fullscreen (yes, this is weird, but this is encouraging for the future).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Known issue&amp;#039;&amp;#039;&amp;#039;: there is no communication between the subView and the NSApplication, events are lost, timeout and chaos in event queue&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; deadlock and crash.&lt;br /&gt;
&lt;br /&gt;
TODO: Second test will consist in delegate the notifications send for the refresh, to the NSApp. &lt;br /&gt;
&lt;br /&gt;
It is expected, once this NSOpenGL view will work, this should be no problem to use it from the slideshow.&lt;br /&gt;
&lt;br /&gt;
Communication between slideshow object and the NSApplication (customized NSView, itself inheriting of NSWindow) will use the notification center as proxy (what is extremely fast in theory).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Tasks and concerned files&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Make ENABLE_OPENGL default on Mac OS X&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;config_office/configure.in&amp;#039;&amp;#039;&amp;#039;  + run autoconf &amp;#039;&amp;#039;&amp;#039;Add the info in the cws comments for the RE !&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Result: ENABLE_OPENGL=TRUE on Mac OS X Aqua  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: build the lib&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/makefile.mk&amp;#039;&amp;#039;&amp;#039;  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
add the case Aqua, modify CFLAGSCXX + add fremaworks OpenGL, GLUT and Cocoa for linking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: Deliver the libs / includes:&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/prj/d.lst&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
deliver the new lib on Aqua (libOGLTrans.dylib)&lt;br /&gt;
&lt;br /&gt;
Other modified files in slideshow:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionImpl.cxx&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionImpl.hxx&amp;#039;&amp;#039;&amp;#039;  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionerImpl.cxx&amp;#039;&amp;#039;&amp;#039;  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: package and register the OGLTrans as UNO_COMPONENT &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Must be done only if ENABLE_OPENGL is TRUE, and this environment variable must be turned in preprocessor macro:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/impress/makefile.mk&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Package and registration of the lib :&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/ooo/file_library_ooo.scp&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/ooo/makefile.mk&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Package and registration of the new file transitions-ogl.xml &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/impress/file_impress.scp&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: rename the transitions-ogl in transitions-ogl.xml and deliver it &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/prj/build.lst&amp;#039;&amp;#039;&amp;#039;     // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/prj/d.lst&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/xml/makefile.mk&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;    ## New file to be created  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/xml/transitions-ogl&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;  to be renamed in transitions-ogl.xml and delivered in the solver, in solver/300/$build_type/xml &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: add the new transitions names in the list, to make them appear in the UI &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu&amp;#039;&amp;#039;&amp;#039;     // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:orange; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIXME: this change is plain wrong, because created even when ENABLE_OPENGL is not TRUE  :-/ &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: add the transitions-ogl.xml file name in the Impress.xcs schema &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;officecfg/registry/schema/org/openoffice/Office/Impress.xcs&amp;#039;&amp;#039;&amp;#039;     // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
( the final file containing the new transitions will be OOO_BASE_DIR/share/config/soffice.cfg/simpress/transitions-ogl.xml )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:orange; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIXME: this change is plain wrong, because created even when ENABLE_OPENGL is not TRUE  :-/ &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Better solution : reuse the fix I provided in macmenusquit ( at packaging time, modify the .xml on the fly, using xsltproc) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New files who could contain the customized NSView if ever the NSOpenGLView does not work well (to be confirmed, not sure at all):&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/aquaOpenGLView.h  &lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/aquaOpenGLView.m&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Issues attached to the task&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
[http://www.openoffice.org/issues/show_bug.cgi?id=93013 issue 93013]&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039; TODO (draft)&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
* [DONE] build the OpenGL trans lib, warning free, on Mac OS X&lt;br /&gt;
**[DONE] fix warnings and breakages, with empty implementation&lt;br /&gt;
**[DONE] fix linking&lt;br /&gt;
**[Done but needs work] create customized NSView (skeleton, and pre-implementation)&lt;br /&gt;
*[DONE] add the lib to the package&lt;br /&gt;
* [DONE] register the lib&lt;br /&gt;
* [DONE] rename the transitions-ogl in transitions-ogl.xml in sd and deliver it properly in the solver&lt;br /&gt;
* in officecfg, add the new transitions names in the list, to make them appear in the UI&lt;br /&gt;
* [DONE] in officecfg, add the transitions-ogl.xml file name in the matching Effects.xcs schema&lt;br /&gt;
*[DONE] Design the first implementation&lt;br /&gt;
** design the abstraction used in slideshow&lt;br /&gt;
*[DONE] implement NSOpenGLView or customize an NSView [Current plan: try using NSOpenGLView first]&lt;br /&gt;
** manage OpenGL context&lt;br /&gt;
** manage OpenGL pixels mapping&lt;br /&gt;
** manage colors&lt;br /&gt;
** manage events and notifications &amp;#039;&amp;#039;&amp;#039;critical&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** initialize the view properly in splitted view&lt;br /&gt;
** manage geometry &lt;br /&gt;
**[WORKS] implement the fullscreen mode&lt;br /&gt;
* finalize the transitions integration in Aqua bundle&lt;br /&gt;
*[DONE] make transitions work&lt;br /&gt;
* work on the flickering issue with last image&lt;br /&gt;
* test&lt;br /&gt;
*integrate&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;LINKS&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Below a now exhaustive list of links. Feel free to add interesting links.&lt;br /&gt;
&lt;br /&gt;
[http://wiki.services.openoffice.org/wiki/Impress:_OpenGL_rendered_transitions &amp;#039;&amp;#039;&amp;#039;Original Shane M. Mathews OpenGL transitions implementation (GSoC 2007, mentor: Thorsten Behrens)&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://developer.apple.com/documentation/GraphicsImaging/OpenGL-date.html Apple OpenGL Documentation]&lt;br /&gt;
 &lt;br /&gt;
[http://www.cocoadev.com/index.pl?CocoaOpenGl Cocoa OpenGL]&lt;br /&gt;
&lt;br /&gt;
[http://www.cocoadev.com/index.pl?CustomGLView Custom GLView]&lt;br /&gt;
&lt;br /&gt;
[http://search.lists.apple.com/?q=NSView++NSOpenGLView&amp;amp;cmd=Search%21 NSView + OpenGLView in Apple database]&lt;br /&gt;
&lt;br /&gt;
[http://lists.apple.com/archives/mac-opengl/2005/Dec/msg00089.html NSOpenGLView initialisation issue]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Name&lt;br /&gt;
&lt;br /&gt;
! OOo Nickname&lt;br /&gt;
&lt;br /&gt;
! Role&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Eric Bachard&lt;br /&gt;
&lt;br /&gt;
| ericb2&lt;br /&gt;
&lt;br /&gt;
| Development, Documentation&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Stephan Schaefer&lt;br /&gt;
&lt;br /&gt;
| ssa&lt;br /&gt;
&lt;br /&gt;
| Development&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| xxxx&lt;br /&gt;
&lt;br /&gt;
| xxxx&lt;br /&gt;
&lt;br /&gt;
| User Experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| xxxxxx&lt;br /&gt;
&lt;br /&gt;
| xxxxxx&lt;br /&gt;
&lt;br /&gt;
| Documentation&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COMPLETE ME ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Education]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_OpenGL_transitions&amp;diff=105160</id>
		<title>Mac OS X Porting - OpenGL transitions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_OpenGL_transitions&amp;diff=105160"/>
		<updated>2008-12-17T13:01:10Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;OpenGL transitions on Mac OS X &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;In Impress, there are transitions between slides, with or without funny 3D effects. The problem is, those nice and Funny effects are power consuming, and without hardware acceleration – means software rendered –, extremely slow, what is not acceptable by users.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;This task aims to replace the software rendered transitions with hardware accelerated transitions on Mac OS X.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;We&amp;#039;ll use OpenGL, the API Mac OS X does natively use&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Below the technical description, the involved code, the plan, and so on. Feel free to add information if you estimate it usefull for the task.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Thanks in advance :-)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Goal === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Make OpenGL transitions work in Impress, on Mac OS X Aqua&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
Expected timeline: &amp;#039;&amp;#039;&amp;#039;October / November 2008&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Current status ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;26th September &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;One issue verified on 42&amp;quot; screen &amp;#039;&amp;#039;&amp;#039; : during OpenGL transitions, the view does not use the fullscreen area, but the Windowed view area (needs to check the exact area ) -&amp;gt; work in progress&amp;#039;&amp;#039;&amp;#039;, + some limitations (unimplemented features), explained below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;7th September &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Excepted the flicker (caused be the slideshow itself) the transitions work. We have two working solutions, and a choice for the implementation will probably be done soon ( waiting from ssa, who will decide what is the best )&lt;br /&gt;
&lt;br /&gt;
Remaining tasks : &lt;br /&gt;
&lt;br /&gt;
* build issue in officecfg : the .xcs and .xcu files have to be modified wen ENABLE_OPENGL is true&lt;br /&gt;
* check for memory leaks&lt;br /&gt;
* check for stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;31st August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FIXED : Fixed the colorspace issue: was the pDetectedFormat &lt;br /&gt;
&lt;br /&gt;
TODO : &lt;br /&gt;
&lt;br /&gt;
* Cleanup in void OGLTransitionerImpl::GLInitSlides()&lt;br /&gt;
* Continue to search what happens with the frame (why this sort of &amp;quot;refresh ?&amp;quot; )&lt;br /&gt;
* Work in progress: started learning the slideshow&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;30th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The issue with flicker seems to be caused by the slideshow itself. I&amp;#039;l add symbols in libsd, and I&amp;#039;ll try to see what happens.&lt;br /&gt;
&lt;br /&gt;
concerned code is in : sd/source/ui/slideshow &lt;br /&gt;
&lt;br /&gt;
The color issue seems to be caused by some color/alpha channel ( RGBA .. RGAB ) or something like that issue.&lt;br /&gt;
&lt;br /&gt;
Shane M. Mathews (I&amp;#039;m in contact with him) suggested several possibilites. I&amp;#039;ll give them a try.&lt;br /&gt;
&lt;br /&gt;
Issue 0 was not an issue. OpenGL version detected is at least 1.3, but can be more. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039; : test on Leopard, just in case the issue is Tiger only (that would be a bad news)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;29th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Re-reading OpenGL Programming Guide.  Tested a lot of possibilities with NSOpenGLContext, unsuccessfully.&lt;br /&gt;
&lt;br /&gt;
Radek Dulik adviced me to check whether the context is really Double buffered (was an issue on Linux). Maybe a missing makeCurrentcontext somewhere (where ? )&lt;br /&gt;
&lt;br /&gt;
Analyzed the known issues: &lt;br /&gt;
&lt;br /&gt;
0) solved:  OpenGL 1.2 or 1.3 detected (2.0 should work imho )&lt;br /&gt;
&lt;br /&gt;
1) bad colors ( bad OpenGL initialization ? )&lt;br /&gt;
Looks like the complementary color appears, of red effect added. Needs more work&lt;br /&gt;
&lt;br /&gt;
2) offset in window mode, caused by scrollbar not included in the slide position computation&lt;br /&gt;
(the frame dimensions are different)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) flicker &lt;br /&gt;
&lt;br /&gt;
the problem is (using ssa words) :&lt;br /&gt;
&lt;br /&gt;
* the slideshow displays the slide first&lt;br /&gt;
* then an opengl view is painted on top of it and plays the slide transition&lt;br /&gt;
* once it is removed the old background appears again still containing the first frame of the animation&lt;br /&gt;
* and after a very short time the slideshow engine draws the final frame,&lt;br /&gt;
* which is visible as a flicker&lt;br /&gt;
&lt;br /&gt;
4) optimization / compatibility ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;28th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Works&amp;#039;&amp;#039;&amp;#039; (experimental and hacked builds are available at [http://oooaqua.laurentbuisson.fr Laurent Buisson site]). &lt;br /&gt;
&lt;br /&gt;
There are currently no crash, but it needs improvement:&lt;br /&gt;
&lt;br /&gt;
* bad colors&lt;br /&gt;
* flickering at the end (will need precise and non trivial work)&lt;br /&gt;
* no optimization &lt;br /&gt;
&lt;br /&gt;
other tests in progress: replace the NSOpenGLView, with a customized NSView ( sublassed as NSOpenGLView, with more possibilities)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cws state changed for new&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;added tasks and modules to the cws&amp;#039;&amp;#039;&amp;#039;. First commits to come soon.  &lt;br /&gt;
&lt;br /&gt;
=&amp;gt; Important: don&amp;#039;t forget to run autoconf in config_office, to regenerate configure (configure.in has been modified)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;27th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cws ogltrans4mac has been created &amp;#039;&amp;#039;&amp;#039; (planned)&lt;br /&gt;
&lt;br /&gt;
Stephan Schaefer helped me ( he made the NSOpenGLView work some weeks ago), and including all the changes, I was able to package a working version !&lt;br /&gt;
&lt;br /&gt;
Created the patches  concerning :&lt;br /&gt;
&lt;br /&gt;
* scp2, &lt;br /&gt;
* config_office (René confirmed it is ok to bypass OpenGL / gl.h, glut.h headers and GLUT tests , and declare ENABLE_OPENGL=TRUE as default on Mac OS X), &lt;br /&gt;
* officecfg,&lt;br /&gt;
* sd, &lt;br /&gt;
* slideshow&lt;br /&gt;
&lt;br /&gt;
Waiting for more information, about how proceed in vcl (I now know it works, but a big issue remains to be fixed :-)  ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;26th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Found why the libOGLTrans was not loaded: the registration as UNO_COMPONENT was not done.&lt;br /&gt;
&lt;br /&gt;
Other issues : the new transitions effects are not listed, because not in the .xcu nor any .xml&lt;br /&gt;
&lt;br /&gt;
I finally found where: in sd/xml !  -&amp;gt; transitions-ogl (who is a plain .xml file) has to be &lt;br /&gt;
&lt;br /&gt;
* renammed into transition-ogl.xml &lt;br /&gt;
* copied into the solver (accordingly to th esd/prj/d.lst file) &lt;br /&gt;
&lt;br /&gt;
Consequence : some changes are needed in officecfg too:&lt;br /&gt;
&lt;br /&gt;
Existing transitions are put in officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; new entries, matching with transitions-ogl.xml have to be entered  (probably around line 1910, after &amp;quot;Random Transition&amp;quot; effect)&lt;br /&gt;
&lt;br /&gt;
FIXME : localisation of new transitions names ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;25th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reading documentation ( vcl code, mostly about outdev and co )&lt;br /&gt;
&lt;br /&gt;
Defined the implementation plan (working with DEV300_m29)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;24th August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Did some tests, using the first aquaOpenGLView I created. Lot of crashes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;23rd August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Added other ideas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;22nd August &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Started the wiki page and the implementation in parallel&lt;br /&gt;
&lt;br /&gt;
PLEASE DO NOT REMOVE THE CREATION DATE&lt;br /&gt;
&lt;br /&gt;
Page created [[User:Ericb|Ericb]] 11:55, 22 August 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Concerned domains ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Build :&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* conditional activation of ENABLE_OPENGL in configure&lt;br /&gt;
* addition of NSOpenGLView class in vcl&lt;br /&gt;
* conditional build of libOGLTrans.dylib in slideshow&lt;br /&gt;
* conditional packaging of ligOGLTrans.dylib in scp2&lt;br /&gt;
* conditional addition of new transitions in the officecfg schema/UI files&lt;br /&gt;
* conditional registration of libOGLTrans.dylib at packaging time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Core :&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* NSOpenGLView implementation in vcl&lt;br /&gt;
* OpenGL initialization and context creation in the slideshow&lt;br /&gt;
* load the libOGLTrans.dylib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;User Interface :&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add the list of the new transitions in the list&lt;br /&gt;
* use them&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039; Concerned modules&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
* config_office: make OpenGL default on Mac OS X Aqua =&amp;gt; ENABLE_OPENGL=TRUE&lt;br /&gt;
* slideshow: where the lib is built. This lib is linked with libvcl (vcl must be built before slideshow)&lt;br /&gt;
* scp2: to add the new lib in the package&lt;br /&gt;
* sd : rename the transitions-ogl in transitions-ogl.xml and deliver it&lt;br /&gt;
* officecfg : add the new transitions names in the list, to make them appear in the UI + add the transitions-ogl.xml file name in the matching Effects.xcs schema&lt;br /&gt;
&lt;br /&gt;
=== Examples === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:16px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;To illustrate the current work in progress, some experimental screenshots are available [http://eric.bachard.free.fr/mac/aquavcl/patches/aqua_August_2008/OGLTransitions/screenshots =&amp;gt; CLICK ME]&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feedback === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The page below, &amp;#039;&amp;#039;&amp;#039;is the place for user experience comments, suggestions and feddback&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:16px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;PLEASE use it and contribute ! [http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_OpenGL_transitions/Feedback  click me]&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Modifications&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Existing (historical implementation) ===&lt;br /&gt;
&lt;br /&gt;
Common:&lt;br /&gt;
&lt;br /&gt;
vcl/source/opengl.cxx, implements:&lt;br /&gt;
&lt;br /&gt;
* functions pointers (most important gl functions typedef&amp;#039;ed) &lt;br /&gt;
* + corresponding macro for functions initialization&lt;br /&gt;
* + impl functions getters&lt;br /&gt;
* Ctor: parameter pOutDev is a pointer on a OutputDevice*, using mpOutDev&lt;br /&gt;
* Dtor: deletes mpOGL&lt;br /&gt;
* usual methods ... and so on &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vcl/source/salogl.cxx: &lt;br /&gt;
&lt;br /&gt;
* Static members: oslModule (himpOGLLib == libgl.dylib), NSOpenGLContext* .. (bool) state &lt;br /&gt;
* Macros&lt;br /&gt;
* Callbacks for CreateContext, DeleteContext, MakeCurrent, GetCurrentContext&lt;br /&gt;
* OpenGLWndProc (what&amp;#039;s that ?) &lt;br /&gt;
&lt;br /&gt;
vcl/source/gdi/outdev.cxx&lt;br /&gt;
-&amp;gt;there is a very interesting OpenGL* OutputDevice::GetOpenGL() &lt;br /&gt;
&lt;br /&gt;
FIXME: To be continued&lt;br /&gt;
&lt;br /&gt;
=== Concerned files / ideas ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039; Ideas&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
27th August&lt;br /&gt;
&lt;br /&gt;
Created the patches  concerning :&lt;br /&gt;
&lt;br /&gt;
* scp2, &lt;br /&gt;
* config_office (René confirmed it is ok to bypass OpenGL / gl.h, glut.h headers and GLUT tests , and declare ENABLE_OPENGL=TRUE as default on Mac OS X), &lt;br /&gt;
* officecfg,&lt;br /&gt;
* sd, &lt;br /&gt;
* slideshow&lt;br /&gt;
&lt;br /&gt;
Should be the only concerned modules. I used the OpenGL transitions listed in sd/xml/transitions-ogl.xml, but there are obvisouly more in slideshow/source/engine/transitions.&lt;br /&gt;
&lt;br /&gt;
Waiting for more information, about how proceed in vcl (I now know it works, but a big issue remains to be fixed :-)  ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
26th August:&lt;br /&gt;
&lt;br /&gt;
I finally found why the libOGLTrans was not loaded: the registration as UNO_COMPONENT was not done.&lt;br /&gt;
&lt;br /&gt;
Other issues : the new transitions effects are not listed, because not in the .xcu nor any .xml&lt;br /&gt;
&lt;br /&gt;
I finally found where: in sd/xml !  -&amp;gt; transitions-ogl (who is a plain .xml file) has to be &lt;br /&gt;
&lt;br /&gt;
* renammed into transition-ogl.xml &lt;br /&gt;
* copied into the solver (accordingly to th esd/prj/d.lst file) &lt;br /&gt;
&lt;br /&gt;
Consequence : some changes are needed in officecfg too:&lt;br /&gt;
&lt;br /&gt;
Existing transitions are put in officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; new entries, matching with transitions-ogl.xml have to be entered  (probably around line 1910, after &amp;quot;Random Transition&amp;quot; effect)&lt;br /&gt;
&lt;br /&gt;
FIXME : localisation of new transitions names ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
25th august: &lt;br /&gt;
&lt;br /&gt;
After reading a lot of code (mostly vcl), it appears this is not possible (excepted doing hacks), to use OpenGL without use outdev thing (got systematic crashes using NSOpenGLView directly, and outdev complains about lost events and pending pointers)&lt;br /&gt;
&lt;br /&gt;
The consequence is, the slideshow calls must be abstraction of CreateContext, MakeCurrentContext, ReleaseContext ..etc.&lt;br /&gt;
&lt;br /&gt;
And the real implementation must go in vcl/aqua/source/gdi/salogl.cxx, respecting vcl/source/gdi/opengl.cxx virtual classes.&lt;br /&gt;
&lt;br /&gt;
The plan (to be confirmed seems to be):&lt;br /&gt;
&lt;br /&gt;
* design the abstraction we&amp;#039;ll use, and prepare the OGLTrans_TransitionerImpl.cxx like it is for Linux, but adapted to Mac OS X&lt;br /&gt;
* implement NSOpenGLView* pOpenGLView in vcl, guessing it will be sufficient (else, we&amp;#039;ll have to implement a new class, but things will become complicated)&lt;br /&gt;
* define the NSView containing the scene, instantiate an OpenGLNSView using the same frame, and use addSubview. Current choosen Place to do that: OGLTrans_TransitionerImpl.cxx&lt;br /&gt;
* implement (using existing Windows and Linux implementation) the same classes / macros ( :-/ ) methods in salogl.cxx&lt;br /&gt;
* add the mac osx cases in outdev and anywhere else it is needed&lt;br /&gt;
&lt;br /&gt;
Retry with the coming DEV300_m30&lt;br /&gt;
&lt;br /&gt;
====Possibilities:====&lt;br /&gt;
&lt;br /&gt;
Everything is based on implement an OpenGLView adding a new NSOpenGLView* pOpenGLView object in sysdata.hxx, or an NSView drawn as a subview of the (NSView * type) pView.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: investigate about ImplOutdev and co&lt;br /&gt;
&lt;br /&gt;
Try 1: &amp;#039;&amp;#039;&amp;#039;either&amp;#039;&amp;#039;&amp;#039; implement (NSView * type) pOpenGLView in vcl, more precisely, modify:&lt;br /&gt;
&lt;br /&gt;
vcl/inc/vcl/sysdata.hxx&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/inc/salframe.h&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/inc/salframeview.h,&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/source/window/salframe.cxx&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/source/window/salobj.cxx&lt;br /&gt;
&lt;br /&gt;
+ the makefile &lt;br /&gt;
&lt;br /&gt;
and in slideshow:&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionImpl.hxx&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionImpl.cxx&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Issue is at buildtime&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Pb: visibility of the vcl/aqua/inc headers from slideshow at buildtime&lt;br /&gt;
&lt;br /&gt;
Update: predeclaration in vcl/inc/vcl/sysdata.hxx will help a lot.&lt;br /&gt;
&lt;br /&gt;
Main issue is, how to explain the compiler NSView* pOpenGLView has new methods (OpenGL specific), the NSView* pView has not ?&lt;br /&gt;
&lt;br /&gt;
More precisely, there are warnings because the pOpenGLView is supposed receive no answer from the OpenGL specific methods used in OGLTrans_TransitionerImpl.cxx. In theory, it should work out of the box, but the code aims to be warning free; so this solution is not acceptable.&lt;br /&gt;
&lt;br /&gt;
Workaround could be implement the new methods directly in the NSView, or delegate. Just wild guess [FIXME]&lt;br /&gt;
&lt;br /&gt;
Try 2 &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(maybe completely wrong, but worth a try)&lt;br /&gt;
&lt;br /&gt;
Implement the OpenGL methods directly in the SalframeView. just two methods have the same names/parameters numbers, so just rename they properly to avoid clash. Important: initWithFrame for OpenGL has two parameters, while initWithFrame for normal NSView has only one. &lt;br /&gt;
&lt;br /&gt;
Try 3 &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Add an NSOpenGLView * pOpenGLView in the sysdata.hxx, and modify everything in vcl accordingly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039; [[Mac_OS_X_Porting_-_OpenGL_transitions/NSOpenGLView | ==&amp;gt; click here to have a look at NSOpenGLView available methods]]&amp;#039;&amp;#039;&amp;#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thus, in OGLTrans_TransitionerImpl.cxx instanciate &lt;br /&gt;
&lt;br /&gt;
an NSView who is a pointer on the normal NSView, and an NSOpenGLView, who is a pointer &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
create the AquaOpenGLView object directly in slideshow, modify the other slideshow files mentioned above (changes are similar)&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Result&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
Using the second solution, the subview seems to -somewhat- show something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test&amp;#039;&amp;#039;&amp;#039;: a right click in the transition demo, using the presentation wizard, give the same contextual menu we have in fullscreen (yes, this is weird, but this is encouraging for the future).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Known issue&amp;#039;&amp;#039;&amp;#039;: there is no communication between the subView and the NSApplication, events are lost, timeout and chaos in event queue&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; deadlock and crash.&lt;br /&gt;
&lt;br /&gt;
TODO: Second test will consist in delegate the notifications send for the refresh, to the NSApp. &lt;br /&gt;
&lt;br /&gt;
It is expected, once this NSOpenGL view will work, this should be no problem to use it from the slideshow.&lt;br /&gt;
&lt;br /&gt;
Communication between slideshow object and the NSApplication (customized NSView, itself inheriting of NSWindow) will use the notification center as proxy (what is extremely fast in theory).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Tasks and concerned files&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Make ENABLE_OPENGL default on Mac OS X&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;config_office/configure.in&amp;#039;&amp;#039;&amp;#039;  + run autoconf &amp;#039;&amp;#039;&amp;#039;Add the info in the cws comments for the RE !&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Result: ENABLE_OPENGL=TRUE on Mac OS X Aqua  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: build the lib&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/makefile.mk&amp;#039;&amp;#039;&amp;#039;  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
add the case Aqua, modify CFLAGSCXX + add fremaworks OpenGL, GLUT and Cocoa for linking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: Deliver the libs / includes:&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/prj/d.lst&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
deliver the new lib on Aqua (libOGLTrans.dylib)&lt;br /&gt;
&lt;br /&gt;
Other modified files in slideshow:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionImpl.cxx&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionImpl.hxx&amp;#039;&amp;#039;&amp;#039;  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionerImpl.cxx&amp;#039;&amp;#039;&amp;#039;  // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: package and register the OGLTrans as UNO_COMPONENT &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Must be done only if ENABLE_OPENGL is TRUE, and this environment variable must be turned in preprocessor macro:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/impress/makefile.mk&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Package and registration of the lib :&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/ooo/file_library_ooo.scp&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/ooo/makefile.mk&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Package and registration of the new file transitions-ogl.xml &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;scp2/source/impress/file_impress.scp&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: rename the transitions-ogl in transitions-ogl.xml and deliver it &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/prj/build.lst&amp;#039;&amp;#039;&amp;#039;     // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/prj/d.lst&amp;#039;&amp;#039;&amp;#039;   // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/xml/makefile.mk&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;    ## New file to be created  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sd/xml/transitions-ogl&amp;#039;&amp;#039;&amp;#039;    // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;  to be renamed in transitions-ogl.xml and delivered in the solver, in solver/300/$build_type/xml &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: add the new transitions names in the list, to make them appear in the UI &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu&amp;#039;&amp;#039;&amp;#039;     // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:orange; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIXME: this change is plain wrong, because created even when ENABLE_OPENGL is not TRUE  :-/ &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Task: add the transitions-ogl.xml file name in the Impress.xcs schema &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;officecfg/registry/schema/org/openoffice/Office/Impress.xcs&amp;#039;&amp;#039;&amp;#039;     // &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
( the final file containing the new transitions will be OOO_BASE_DIR/share/config/soffice.cfg/simpress/transitions-ogl.xml )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:orange; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIXME: this change is plain wrong, because created even when ENABLE_OPENGL is not TRUE  :-/ &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Better solution : reuse the fix I provided in macmenusquit ( at packaging time, modify the .xml on the fly, using xsltproc) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New files who could contain the customized NSView if ever the NSOpenGLView does not work well (to be confirmed, not sure at all):&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/aquaOpenGLView.h  &lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/aquaOpenGLView.m&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Issues attached to the task&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
[http://www.openoffice.org/issues/show_bug.cgi?id=93013 issue 93013]&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039; TODO (draft)&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
* [DONE] build the OpenGL trans lib, warning free, on Mac OS X&lt;br /&gt;
**[DONE] fix warnings and breakages, with empty implementation&lt;br /&gt;
**[DONE] fix linking&lt;br /&gt;
**[Done but needs work] create customized NSView (skeleton, and pre-implementation)&lt;br /&gt;
*[DONE] add the lib to the package&lt;br /&gt;
* [DONE] register the lib&lt;br /&gt;
* [DONE] rename the transitions-ogl in transitions-ogl.xml in sd and deliver it properly in the solver&lt;br /&gt;
* in officecfg, add the new transitions names in the list, to make them appear in the UI&lt;br /&gt;
* [DONE] in officecfg, add the transitions-ogl.xml file name in the matching Effects.xcs schema&lt;br /&gt;
*[DONE] Design the first implementation&lt;br /&gt;
** design the abstraction used in slideshow&lt;br /&gt;
*[DONE] implement NSOpenGLView or customize an NSView [Current plan: try using NSOpenGLView first]&lt;br /&gt;
** manage OpenGL context&lt;br /&gt;
** manage OpenGL pixels mapping&lt;br /&gt;
** manage colors&lt;br /&gt;
** manage events and notifications &amp;#039;&amp;#039;&amp;#039;critical&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** initialize the view properly in splitted view&lt;br /&gt;
** manage geometry &lt;br /&gt;
**[WORKS] implement the fullscreen mode&lt;br /&gt;
* finalize the transitions integration in Aqua bundle&lt;br /&gt;
*[DONE] make transitions work&lt;br /&gt;
* work on the flickering issue with last image&lt;br /&gt;
* test&lt;br /&gt;
*integrate&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;LINKS&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Below a now exhaustive list of links. Feel free to add interesting links.&lt;br /&gt;
&lt;br /&gt;
[http://wiki.services.openoffice.org/wiki/Impress:_OpenGL_rendered_transitions &amp;#039;&amp;#039;&amp;#039;Original Shane M. Mathews OpenGL transitions implementation (GSoC 2007, mentor: Thorsten Behrens)&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://developer.apple.com/documentation/GraphicsImaging/OpenGL-date.html Apple OpenGL Documentation]&lt;br /&gt;
 &lt;br /&gt;
[http://www.cocoadev.com/index.pl?CocoaOpenGl Cocoa OpenGL]&lt;br /&gt;
&lt;br /&gt;
[http://www.cocoadev.com/index.pl?CustomGLView Custom GLView]&lt;br /&gt;
&lt;br /&gt;
[http://search.lists.apple.com/?q=NSView++NSOpenGLView&amp;amp;cmd=Search%21 NSView + OpenGLView in Apple database]&lt;br /&gt;
&lt;br /&gt;
[http://lists.apple.com/archives/mac-opengl/2005/Dec/msg00089.html NSOpenGLView initialisation issue]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Name&lt;br /&gt;
&lt;br /&gt;
! OOo Nickname&lt;br /&gt;
&lt;br /&gt;
! Role&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Eric Bachard&lt;br /&gt;
&lt;br /&gt;
| ericb2&lt;br /&gt;
&lt;br /&gt;
| Development, Documentation&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Stephan Schaefer&lt;br /&gt;
&lt;br /&gt;
| ssa&lt;br /&gt;
&lt;br /&gt;
| Development&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| xxxx&lt;br /&gt;
&lt;br /&gt;
| xxxx&lt;br /&gt;
&lt;br /&gt;
| User Experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| xxxxxx&lt;br /&gt;
&lt;br /&gt;
| xxxxxx&lt;br /&gt;
&lt;br /&gt;
| Documentation&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COMPLETE ME ==&lt;br /&gt;
&lt;br /&gt;
Bla bla ...&lt;br /&gt;
&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Education]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Features&amp;diff=105159</id>
		<title>Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Features&amp;diff=105159"/>
		<updated>2008-12-17T13:00:19Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* &amp;#039;&amp;#039;&amp;#039;Impress&amp;#039;&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New features planned for OpenOffice.org&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; padding-left:5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;text-align:left; border:1px solid #aaaaaa; background-color:#f9f9f9;width: 200px;font-family: Verdana, sans-serif;&amp;quot;&lt;br /&gt;
|- padding:5px;padding-top:0.5em;font-size: 95%; &lt;br /&gt;
[mailto:feedback@website.openoffice.org?subject=Wiki%20Features%20feedback feedback]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
This page is a roadmap for the features planned in future OpenOffice.org releases.&lt;br /&gt;
&lt;br /&gt;
For older releases, see [[/Archive|the archives]].&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Caution:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 The items listed here are under continuous development and the dates are therefore subject to change!&lt;br /&gt;
&lt;br /&gt;
=== Project-Specific Wiki-Pages ===&lt;br /&gt;
&lt;br /&gt;
==== Calc ====&lt;br /&gt;
&lt;br /&gt;
See also the [[Calc/To-Dos/Usability|Calc Usability Activities]] page on this wiki.&lt;br /&gt;
&lt;br /&gt;
== Current Release ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features for the [[OOoRelease24|2.4 Release]] (March 2008) ===&lt;br /&gt;
&lt;br /&gt;
For a comprehensive list, see the [[New_Features_2.4|New Features in OOo 2.4]] page.&lt;br /&gt;
&lt;br /&gt;
=== Writer ===&lt;br /&gt;
* [http://www.OOoNinja.com/2007/12/block-selection-mode-new-feature.html Block selection]&lt;br /&gt;
* [http://www.OOoNinja.com/2007/12/backreferences-in-replacements-new.html Support for backward references in Find &amp;amp; Replace]&lt;br /&gt;
* [http://www.oooninja.com/2008/02/set-select-language-spell-check-switch.html New ways to change language for spell check]&lt;br /&gt;
&lt;br /&gt;
=== Calc ===&lt;br /&gt;
* [http://so-web.germany.sun.com/EIS2/changesmails.EditFeature?ReadOnly=true&amp;amp;Id=4087 Separate zoom per sheet]&lt;br /&gt;
* [http://www.oooninja.com/2008/01/text-columns-calc-convert-openoffice.html Convert text to columns]&lt;br /&gt;
* [http://www.oooninja.com/2008/03/drag-drop-move-copy-link-cells-calc.html Move, copy, and link cells using drag and drop]&lt;br /&gt;
&lt;br /&gt;
=== Impress ===&lt;br /&gt;
* [http://www.oooninja.com/2008/02/eye-candy-3d-opengl-transitions-impress.html Thrilling 3D slide transitions using OpenGL]&lt;br /&gt;
&lt;br /&gt;
=== Chart ===&lt;br /&gt;
* [http://specs.openoffice.org/chart/DisplayTrendlineEquations.odt Display Trendline equations] ([http://blogs.sun.com/GullFOSS/entry/more_than_just_a_check GullFOSS article], [http://www.OOoNinja.com/2007/12/display-equations-for-regression-lines.html OOoNinja article])&lt;br /&gt;
* [http://specs.openoffice.org/chart/Chart_Scales_and_Intervals.odt Scale and Intervals in Chart]&lt;br /&gt;
** [http://www.oooninja.com/2008/02/reverse-axis-chart-bar-graph.html Reverse direction of axis]&lt;br /&gt;
** Logarithmic scale&lt;br /&gt;
** Axis at&lt;br /&gt;
** [http://www.oooninja.com/2008/03/data-label-options-calc-chart.html Number Format for Data Labels]&lt;br /&gt;
** [http://www.oooninja.com/2008/03/data-label-options-calc-chart.html Display both, the Value and the Percentage]&lt;br /&gt;
** [http://www.oooninja.com/2008/03/data-label-options-calc-chart.html Flexible Placement of Data Labels]&lt;br /&gt;
** [http://www.oooninja.com/2008/03/data-label-options-calc-chart.html Best Fit Data Label Positioning for Pie Charts]&lt;br /&gt;
* [http://specs.openoffice.org/chart/BarChartOptions.odt Options for Bar Charts]&lt;br /&gt;
** Show Bars Attached to Different Axes Side-by-side ([http://blogs.sun.com/GullFOSS/entry/new_chart_features_in_openoffice GullFOSS article], [http://www.oooninja.com/2008/01/show-bars-side-by-side-double-column.html OOoNinja article])&lt;br /&gt;
** Spacing (gap width)&lt;br /&gt;
** Overlap&lt;br /&gt;
* Article: [[Chart2/Features2.4|Chart2 features in 2.4]] (this wiki)&lt;br /&gt;
* Article: [http://blogs.sun.com/GullFOSS/entry/new_chart_features_in_openoffice  New Chart features in OpenOffice.org 2.4] (GullFOSS)&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
* [http://eis.services.openoffice.org/EIS2/changesmails.EditFeature?Id=4061 views in HSQLDB database can be edited]&lt;br /&gt;
* [http://eis.services.openoffice.org/EIS2/changesmails.EditFeature?Id=4062 property browser: query designer now also available for list box content]&lt;br /&gt;
* [http://eis.services.openoffice.org/EIS2/changesmails.EditFeature?Id=4063 property browser: query designer also available for &amp;quot;native&amp;quot; SQL commands]&lt;br /&gt;
* [http://eis.services.openoffice.org/EIS2/changesmails.EditFeature?Id=4081 Base now supports also MS Access 2007 files (*.accdb)]&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [http://so-web.germany.sun.com/EIS2/changesmails.EditFeature?ReadOnly=true&amp;amp;Id=4069 Relative links now available in PDF export filter, plus other features added.]&lt;br /&gt;
* [http://www.OOoNinja.com/2008/01/generating-pdfa-for-long-term-archiving.html PDF/A export]&lt;br /&gt;
* [http://www.oooninja.com/2008/02/create-relative-links-in-pdfs.html Create relative links in PDFs]&lt;br /&gt;
* [http://www.oooninja.com/2008/02/convert-document-references-pdf-targets.html Convert document references in PDF targets]&lt;br /&gt;
&lt;br /&gt;
== Planned Features for [[OOoRelease30|3.0 Release]] (mid-October 2008) ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* OpenDocument:&lt;br /&gt;
** ODF 1.2 Specification&lt;br /&gt;
** [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office-formula ODF formula specification]&lt;br /&gt;
** ODF Toolkit: installation set, aka [[ODF_Toolkit/Efforts/Packaging_Modularization]]&lt;br /&gt;
** ODF Toolkit: Java tools for odf&lt;br /&gt;
* Bibliographic&lt;br /&gt;
** [[Bibliographic/Developer_Page#1st_Stage.2C_Bibliographic_Facility_Redevelopment | Basic API &amp;amp; UNO support for bibliographic enhancements]]&lt;br /&gt;
&lt;br /&gt;
=== Performance Improvements ===&lt;br /&gt;
* Drawing Engine&lt;br /&gt;
&lt;br /&gt;
=== Writer ===&lt;br /&gt;
* new [[Notes2]] module for displaying notes in the margins&lt;br /&gt;
* Office 12 (.docx) import filter&lt;br /&gt;
* ODF documents&amp;#039; metadata editor&lt;br /&gt;
* Preview of hyperlinks inside the document&lt;br /&gt;
&lt;br /&gt;
=== Calc ===&lt;br /&gt;
* Office 12 (.xlsx) Import Filter&lt;br /&gt;
* Compliance with ODF formula specification&lt;br /&gt;
* GETPIVOTDATA function&lt;br /&gt;
* [http://www.oooninja.com/2008/04/shared-calc-spreadsheets-documents.html Live sharing of Calc workbooks]&lt;br /&gt;
&lt;br /&gt;
=== Impress ===&lt;br /&gt;
* Office 12 (.pptx) Import Filter&lt;br /&gt;
* Table support in Impress&lt;br /&gt;
* [http://www.oooninja.com/2008/04/interactive-picture-crop-in-draw-and.html Interactive cropping] [http://blogs.sun.com/GullFOSS/entry/improved_picture_cropping_for_draw of images]&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
==== For end users ====&lt;br /&gt;
* [[MediaWiki Extension]], available at [http://extensions.services.openoffice.org/project/wikipublisher Extension Site]&lt;br /&gt;
* [http://www.oooninja.com/2008/06/pdf-import-hybrid-odf-pdfs-extension-30.html PDF Import], available at [http://extensions.services.openoffice.org/project/pdfimport Extension Site]&lt;br /&gt;
* [[Presenter Screen]], available at [http://extensions.services.openoffice.org/project/presenter-screen Extension Site]&lt;br /&gt;
&lt;br /&gt;
==== For developers ====&lt;br /&gt;
* API enhancements&lt;br /&gt;
* GUI enhancements - The GUI should be redesigned to get a more modern look. A good guideline is the new IBM Lotus Symphony that uses dynamic panels. This is better than MS Office&amp;#039;s &amp;quot;ribbon&amp;quot;, at least for documents, because it saves space on the top (normally documents are vertical).&lt;br /&gt;
* [http://specs.openoffice.org/appwide/packagemanager/options_dialog_for_extensions.odt Option page]&lt;br /&gt;
&lt;br /&gt;
=== Various ===&lt;br /&gt;
* Better VBA? [http://blogs.sun.com/GullFOSS/entry/sun_and_novell_work_together]&lt;br /&gt;
&lt;br /&gt;
* [http://porting.openoffice.org/mac/news/index.html MacOSX Aqua Port]&lt;br /&gt;
&lt;br /&gt;
* [[Windows_Vista]] Enhancements:&lt;br /&gt;
** new File Dialog&lt;br /&gt;
** visualization of Meta data in Explorer&lt;br /&gt;
&lt;br /&gt;
* Web services&lt;br /&gt;
** Web Services wizard?&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org Repackaging&lt;br /&gt;
** Repackaging step one [http://odftoolkit.openoffice.org/transition.html]&lt;br /&gt;
&lt;br /&gt;
* Articles&lt;br /&gt;
** [http://www.oooninja.com/2008/03/openofficeorg-30-new-features.html New Features in OpenOffice.org 3.0] (March 18, 2008)&lt;br /&gt;
&lt;br /&gt;
== Planned Features for 3.1 Release (March 2009) ==&lt;br /&gt;
&lt;br /&gt;
* Arabic&lt;br /&gt;
&lt;br /&gt;
* High Document Fidelity (AntiAliasing of Drawing Object and optimized graphic primitives)&lt;br /&gt;
&lt;br /&gt;
* Improved packaging, package pools&lt;br /&gt;
&lt;br /&gt;
* New template dialog and template repository&lt;br /&gt;
&lt;br /&gt;
* [http://qa.openoffice.org/issues/show_bug.cgi?id=81536 WebDAV compatibility for users of Mac OS X]&lt;br /&gt;
&lt;br /&gt;
* user data/feedback extention&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Writer ===&lt;br /&gt;
&lt;br /&gt;
* overline text&lt;br /&gt;
&lt;br /&gt;
* transparent selection&lt;br /&gt;
&lt;br /&gt;
* reply to existing notes&lt;br /&gt;
&lt;br /&gt;
* search inside notes&lt;br /&gt;
&lt;br /&gt;
* RichText Import/Export of notes for Word 97/2003/XP files&lt;br /&gt;
&lt;br /&gt;
* Japanese reconversion&lt;br /&gt;
&lt;br /&gt;
* Bibliographic - [[Bibliographic/Writer_enhancements_for_OOBib#Enhanced_Bookmark_Function_to_Include_Formatted_Text | New field type to support formatted text]]&lt;br /&gt;
&lt;br /&gt;
* Bibliographic - meta data support for text objects in Writer in 3.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
* SQL syntax highlighting&lt;br /&gt;
&lt;br /&gt;
* MySQL integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Impress&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
* Zoomslider for Draw and Impress&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[Integrated in DEV300_m35]&amp;#039;&amp;#039;&amp;#039;[[Mac OS X Porting - Apple Remote implementation | Apple Remote support (Mac OS X only)]]&lt;br /&gt;
&lt;br /&gt;
* [[Mac OS X Porting - OpenGL transitions | OpenGL transitions in Impress (Mac OS X)]]&lt;br /&gt;
&lt;br /&gt;
== Planned Feature for 3.2 Release (September 2009) ==&lt;br /&gt;
&lt;br /&gt;
* [http://qa.openoffice.org/issues/buglist.cgi?issue_type=ENHANCEMENT&amp;amp;issue_type=FEATURE&amp;amp;target_milestone=OOo+3.2&amp;amp;email1=&amp;amp;emailtype1=exact&amp;amp;emailassigned_to1=1&amp;amp;email2=&amp;amp;emailtype2=exact&amp;amp;emailreporter2=1&amp;amp;issueidtype=include&amp;amp;issue_id=&amp;amp;changedin=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=&amp;amp;chfieldvalue=&amp;amp;short_desc=&amp;amp;short_desc_type=allwords&amp;amp;long_desc=&amp;amp;long_desc_type=allwords&amp;amp;issue_file_loc=&amp;amp;issue_file_loc_type=fulltext&amp;amp;status_whiteboard=&amp;amp;status_whiteboard_type=fulltext&amp;amp;keywords=&amp;amp;keywords_type=anytokens&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;Submit+query=Submit+query QA tracked]&lt;br /&gt;
&lt;br /&gt;
== Planned Features for 3.x Release ==&lt;br /&gt;
&lt;br /&gt;
* [http://qa.openoffice.org/issues/buglist.cgi?issue_type=ENHANCEMENT&amp;amp;issue_type=FEATURE&amp;amp;target_milestone=OOo+3.x&amp;amp;email1=&amp;amp;emailtype1=exact&amp;amp;emailassigned_to1=1&amp;amp;email2=&amp;amp;emailtype2=exact&amp;amp;emailreporter2=1&amp;amp;issueidtype=include&amp;amp;issue_id=&amp;amp;changedin=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=&amp;amp;chfieldvalue=&amp;amp;short_desc=&amp;amp;short_desc_type=allwords&amp;amp;long_desc=&amp;amp;long_desc_type=allwords&amp;amp;issue_file_loc=&amp;amp;issue_file_loc_type=fulltext&amp;amp;status_whiteboard=&amp;amp;status_whiteboard_type=fulltext&amp;amp;keywords=&amp;amp;keywords_type=anytokens&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;Submit+query=Submit+query QA tracked]&lt;br /&gt;
&lt;br /&gt;
* XForms Enhancements&lt;br /&gt;
&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
[[Category:Alpha Centauri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
[[Category:Alpha Centauri]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_OpenGL_transitions&amp;diff=90761</id>
		<title>Mac OS X Porting - OpenGL transitions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_OpenGL_transitions&amp;diff=90761"/>
		<updated>2008-08-25T09:56:53Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;OpenGL transitions on Mac OS X &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;In Impress, there are transitions between slides, with or without funny 3D effects. The problem is, those nice and Funny effects are power consuming, and without hardware acceleration – means software rendered –,extremely slow, what is not acceptable by users.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;This tasks aims to replace the software rendered transitions with hardware accelerated transitions on Mac OS X.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;We&amp;#039;ll use OpenGL, the API Mac OS X does natively use&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Below the technical description, the involved code, the plan, and so on. Feel free to add information if you estimate it usefull for the task.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Thanks in advance :-)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Goal === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:14px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Make OpenGL transitions work in Impress, on Mac OS X Aqua&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
Expected timeline: &amp;#039;&amp;#039;&amp;#039;October / November 2008&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Examples === &lt;br /&gt;
&lt;br /&gt;
FIXME: add screenshots or links for demos&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Modifications&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Existing (historical implementation) ===&lt;br /&gt;
&lt;br /&gt;
Common:&lt;br /&gt;
&lt;br /&gt;
vcl/source/opengl.cxx, implements:&lt;br /&gt;
&lt;br /&gt;
* functions pointers (most important gl functions typedef&amp;#039;ed) &lt;br /&gt;
* + corresponding macro for functions initialization&lt;br /&gt;
* + impl functions getters&lt;br /&gt;
* Ctor: parameter pOutDev is a pointer on a OutputDevice*, using mpOutDev&lt;br /&gt;
* Dtor: deletes mpOGL&lt;br /&gt;
* usual methods ... and so on &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vcl/source/salogl.cxx: &lt;br /&gt;
&lt;br /&gt;
* Static members: oslModule (himpOGLLib == libgl.dylib), NSOpenGLContext* .. (bool) state &lt;br /&gt;
* Macros&lt;br /&gt;
* Callbacks for CreateContext, DeleteContext, MakeCurrent, GetCurrentContext&lt;br /&gt;
* OpenGLWndProc (what&amp;#039;s that ?) &lt;br /&gt;
&lt;br /&gt;
vcl/source/gdi/outdev.cxx&lt;br /&gt;
-&amp;gt;there is a very interesting OpenGL* OutputDevice::GetOpenGL() &lt;br /&gt;
&lt;br /&gt;
FIXME: To be continued&lt;br /&gt;
&lt;br /&gt;
=== Concerned files / ideas ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039; Ideas&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
25th august: &lt;br /&gt;
&lt;br /&gt;
After reading a lot of code (mostly vcl), it appears this is not possible (excepted doing hacks), to use OpenGL without use outdev thing (got systematic crashes using NSOpenGLView directly, and outdev complains about lost events and pending pointers)&lt;br /&gt;
&lt;br /&gt;
The consequence is, the slideshow calls must be abstraction of CreateContext, MakeCurrentContext, ReleaseContext ..etc.&lt;br /&gt;
&lt;br /&gt;
And the real implementation must go in vcl/aqua/source/gdi/salogl.cxx, respecting vcl/source/gdi/opengl.cxx virtual classes.&lt;br /&gt;
&lt;br /&gt;
The plan (to be confirmed seems to be):&lt;br /&gt;
&lt;br /&gt;
* design the abstraction we&amp;#039;ll use, and prepare the OGLTrans_TransitionerImpl.cxx like it is for Linux, but adapted to Mac OS X&lt;br /&gt;
* implement NSOpenGLView* pOpenGLView in vcl, guessing it will be sufficient (else, we&amp;#039;ll have to implement a new class, but things will become complicated)&lt;br /&gt;
* define the NSView containing the scene, instantiate an OpenGLNSView using the same frame, and use addSubview. Current choosen Place to do that: OGLTrans_TransitionerImpl.cxx&lt;br /&gt;
* implement (using existing Windows and Linux implementation) the same classes / macros ( :-/ ) methods in salogl.cxx&lt;br /&gt;
* add the mac osx cases in outdev and anywhere else it is needed&lt;br /&gt;
&lt;br /&gt;
Retry with the coming DEV300_m30&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Possibilities:====&lt;br /&gt;
&lt;br /&gt;
Everything is based on implement an OpenGLView adding a new NSOpenGLView* pOpenGLView object in sysdata.hxx, or an NSView drawn as a subview of the (NSView * type) pView.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: investigate about ImplOutdev and co&lt;br /&gt;
&lt;br /&gt;
Try 1: &amp;#039;&amp;#039;&amp;#039;either&amp;#039;&amp;#039;&amp;#039; implement (NSView * type) pOpenGLView in vcl, more precisely, modify:&lt;br /&gt;
&lt;br /&gt;
vcl/inc/vcl/sysdata.hxx&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/inc/salframe.h&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/inc/salframeview.h,&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/source/window/salframe.cxx&lt;br /&gt;
&lt;br /&gt;
vcl/aqua/source/window/salobj.cxx&lt;br /&gt;
&lt;br /&gt;
+ the makefile &lt;br /&gt;
&lt;br /&gt;
and in slideshow:&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionImpl.hxx&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionImpl.cxx&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Issue is at buildtime&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Pb: visibility of the vcl/aqua/inc headers from slideshow at buildtime&lt;br /&gt;
&lt;br /&gt;
Update: predeclaration in vcl/inc/vcl/sysdata.hxx will help a lot.&lt;br /&gt;
&lt;br /&gt;
Main issue is, how to explain the compiler NSView* pOpenGLView has new methods (OpenGL specific), the NSView* pView has not ?&lt;br /&gt;
&lt;br /&gt;
More precisely, there are warnings because the pOpenGLView is supposed receive no answer from the OpenGL specific methods used in OGLTrans_TransitionerImpl.cxx. In theory, it should work out of the box, but the code aims to be warning free; so this solution is not acceptable.&lt;br /&gt;
&lt;br /&gt;
Workaround could be implement the new methods directly in the NSView, or delegate. Just wild guess [FIXME]&lt;br /&gt;
&lt;br /&gt;
Try 2 &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(maybe completely wrong, but worth a try)&lt;br /&gt;
&lt;br /&gt;
Implement the OpenGL methods directly in the SalframeView. just two methods have the same names/parameters numbers, so just rename they properly to avoid clash. Important: initWithFrame for OpenGL has two parameters, while initWithFrame for normal NSView has only one. &lt;br /&gt;
&lt;br /&gt;
Try 3 &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Add an NSOpenGLView * pOpenGLView in the sysdata.hxx, and modify everything in vcl accordingly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039; [[Mac_OS_X_Porting_-_OpenGL_transitions/NSOpenGLView | ==&amp;gt; click here to have a look at NSOpenGLView available methods]]&amp;#039;&amp;#039;&amp;#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thus, in OGLTrans_TransitionerImpl.cxx instanciate &lt;br /&gt;
&lt;br /&gt;
an NSView who is a pointer on the normal NSView, and an NSOpenGLView, who is a pointer &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
create the AquaOpenGLView object directly in slideshow, modify the other slideshow files mentioned above (changes are similar)&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Result&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
Using the second solution, the subview seems to -somewhat- show something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test&amp;#039;&amp;#039;&amp;#039;: a right click in the transition demo, using the presentation wizard, give the same contextual menu we have in fullscreen (yes, this is weird, but this is encouraging for the future).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Known issue&amp;#039;&amp;#039;&amp;#039;: there is no communication between the subView and the NSApplication, events are lost, timeout and chaos in event queue&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; deadlock and crash.&lt;br /&gt;
&lt;br /&gt;
TODO: Second test will consist in delegate the notifications send for the refresh, to the NSApp. &lt;br /&gt;
&lt;br /&gt;
It is expected, once this NSOpenGL view will work, this should be no problem to use it from the slideshow.&lt;br /&gt;
&lt;br /&gt;
Communication between slideshow object and the NSApplication (customized NSView, itself inheriting of NSWindow) will use the notification center as proxy (what is extremely fast in theory).&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Concerned files&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
Task: build the lib&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/makefile.mk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
add the case Aqua, modify CFLAGSCXX + add fremaworks OpenGL, GLUT and Cocoa for linking&lt;br /&gt;
&lt;br /&gt;
Task: Deliver the libs / includes:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/prj/d.lst&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
deliver the new lib on Aqua (libOGLTrans.dylib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modified files:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionImpl.cxx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionImpl.hxx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;slideshow/source/engine/OGLTrans/OglTrans_TransitionerImpl.cxx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New files (to be confirmed):&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/aquaOpenGLView.h&lt;br /&gt;
&lt;br /&gt;
slideshow/source/engine/OGLTrans/aquaOpenGLView.m&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039; Concerned modules&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
* config_office: make OpenGL default on Mac OS X Aqua =&amp;gt; ENABLE_OPENGL=TRUE&lt;br /&gt;
* slideshow: where the lib is built. This lib is linked with libvcl (vcl must be built before slideshow)&lt;br /&gt;
* vcl (add NSOpenGLView* in salframe.h ? / implement it in NSApp + NSApp should receive notifications, maybe an object should be added and managed)&lt;br /&gt;
* scp2: to add the new lib in the package&lt;br /&gt;
* other changes ?&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Issues attached to the task&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
[http://www.openoffice.org/issues/show_bug.cgi?id=93013 issue 93013]&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039; TODO (draft)&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
* build the OpenGL trans lib, warning free, on Mac OS X&lt;br /&gt;
**[DONE] fix warnings and breakages, with empty implementation&lt;br /&gt;
**[DONE] fix linking&lt;br /&gt;
**[DONE] create customized NSView (skeleton, and pre-implementation)&lt;br /&gt;
*[DONE] add the lib to the package&lt;br /&gt;
* register the lib&lt;br /&gt;
* Design the first implementation&lt;br /&gt;
** design the abstraction used in slideshow&lt;br /&gt;
** implement the abstracted methods/classes in vcl/aqua/source/gdi/salogl&lt;br /&gt;
* implement NSOpenGLView or customize an NSView [Current plan: try using NSOpenGLView first]&lt;br /&gt;
** manage OpenGL context&lt;br /&gt;
** manage OpenGL pixels mapping&lt;br /&gt;
** manage events and notifications &amp;#039;&amp;#039;&amp;#039;critical&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** initialize the view properly in splitted view&lt;br /&gt;
** implement the fullscreen mode&lt;br /&gt;
* finalize the transitions integration in Aqua bundle&lt;br /&gt;
* make transitions work&lt;br /&gt;
* test&lt;br /&gt;
*integrate&lt;br /&gt;
&lt;br /&gt;
Notes about lib registration:&lt;br /&gt;
&lt;br /&gt;
When using UNO services (if I&amp;#039;m not wrong) a lib must be listed in services.rdb blob.&lt;br /&gt;
&lt;br /&gt;
For your tests, and until the lib will be packaged, you need to do this action &amp;#039;&amp;#039;&amp;#039;manually&amp;#039;&amp;#039;&amp;#039;. For that, you need to place you in the bundle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;lt;Bundle_dir&amp;gt;/OpenOffice.org.app/Contents/basis-link/program&lt;br /&gt;
chmod ug+w services.rdb  # else everything below will fail &lt;br /&gt;
../ure-link/bin/regcomp -register -r ./services.rdb -c libOGLTrans.uno.dylib&lt;br /&gt;
../ure-link/bin/regcomp -register -r ./services.rdb -c slideshow.uno.dylib&lt;br /&gt;
../ure-link/bin/regcomp -register -r ./services.rdb -c libslideshowtestmxi.dylib&lt;br /&gt;
chmod ug-w services.rdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the new libs you built previously&lt;br /&gt;
&lt;br /&gt;
If you want to go backward, just replace register with &amp;#039;&amp;#039;&amp;#039;revoke&amp;#039;&amp;#039; in the same place, using similar command line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;lt;Bundle_dir&amp;gt;/OpenOffice.org.app/Contents/basis-link/program&lt;br /&gt;
chmod ug+w services.rdb  # else everything below will fail &lt;br /&gt;
../ure-link/bin/regcomp -revoke -r ./services.rdb -c libOGLTrans.uno.dylib&lt;br /&gt;
../ure-link/bin/regcomp -revoke -r ./services.rdb -c slideshow.uno.dylib&lt;br /&gt;
../ure-link/bin/regcomp -revoke -r ./services.rdb -c libslideshowtestmxi.dylib&lt;br /&gt;
chmod ug-w services.rdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;LINKS&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Below a now exhaustive list of links. Feel free to add interesting links.&lt;br /&gt;
&lt;br /&gt;
[http://developer.apple.com/documentation/GraphicsImaging/OpenGL-date.html Apple OpenGL Documentation]&lt;br /&gt;
 &lt;br /&gt;
[http://www.cocoadev.com/index.pl?CocoaOpenGl Cocoa OpenGL]&lt;br /&gt;
&lt;br /&gt;
[http://www.cocoadev.com/index.pl?CustomGLView Custom GLView]&lt;br /&gt;
&lt;br /&gt;
[http://search.lists.apple.com/?q=NSView++NSOpenGLView&amp;amp;cmd=Search%21 NSView + OpenGLView in Apple database]&lt;br /&gt;
&lt;br /&gt;
[http://lists.apple.com/archives/mac-opengl/2005/Dec/msg00089.html NSOpenGLView initialisation issue]&lt;br /&gt;
&lt;br /&gt;
== COMPLETE ME ==&lt;br /&gt;
&lt;br /&gt;
Bla bla ...&lt;br /&gt;
&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOSX]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide/Building_on_MacOSX&amp;diff=59726</id>
		<title>Documentation/Building Guide/Building on MacOSX</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide/Building_on_MacOSX&amp;diff=59726"/>
		<updated>2008-01-05T21:33:05Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Cocoa migration is in progress &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;This document tries to wrap-up the build process for [[OpenOffice.org]] on Mac OS X using the native windowing-toolkit of the platform named Aqua.&amp;#039;&amp;#039;&amp;#039; &amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Important links for Cocoa development ===&lt;br /&gt;
&lt;br /&gt;
[http://www.cocoadev.com Cocoadev ]&lt;br /&gt;
&lt;br /&gt;
[http://ktd.club.fr/programmation/objective-c.php Pierre Chatelier page about C++ to Cocoa conversion ]&lt;br /&gt;
&lt;br /&gt;
Note: .pdf available in both english and french versions. Excellent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Outdated): To give a kickstart in the coding involved to get VCL ported to Carbon, please have a look at the excellent Pierre de Filippis [[Intro To Mac Porting]].&lt;br /&gt;
&lt;br /&gt;
We use the bash shell in all examples, since to our belief users of the C-shell are smart enough to figure out the differences anyway. If you want to dig deeper into the build process, please have a look at the description of the build environment here: [http://tools.openoffice.org/build_env.html OpenOffice.org Build Environment].&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
This document was derived from the description of the X11 build thanksworthy provided by Eric Hoch in this document: [[MacOSXBuildInstructions]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Here we would like to outline the things you need to build the Aqua Version&amp;#039;&amp;#039;&amp;#039; (besides the OS). &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Mandatory&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X version ===&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &amp;#039;&amp;#039;&amp;#039;Minimal version for AquaBuild is Mac OS X 10.4 (aka Tiger).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Due to important changes in the API, Aqua version cannot be built on Panther.&lt;br /&gt;
&lt;br /&gt;
=== Xcode ===&lt;br /&gt;
&lt;br /&gt;
This is the only mandatory part to be installed to build Aqua version of OpenOffice.org.&lt;br /&gt;
&lt;br /&gt;
Current verified working version is &amp;#039;&amp;#039;&amp;#039;XCode 2.4.1&amp;#039;&amp;#039;&amp;#039;. Older are deprecated.&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
Aqua version of OpenOffice.org does not build yet using Java SDK 1.6.0.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please use either J2SDK 1.4.2 or 1.5.0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To change the Java version -&amp;gt; go into folder : Applications -&amp;gt; Utilities -&amp;gt; Java and modify. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Else, you&amp;#039;ll meet unfixed build breakers (patches are welcome anyway)&lt;br /&gt;
&lt;br /&gt;
Note: If you are interested in helping us with Java 1.6 a patch which enables the build using java 1.6 is available [http://eric.bachard.free.fr/mac/aquavcl/patches/aquavcl03_august2007/java1.6/java_1.6_build.diff  &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  e.g. several known build issues have to be fixed e.g. hsqldb, but probably other modules are concerned.&lt;br /&gt;
&lt;br /&gt;
Be aware that it may impact important work and/or incompatibilities will occur. Feel free to submit your patches at mac@porting mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039; Strongly recommended&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
==== ccache ====&lt;br /&gt;
If you intend to build OpenOffice.org several times, you probably can benefit of ccache since it will speed up your future builds. The first time you make a build with ccache you won&amp;#039;t notice it, but the next time the build will go up to five times faster.&lt;br /&gt;
&lt;br /&gt;
You can install it using fink. It is simply named &amp;quot;ccache&amp;quot;. For MacPorts users the package is called &amp;quot;ccache&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
If you don&amp;#039;t use fink, you can download and build it yourself using the source provided at http://ccache.samba.org/&lt;br /&gt;
&lt;br /&gt;
In order to use ccache you need to change the following environment variables &amp;#039;&amp;#039;&amp;#039;assuming you&amp;#039;re using bash, and just before doing configure command line&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Everything is installed ?  Now build it... &amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:22px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;=&amp;gt; Current Milestone is m239&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Getting the code (checkout, merge and patch the puppy)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Create a directory for a given milestone, setup CVS access: ===&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 mkdir SRC680_m239&lt;br /&gt;
 cd SRC680_m239&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 export CVSROOT=&amp;quot;:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs&amp;quot;&lt;br /&gt;
 cvs login&lt;br /&gt;
(password is &amp;#039;anoncvs&amp;#039; )  + Enter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
Note: The source should be downloaded to a path that does not contain any spaces, otherwise compiling might be troublesome.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== checkout SRC680 (Master workspace since aquavcl01 integration) (1,5 GB): ===&lt;br /&gt;
&amp;lt;code&amp;gt;[N]&lt;br /&gt;
 cvs -z3 co -r SRC680_m239 OpenOffice2    # don&amp;#039;t forget the &amp;quot;2&amp;quot; !!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Once done, you&amp;#039;ll obtain milestone m239.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Additional dependencies for current Milestone builds&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
==== prebuilt Mozilla archives ====&lt;br /&gt;
&lt;br /&gt;
To enable the use of macros (disabled by default for security reasons), you&amp;#039;ll have to put the prebuilt archives of mozilla binaries in moz/zipped directory after renaming them properly.&lt;br /&gt;
&lt;br /&gt;
URL : http://tools.openoffice.org/moz_prebuild/680/&lt;br /&gt;
&lt;br /&gt;
Note: archives are Universal Binaries, and you&amp;#039;ll have to rename them, depending on your architecture (either Intel or PowerPC)&lt;br /&gt;
&lt;br /&gt;
Archives to be downloaded :&lt;br /&gt;
&lt;br /&gt;
http://tools.openoffice.org/moz_prebuild/680/MACOSXGCCUBinc.zip&lt;br /&gt;
&lt;br /&gt;
http://tools.openoffice.org/moz_prebuild/680/MACOSXGCCUBlib.zip&lt;br /&gt;
&lt;br /&gt;
http://tools.openoffice.org/moz_prebuild/680/MACOSXGCCUBruntime.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to build using them on PowerPC or Intel architecture (with Tiger)  please rename them this way  :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Archive || Name in Intel architecture || Name on PowerPC architecture&lt;br /&gt;
|-&lt;br /&gt;
| headers || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;inc.zip || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;inc.zip&lt;br /&gt;
|-&lt;br /&gt;
| runtime || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;runtime.zip || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;lib.zip&lt;br /&gt;
|-&lt;br /&gt;
| libs || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;lib.zip || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;lib.zip&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039; means PowerPC, and &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039; means Intel (replacing &amp;#039;&amp;#039;&amp;#039;UB&amp;#039;&amp;#039;&amp;#039; in the original name)&lt;br /&gt;
&lt;br /&gt;
.. and put them into &amp;#039;&amp;#039;&amp;#039;&amp;lt;ooo build directory&amp;gt;/SRC680_m239/moz/zipped&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org should detect and use them if you respect the configure command line as described in Milestone build.&lt;br /&gt;
&lt;br /&gt;
=== One-Time preparations and scripts ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org&amp;#039;s build environment is configured using the popular open-source configuration-management package &amp;#039;autoconf&amp;#039;. So you can do your beloved &amp;#039;./configure&amp;#039; command, but in our case this is done in the &amp;#039;config_office&amp;#039; subdirectory. To save the configure parameters and use them with different milestones I used to link-in my shellscript to fire up the ./configure line.&lt;br /&gt;
&lt;br /&gt;
My directory-structure looks like this:&lt;br /&gt;
&lt;br /&gt;
 bin/&lt;br /&gt;
 SRC680_m225/&lt;br /&gt;
 SRC680_m239/&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Now I go to the &amp;#039;config_office&amp;#039; subdir and link in my startscript:&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 cd SRC680_ m239/config_office/&lt;br /&gt;
 ln -s ../../bin/build.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
And this is how &amp;#039;build.sh&amp;#039; (to be written) looks like :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 export BASE=`pwd|sed &amp;#039;s/\/config_office//&amp;#039;`&lt;br /&gt;
 export OOVERSION=`echo $BASE|sed &amp;#039;s/^\/.*\///&amp;#039;`&lt;br /&gt;
 echo Building from     : $BASE&lt;br /&gt;
 echo OpenOffice Version: $OOVERSION&lt;br /&gt;
 ./configure \&lt;br /&gt;
 --with-lang=&amp;quot;en-US de fr&amp;quot; \&lt;br /&gt;
 --disable-odk \&lt;br /&gt;
 --disable-pasf \&lt;br /&gt;
 --disable-gtk \&lt;br /&gt;
 --disable-headless \&lt;br /&gt;
 --disable-build-mozilla \&lt;br /&gt;
 --with-build-version=$OOVERSION-`date +%d-%m-%y` \&lt;br /&gt;
 --disable-fontconfig \&lt;br /&gt;
 --without-nas \&lt;br /&gt;
 --with-use-shell=bash&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note :  --disable-neon has been removed since m217 resync. See issue : [[http://qa.openoffice.org/issues/show_bug.cgi?id=78206 --disable-neon breaks aqua build]]&lt;br /&gt;
&lt;br /&gt;
--disable-odk : disables SDK build, and will avoid you to download some windows dll which is not needed for aqua-build.&lt;br /&gt;
&lt;br /&gt;
--disable-pasf : pasf stands for Portable Audio System file. As we want to use system library rather than portable ones, we disabled this. However, at this time not all functionality will be available with pasf disabled. You might willing to use --with-pasf if you want working audio in your build.&lt;br /&gt;
&lt;br /&gt;
--without-nas : nas stands for Network Audio System, it uses X11, if you want to use it in your build, just remove this flag. You will need to install the X11 package provided in your CDs/DVD Mac OS X installation. X11 SDK from xCode tools is not required for build this.&lt;br /&gt;
&lt;br /&gt;
--disable-build-mozilla: will disable the mozilla build (in the moz module), but mozilla pre-built archives will be used instead (they are mandatory to enable the macro security configuration dialog (see [http://www.openoffice.org/issues/show_bug.cgi?id=79885 issue 79885]).&lt;br /&gt;
&lt;br /&gt;
--enable-dbgutil: add this option to enable assertions and other functionality useful for debugging&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Doing the build (about 4,5 GB)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Fine, now we have a (hopefully) working &amp;#039;build.sh&amp;#039; in the config_office subdir. We need to run it beforehand:&lt;br /&gt;
&lt;br /&gt;
 cd SRC680_m239/config_office/&lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
This will setup the necessary includefiles and create a couple of files in the &amp;#039;&amp;#039;&amp;#039;parent&amp;#039;&amp;#039;&amp;#039; directory (bootstrap, MacOSXPPCEnv.Set.sh, MacOSXPPCEnv.Set). If you are using the sh, ksh or bash you only need to take care for &amp;#039;MacOSXPPCEnv.Set.sh&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Now we need to get back to our base-directory, run the bootstrap script, source our Enviroment (MacOSXPPCEnv.Set.sh) and finally start the build-process:&lt;br /&gt;
&lt;br /&gt;
==== Mac Intel ====&lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 source MacOSXX86Env.Set.sh&lt;br /&gt;
 cd instsetoo_native&lt;br /&gt;
 export TMP=/tmp&lt;br /&gt;
 export SYSTEM_OPENSSL=YES&lt;br /&gt;
&lt;br /&gt;
+ &lt;br /&gt;
 build --all -P4 --dlv_switch -link --dontgraboutput&lt;br /&gt;
 &lt;br /&gt;
 or&lt;br /&gt;
 &lt;br /&gt;
 build --all -P4 &lt;br /&gt;
&lt;br /&gt;
if you run into trouble with --dlv_switch (see: [http://qa.openoffice.org/issues/show_bug.cgi?id=77360 | issue 77360])&lt;br /&gt;
&lt;br /&gt;
==== On PowerPC ====&lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 source MacOSXPPCEnv.Set.sh&lt;br /&gt;
 cd instsetoo_native&lt;br /&gt;
 export TMP=/tmp&lt;br /&gt;
 export SYSTEM_OPENSSL=YES&lt;br /&gt;
&lt;br /&gt;
+ &lt;br /&gt;
  &lt;br /&gt;
 build --all -P2 --dlv_switch -link --dontgraboutput&lt;br /&gt;
 &lt;br /&gt;
 or&lt;br /&gt;
 &lt;br /&gt;
 build --all -P2 &lt;br /&gt;
&lt;br /&gt;
===== Comments on above =====&lt;br /&gt;
&lt;br /&gt;
if you run into trouble with --dlv_switch (see: [http://qa.openoffice.org/issues/show_bug.cgi?id=77360|issue 77360])&lt;br /&gt;
&lt;br /&gt;
The main purpose of the &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; script is to build (if necessary) the dmake utility used. Dmake once was a unix make-clone made by wticorp but got incorporated into OpenOffice since it was orphaned. For more information about dmake, it&amp;#039;s history and manpage have a look here: http://tools.openoffice.org/dmake/index.html&lt;br /&gt;
&lt;br /&gt;
Sourcing MacOSXPPCEnv.Set.sh is very important not only for building but also for &amp;#039;&amp;#039;&amp;#039;running&amp;#039;&amp;#039;&amp;#039; svdem later on. Here all the Environment-Variables for the Build will be set up. For a detailed description see [[Environment_Variables]]. Please note that on Intel machines, &amp;#039;MacOSXPPCEnv.Set.sh&amp;#039; should be substituted with &amp;#039;MacOSXX86Env.Set.sh&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
This Build process takes on my box (Dual 1.8 GHz G5, 1.5GB RAM) roughly 10 hours, and 3 to 6 hours on Mac Intel (3:30h on a 2GHz DualCore INTEL iMac). Be patient.&lt;br /&gt;
&lt;br /&gt;
If you want to see how the progress on that build  is you can use two &amp;#039;&amp;#039;&amp;#039;build&amp;#039;&amp;#039;&amp;#039; options to get a comfortable view:&lt;br /&gt;
&lt;br /&gt;
 build ... &amp;lt;see above&amp;gt; ... --html --html_path /Users/$USER/Sites&lt;br /&gt;
&lt;br /&gt;
where $USER is your user name. Then you can load in Firefox (not Safari!) the HTML file &amp;#039;&amp;#039;&amp;#039;unxmacxi.pro.build.html&amp;#039;&amp;#039;&amp;#039; via the in Mac OS X included Apache web server or diretctly form the directory &amp;#039;&amp;#039;/Users/$USER/Sites/&amp;#039;&amp;#039;. This file is automatically being updated and is showing the status of the build and also the time needed since the build started.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Installing, preparing and running OpenOffice.org&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039; Find the Bundle&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
Once the build completed, the Final product ( en-US version ) is named :  OOo_2.4.0_071211_MacOSXIntel_install.dmg ( for version 2.4.0 e.g.) &lt;br /&gt;
&lt;br /&gt;
And is located in instsetoo_native/unxmacxi.pro/OpenOffice/archive/install/en-US  directory ( replace en-US with your locale )&lt;br /&gt;
&lt;br /&gt;
[[Image:Bundle_Location_2.4.0.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Run the soffice.bin&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In one line :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Double click the .dmg , drag the OpenOffice.org icon in the folder you want, and double click to run it !!&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note : soffice.bin leads XCode to not work (because of the dot in the name). The issue has been reported to xcode-users list.&lt;br /&gt;
 &lt;br /&gt;
We&amp;#039;re nearly through, let&amp;#039;s fire-off the binary:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But a lot has to be done, and if you want to trace (using gdb e.g.), just do:&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;INSTALL_DIR&amp;gt;/OpenOffice.org\ 2.4.app/Contents/MacOS&lt;br /&gt;
&lt;br /&gt;
and run:&lt;br /&gt;
&lt;br /&gt;
gdb --args soffice.bin&lt;br /&gt;
&lt;br /&gt;
(add any breakpoint you want)&lt;br /&gt;
&lt;br /&gt;
r to run OpenOffice.org&lt;br /&gt;
&lt;br /&gt;
=== Use vcl menubar and / or vcl menus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Native menus are defaults. If you want to use vcl menus, do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AQUA_NATIVE_MENUS=FALSE ./soffice.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: options to not recover is  -norestore , and to bypass the user informations to fill in, use -nofirststartwizard&lt;br /&gt;
&lt;br /&gt;
AQUA_NATIVE_MENUS=FALSE ./soffice.bin -nofirststartwizard -norestore&lt;br /&gt;
&lt;br /&gt;
You can also insert environement variables in a Dictionary Class of Info.plist located in the Contents directory of OpenOffice.org bundle.&lt;br /&gt;
&lt;br /&gt;
For example, you can add the following XML in a text editor (or make it generated by Property List Editor) in your Info.plist :&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;key&amp;gt;LSEnvironment&amp;lt;/key&amp;gt;&lt;br /&gt;
   &amp;lt;dict&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;AQUA_NATIVE_MENUS&amp;lt;/key&amp;gt;&lt;br /&gt;
       &amp;lt;string&amp;gt;TRUE&amp;lt;/string&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;OOO_DISABLE_RECOVERY&amp;lt;/key&amp;gt;&lt;br /&gt;
       &amp;lt;string&amp;gt;TRUE&amp;lt;/string&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;SAL_NO_NWF&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;TRUE&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that in order to work, the OOO_DISABLE_RECOVERY variable detection must be manually inserted in OOo code using the following patch :&lt;br /&gt;
http://www.go-oo.org/patches/src680/disable-recovery.diff&lt;br /&gt;
&lt;br /&gt;
This patch is outdated, but you can make the modifications yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notice the enviroment variable here. AQUA_NATIVE_MENUS is experimental stuff created by Pavel, SAL_NO_NWF was created some times ago, and is located in vcl/source/window/window.cxx . At the moment we have:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;15&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable || Function&lt;br /&gt;
|-&lt;br /&gt;
| SAL_NO_NWF=TRUE  || disable native controls code&lt;br /&gt;
|-&lt;br /&gt;
| AQUA_NATIVE_MENUS=FALSE || disable native menus code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Both changes are marked with comments in the source code, and when we remove them in the future, native controls and native menus will be enabled by default.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Debug and contribute &amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You want to provide crash issue details? Please see [[Providing_a_gdb_backtrace]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You want to debug using XCode? Please see [[MacOSX_Debug_OpenOffice.org_using_XCode]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You want to debug using Xemacs? Please see [http://www.mikesicotte.com/2007/02/21/debugging-ooo-with-xemacs-and-gdb Michael Sicotte&amp;#039;s blog entry]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;[[AquaBuild/Cocoa Informations]] &amp;lt;== Additionnal informations for advanced developers &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Current Work in progress&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Developers are working on the following Child workspaces, all Mac OSX dedicated (not integrated )&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;stl4leopardppc&amp;#039;&amp;#039;&amp;#039; : allow OpenOffice.org to be built on Mac OS X 10.5 PowerPC using system stl, using --without-stlport4 configure option.&lt;br /&gt;
&lt;br /&gt;
If possible, continue with other builds (Leopard / Tiger Intel and PowerPC).&lt;br /&gt;
&lt;br /&gt;
Concerned modules : connectivity, cosv, fpicker, autodoc &lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquafilepicker02&amp;#039;&amp;#039;&amp;#039; : replace Carbon native FilePicker with Cocoa native FilePicker &lt;br /&gt;
&lt;br /&gt;
Concerned module : fpicker&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;nativeprintdlg01&amp;#039;&amp;#039;&amp;#039; : add support for native print dialog &lt;br /&gt;
&lt;br /&gt;
Concerned modules: offapi, vcl, sfx2, svtools, sw&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;quicklookplugin01&amp;#039;&amp;#039;&amp;#039; : This cws provides a plugin for the QuickLook system available in MacOSX from versions 10.5 onwards&lt;br /&gt;
&lt;br /&gt;
Concerned modules : extensions scp2&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosxdnd&amp;#039;&amp;#039;&amp;#039; Drag and Drop for Aqua&lt;br /&gt;
&lt;br /&gt;
Concerned modules : dtrans svtools vcl&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Faquavcl05 aquavcl05]&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
concerned modules : vcl&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Closed for development&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Faquavcl04 aquavcl04]&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
concerned modules : desktop vcl rsc shell svx sw solenv instsetoo_native&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Integrated&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
Integrated in m239&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosxquicktime01&amp;#039;&amp;#039;&amp;#039; : use QTKit for sounds and movies&lt;br /&gt;
&lt;br /&gt;
Concerned modules : avmedia scp2 vcl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m238&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosx24dmg&amp;#039;&amp;#039;&amp;#039; : fix bad icon positionning in the mounted disk image ( already Approved by QA )&lt;br /&gt;
&lt;br /&gt;
Concerned module : instsetoo_native&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m237&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pj86&amp;#039;&amp;#039;&amp;#039; : Make module sw warning free on Mac OS X&lt;br /&gt;
&lt;br /&gt;
Concerned modules : sw , solenv&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macleopardbuild&amp;#039;&amp;#039;&amp;#039; : be Leopard compatible, when building on Tiger&lt;br /&gt;
&lt;br /&gt;
Concerned modules : idlc soltools jvmfwk extensions stlport&lt;br /&gt;
&lt;br /&gt;
Integrated in m233&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;readme4macintel&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
concerned module : readlicense_oo&lt;br /&gt;
&lt;br /&gt;
Integrated in m233&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquavcl03&amp;#039;&amp;#039;&amp;#039; ( Carbon -&amp;gt; Cocoa migration )&lt;br /&gt;
&lt;br /&gt;
concerned modules are desktop, instsetoo_native, solenv, svtools, vcl&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;spotlightplugin01&amp;#039;&amp;#039;&amp;#039; ( add a new Sportlight plugin )&lt;br /&gt;
&lt;br /&gt;
Concerned modules: extensions, scp2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m229&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macaddressbook01&amp;#039;&amp;#039;&amp;#039;  (QA in progress )&lt;br /&gt;
&lt;br /&gt;
concerned modules are : scp2, dbaccess, extensions, connectivity&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosxspellchecker&amp;#039;&amp;#039;&amp;#039;  :  use Mac OS X spellchecker&lt;br /&gt;
&lt;br /&gt;
Concerned modules: lingucomponent, solenv&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquavclcarbonfixes&amp;#039;&amp;#039;&amp;#039; ( Carbon version of Aqua OpenOffice.org ): fix the 5 most important issues. &lt;br /&gt;
&lt;br /&gt;
concerned modules are : desktop, vcl, fpicker, libxmlsec, xmlsecurity, basic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m228&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cloph09&amp;#039;&amp;#039;&amp;#039;  ( remove X11SDK dependance for Aquabuild )&lt;br /&gt;
&lt;br /&gt;
Concerned modules:  np_sdk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m227&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquaremovescripts&amp;#039;&amp;#039;&amp;#039;: remove useless Applescripts from Aqua version&lt;br /&gt;
&lt;br /&gt;
concerned module: instsetoo_native&lt;br /&gt;
&lt;br /&gt;
Integrated in m223:&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquavcl02&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m222 : &lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquaremovefondu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*macosxdmg23&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m221:&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquafilepicker01&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All patches that developers have that need testing or peer review should be added here.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Known build issues &amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; build (X11 only) : currently broken ( work in progress )&lt;br /&gt;
&lt;br /&gt;
Since latest resync, no build issues have been reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039;:  no problem nor for X11 nor Aqua versions (main baseline)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Leopard&amp;#039;&amp;#039;&amp;#039; Intel : builds OK now. Build is broken in cppu for PowerPC architecture, and builds fine using --without-stlport4 flag&lt;br /&gt;
&lt;br /&gt;
*Native FilePicker is fixed (aquafilepicker02 + pl fixed repaint issue )&lt;br /&gt;
&lt;br /&gt;
*Lot of warnings in vcl, due to other deprecated stuff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:grey; font-size:12px&amp;quot;&amp;gt;[[AquaBuild/Some Background | &amp;#039;&amp;#039;&amp;#039;Some Background (what is aquavcl01, EIS) (click me to know more) &amp;#039;&amp;#039;&amp;#039;]]&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;External links&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
# [http://www.openoffice.org/issues/query.cgi Bug Database]&lt;br /&gt;
# Mailinglist: [http://porting.openoffice.org/servlets/ProjectMailingListList mac@porting.openoffice.org]  (subscribe is mandatory )&lt;br /&gt;
# IRC Meeting-Logs (#ooo_macport@freenode.org): [[Previous_Mac_Meeting_logs]] [[MacOSXPortMeetings]]&lt;br /&gt;
# TX20: http://eric.bachard.free.fr/UTBM_TX20/reports/Carbon_vcl.pdf&lt;br /&gt;
# OpenOffice Source Directory Structure: http://wiki.services.openoffice.org/wiki/Source_code_directories&lt;br /&gt;
# Pavels Patch Wiki: http://blog.janik.cz/&lt;br /&gt;
# Eric Bachard Wiki: http://wiki.services.openoffice.org/wiki/User:Ericb&lt;br /&gt;
# Sebastien Plisson Wiki: http://splisson.blogspot.com/&lt;br /&gt;
# Christian Lippka Wiki: http://wiki.services.openoffice.org/wiki/User:CL&lt;br /&gt;
# Carbon: http://developer.apple.com/carbon&lt;br /&gt;
# EIS: http://eis.services.openoffice.org/EIS2/servlet/Logon&lt;br /&gt;
# Runtime Configuration: http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/index.html&lt;br /&gt;
# OpenOffice Domain Developer http://wiki.services.openoffice.org/wiki/DomainDeveloper&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Screenshots&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
# Eric Bachard screenshots (some are from Stephan Schaefer) http://eric.bachard.free.fr/mac/aquavcl/screenshots/&lt;br /&gt;
# Most recent: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_menus_05_nov_06/&lt;br /&gt;
# Pavel Janik screenshots http://blog.janik.cz/images/MacOSX/2006-08-10&lt;br /&gt;
# Important screenshot (eventloop issue): http://blog.janik.cz/images/MacOSX/  =&amp;gt; See: OOoMenus-separator-and-disabled_entries.png&lt;br /&gt;
# Aqua look (the begining): &lt;br /&gt;
http://eric.bachard.free.fr/mac/aquavcl/screenshots/mars2007/combobox_search_and_replace02_14mars07.jpg&lt;br /&gt;
&lt;br /&gt;
More menus: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_menus_05_nov_06/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide/Building_on_MacOSX&amp;diff=59725</id>
		<title>Documentation/Building Guide/Building on MacOSX</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide/Building_on_MacOSX&amp;diff=59725"/>
		<updated>2008-01-05T21:32:14Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Important links for Cocoa development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Cocoa migration is in progress &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;This document tries to wrap-up the build process for [[OpenOffice.org]] on Mac OS X using the native windowing-toolkit of the platform named Aqua.&amp;#039;&amp;#039;&amp;#039; &amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Important links for Cocoa development ===&lt;br /&gt;
&lt;br /&gt;
[http://www.cocoadev.com Cocoadev ]&lt;br /&gt;
&lt;br /&gt;
[http://ktd.club.fr/programmation/objective-c.php Pierre Chatelier page about C++ to Cocoa conversion ]&lt;br /&gt;
&lt;br /&gt;
Note: .pdf available in both english and french versions. Excellent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Outdated): To give a kickstart in the coding involved to get VCL ported to Carbon, please have a look at the excellent Pierre de Filippis [[Intro To Mac Porting]].&lt;br /&gt;
&lt;br /&gt;
We use the bash shell in all examples, since to our belief users of the C-shell are smart enough to figure out the differences anyway. If you want to dig deeper into the build process, please have a look at the description of the build environment here: [http://tools.openoffice.org/build_env.html OpenOffice.org Build Environment].&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
This document was derived from the description of the X11 build thanksworthy provided by Eric Hoch in this document: [[MacOSXBuildInstructions]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Here we would like to outline the things you need to build the Aqua Version&amp;#039;&amp;#039;&amp;#039; (besides the OS). &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Mandatory&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X version ===&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &amp;#039;&amp;#039;&amp;#039;Minimal version for AquaBuild is Mac OS X 10.4 ( aka Tiger ).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Due to important changes in the API, Aqua version cannot be built on Panther.&lt;br /&gt;
&lt;br /&gt;
=== Xcode ===&lt;br /&gt;
&lt;br /&gt;
This is the only mandatory part to be installed to build Aqua version of OpenOffice.org.&lt;br /&gt;
&lt;br /&gt;
Current verified working version is &amp;#039;&amp;#039;&amp;#039;XCode 2.4.1&amp;#039;&amp;#039;&amp;#039;. Older are deprecated.&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
Aqua version of OpenOffice.org does not build yet using Java SDK 1.6.0.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please use either J2SDK 1.4.2 or 1.5.0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To change the Java version -&amp;gt; go into folder : Applications -&amp;gt; Utilities -&amp;gt; Java and modify. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Else, you&amp;#039;ll meet unfixed build breakers (patches are welcome anyway)&lt;br /&gt;
&lt;br /&gt;
Note: If you are interested in helping us with Java 1.6 a patch which enables the build using java 1.6 is available [http://eric.bachard.free.fr/mac/aquavcl/patches/aquavcl03_august2007/java1.6/java_1.6_build.diff  &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  e.g. several known build issues have to be fixed e.g. hsqldb, but probably other modules are concerned.&lt;br /&gt;
&lt;br /&gt;
Be aware that it may impact important work and/or incompatibilities will occur. Feel free to submit your patches at mac@porting mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039; Strongly recommended&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
==== ccache ====&lt;br /&gt;
If you intend to build OpenOffice.org several times, you probably can benefit of ccache since it will speed up your future builds. The first time you make a build with ccache you won&amp;#039;t notice it, but the next time the build will go up to five times faster.&lt;br /&gt;
&lt;br /&gt;
You can install it using fink. It is simply named &amp;quot;ccache&amp;quot;. For MacPorts users the package is called &amp;quot;ccache&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
If you don&amp;#039;t use fink, you can download and build it yourself using the source provided at http://ccache.samba.org/&lt;br /&gt;
&lt;br /&gt;
In order to use ccache you need to change the following environment variables &amp;#039;&amp;#039;&amp;#039;assuming you&amp;#039;re using bash, and just before doing configure command line&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Everything is installed ?  Now build it... &amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:22px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;=&amp;gt; Current Milestone is m239&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Getting the code (checkout, merge and patch the puppy)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Create a directory for a given milestone, setup CVS access: ===&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 mkdir SRC680_m239&lt;br /&gt;
 cd SRC680_m239&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 export CVSROOT=&amp;quot;:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs&amp;quot;&lt;br /&gt;
 cvs login&lt;br /&gt;
(password is &amp;#039;anoncvs&amp;#039; )  + Enter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
Note: The source should be downloaded to a path that does not contain any spaces, otherwise compiling might be troublesome.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== checkout SRC680 (Master workspace since aquavcl01 integration) (1,5 GB): ===&lt;br /&gt;
&amp;lt;code&amp;gt;[N]&lt;br /&gt;
 cvs -z3 co -r SRC680_m239 OpenOffice2    # don&amp;#039;t forget the &amp;quot;2&amp;quot; !!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Once done, you&amp;#039;ll obtain milestone m239.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Additional dependencies for current Milestone builds&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
==== prebuilt Mozilla archives ====&lt;br /&gt;
&lt;br /&gt;
To enable the use of macros (disabled by default for security reasons), you&amp;#039;ll have to put the prebuilt archives of mozilla binaries in moz/zipped directory after renaming them properly.&lt;br /&gt;
&lt;br /&gt;
URL : http://tools.openoffice.org/moz_prebuild/680/&lt;br /&gt;
&lt;br /&gt;
Note: archives are Universal Binaries, and you&amp;#039;ll have to rename them, depending on your architecture (either Intel or PowerPC)&lt;br /&gt;
&lt;br /&gt;
Archives to be downloaded :&lt;br /&gt;
&lt;br /&gt;
http://tools.openoffice.org/moz_prebuild/680/MACOSXGCCUBinc.zip&lt;br /&gt;
&lt;br /&gt;
http://tools.openoffice.org/moz_prebuild/680/MACOSXGCCUBlib.zip&lt;br /&gt;
&lt;br /&gt;
http://tools.openoffice.org/moz_prebuild/680/MACOSXGCCUBruntime.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to build using them on PowerPC or Intel architecture (with Tiger)  please rename them this way  :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Archive || Name in Intel architecture || Name on PowerPC architecture&lt;br /&gt;
|-&lt;br /&gt;
| headers || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;inc.zip || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;inc.zip&lt;br /&gt;
|-&lt;br /&gt;
| runtime || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;runtime.zip || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;lib.zip&lt;br /&gt;
|-&lt;br /&gt;
| libs || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;lib.zip || MACOSXGCC&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;lib.zip&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039; means PowerPC, and &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039; means Intel (replacing &amp;#039;&amp;#039;&amp;#039;UB&amp;#039;&amp;#039;&amp;#039; in the original name)&lt;br /&gt;
&lt;br /&gt;
.. and put them into &amp;#039;&amp;#039;&amp;#039;&amp;lt;ooo build directory&amp;gt;/SRC680_m239/moz/zipped&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org should detect and use them if you respect the configure command line as described in Milestone build.&lt;br /&gt;
&lt;br /&gt;
=== One-Time preparations and scripts ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org&amp;#039;s build environment is configured using the popular open-source configuration-management package &amp;#039;autoconf&amp;#039;. So you can do your beloved &amp;#039;./configure&amp;#039; command, but in our case this is done in the &amp;#039;config_office&amp;#039; subdirectory. To save the configure parameters and use them with different milestones I used to link-in my shellscript to fire up the ./configure line.&lt;br /&gt;
&lt;br /&gt;
My directory-structure looks like this:&lt;br /&gt;
&lt;br /&gt;
 bin/&lt;br /&gt;
 SRC680_m225/&lt;br /&gt;
 SRC680_m239/&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Now I go to the &amp;#039;config_office&amp;#039; subdir and link in my startscript:&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 cd SRC680_ m239/config_office/&lt;br /&gt;
 ln -s ../../bin/build.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
And this is how &amp;#039;build.sh&amp;#039; (to be written) looks like :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 export BASE=`pwd|sed &amp;#039;s/\/config_office//&amp;#039;`&lt;br /&gt;
 export OOVERSION=`echo $BASE|sed &amp;#039;s/^\/.*\///&amp;#039;`&lt;br /&gt;
 echo Building from     : $BASE&lt;br /&gt;
 echo OpenOffice Version: $OOVERSION&lt;br /&gt;
 ./configure \&lt;br /&gt;
 --with-lang=&amp;quot;en-US de fr&amp;quot; \&lt;br /&gt;
 --disable-odk \&lt;br /&gt;
 --disable-pasf \&lt;br /&gt;
 --disable-gtk \&lt;br /&gt;
 --disable-headless \&lt;br /&gt;
 --disable-build-mozilla \&lt;br /&gt;
 --with-build-version=$OOVERSION-`date +%d-%m-%y` \&lt;br /&gt;
 --disable-fontconfig \&lt;br /&gt;
 --without-nas \&lt;br /&gt;
 --with-use-shell=bash&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note :  --disable-neon has been removed since m217 resync. See issue : [[http://qa.openoffice.org/issues/show_bug.cgi?id=78206 --disable-neon breaks aqua build]]&lt;br /&gt;
&lt;br /&gt;
--disable-odk : disables SDK build, and will avoid you to download some windows dll which is not needed for aqua-build.&lt;br /&gt;
&lt;br /&gt;
--disable-pasf : pasf stands for Portable Audio System file. As we want to use system library rather than portable ones, we disabled this. However, at this time not all functionality will be available with pasf disabled. You might willing to use --with-pasf if you want working audio in your build.&lt;br /&gt;
&lt;br /&gt;
--without-nas : nas stands for Network Audio System, it uses X11, if you want to use it in your build, just remove this flag. You will need to install the X11 package provided in your CDs/DVD Mac OS X installation. X11 SDK from xCode tools is not required for build this.&lt;br /&gt;
&lt;br /&gt;
--disable-build-mozilla: will disable the mozilla build (in the moz module), but mozilla pre-built archives will be used instead (they are mandatory to enable the macro security configuration dialog (see [http://www.openoffice.org/issues/show_bug.cgi?id=79885 issue 79885]).&lt;br /&gt;
&lt;br /&gt;
--enable-dbgutil: add this option to enable assertions and other functionality useful for debugging&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Doing the build (about 4,5 GB)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Fine, now we have a (hopefully) working &amp;#039;build.sh&amp;#039; in the config_office subdir. We need to run it beforehand:&lt;br /&gt;
&lt;br /&gt;
 cd SRC680_m239/config_office/&lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
This will setup the necessary includefiles and create a couple of files in the &amp;#039;&amp;#039;&amp;#039;parent&amp;#039;&amp;#039;&amp;#039; directory (bootstrap, MacOSXPPCEnv.Set.sh, MacOSXPPCEnv.Set). If you are using the sh, ksh or bash you only need to take care for &amp;#039;MacOSXPPCEnv.Set.sh&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Now we need to get back to our base-directory, run the bootstrap script, source our Enviroment (MacOSXPPCEnv.Set.sh) and finally start the build-process:&lt;br /&gt;
&lt;br /&gt;
==== Mac Intel ====&lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 source MacOSXX86Env.Set.sh&lt;br /&gt;
 cd instsetoo_native&lt;br /&gt;
 export TMP=/tmp&lt;br /&gt;
 export SYSTEM_OPENSSL=YES&lt;br /&gt;
&lt;br /&gt;
+ &lt;br /&gt;
 build --all -P4 --dlv_switch -link --dontgraboutput&lt;br /&gt;
 &lt;br /&gt;
 or&lt;br /&gt;
 &lt;br /&gt;
 build --all -P4 &lt;br /&gt;
&lt;br /&gt;
if you run into trouble with --dlv_switch (see: [http://qa.openoffice.org/issues/show_bug.cgi?id=77360 | issue 77360])&lt;br /&gt;
&lt;br /&gt;
==== On PowerPC ====&lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 source MacOSXPPCEnv.Set.sh&lt;br /&gt;
 cd instsetoo_native&lt;br /&gt;
 export TMP=/tmp&lt;br /&gt;
 export SYSTEM_OPENSSL=YES&lt;br /&gt;
&lt;br /&gt;
+ &lt;br /&gt;
  &lt;br /&gt;
 build --all -P2 --dlv_switch -link --dontgraboutput&lt;br /&gt;
 &lt;br /&gt;
 or&lt;br /&gt;
 &lt;br /&gt;
 build --all -P2 &lt;br /&gt;
&lt;br /&gt;
===== Comments on above =====&lt;br /&gt;
&lt;br /&gt;
if you run into trouble with --dlv_switch (see: [http://qa.openoffice.org/issues/show_bug.cgi?id=77360|issue 77360])&lt;br /&gt;
&lt;br /&gt;
The main purpose of the &amp;#039;&amp;#039;&amp;#039;bootstrap&amp;#039;&amp;#039;&amp;#039; script is to build (if necessary) the dmake utility used. Dmake once was a unix make-clone made by wticorp but got incorporated into OpenOffice since it was orphaned. For more information about dmake, it&amp;#039;s history and manpage have a look here: http://tools.openoffice.org/dmake/index.html&lt;br /&gt;
&lt;br /&gt;
Sourcing MacOSXPPCEnv.Set.sh is very important not only for building but also for &amp;#039;&amp;#039;&amp;#039;running&amp;#039;&amp;#039;&amp;#039; svdem later on. Here all the Environment-Variables for the Build will be set up. For a detailed description see [[Environment_Variables]]. Please note that on Intel machines, &amp;#039;MacOSXPPCEnv.Set.sh&amp;#039; should be substituted with &amp;#039;MacOSXX86Env.Set.sh&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
This Build process takes on my box (Dual 1.8 GHz G5, 1.5GB RAM) roughly 10 hours, and 3 to 6 hours on Mac Intel (3:30h on a 2GHz DualCore INTEL iMac). Be patient.&lt;br /&gt;
&lt;br /&gt;
If you want to see how the progress on that build  is you can use two &amp;#039;&amp;#039;&amp;#039;build&amp;#039;&amp;#039;&amp;#039; options to get a comfortable view:&lt;br /&gt;
&lt;br /&gt;
 build ... &amp;lt;see above&amp;gt; ... --html --html_path /Users/$USER/Sites&lt;br /&gt;
&lt;br /&gt;
where $USER is your user name. Then you can load in Firefox (not Safari!) the HTML file &amp;#039;&amp;#039;&amp;#039;unxmacxi.pro.build.html&amp;#039;&amp;#039;&amp;#039; via the in Mac OS X included Apache web server or diretctly form the directory &amp;#039;&amp;#039;/Users/$USER/Sites/&amp;#039;&amp;#039;. This file is automatically being updated and is showing the status of the build and also the time needed since the build started.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Installing, preparing and running OpenOffice.org&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039; Find the Bundle&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
Once the build completed, the Final product ( en-US version ) is named :  OOo_2.4.0_071211_MacOSXIntel_install.dmg ( for version 2.4.0 e.g.) &lt;br /&gt;
&lt;br /&gt;
And is located in instsetoo_native/unxmacxi.pro/OpenOffice/archive/install/en-US  directory ( replace en-US with your locale )&lt;br /&gt;
&lt;br /&gt;
[[Image:Bundle_Location_2.4.0.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Run the soffice.bin&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In one line :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Double click the .dmg , drag the OpenOffice.org icon in the folder you want, and double click to run it !!&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note : soffice.bin leads XCode to not work (because of the dot in the name). The issue has been reported to xcode-users list.&lt;br /&gt;
 &lt;br /&gt;
We&amp;#039;re nearly through, let&amp;#039;s fire-off the binary:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But a lot has to be done, and if you want to trace (using gdb e.g.), just do:&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;INSTALL_DIR&amp;gt;/OpenOffice.org\ 2.4.app/Contents/MacOS&lt;br /&gt;
&lt;br /&gt;
and run:&lt;br /&gt;
&lt;br /&gt;
gdb --args soffice.bin&lt;br /&gt;
&lt;br /&gt;
(add any breakpoint you want)&lt;br /&gt;
&lt;br /&gt;
r to run OpenOffice.org&lt;br /&gt;
&lt;br /&gt;
=== Use vcl menubar and / or vcl menus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Native menus are defaults. If you want to use vcl menus, do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AQUA_NATIVE_MENUS=FALSE ./soffice.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: options to not recover is  -norestore , and to bypass the user informations to fill in, use -nofirststartwizard&lt;br /&gt;
&lt;br /&gt;
AQUA_NATIVE_MENUS=FALSE ./soffice.bin -nofirststartwizard -norestore&lt;br /&gt;
&lt;br /&gt;
You can also insert environement variables in a Dictionary Class of Info.plist located in the Contents directory of OpenOffice.org bundle.&lt;br /&gt;
&lt;br /&gt;
For example, you can add the following XML in a text editor (or make it generated by Property List Editor) in your Info.plist :&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;key&amp;gt;LSEnvironment&amp;lt;/key&amp;gt;&lt;br /&gt;
   &amp;lt;dict&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;AQUA_NATIVE_MENUS&amp;lt;/key&amp;gt;&lt;br /&gt;
       &amp;lt;string&amp;gt;TRUE&amp;lt;/string&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;OOO_DISABLE_RECOVERY&amp;lt;/key&amp;gt;&lt;br /&gt;
       &amp;lt;string&amp;gt;TRUE&amp;lt;/string&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;SAL_NO_NWF&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;TRUE&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that in order to work, the OOO_DISABLE_RECOVERY variable detection must be manually inserted in OOo code using the following patch :&lt;br /&gt;
http://www.go-oo.org/patches/src680/disable-recovery.diff&lt;br /&gt;
&lt;br /&gt;
This patch is outdated, but you can make the modifications yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notice the enviroment variable here. AQUA_NATIVE_MENUS is experimental stuff created by Pavel, SAL_NO_NWF was created some times ago, and is located in vcl/source/window/window.cxx . At the moment we have:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;15&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable || Function&lt;br /&gt;
|-&lt;br /&gt;
| SAL_NO_NWF=TRUE  || disable native controls code&lt;br /&gt;
|-&lt;br /&gt;
| AQUA_NATIVE_MENUS=FALSE || disable native menus code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Both changes are marked with comments in the source code, and when we remove them in the future, native controls and native menus will be enabled by default.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Debug and contribute &amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You want to provide crash issue details? Please see [[Providing_a_gdb_backtrace]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You want to debug using XCode? Please see [[MacOSX_Debug_OpenOffice.org_using_XCode]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You want to debug using Xemacs? Please see [http://www.mikesicotte.com/2007/02/21/debugging-ooo-with-xemacs-and-gdb Michael Sicotte&amp;#039;s blog entry]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:green; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;[[AquaBuild/Cocoa Informations]] &amp;lt;== Additionnal informations for advanced developers &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Current Work in progress&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Developers are working on the following Child workspaces, all Mac OSX dedicated (not integrated )&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;stl4leopardppc&amp;#039;&amp;#039;&amp;#039; : allow OpenOffice.org to be built on Mac OS X 10.5 PowerPC using system stl, using --without-stlport4 configure option.&lt;br /&gt;
&lt;br /&gt;
If possible, continue with other builds (Leopard / Tiger Intel and PowerPC).&lt;br /&gt;
&lt;br /&gt;
Concerned modules : connectivity, cosv, fpicker, autodoc &lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquafilepicker02&amp;#039;&amp;#039;&amp;#039; : replace Carbon native FilePicker with Cocoa native FilePicker &lt;br /&gt;
&lt;br /&gt;
Concerned module : fpicker&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;nativeprintdlg01&amp;#039;&amp;#039;&amp;#039; : add support for native print dialog &lt;br /&gt;
&lt;br /&gt;
Concerned modules: offapi, vcl, sfx2, svtools, sw&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;quicklookplugin01&amp;#039;&amp;#039;&amp;#039; : This cws provides a plugin for the QuickLook system available in MacOSX from versions 10.5 onwards&lt;br /&gt;
&lt;br /&gt;
Concerned modules : extensions scp2&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosxdnd&amp;#039;&amp;#039;&amp;#039; Drag and Drop for Aqua&lt;br /&gt;
&lt;br /&gt;
Concerned modules : dtrans svtools vcl&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Faquavcl05 aquavcl05]&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
concerned modules : vcl&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Closed for development&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Faquavcl04 aquavcl04]&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
concerned modules : desktop vcl rsc shell svx sw solenv instsetoo_native&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Integrated&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
Integrated in m239&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosxquicktime01&amp;#039;&amp;#039;&amp;#039; : use QTKit for sounds and movies&lt;br /&gt;
&lt;br /&gt;
Concerned modules : avmedia scp2 vcl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m238&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosx24dmg&amp;#039;&amp;#039;&amp;#039; : fix bad icon positionning in the mounted disk image ( already Approved by QA )&lt;br /&gt;
&lt;br /&gt;
Concerned module : instsetoo_native&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m237&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pj86&amp;#039;&amp;#039;&amp;#039; : Make module sw warning free on Mac OS X&lt;br /&gt;
&lt;br /&gt;
Concerned modules : sw , solenv&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macleopardbuild&amp;#039;&amp;#039;&amp;#039; : be Leopard compatible, when building on Tiger&lt;br /&gt;
&lt;br /&gt;
Concerned modules : idlc soltools jvmfwk extensions stlport&lt;br /&gt;
&lt;br /&gt;
Integrated in m233&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;readme4macintel&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
concerned module : readlicense_oo&lt;br /&gt;
&lt;br /&gt;
Integrated in m233&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquavcl03&amp;#039;&amp;#039;&amp;#039; ( Carbon -&amp;gt; Cocoa migration )&lt;br /&gt;
&lt;br /&gt;
concerned modules are desktop, instsetoo_native, solenv, svtools, vcl&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;spotlightplugin01&amp;#039;&amp;#039;&amp;#039; ( add a new Sportlight plugin )&lt;br /&gt;
&lt;br /&gt;
Concerned modules: extensions, scp2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m229&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macaddressbook01&amp;#039;&amp;#039;&amp;#039;  (QA in progress )&lt;br /&gt;
&lt;br /&gt;
concerned modules are : scp2, dbaccess, extensions, connectivity&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;macosxspellchecker&amp;#039;&amp;#039;&amp;#039;  :  use Mac OS X spellchecker&lt;br /&gt;
&lt;br /&gt;
Concerned modules: lingucomponent, solenv&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquavclcarbonfixes&amp;#039;&amp;#039;&amp;#039; ( Carbon version of Aqua OpenOffice.org ): fix the 5 most important issues. &lt;br /&gt;
&lt;br /&gt;
concerned modules are : desktop, vcl, fpicker, libxmlsec, xmlsecurity, basic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m228&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cloph09&amp;#039;&amp;#039;&amp;#039;  ( remove X11SDK dependance for Aquabuild )&lt;br /&gt;
&lt;br /&gt;
Concerned modules:  np_sdk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m227&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquaremovescripts&amp;#039;&amp;#039;&amp;#039;: remove useless Applescripts from Aqua version&lt;br /&gt;
&lt;br /&gt;
concerned module: instsetoo_native&lt;br /&gt;
&lt;br /&gt;
Integrated in m223:&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquavcl02&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m222 : &lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquaremovefondu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*macosxdmg23&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Integrated in m221:&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;aquafilepicker01&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All patches that developers have that need testing or peer review should be added here.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Known build issues &amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; build (X11 only) : currently broken ( work in progress )&lt;br /&gt;
&lt;br /&gt;
Since latest resync, no build issues have been reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039;:  no problem nor for X11 nor Aqua versions (main baseline)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Leopard&amp;#039;&amp;#039;&amp;#039; Intel : builds OK now. Build is broken in cppu for PowerPC architecture, and builds fine using --without-stlport4 flag&lt;br /&gt;
&lt;br /&gt;
*Native FilePicker is fixed (aquafilepicker02 + pl fixed repaint issue )&lt;br /&gt;
&lt;br /&gt;
*Lot of warnings in vcl, due to other deprecated stuff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:grey; font-size:12px&amp;quot;&amp;gt;[[AquaBuild/Some Background | &amp;#039;&amp;#039;&amp;#039;Some Background (what is aquavcl01, EIS) (click me to know more) &amp;#039;&amp;#039;&amp;#039;]]&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;External links&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
# [http://www.openoffice.org/issues/query.cgi Bug Database]&lt;br /&gt;
# Mailinglist: [http://porting.openoffice.org/servlets/ProjectMailingListList mac@porting.openoffice.org]  (subscribe is mandatory )&lt;br /&gt;
# IRC Meeting-Logs (#ooo_macport@freenode.org): [[Previous_Mac_Meeting_logs]] [[MacOSXPortMeetings]]&lt;br /&gt;
# TX20: http://eric.bachard.free.fr/UTBM_TX20/reports/Carbon_vcl.pdf&lt;br /&gt;
# OpenOffice Source Directory Structure: http://wiki.services.openoffice.org/wiki/Source_code_directories&lt;br /&gt;
# Pavels Patch Wiki: http://blog.janik.cz/&lt;br /&gt;
# Eric Bachard Wiki: http://wiki.services.openoffice.org/wiki/User:Ericb&lt;br /&gt;
# Sebastien Plisson Wiki: http://splisson.blogspot.com/&lt;br /&gt;
# Christian Lippka Wiki: http://wiki.services.openoffice.org/wiki/User:CL&lt;br /&gt;
# Carbon: http://developer.apple.com/carbon&lt;br /&gt;
# EIS: http://eis.services.openoffice.org/EIS2/servlet/Logon&lt;br /&gt;
# Runtime Configuration: http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/index.html&lt;br /&gt;
# OpenOffice Domain Developer http://wiki.services.openoffice.org/wiki/DomainDeveloper&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Screenshots&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
# Eric Bachard screenshots (some are from Stephan Schaefer) http://eric.bachard.free.fr/mac/aquavcl/screenshots/&lt;br /&gt;
# Most recent: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_menus_05_nov_06/&lt;br /&gt;
# Pavel Janik screenshots http://blog.janik.cz/images/MacOSX/2006-08-10&lt;br /&gt;
# Important screenshot (eventloop issue): http://blog.janik.cz/images/MacOSX/  =&amp;gt; See: OOoMenus-separator-and-disabled_entries.png&lt;br /&gt;
# Aqua look (the begining): &lt;br /&gt;
http://eric.bachard.free.fr/mac/aquavcl/screenshots/mars2007/combobox_search_and_replace02_14mars07.jpg&lt;br /&gt;
&lt;br /&gt;
More menus: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_menus_05_nov_06/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59719</id>
		<title>FAQ OpenOffice.org and NeoOffice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59719"/>
		<updated>2008-01-05T21:23:32Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Native OpenOfficeOrg port status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Candidate}}&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org X11 for Mac OS X / Darwin PPC?===&lt;br /&gt;
OpenOffice.org X11 is a version of OpenOffice.org (OOo for short) that uses the UNIX system, that the Mac OS X is based on. So, the OpenOffice.org X11 behaves like a UNIX program within Mac OS X. The program can be used quite productively on Mac OS X system, if you are an experienced Mac OS X user or familiar with UNIX systems (e.g. Linux). If you know what UNIX means, you should be able to work with OpenOffice.org X11 with relatively little effort.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For developers:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org X11 uses LGPL license and is developed within openoffice.org CVS. You will also have to sign a [http://contributing.openoffice.org/programming.html JCA] (read the bottom of the page) to contribute to the effort.&lt;br /&gt;
&lt;br /&gt;
More information about OpenOffice.org X11 in [http://porting.openoffice.org/mac/ OpenOffice.org Mac porting pages]&lt;br /&gt;
&lt;br /&gt;
=== What is NeoOffice? ===&lt;br /&gt;
&lt;br /&gt;
[http://www.neooffice.org NeoOffice] is a fork of [http://www.openoffice.org/ OpenOffice.org] for Mac OS X.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fork&amp;#039;&amp;#039;&amp;#039; Means NeoOffice is another project, and is not OpenOffice.org. This way, NeoOffice project does not contribute to OpenOffice.org, and does not help to fix any OpenOffice.org bug.&lt;br /&gt;
&lt;br /&gt;
Using Java/Cocoa binding,  its look is like native integration with the Mac OS X system. This means, for example, native access to all the fonts in Mac OS X a different way than OpenOffice.org does (OpenOffice.org does use all Apple fonts, but not the same way).&lt;br /&gt;
&lt;br /&gt;
NeoOffice uses GPL license and is built on top of OpenOffice.org X11 by using Java/Cocoa bindings for the User Interface (UI). &lt;br /&gt;
&lt;br /&gt;
Said differently, it means uses a license not compatible with OpenOffice.org, so, to avoid legal issues, NeoOffice code cannot be used in OpenOffice.org, and OpenOffice.org developers must entirely rewrite the code for the same features.&lt;br /&gt;
&lt;br /&gt;
More informations in [http://neowiki.sixthcrusade.com/index.php/NeoJInfo About NeoOffice]&lt;br /&gt;
&lt;br /&gt;
===Native OpenOffice.org port status ===&lt;br /&gt;
IMPORTANT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/download/aqua.html  Download Aqua version (development)]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X port Home: &amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/ Mac OS X port Home]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3rd February 2007 OpenOffice.org Mac Porting team announces&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/news/2007/20070203toptenbeforealpha.html The TOP 10 of issues before Alpha version of native OpenOffice.org for Mac OS X]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;All other Aqua links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://wiki.services.openoffice.org/wiki/Category:Aqua Aqua Version of OpenOffice.org]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Some news and other links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2007.html News from 2007]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2006.html News from 2006]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2005.html News from 2005]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Blogs:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/links.html Developers blogs]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org Aqua/Native port (without X11)?===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starting in October 2005&amp;#039;&amp;#039;&amp;#039;, there has been an effort to revive the direct native port of OpenOffice.org for Mac OS X. In Jan 2006 this effort was at its first stages. &lt;br /&gt;
&lt;br /&gt;
Current status is: Top 10 of issues before public alpha version. Alpha means not complete, but already functional. The missing features will be progressively implemented, depending on resources.&lt;br /&gt;
&lt;br /&gt;
See previous part for more news about this effort.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Q1: Where can I find OpenOffice.org or NeoOffice? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; You can download both from respective sites.&lt;br /&gt;
&lt;br /&gt;
[http://download.openoffice.org/ Download OpenOffice.org from here] (openoffice.org). Note that you have to have Apple X11 installed (see Q6).&lt;br /&gt;
&lt;br /&gt;
[http://trinity.neooffice.org/modules.php?name=Downloads Download NeoOffice from here] (neooffice.org)&lt;br /&gt;
&lt;br /&gt;
=== Q2: Why does there seem to be several parallel efforts? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; This is a very normal situation in open source. And because of historical and personal choices.&lt;br /&gt;
 &lt;br /&gt;
This [http://porting.openoffice.org/servlets/ReadMsg?list=dev&amp;amp;msgNo=14452 mail from Kevin Hendricks] provides some historical details. &lt;br /&gt;
&lt;br /&gt;
If you want to really understand the situation, here&amp;#039;s some additional reading for you: [http://neowiki.sixthcrusade.com/index.php/History_of_NeoOffice_and_OpenOffice.org:_Introduction History of NeoOffice and OpenOffice.org], [http://porting.openoffice.org/servlets/ReadMsg?list=mac&amp;amp;msgNo=125 Quote from Patrick] may explain some of the licensing situation, and finally, you may also want to read [http://www.planamesa.com/neojava/en/faq.php another FAQ]&lt;br /&gt;
&lt;br /&gt;
=== Q3: Where do I get support for OpenOffice.org X11? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; The [http://support.openoffice.org/ support.openoffice.org] is the main place for all support related to openoffice.org.&lt;br /&gt;
&lt;br /&gt;
The [http://porting.openoffice.org/mac/support.html OpenOffice.org for Mac OSX support page] is specifically for Mac OS X users.&lt;br /&gt;
&lt;br /&gt;
=== Q4: But everybody could use OpenOffice.org X11...? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Yes, to use OpenOffice.org, Apple X11 or XDarwin must be installed  (see Q1). &lt;br /&gt;
&lt;br /&gt;
=== Q5: But it would be more efficient, if there would be only one effort...===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Probably. A proposal to work together has been made, and NeoOffice developers refused. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org does concern several developers who are working on their free time only. Any change is for OpenOffice.org project, and the name of the developer who wrote the code does not appear in the code after integration : this is &amp;#039;&amp;#039;&amp;#039;community project&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The NeoOffice project is a Patrick Luby and Ed Peterlin project only.&lt;br /&gt;
&lt;br /&gt;
The problem is : there is curently no possibility for OpenOffice.org to use NeoOffice code, even if this code is interesting, &amp;#039;&amp;#039;&amp;#039;because of the licensing issues&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
So every change must be rewritten for OpenOffice.org project, using another implementation.&lt;br /&gt;
&lt;br /&gt;
A big part of changes are using Java in NeoOffice, and this is as wrote Ed Peterlin, a short term choice. The Java part of NeoOffice is not interesting for OpenOffice.org since OpenOffice.org project wants to use only Cocoa/Carbon.&lt;br /&gt;
&lt;br /&gt;
=== Q6: What is this X11 thing and how do I install it?===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; To be able to use OpenOffice.org X11 for Mac OS X / Darwin PPC, you have to have Apple X11 installed. It allows graphical UNIX programs to be run in Mac OS X. &lt;br /&gt;
&lt;br /&gt;
The X11.app is located in Application -&amp;gt; Utilities folder. &lt;br /&gt;
&lt;br /&gt;
If you do not have X11 installed, &amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039; users can install it from the Mac OS X 10.4 install DVD by running the &amp;#039;&amp;#039;&amp;#039;Optional Installs&amp;#039;&amp;#039;&amp;#039; package. You may need to scroll down in the Mac OS X Install DVD file listing to see the package. Once the optional installer is running, select &amp;#039;&amp;#039;&amp;#039;X11&amp;#039;&amp;#039;&amp;#039; from the Applications list. For more information on how to install X11 see:&lt;br /&gt;
[http://docs.info.apple.com/article.html?artnum=301229 Apple Support Article 301229]. The&lt;br /&gt;
interesting part begins below the title &amp;#039;&amp;#039;More custom reinstallation&lt;br /&gt;
options with Mac OS X 10.4&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; users will need to download X11 from [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple&amp;#039;s webpages].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intel or 10.4.x&amp;#039;&amp;#039;&amp;#039; cannot install the X11User.dmg that Apple supplies on its web site. It will tell you newer software is already installed. Instead insert your installation disc 1 and look up&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/X11User.dmg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on the disc. Source: http://occy.net/node/166.&lt;br /&gt;
&lt;br /&gt;
=== Q7: OK. I downloaded OpenOffice.org X11. How do I use it? ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The complete installation, either for PowerPC or Intel machines&amp;#039;&amp;#039;&amp;#039; and even more are described (currently) in .pdf format for the following locales:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;English-US&amp;#039;&amp;#039;&amp;#039;: http://porting.openoffice.org/mac/Howto_OOo_2.0_MacOSX_english.pdf&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;German&amp;#039;&amp;#039;&amp;#039;: http://de.openoffice.org/files/documents/66/3209/MacOSX_Install_de_HowTo_OOo2_1.4.pdf&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;French&amp;#039;&amp;#039;&amp;#039;: http://fr.openoffice.org/docs/MacOSX_Install_fr_HowTo_OOo2_V1.4.pdf&lt;br /&gt;
&lt;br /&gt;
Any other contribution and other translations are welcome!! &lt;br /&gt;
&lt;br /&gt;
Further informations are available at: &amp;#039;&amp;#039;&amp;#039;http://porting.openoffice.org/mac/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please contact us on mac@porting mailing list if you are willing to translate thes HowTo&amp;#039;s in your locale.&lt;br /&gt;
&lt;br /&gt;
=== Q8: Where can I compare the features of the different office applications? ===&lt;br /&gt;
To be completed with objective values.&lt;br /&gt;
&lt;br /&gt;
When Aqua will be out. Doesn&amp;#039;t make sense before&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59718</id>
		<title>FAQ OpenOffice.org and NeoOffice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59718"/>
		<updated>2008-01-05T21:21:36Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Q7: OK. I downloaded OpenOffice.org X11. How do I use it? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Candidate}}&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org X11 for Mac OS X / Darwin PPC?===&lt;br /&gt;
OpenOffice.org X11 is a version of OpenOffice.org (OOo for short) that uses the UNIX system, that the Mac OS X is based on. So, the OpenOffice.org X11 behaves like a UNIX program within Mac OS X. The program can be used quite productively on Mac OS X system, if you are an experienced Mac OS X user or familiar with UNIX systems (e.g. Linux). If you know what UNIX means, you should be able to work with OpenOffice.org X11 with relatively little effort.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For developers:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org X11 uses LGPL license and is developed within openoffice.org CVS. You will also have to sign a [http://contributing.openoffice.org/programming.html JCA] (read the bottom of the page) to contribute to the effort.&lt;br /&gt;
&lt;br /&gt;
More information about OpenOffice.org X11 in [http://porting.openoffice.org/mac/ OpenOffice.org Mac porting pages]&lt;br /&gt;
&lt;br /&gt;
=== What is NeoOffice? ===&lt;br /&gt;
&lt;br /&gt;
[http://www.neooffice.org NeoOffice] is a fork of [http://www.openoffice.org/ OpenOffice.org] for Mac OS X.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fork&amp;#039;&amp;#039;&amp;#039; Means NeoOffice is another project, and is not OpenOffice.org. This way, NeoOffice project does not contribute to OpenOffice.org, and does not help to fix any OpenOffice.org bug.&lt;br /&gt;
&lt;br /&gt;
Using Java/Cocoa binding,  its look is like native integration with the Mac OS X system. This means, for example, native access to all the fonts in Mac OS X a different way than OpenOffice.org does (OpenOffice.org does use all Apple fonts, but not the same way).&lt;br /&gt;
&lt;br /&gt;
NeoOffice uses GPL license and is built on top of OpenOffice.org X11 by using Java/Cocoa bindings for the User Interface (UI). &lt;br /&gt;
&lt;br /&gt;
Said differently, it means uses a license not compatible with OpenOffice.org, so, to avoid legal issues, NeoOffice code cannot be used in OpenOffice.org, and OpenOffice.org developers must entirely rewrite the code for the same features.&lt;br /&gt;
&lt;br /&gt;
More informations in [http://neowiki.sixthcrusade.com/index.php/NeoJInfo About NeoOffice]&lt;br /&gt;
&lt;br /&gt;
===Native OpenOfficeOrg port status ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IMPORTANT :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/download/aqua.html  Download Aqua version (development ) ]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X port Home :  &amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/ Mac OS X port Home]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3rd February 2007 OpenOffice.org Mac Porting team announces&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/news/2007/20070203toptenbeforealpha.html The TOP 10 of issues before Alpha version of native OpenOffice.org for Mac OS X]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;All other Aqua links : &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://wiki.services.openoffice.org/wiki/Category:Aqua Aqua Version of OpenOffice.org]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Some news and other links  :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2007.html News from 2007]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2006.html News from 2006]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2005.html News from 2005]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Blogs :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/links.html Developers blogs]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org Aqua/Native port (without X11)?===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starting in October 2005&amp;#039;&amp;#039;&amp;#039;, there has been an effort to revive the direct native port of OpenOffice.org for Mac OS X. In Jan 2006 this effort was at its first stages. &lt;br /&gt;
&lt;br /&gt;
Current status is: Top 10 of issues before public alpha version. Alpha means not complete, but already functional. The missing features will be progressively implemented, depending on resources.&lt;br /&gt;
&lt;br /&gt;
See previous part for more news about this effort.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Q1: Where can I find OpenOffice.org or NeoOffice? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; You can download both from respective sites.&lt;br /&gt;
&lt;br /&gt;
[http://download.openoffice.org/ Download OpenOffice.org from here] (openoffice.org). Note that you have to have Apple X11 installed (see Q6).&lt;br /&gt;
&lt;br /&gt;
[http://trinity.neooffice.org/modules.php?name=Downloads Download NeoOffice from here] (neooffice.org)&lt;br /&gt;
&lt;br /&gt;
=== Q2: Why does there seem to be several parallel efforts? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; This is a very normal situation in open source. And because of historical and personal choices.&lt;br /&gt;
 &lt;br /&gt;
This [http://porting.openoffice.org/servlets/ReadMsg?list=dev&amp;amp;msgNo=14452 mail from Kevin Hendricks] provides some historical details. &lt;br /&gt;
&lt;br /&gt;
If you want to really understand the situation, here&amp;#039;s some additional reading for you: [http://neowiki.sixthcrusade.com/index.php/History_of_NeoOffice_and_OpenOffice.org:_Introduction History of NeoOffice and OpenOffice.org], [http://porting.openoffice.org/servlets/ReadMsg?list=mac&amp;amp;msgNo=125 Quote from Patrick] may explain some of the licensing situation, and finally, you may also want to read [http://www.planamesa.com/neojava/en/faq.php another FAQ]&lt;br /&gt;
&lt;br /&gt;
=== Q3: Where do I get support for OpenOffice.org X11? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; The [http://support.openoffice.org/ support.openoffice.org] is the main place for all support related to openoffice.org.&lt;br /&gt;
&lt;br /&gt;
The [http://porting.openoffice.org/mac/support.html OpenOffice.org for Mac OSX support page] is specifically for Mac OS X users.&lt;br /&gt;
&lt;br /&gt;
=== Q4: But everybody could use OpenOffice.org X11...? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Yes, to use OpenOffice.org, Apple X11 or XDarwin must be installed  (see Q1). &lt;br /&gt;
&lt;br /&gt;
=== Q5: But it would be more efficient, if there would be only one effort...===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Probably. A proposal to work together has been made, and NeoOffice developers refused. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org does concern several developers who are working on their free time only. Any change is for OpenOffice.org project, and the name of the developer who wrote the code does not appear in the code after integration : this is &amp;#039;&amp;#039;&amp;#039;community project&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The NeoOffice project is a Patrick Luby and Ed Peterlin project only.&lt;br /&gt;
&lt;br /&gt;
The problem is : there is curently no possibility for OpenOffice.org to use NeoOffice code, even if this code is interesting, &amp;#039;&amp;#039;&amp;#039;because of the licensing issues&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
So every change must be rewritten for OpenOffice.org project, using another implementation.&lt;br /&gt;
&lt;br /&gt;
A big part of changes are using Java in NeoOffice, and this is as wrote Ed Peterlin, a short term choice. The Java part of NeoOffice is not interesting for OpenOffice.org since OpenOffice.org project wants to use only Cocoa/Carbon.&lt;br /&gt;
&lt;br /&gt;
=== Q6: What is this X11 thing and how do I install it?===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; To be able to use OpenOffice.org X11 for Mac OS X / Darwin PPC, you have to have Apple X11 installed. It allows graphical UNIX programs to be run in Mac OS X. &lt;br /&gt;
&lt;br /&gt;
The X11.app is located in Application -&amp;gt; Utilities folder. &lt;br /&gt;
&lt;br /&gt;
If you do not have X11 installed, &amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039; users can install it from the Mac OS X 10.4 install DVD by running the &amp;#039;&amp;#039;&amp;#039;Optional Installs&amp;#039;&amp;#039;&amp;#039; package. You may need to scroll down in the Mac OS X Install DVD file listing to see the package. Once the optional installer is running, select &amp;#039;&amp;#039;&amp;#039;X11&amp;#039;&amp;#039;&amp;#039; from the Applications list. For more information on how to install X11 see:&lt;br /&gt;
[http://docs.info.apple.com/article.html?artnum=301229 Apple Support Article 301229]. The&lt;br /&gt;
interesting part begins below the title &amp;#039;&amp;#039;More custom reinstallation&lt;br /&gt;
options with Mac OS X 10.4&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; users will need to download X11 from [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple&amp;#039;s webpages].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intel or 10.4.x&amp;#039;&amp;#039;&amp;#039; cannot install the X11User.dmg that Apple supplies on its web site. It will tell you newer software is already installed. Instead insert your installation disc 1 and look up&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/X11User.dmg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on the disc. Source: http://occy.net/node/166.&lt;br /&gt;
&lt;br /&gt;
=== Q7: OK. I downloaded OpenOffice.org X11. How do I use it? ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The complete installation, either for PowerPC or Intel machines&amp;#039;&amp;#039;&amp;#039; and even more are described (currently) in .pdf format for the following locales:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;English-US&amp;#039;&amp;#039;&amp;#039;: http://porting.openoffice.org/mac/Howto_OOo_2.0_MacOSX_english.pdf&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;German&amp;#039;&amp;#039;&amp;#039;: http://de.openoffice.org/files/documents/66/3209/MacOSX_Install_de_HowTo_OOo2_1.4.pdf&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;French&amp;#039;&amp;#039;&amp;#039;: http://fr.openoffice.org/docs/MacOSX_Install_fr_HowTo_OOo2_V1.4.pdf&lt;br /&gt;
&lt;br /&gt;
Any other contribution and other translations are welcome!! &lt;br /&gt;
&lt;br /&gt;
Further informations are available at: &amp;#039;&amp;#039;&amp;#039;http://porting.openoffice.org/mac/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please contact us on mac@porting mailing list if you are willing to translate thes HowTo&amp;#039;s in your locale.&lt;br /&gt;
&lt;br /&gt;
=== Q8: Where can I compare the features of the different office applications? ===&lt;br /&gt;
To be completed with objective values.&lt;br /&gt;
&lt;br /&gt;
When Aqua will be out. Doesn&amp;#039;t make sense before&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59717</id>
		<title>FAQ OpenOffice.org and NeoOffice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59717"/>
		<updated>2008-01-05T21:20:34Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Q3: Where do I get support for OpenOffice.org X11 ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Candidate}}&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org X11 for Mac OS X / Darwin PPC?===&lt;br /&gt;
OpenOffice.org X11 is a version of OpenOffice.org (OOo for short) that uses the UNIX system, that the Mac OS X is based on. So, the OpenOffice.org X11 behaves like a UNIX program within Mac OS X. The program can be used quite productively on Mac OS X system, if you are an experienced Mac OS X user or familiar with UNIX systems (e.g. Linux). If you know what UNIX means, you should be able to work with OpenOffice.org X11 with relatively little effort.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For developers:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org X11 uses LGPL license and is developed within openoffice.org CVS. You will also have to sign a [http://contributing.openoffice.org/programming.html JCA] (read the bottom of the page) to contribute to the effort.&lt;br /&gt;
&lt;br /&gt;
More information about OpenOffice.org X11 in [http://porting.openoffice.org/mac/ OpenOffice.org Mac porting pages]&lt;br /&gt;
&lt;br /&gt;
=== What is NeoOffice? ===&lt;br /&gt;
&lt;br /&gt;
[http://www.neooffice.org NeoOffice] is a fork of [http://www.openoffice.org/ OpenOffice.org] for Mac OS X.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fork&amp;#039;&amp;#039;&amp;#039; Means NeoOffice is another project, and is not OpenOffice.org. This way, NeoOffice project does not contribute to OpenOffice.org, and does not help to fix any OpenOffice.org bug.&lt;br /&gt;
&lt;br /&gt;
Using Java/Cocoa binding,  its look is like native integration with the Mac OS X system. This means, for example, native access to all the fonts in Mac OS X a different way than OpenOffice.org does (OpenOffice.org does use all Apple fonts, but not the same way).&lt;br /&gt;
&lt;br /&gt;
NeoOffice uses GPL license and is built on top of OpenOffice.org X11 by using Java/Cocoa bindings for the User Interface (UI). &lt;br /&gt;
&lt;br /&gt;
Said differently, it means uses a license not compatible with OpenOffice.org, so, to avoid legal issues, NeoOffice code cannot be used in OpenOffice.org, and OpenOffice.org developers must entirely rewrite the code for the same features.&lt;br /&gt;
&lt;br /&gt;
More informations in [http://neowiki.sixthcrusade.com/index.php/NeoJInfo About NeoOffice]&lt;br /&gt;
&lt;br /&gt;
===Native OpenOfficeOrg port status ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IMPORTANT :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/download/aqua.html  Download Aqua version (development ) ]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X port Home :  &amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/ Mac OS X port Home]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3rd February 2007 OpenOffice.org Mac Porting team announces&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/news/2007/20070203toptenbeforealpha.html The TOP 10 of issues before Alpha version of native OpenOffice.org for Mac OS X]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;All other Aqua links : &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://wiki.services.openoffice.org/wiki/Category:Aqua Aqua Version of OpenOffice.org]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Some news and other links  :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2007.html News from 2007]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2006.html News from 2006]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2005.html News from 2005]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Blogs :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/links.html Developers blogs]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org Aqua/Native port (without X11)?===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starting in October 2005&amp;#039;&amp;#039;&amp;#039;, there has been an effort to revive the direct native port of OpenOffice.org for Mac OS X. In Jan 2006 this effort was at its first stages. &lt;br /&gt;
&lt;br /&gt;
Current status is: Top 10 of issues before public alpha version. Alpha means not complete, but already functional. The missing features will be progressively implemented, depending on resources.&lt;br /&gt;
&lt;br /&gt;
See previous part for more news about this effort.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Q1: Where can I find OpenOffice.org or NeoOffice? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; You can download both from respective sites.&lt;br /&gt;
&lt;br /&gt;
[http://download.openoffice.org/ Download OpenOffice.org from here] (openoffice.org). Note that you have to have Apple X11 installed (see Q6).&lt;br /&gt;
&lt;br /&gt;
[http://trinity.neooffice.org/modules.php?name=Downloads Download NeoOffice from here] (neooffice.org)&lt;br /&gt;
&lt;br /&gt;
=== Q2: Why does there seem to be several parallel efforts? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; This is a very normal situation in open source. And because of historical and personal choices.&lt;br /&gt;
 &lt;br /&gt;
This [http://porting.openoffice.org/servlets/ReadMsg?list=dev&amp;amp;msgNo=14452 mail from Kevin Hendricks] provides some historical details. &lt;br /&gt;
&lt;br /&gt;
If you want to really understand the situation, here&amp;#039;s some additional reading for you: [http://neowiki.sixthcrusade.com/index.php/History_of_NeoOffice_and_OpenOffice.org:_Introduction History of NeoOffice and OpenOffice.org], [http://porting.openoffice.org/servlets/ReadMsg?list=mac&amp;amp;msgNo=125 Quote from Patrick] may explain some of the licensing situation, and finally, you may also want to read [http://www.planamesa.com/neojava/en/faq.php another FAQ]&lt;br /&gt;
&lt;br /&gt;
=== Q3: Where do I get support for OpenOffice.org X11? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; The [http://support.openoffice.org/ support.openoffice.org] is the main place for all support related to openoffice.org.&lt;br /&gt;
&lt;br /&gt;
The [http://porting.openoffice.org/mac/support.html OpenOffice.org for Mac OSX support page] is specifically for Mac OS X users.&lt;br /&gt;
&lt;br /&gt;
=== Q4: But everybody could use OpenOffice.org X11...? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Yes, to use OpenOffice.org, Apple X11 or XDarwin must be installed  (see Q1). &lt;br /&gt;
&lt;br /&gt;
=== Q5: But it would be more efficient, if there would be only one effort...===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Probably. A proposal to work together has been made, and NeoOffice developers refused. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org does concern several developers who are working on their free time only. Any change is for OpenOffice.org project, and the name of the developer who wrote the code does not appear in the code after integration : this is &amp;#039;&amp;#039;&amp;#039;community project&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The NeoOffice project is a Patrick Luby and Ed Peterlin project only.&lt;br /&gt;
&lt;br /&gt;
The problem is : there is curently no possibility for OpenOffice.org to use NeoOffice code, even if this code is interesting, &amp;#039;&amp;#039;&amp;#039;because of the licensing issues&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
So every change must be rewritten for OpenOffice.org project, using another implementation.&lt;br /&gt;
&lt;br /&gt;
A big part of changes are using Java in NeoOffice, and this is as wrote Ed Peterlin, a short term choice. The Java part of NeoOffice is not interesting for OpenOffice.org since OpenOffice.org project wants to use only Cocoa/Carbon.&lt;br /&gt;
&lt;br /&gt;
=== Q6: What is this X11 thing and how do I install it?===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; To be able to use OpenOffice.org X11 for Mac OS X / Darwin PPC, you have to have Apple X11 installed. It allows graphical UNIX programs to be run in Mac OS X. &lt;br /&gt;
&lt;br /&gt;
The X11.app is located in Application -&amp;gt; Utilities folder. &lt;br /&gt;
&lt;br /&gt;
If you do not have X11 installed, &amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039; users can install it from the Mac OS X 10.4 install DVD by running the &amp;#039;&amp;#039;&amp;#039;Optional Installs&amp;#039;&amp;#039;&amp;#039; package. You may need to scroll down in the Mac OS X Install DVD file listing to see the package. Once the optional installer is running, select &amp;#039;&amp;#039;&amp;#039;X11&amp;#039;&amp;#039;&amp;#039; from the Applications list. For more information on how to install X11 see:&lt;br /&gt;
[http://docs.info.apple.com/article.html?artnum=301229 Apple Support Article 301229]. The&lt;br /&gt;
interesting part begins below the title &amp;#039;&amp;#039;More custom reinstallation&lt;br /&gt;
options with Mac OS X 10.4&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; users will need to download X11 from [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple&amp;#039;s webpages].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intel or 10.4.x&amp;#039;&amp;#039;&amp;#039; cannot install the X11User.dmg that Apple supplies on its web site. It will tell you newer software is already installed. Instead insert your installation disc 1 and look up&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/X11User.dmg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on the disc. Source: http://occy.net/node/166.&lt;br /&gt;
&lt;br /&gt;
=== Q7: OK. I downloaded OpenOffice.org X11. How do I use it? ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The complete installation, either for PowerPC or Intel machines&amp;#039;&amp;#039;&amp;#039; and even more are described (currently) in .pdf format for the following locales :&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;English-US&amp;#039;&amp;#039;&amp;#039; : http://porting.openoffice.org/mac/Howto_OOo_2.0_MacOSX_english.pdf&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;German&amp;#039;&amp;#039;&amp;#039; : http://de.openoffice.org/files/documents/66/3209/MacOSX_Install_de_HowTo_OOo2_1.4.pdf&lt;br /&gt;
 &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;French&amp;#039;&amp;#039;&amp;#039; : http://fr.openoffice.org/docs/MacOSX_Install_fr_HowTo_OOo2_V1.4.pdf&lt;br /&gt;
&lt;br /&gt;
Any other contribution and other translations are welcome !! &lt;br /&gt;
&lt;br /&gt;
Further informations are available at : &amp;#039;&amp;#039;&amp;#039;http://porting.openoffice.org/mac/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please contact us on mac@porting mailing list if you are willing to translate thes HowTo&amp;#039;s in your locale.&lt;br /&gt;
&lt;br /&gt;
=== Q8: Where can I compare the features of the different office applications? ===&lt;br /&gt;
To be completed with objective values.&lt;br /&gt;
&lt;br /&gt;
When Aqua will be out. Doesn&amp;#039;t make sense before&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59716</id>
		<title>FAQ OpenOffice.org and NeoOffice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59716"/>
		<updated>2008-01-05T21:20:16Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Q1: Where can I find OpenOffice.org or NeoOffice ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Candidate}}&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org X11 for Mac OS X / Darwin PPC?===&lt;br /&gt;
OpenOffice.org X11 is a version of OpenOffice.org (OOo for short) that uses the UNIX system, that the Mac OS X is based on. So, the OpenOffice.org X11 behaves like a UNIX program within Mac OS X. The program can be used quite productively on Mac OS X system, if you are an experienced Mac OS X user or familiar with UNIX systems (e.g. Linux). If you know what UNIX means, you should be able to work with OpenOffice.org X11 with relatively little effort.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For developers:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org X11 uses LGPL license and is developed within openoffice.org CVS. You will also have to sign a [http://contributing.openoffice.org/programming.html JCA] (read the bottom of the page) to contribute to the effort.&lt;br /&gt;
&lt;br /&gt;
More information about OpenOffice.org X11 in [http://porting.openoffice.org/mac/ OpenOffice.org Mac porting pages]&lt;br /&gt;
&lt;br /&gt;
=== What is NeoOffice? ===&lt;br /&gt;
&lt;br /&gt;
[http://www.neooffice.org NeoOffice] is a fork of [http://www.openoffice.org/ OpenOffice.org] for Mac OS X.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fork&amp;#039;&amp;#039;&amp;#039; Means NeoOffice is another project, and is not OpenOffice.org. This way, NeoOffice project does not contribute to OpenOffice.org, and does not help to fix any OpenOffice.org bug.&lt;br /&gt;
&lt;br /&gt;
Using Java/Cocoa binding,  its look is like native integration with the Mac OS X system. This means, for example, native access to all the fonts in Mac OS X a different way than OpenOffice.org does (OpenOffice.org does use all Apple fonts, but not the same way).&lt;br /&gt;
&lt;br /&gt;
NeoOffice uses GPL license and is built on top of OpenOffice.org X11 by using Java/Cocoa bindings for the User Interface (UI). &lt;br /&gt;
&lt;br /&gt;
Said differently, it means uses a license not compatible with OpenOffice.org, so, to avoid legal issues, NeoOffice code cannot be used in OpenOffice.org, and OpenOffice.org developers must entirely rewrite the code for the same features.&lt;br /&gt;
&lt;br /&gt;
More informations in [http://neowiki.sixthcrusade.com/index.php/NeoJInfo About NeoOffice]&lt;br /&gt;
&lt;br /&gt;
===Native OpenOfficeOrg port status ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IMPORTANT :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/download/aqua.html  Download Aqua version (development ) ]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X port Home :  &amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/ Mac OS X port Home]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3rd February 2007 OpenOffice.org Mac Porting team announces&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/news/2007/20070203toptenbeforealpha.html The TOP 10 of issues before Alpha version of native OpenOffice.org for Mac OS X]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;All other Aqua links : &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://wiki.services.openoffice.org/wiki/Category:Aqua Aqua Version of OpenOffice.org]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Some news and other links  :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2007.html News from 2007]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2006.html News from 2006]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2005.html News from 2005]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Blogs :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/links.html Developers blogs]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org Aqua/Native port (without X11)?===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starting in October 2005&amp;#039;&amp;#039;&amp;#039;, there has been an effort to revive the direct native port of OpenOffice.org for Mac OS X. In Jan 2006 this effort was at its first stages. &lt;br /&gt;
&lt;br /&gt;
Current status is: Top 10 of issues before public alpha version. Alpha means not complete, but already functional. The missing features will be progressively implemented, depending on resources.&lt;br /&gt;
&lt;br /&gt;
See previous part for more news about this effort.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Q1: Where can I find OpenOffice.org or NeoOffice? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; You can download both from respective sites.&lt;br /&gt;
&lt;br /&gt;
[http://download.openoffice.org/ Download OpenOffice.org from here] (openoffice.org). Note that you have to have Apple X11 installed (see Q6).&lt;br /&gt;
&lt;br /&gt;
[http://trinity.neooffice.org/modules.php?name=Downloads Download NeoOffice from here] (neooffice.org)&lt;br /&gt;
&lt;br /&gt;
=== Q2: Why does there seem to be several parallel efforts? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; This is a very normal situation in open source. And because of historical and personal choices.&lt;br /&gt;
 &lt;br /&gt;
This [http://porting.openoffice.org/servlets/ReadMsg?list=dev&amp;amp;msgNo=14452 mail from Kevin Hendricks] provides some historical details. &lt;br /&gt;
&lt;br /&gt;
If you want to really understand the situation, here&amp;#039;s some additional reading for you: [http://neowiki.sixthcrusade.com/index.php/History_of_NeoOffice_and_OpenOffice.org:_Introduction History of NeoOffice and OpenOffice.org], [http://porting.openoffice.org/servlets/ReadMsg?list=mac&amp;amp;msgNo=125 Quote from Patrick] may explain some of the licensing situation, and finally, you may also want to read [http://www.planamesa.com/neojava/en/faq.php another FAQ]&lt;br /&gt;
&lt;br /&gt;
=== Q3: Where do I get support for OpenOffice.org X11 ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; The [http://support.openoffice.org/ support.openoffice.org] is the main place for all support related to openoffice.org.&lt;br /&gt;
&lt;br /&gt;
The [http://porting.openoffice.org/mac/support.html OpenOffice.org for Mac OSX support page] is specifically for Mac OS X users.&lt;br /&gt;
&lt;br /&gt;
=== Q4: But everybody could use OpenOffice.org X11...? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Yes, to use OpenOffice.org, Apple X11 or XDarwin must be installed  (see Q1). &lt;br /&gt;
&lt;br /&gt;
=== Q5: But it would be more efficient, if there would be only one effort...===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Probably. A proposal to work together has been made, and NeoOffice developers refused. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org does concern several developers who are working on their free time only. Any change is for OpenOffice.org project, and the name of the developer who wrote the code does not appear in the code after integration : this is &amp;#039;&amp;#039;&amp;#039;community project&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The NeoOffice project is a Patrick Luby and Ed Peterlin project only.&lt;br /&gt;
&lt;br /&gt;
The problem is : there is curently no possibility for OpenOffice.org to use NeoOffice code, even if this code is interesting, &amp;#039;&amp;#039;&amp;#039;because of the licensing issues&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
So every change must be rewritten for OpenOffice.org project, using another implementation.&lt;br /&gt;
&lt;br /&gt;
A big part of changes are using Java in NeoOffice, and this is as wrote Ed Peterlin, a short term choice. The Java part of NeoOffice is not interesting for OpenOffice.org since OpenOffice.org project wants to use only Cocoa/Carbon.&lt;br /&gt;
&lt;br /&gt;
=== Q6: What is this X11 thing and how do I install it?===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; To be able to use OpenOffice.org X11 for Mac OS X / Darwin PPC, you have to have Apple X11 installed. It allows graphical UNIX programs to be run in Mac OS X. &lt;br /&gt;
&lt;br /&gt;
The X11.app is located in Application -&amp;gt; Utilities folder. &lt;br /&gt;
&lt;br /&gt;
If you do not have X11 installed, &amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039; users can install it from the Mac OS X 10.4 install DVD by running the &amp;#039;&amp;#039;&amp;#039;Optional Installs&amp;#039;&amp;#039;&amp;#039; package. You may need to scroll down in the Mac OS X Install DVD file listing to see the package. Once the optional installer is running, select &amp;#039;&amp;#039;&amp;#039;X11&amp;#039;&amp;#039;&amp;#039; from the Applications list. For more information on how to install X11 see:&lt;br /&gt;
[http://docs.info.apple.com/article.html?artnum=301229 Apple Support Article 301229]. The&lt;br /&gt;
interesting part begins below the title &amp;#039;&amp;#039;More custom reinstallation&lt;br /&gt;
options with Mac OS X 10.4&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; users will need to download X11 from [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple&amp;#039;s webpages].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intel or 10.4.x&amp;#039;&amp;#039;&amp;#039; cannot install the X11User.dmg that Apple supplies on its web site. It will tell you newer software is already installed. Instead insert your installation disc 1 and look up&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/X11User.dmg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on the disc. Source: http://occy.net/node/166.&lt;br /&gt;
&lt;br /&gt;
=== Q7: OK. I downloaded OpenOffice.org X11. How do I use it? ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The complete installation, either for PowerPC or Intel machines&amp;#039;&amp;#039;&amp;#039; and even more are described (currently) in .pdf format for the following locales :&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;English-US&amp;#039;&amp;#039;&amp;#039; : http://porting.openoffice.org/mac/Howto_OOo_2.0_MacOSX_english.pdf&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;German&amp;#039;&amp;#039;&amp;#039; : http://de.openoffice.org/files/documents/66/3209/MacOSX_Install_de_HowTo_OOo2_1.4.pdf&lt;br /&gt;
 &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;French&amp;#039;&amp;#039;&amp;#039; : http://fr.openoffice.org/docs/MacOSX_Install_fr_HowTo_OOo2_V1.4.pdf&lt;br /&gt;
&lt;br /&gt;
Any other contribution and other translations are welcome !! &lt;br /&gt;
&lt;br /&gt;
Further informations are available at : &amp;#039;&amp;#039;&amp;#039;http://porting.openoffice.org/mac/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please contact us on mac@porting mailing list if you are willing to translate thes HowTo&amp;#039;s in your locale.&lt;br /&gt;
&lt;br /&gt;
=== Q8: Where can I compare the features of the different office applications? ===&lt;br /&gt;
To be completed with objective values.&lt;br /&gt;
&lt;br /&gt;
When Aqua will be out. Doesn&amp;#039;t make sense before&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59715</id>
		<title>FAQ OpenOffice.org and NeoOffice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=FAQ_OpenOffice.org_and_NeoOffice&amp;diff=59715"/>
		<updated>2008-01-05T21:19:59Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* What is OpenOffice.org Aqua port /Native ( without X11 ) port ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Candidate}}&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org X11 for Mac OS X / Darwin PPC?===&lt;br /&gt;
OpenOffice.org X11 is a version of OpenOffice.org (OOo for short) that uses the UNIX system, that the Mac OS X is based on. So, the OpenOffice.org X11 behaves like a UNIX program within Mac OS X. The program can be used quite productively on Mac OS X system, if you are an experienced Mac OS X user or familiar with UNIX systems (e.g. Linux). If you know what UNIX means, you should be able to work with OpenOffice.org X11 with relatively little effort.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For developers:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org X11 uses LGPL license and is developed within openoffice.org CVS. You will also have to sign a [http://contributing.openoffice.org/programming.html JCA] (read the bottom of the page) to contribute to the effort.&lt;br /&gt;
&lt;br /&gt;
More information about OpenOffice.org X11 in [http://porting.openoffice.org/mac/ OpenOffice.org Mac porting pages]&lt;br /&gt;
&lt;br /&gt;
=== What is NeoOffice? ===&lt;br /&gt;
&lt;br /&gt;
[http://www.neooffice.org NeoOffice] is a fork of [http://www.openoffice.org/ OpenOffice.org] for Mac OS X.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fork&amp;#039;&amp;#039;&amp;#039; Means NeoOffice is another project, and is not OpenOffice.org. This way, NeoOffice project does not contribute to OpenOffice.org, and does not help to fix any OpenOffice.org bug.&lt;br /&gt;
&lt;br /&gt;
Using Java/Cocoa binding,  its look is like native integration with the Mac OS X system. This means, for example, native access to all the fonts in Mac OS X a different way than OpenOffice.org does (OpenOffice.org does use all Apple fonts, but not the same way).&lt;br /&gt;
&lt;br /&gt;
NeoOffice uses GPL license and is built on top of OpenOffice.org X11 by using Java/Cocoa bindings for the User Interface (UI). &lt;br /&gt;
&lt;br /&gt;
Said differently, it means uses a license not compatible with OpenOffice.org, so, to avoid legal issues, NeoOffice code cannot be used in OpenOffice.org, and OpenOffice.org developers must entirely rewrite the code for the same features.&lt;br /&gt;
&lt;br /&gt;
More informations in [http://neowiki.sixthcrusade.com/index.php/NeoJInfo About NeoOffice]&lt;br /&gt;
&lt;br /&gt;
===Native OpenOfficeOrg port status ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IMPORTANT :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/download/aqua.html  Download Aqua version (development ) ]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X port Home :  &amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/ Mac OS X port Home]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3rd February 2007 OpenOffice.org Mac Porting team announces&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://porting.openoffice.org/mac/news/2007/20070203toptenbeforealpha.html The TOP 10 of issues before Alpha version of native OpenOffice.org for Mac OS X]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;All other Aqua links : &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://wiki.services.openoffice.org/wiki/Category:Aqua Aqua Version of OpenOffice.org]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Some news and other links  :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2007.html News from 2007]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2006.html News from 2006]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/news/news2005.html News from 2005]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Blogs :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[http://porting.openoffice.org/mac/links.html Developers blogs]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== What is OpenOffice.org Aqua/Native port (without X11)?===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starting in October 2005&amp;#039;&amp;#039;&amp;#039;, there has been an effort to revive the direct native port of OpenOffice.org for Mac OS X. In Jan 2006 this effort was at its first stages. &lt;br /&gt;
&lt;br /&gt;
Current status is: Top 10 of issues before public alpha version. Alpha means not complete, but already functional. The missing features will be progressively implemented, depending on resources.&lt;br /&gt;
&lt;br /&gt;
See previous part for more news about this effort.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Q1: Where can I find OpenOffice.org or NeoOffice ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; You can download both from respective sites.&lt;br /&gt;
&lt;br /&gt;
[http://download.openoffice.org/ Download OpenOffice.org from here] (openoffice.org). Note that you have to have Apple X11 installed (see Q6).&lt;br /&gt;
&lt;br /&gt;
[http://trinity.neooffice.org/modules.php?name=Downloads Download NeoOffice from here] (neooffice.org)&lt;br /&gt;
&lt;br /&gt;
=== Q2: Why does there seem to be several parallel efforts? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; This is a very normal situation in open source. And because of historical and personal choices.&lt;br /&gt;
 &lt;br /&gt;
This [http://porting.openoffice.org/servlets/ReadMsg?list=dev&amp;amp;msgNo=14452 mail from Kevin Hendricks] provides some historical details. &lt;br /&gt;
&lt;br /&gt;
If you want to really understand the situation, here&amp;#039;s some additional reading for you: [http://neowiki.sixthcrusade.com/index.php/History_of_NeoOffice_and_OpenOffice.org:_Introduction History of NeoOffice and OpenOffice.org], [http://porting.openoffice.org/servlets/ReadMsg?list=mac&amp;amp;msgNo=125 Quote from Patrick] may explain some of the licensing situation, and finally, you may also want to read [http://www.planamesa.com/neojava/en/faq.php another FAQ]&lt;br /&gt;
&lt;br /&gt;
=== Q3: Where do I get support for OpenOffice.org X11 ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; The [http://support.openoffice.org/ support.openoffice.org] is the main place for all support related to openoffice.org.&lt;br /&gt;
&lt;br /&gt;
The [http://porting.openoffice.org/mac/support.html OpenOffice.org for Mac OSX support page] is specifically for Mac OS X users.&lt;br /&gt;
&lt;br /&gt;
=== Q4: But everybody could use OpenOffice.org X11...? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Yes, to use OpenOffice.org, Apple X11 or XDarwin must be installed  (see Q1). &lt;br /&gt;
&lt;br /&gt;
=== Q5: But it would be more efficient, if there would be only one effort...===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Probably. A proposal to work together has been made, and NeoOffice developers refused. &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org does concern several developers who are working on their free time only. Any change is for OpenOffice.org project, and the name of the developer who wrote the code does not appear in the code after integration : this is &amp;#039;&amp;#039;&amp;#039;community project&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The NeoOffice project is a Patrick Luby and Ed Peterlin project only.&lt;br /&gt;
&lt;br /&gt;
The problem is : there is curently no possibility for OpenOffice.org to use NeoOffice code, even if this code is interesting, &amp;#039;&amp;#039;&amp;#039;because of the licensing issues&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
So every change must be rewritten for OpenOffice.org project, using another implementation.&lt;br /&gt;
&lt;br /&gt;
A big part of changes are using Java in NeoOffice, and this is as wrote Ed Peterlin, a short term choice. The Java part of NeoOffice is not interesting for OpenOffice.org since OpenOffice.org project wants to use only Cocoa/Carbon.&lt;br /&gt;
&lt;br /&gt;
=== Q6: What is this X11 thing and how do I install it?===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; To be able to use OpenOffice.org X11 for Mac OS X / Darwin PPC, you have to have Apple X11 installed. It allows graphical UNIX programs to be run in Mac OS X. &lt;br /&gt;
&lt;br /&gt;
The X11.app is located in Application -&amp;gt; Utilities folder. &lt;br /&gt;
&lt;br /&gt;
If you do not have X11 installed, &amp;#039;&amp;#039;&amp;#039;Tiger&amp;#039;&amp;#039;&amp;#039; users can install it from the Mac OS X 10.4 install DVD by running the &amp;#039;&amp;#039;&amp;#039;Optional Installs&amp;#039;&amp;#039;&amp;#039; package. You may need to scroll down in the Mac OS X Install DVD file listing to see the package. Once the optional installer is running, select &amp;#039;&amp;#039;&amp;#039;X11&amp;#039;&amp;#039;&amp;#039; from the Applications list. For more information on how to install X11 see:&lt;br /&gt;
[http://docs.info.apple.com/article.html?artnum=301229 Apple Support Article 301229]. The&lt;br /&gt;
interesting part begins below the title &amp;#039;&amp;#039;More custom reinstallation&lt;br /&gt;
options with Mac OS X 10.4&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Panther&amp;#039;&amp;#039;&amp;#039; users will need to download X11 from [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple&amp;#039;s webpages].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intel or 10.4.x&amp;#039;&amp;#039;&amp;#039; cannot install the X11User.dmg that Apple supplies on its web site. It will tell you newer software is already installed. Instead insert your installation disc 1 and look up&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/X11User.dmg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on the disc. Source: http://occy.net/node/166.&lt;br /&gt;
&lt;br /&gt;
=== Q7: OK. I downloaded OpenOffice.org X11. How do I use it? ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The complete installation, either for PowerPC or Intel machines&amp;#039;&amp;#039;&amp;#039; and even more are described (currently) in .pdf format for the following locales :&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;English-US&amp;#039;&amp;#039;&amp;#039; : http://porting.openoffice.org/mac/Howto_OOo_2.0_MacOSX_english.pdf&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;German&amp;#039;&amp;#039;&amp;#039; : http://de.openoffice.org/files/documents/66/3209/MacOSX_Install_de_HowTo_OOo2_1.4.pdf&lt;br /&gt;
 &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;French&amp;#039;&amp;#039;&amp;#039; : http://fr.openoffice.org/docs/MacOSX_Install_fr_HowTo_OOo2_V1.4.pdf&lt;br /&gt;
&lt;br /&gt;
Any other contribution and other translations are welcome !! &lt;br /&gt;
&lt;br /&gt;
Further informations are available at : &amp;#039;&amp;#039;&amp;#039;http://porting.openoffice.org/mac/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please contact us on mac@porting mailing list if you are willing to translate thes HowTo&amp;#039;s in your locale.&lt;br /&gt;
&lt;br /&gt;
=== Q8: Where can I compare the features of the different office applications? ===&lt;br /&gt;
To be completed with objective values.&lt;br /&gt;
&lt;br /&gt;
When Aqua will be out. Doesn&amp;#039;t make sense before&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Chart2/Features3.0&amp;diff=59700</id>
		<title>Chart2/Features3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Chart2/Features3.0&amp;diff=59700"/>
		<updated>2008-01-05T15:16:36Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Select &amp;#039;Range&amp;#039; for error bars ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=366 366]&lt;br /&gt;
&lt;br /&gt;
== Ease editing regression lines (trendlines) ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=44768 44768]&lt;br /&gt;
&lt;br /&gt;
== Title for secondary y axis ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=1163 1163]&lt;br /&gt;
&lt;br /&gt;
== Clockwise pie chart ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=37823 37823]&lt;br /&gt;
&lt;br /&gt;
== Starting angle for pie charts - rotation of pie charts ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=16776 16776]&lt;br /&gt;
&lt;br /&gt;
== Handling of empty cells (interpolate,zero,don&amp;#039;t paint) ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=65549 65549]&lt;br /&gt;
&lt;br /&gt;
== Offer multiple sets of default colors for charts ==&lt;br /&gt;
* Issue: [http://distribution.openoffice.org/issues/show_bug.cgi?id=74992 74992]&lt;br /&gt;
&lt;br /&gt;
== Others Links ==&lt;br /&gt;
* [http://distribution.openoffice.org/issues/buglist.cgi?issue_type=ENHANCEMENT&amp;amp;issue_type=FEATURE&amp;amp;component=Chart&amp;amp;issue_status=UNCONFIRMED&amp;amp;issue_status=NEW&amp;amp;issue_status=STARTED&amp;amp;issue_status=REOPENED&amp;amp;issue_status=RESOLVED&amp;amp;issue_status=VERIFIED&amp;amp;issue_status=CLOSED&amp;amp;target_milestone=OOo+3.0&amp;amp;email1=&amp;amp;emailtype1=exact&amp;amp;emailassigned_to1=1&amp;amp;email2=&amp;amp;emailtype2=exact&amp;amp;emailreporter2=1&amp;amp;issueidtype=include&amp;amp;issue_id=&amp;amp;changedin=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;chfieldvalue=&amp;amp;short_desc=&amp;amp;short_desc_type=allwords&amp;amp;long_desc=&amp;amp;long_desc_type=allwords&amp;amp;issue_file_loc=&amp;amp;issue_file_loc_type=substring&amp;amp;status_whiteboard=&amp;amp;status_whiteboard_type=substring&amp;amp;keywords=&amp;amp;keywords_type=anytokens&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;Submit+query=Submit+query List features issues for Chart 3.0]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=VBA&amp;diff=59699</id>
		<title>VBA</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=VBA&amp;diff=59699"/>
		<updated>2008-01-05T15:15:05Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VBA zh|中]]&lt;br /&gt;
&lt;br /&gt;
[http://vba.openoffice.org VBA interoperability] project is a joint Novell &amp;amp; Sun incubator project whose aim is to deliver a way to run Excel and Word macros natively in imported documents.&lt;br /&gt;
* Noel Power (lead)&lt;br /&gt;
* Andreas Breagas (co-lead)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Visual Basic for Applications&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;VBA&amp;#039;&amp;#039;&amp;#039;) is an implementation of Microsoft&amp;#039;s  [[wikipedia:Visual Basic|Visual Basic]] which is built into all Microsoft Office applications. &lt;br /&gt;
 &lt;br /&gt;
== Latest news ==&lt;br /&gt;
* cws [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fnpower6 npower6] has been integrated into m211&lt;br /&gt;
* Update Wiki Page with latest info&lt;br /&gt;
* [http://blogs.sun.com/GullFOSS/entry/sun_and_novell_work_together Novell and Sun to work together] on the VBA incubator project&lt;br /&gt;
* I am delighted that Andreas Bregas now joins me to co-lead the vba incubator project&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
* [[helperapi]] - The compatibility API generously donated by Sun that was part of their migration toolkit &lt;br /&gt;
* [[oovbaapi]] - the ooo-build vba interoperability solution originally implemented by Novell + object implementations from the helperapi.  Note: [[Ooo-build]] contains the latest VBA model and patches which allows you to run macros from your Microsoft Office documents. This model is under heavy development by Novell and others and the changes are continuously ported to openoffice. It is expected that many macros won&amp;#039;t run for now.&lt;br /&gt;
&lt;br /&gt;
== Dashboard ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* cws [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fnpower8 npower8] (nearly complete) (contains)&lt;br /&gt;
    * some helperapi object porting &lt;br /&gt;
    * changes to include new multi-inheritance style idl and new style service definitions&lt;br /&gt;
    * removal of idl for compatibilty constants[1]&lt;br /&gt;
* cws [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fnpower7 npower7] integrated&lt;br /&gt;
* cws [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fnpower6 npower6] integrated&lt;br /&gt;
&lt;br /&gt;
[1] these will be generated using the mechanism from the helperapi (basically the idl is generated from metadata files, the idl files are not preserved (or needed) but the types database generated from the idl files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Task queue and status (in order of priority)&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Feature || Description|| Issue # || Planned cws || State || Milestone integrated || &lt;br /&gt;
|-&lt;br /&gt;
| autogenerate constants in oovbaapi || port helperapi constant solution to oovbaapi module || 75551 || npower8 || done  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| ooo-build api sync || synchronise ooo-build api changes with upstream || 77189 || npower8 || in progress  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| array of array indexing  || in vba array of array indexing is very common, e.g. &amp;lt;tt&amp;gt;myArray(1)(2)&amp;lt;/tt&amp;gt;|| n/a || n/a || n/a  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| toolbox control event support  || these controls support a loose binding where the presence of a macro event handler of the form &amp;lt;tt&amp;gt;controlname_xxx e.g. controlname_click&amp;lt;/tt&amp;gt;  results in the appropriate macro getting called when the associated action takes place || n/a || n/a || n/a  || n/a |||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Completed Features&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Feature || Description|| Issue # || Planned cws || State || Milestone integrated || &lt;br /&gt;
|-&lt;br /&gt;
| vba constants || adjust basic runtime to be &amp;#039;conditionally&amp;#039; aware of the vba constants defined in oovbaapi module || 68897 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| support dim of vba object || adjust basic runtime to be &amp;#039;conditionally&amp;#039; allow a vba compatibilty api object to be used like &amp;lt;tt&amp;gt;Dim r1 as Range&amp;lt;/tt&amp;gt; || 68897 || npower7 || complete || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| compatible erase array || in vba compatibility mode erase does not behave as expected || 70380 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| null variant behaviour || in vba compatibility mode operations on null variant objects behave differently || 71827 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;Like&amp;#039;  || new &amp;#039;Like&amp;#039; operator for basic || 73830 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| Module scope variable  || in vba module scope variables lifetime is tied to the document containing the macro ||  76819 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| support simple range short cut references || in vba the evaluate function is used for resolving many things, one of theses is short cut range references  e.g. &amp;#039;[a1:b2]&amp;#039; || 68898 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| fix accent handling || in vba mode accents in modules or macros are not handled || 76818 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| fix object comparison || in vba mode there is a problem comparing objects with default paramaters (when the default is not specified) ||  76820 || npower7 || complete  || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| class module import || when class modules are imported the correct &amp;#039;option&amp;#039; should be set ||  76822 || npower7 || complete || n/a ||&lt;br /&gt;
|-&lt;br /&gt;
| migrate ooo-build code || suck in the mountain of idl and implementation code from ooo-build  || 74096 || npower6 || complete || m211 ||&lt;br /&gt;
|-&lt;br /&gt;
| import vba code || conditionally import (uncommented) vba code and set appropriate  module options || 64570 || npower6 || complete  || m211 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Broader scope tasks that need more investigation (and splitting into smaller tasks) (to be added)&lt;br /&gt;
&lt;br /&gt;
create list of items that may need promoting from vba compatibility to &amp;lt;tt&amp;gt;Standard&amp;lt;/tt&amp;gt; ooo-basic behaviour e.g. like issue [[http://www.openoffice.org/issues/show_bug.cgi?id=70380 70380]]&lt;br /&gt;
&lt;br /&gt;
== How to enable the VBA model ==&lt;br /&gt;
&lt;br /&gt;
The VBA model is enabled by default in the current ooo-build. It&amp;#039;s enough to [[Getting It|get]], [[Building with ooobuild|build]], [[Installing|install]], and [[Running|be able to run]] it. &lt;br /&gt;
&lt;br /&gt;
If you are using upstream OpenOffice.org and wish to play with this feature then check out and build the cws [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fnpower6 npower6] which contains the initial code drop for the oovbaapi &lt;br /&gt;
&lt;br /&gt;
== How to disable the VBA model ==&lt;br /&gt;
&lt;br /&gt;
Depending on how your version of OpenOffice.org delivers the VBA feature to you, there are a number of ways to disable it. &lt;br /&gt;
&lt;br /&gt;
If you have an Openoffice.org built by a linux distro (or a windows one from Novell) that has the vba interop feature then all you need do is navigate to the &amp;#039;Tools.Options.Load/Save.VBAProperties&amp;#039; page and uncheck the &amp;#039;Load Excelbasic code to edit&amp;#039; option.&lt;br /&gt;
&lt;br /&gt;
If you are using an own build (incorporating) [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fnpower6 cws-npower6] the above method will always work. But if you built the vba interop feature as an office extension then you can of course disable or delete the vbaapi.oxt extension using the Extension Manager.&lt;br /&gt;
&lt;br /&gt;
== How can I help you? ==&lt;br /&gt;
&lt;br /&gt;
We need help in a couple of areas, [[Porting notes|porting]] objects from the [[helperapi]], understanding the VBA usage patterns, implementation and testing; see below.&lt;br /&gt;
&lt;br /&gt;
== Porting Objects from the HelperApi ==&lt;br /&gt;
&lt;br /&gt;
What is the [[helperapi]]?&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[porting notes]]&lt;br /&gt;
&lt;br /&gt;
Have a look at a [[porting example]]&lt;br /&gt;
&lt;br /&gt;
[[Porting_notes#Calc_Objects_to_port|list]] of objects that need porting&lt;br /&gt;
&lt;br /&gt;
[[Porting_notes#Missing_attributes.2Fmethods_to_port|list]] of methods (to be ported from [[helperapi]]) to existing objects&lt;br /&gt;
&lt;br /&gt;
== Understanding the VBA usage patterns ==&lt;br /&gt;
&lt;br /&gt;
VBA model is huge and we need help in understanding the VBA usage patterns for prioritizing as we progress. It&amp;#039;s important to receive as many Microsoft Office documents with macros as possible for analysis. &amp;#039;&amp;#039;&amp;#039;We are interested in documents from developers and regular people too.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Dumping the VBA from your MS Office documents ===&lt;br /&gt;
&lt;br /&gt;
==== libgsf ====&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re worried about the sheet data you can use &amp;#039;&amp;#039;test-msvba&amp;#039;&amp;#039; from the [http://freshmeat.net/projects/libgsf/ libgsf]. Download the latest [http://cvs.gnome.org/viewcvs/libgsf/tests/test-msvba.c test-msvba.c] file and compile it with the following command:&lt;br /&gt;
&lt;br /&gt;
 gcc `pkg-config --libs --cflags libgsf-1` -o test-msvba test-msvba.c&lt;br /&gt;
&lt;br /&gt;
Note: you need to have libgsf-devel package installed.&lt;br /&gt;
&lt;br /&gt;
Now, you can dump the VBA from your documents with the following command:&lt;br /&gt;
&lt;br /&gt;
 find -name &amp;#039;*.xls&amp;#039; -exec sh -c &amp;#039;test-msvba {} &amp;gt;&amp;gt; ~/excel-vba-stream-for-noel.bas&amp;#039; \;&lt;br /&gt;
&lt;br /&gt;
==== pole ====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p&amp;gt;Or you can use [http://pole.berlios.de/ POLE] with GUI. POLE is a portable C++ library to access structured storage. It is designed to be compatible with Microsoft structured storage, also sometimes known as OLE Compound Document.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exporting modules from the Microsoft Excel ===&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p&amp;gt;Open your document and edit associated macros. You can see list of modules on the left side of your screen. Use the right mouse button and select &amp;#039;&amp;#039;Export&amp;#039;&amp;#039; from the context menu. The whole module will be saved as one huge &amp;#039;&amp;#039;*.bas&amp;#039;&amp;#039;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Where to send ===&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p&amp;gt;If you are going to send pure VBA streams, send them directly to [Noel dot Power at Novell dot com].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== The desired sequence ===&lt;br /&gt;
&lt;br /&gt;
==== Add an extension to the IDL ====&lt;br /&gt;
&lt;br /&gt;
The IDL lives in oovbaapi/org/openoffice/*, the IDL syntax can easily be gleaned from a few other IDL files. Two things are worth bearing in mind:&lt;br /&gt;
* it&amp;#039;s important that the argument names are correct, so that the &amp;lt;tt&amp;gt;MsgBox title:=&amp;quot;hello&amp;quot;&amp;lt;/tt&amp;gt; syntax works correctly.&lt;br /&gt;
* for optional arguments, or variant types you need to use the &amp;lt;tt&amp;gt;any&amp;lt;/tt&amp;gt; type&lt;br /&gt;
&lt;br /&gt;
Having edited the IDL extension you need to:&lt;br /&gt;
* run: &amp;lt;tt&amp;gt;build &amp;amp;&amp;amp; deliver&amp;lt;/tt&amp;gt; in oovbaapi (perhaps remove types.db first),&lt;br /&gt;
&lt;br /&gt;
==== Add the extension to the implementation ====&lt;br /&gt;
&lt;br /&gt;
The impl. code lives in &amp;lt;tt&amp;gt;sc/source/ui/vba/&amp;lt;/tt&amp;gt; - create the right header and source files.&lt;br /&gt;
Add the method (with the correct prototype) to the header - often it&amp;#039;s easiest to cut/paste that from the compiled C++ headers in &amp;lt;tt&amp;gt;sc/unxlngixxx/inc/org/openoffice/vba/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then implement the method itself in the .cxx file. Run &amp;lt;tt&amp;gt;build debug=true&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Running it ====&lt;br /&gt;
&lt;br /&gt;
You did use [linkoo] right ? - in which case - just re-run soffice.bin (killall -9 soffice.bin first to ensure there is no lurking factory process).&lt;br /&gt;
&lt;br /&gt;
Now of course - you want to add a new test to exercise it to ooo-build/test/macro/*. And of course loop back to the beginning.&lt;br /&gt;
Once you&amp;#039;ve got something you want to share - a simple &amp;lt;tt&amp;gt;cvs diff -u | tee /tmp/foo.diff&amp;lt;/tt&amp;gt; in ooo-build/scratch will yield a patch you can mail to Noel / the ooo-build mailing list to get your code folded in.&lt;br /&gt;
NB. it&amp;#039;s important you sign the [http://www.openoffice.org/licenses/jca.pdf JCA] first.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;It&amp;#039;s extremely important to test the work which is already done. You can use test cases from the &amp;#039;&amp;#039;ooo-build/test/macro&amp;#039;&amp;#039; directory, you can extend them or you can write your own test cases.&amp;lt;/p&amp;gt;&lt;br /&gt;
It&amp;#039;s a good idea to write test cases directly in the Microsoft Excel?&lt;br /&gt;
&lt;br /&gt;
== Accessing the VBA API from other languages ==&lt;br /&gt;
&lt;br /&gt;
The VBA API is implemented by an UNO service, the service is accessible via a singleton. As such it is possible to use the API from any language that has an UNO binding. The main entry points to the API are certain global variables { Application, ActiveWorkbook and ActiveSheet } or methods { WorkSheets, WorkBooks } exported by the service. Using these globals as a starting point the rest of the api can be accessed.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE:&amp;#039;&amp;#039;&amp;#039;  Beaware the idl is not stable, (nor won&amp;#039;t be for the forseeable future be &amp;#039;published&amp;#039;) it WILL change, so if you are using a language that has a binary dependency on the interface (like c++ &amp;amp; java) then consider yourselves warned. &lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
 vba = uno.getComponentContext().getByName(&amp;quot;/singletons/org.openoffice.vba.theGlobals&amp;quot;)&lt;br /&gt;
 sheet = vba.ActiveSheet&lt;br /&gt;
 book = vba.ActiveWorkbook&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.openoffice.vba.*;&lt;br /&gt;
&amp;quot;&lt;br /&gt;
// getComponentCtxFromSomewhere is a fictional&lt;br /&gt;
// routine representing acquisition of the component context&lt;br /&gt;
// from e.g. remote ServiceManage if the code is a remote client&lt;br /&gt;
// or from the XScriptContext if this were a java ScriptingFramework script &lt;br /&gt;
&lt;br /&gt;
XComponentContext ctx = getComponentCtxFromSomewhere(); &lt;br /&gt;
Object oGlobs = ctx.getValueByName(&lt;br /&gt;
                &amp;quot;/singletons/org.openoffice.vba.theGlobals&amp;quot;);&lt;br /&gt;
XGlobals xGlobs = AnyConverter.toObject(&lt;br /&gt;
                new Type(XGlobals.class), oGlobs);&lt;br /&gt;
XWorkBook xWBook =  xGlobs.getActiveWorkbook();&lt;br /&gt;
XWorkSheet xSheet = xGlobs.getActiveWorkSheet();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OO Basic ===&lt;br /&gt;
&lt;br /&gt;
Basic allows access to the global variables automatically just like VBA does, there is no need to create any services or access any singletons to use the API&lt;br /&gt;
&lt;br /&gt;
 msgbox &amp;quot;Name of the current document is &amp;quot; &amp;amp;amp; ActiveWorkbook.Path&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visual Basic ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic, VBA, VBScript and other COM-enabled languages supports accessing OpenOffice VBA API via COM-UNO bridge &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Set oServiceManager = CreateObject(&amp;quot;com.sun.star.ServiceManager&amp;quot;)&lt;br /&gt;
Set oDesktop = oServiceManager.createInstance(&amp;quot;com.sun.star.frame.Desktop&amp;quot;)&lt;br /&gt;
Dim aNoArgs()&lt;br /&gt;
Set oCalcDoc = oDesktop.loadComponentFromURL(&amp;quot;private:factory/scalc&amp;quot;, &amp;quot;_blank&amp;quot;, 0, aNoArgs)&lt;br /&gt;
    &lt;br /&gt;
Set v = oServiceManager.DefaultContext.getValueByName(&amp;quot;/singletons/org.openoffice.vba.theGlobals&amp;quot;)&lt;br /&gt;
Set ooApp = v.Application&lt;br /&gt;
MsgBox ooApp.Version&lt;br /&gt;
Set cell = ooApp.ActiveCell&lt;br /&gt;
cell.Value = &amp;quot;Hello!&amp;quot;&lt;br /&gt;
Set r = ooApp.Range(&amp;quot;B1&amp;quot;, &amp;quot;B1&amp;quot;)&lt;br /&gt;
r.Value = &amp;quot;Hi1&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CHM Help file generated from oovbaapi IDL:&lt;br /&gt;
http://community.i-rs.ru/index.php?action=dlattach;topic=6096.0;attach=4431&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=59698</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=59698"/>
		<updated>2008-01-05T15:10:18Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Hot Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Calendar Borrowed by OpenOffice [user:Rfc1394] from Wikipedia [User:Angela] with modifications --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; padding-left:5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;text-align:left; border:1px solid #aaaaaa; background-color:#f9f9f9;width: 200px;font-family: Verdana, sans-serif;&amp;quot;&lt;br /&gt;
|- padding:5px;padding-top:0.5em;font-size: 95%; &lt;br /&gt;
| &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ccc; background: #fff; border-right:3px solid #ccc; border-bottom:3px solid #ccc; text-align: center; padding:3px; float:right; font-size: smaller; line-height: 1.3; margin-right: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%&amp;quot;&amp;gt;{{CURRENTDAYNAME}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%;&amp;quot;&amp;gt;{{CURRENTYEAR}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%;&amp;quot;&amp;gt; {{CURRENTMONTH}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: x-large; width: 100%;&amp;quot;&amp;gt;{{CURRENTDAY}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #aaa; color: #000;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;{{CURRENTTIME}}&amp;#039;&amp;#039;&amp;#039; [[wikipedia:UTC|UTC]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Welcome}}&lt;br /&gt;
&lt;br /&gt;
{{Language|Languages}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Calendar --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Welcome to the OpenOffice.org wiki ==&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with OpenOffice.org (OOo). It is new, so it is mainly focused on resources for developers. As other projects are added to the wiki, they will be listed here. Click a link to go directly to the page you want.&lt;br /&gt;
* [[#Getting started with OOo development|Development]] (see below)&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Quality Assurance]]&lt;br /&gt;
* [[Marketing]]&lt;br /&gt;
* [[Education Project]]&lt;br /&gt;
* [[Certification]]&lt;br /&gt;
* [[NLC]] &amp;#039;&amp;#039;Native-Language Confederation&amp;#039;&amp;#039;&lt;br /&gt;
* [[Security]]&lt;br /&gt;
* [[Product_Release|Product Releases]]&lt;br /&gt;
* [[#Finding general OpenOffice.org user help|User Resources]]&lt;br /&gt;
* [[Website]]&lt;br /&gt;
Join  in contributing to the OpenOffice.org Wiki. Please use your OOo log435in name for the wiki account. Some functionality is available only if you are logged in to avoid [[MediaWiki_Configuration#AntiSPAM_Measures43q5|SPAM]]. Additionally your email address has to be validated. We might be able to avoid the separate user administration later and log you in with the OpenOffice.org site credentials.&lt;br /&gt;
&lt;br /&gt;
To get started editing the wiki see [[Help:Editing]].&lt;br /&gt;
&lt;br /&gt;
== Getting started with OOo development ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; background-color:lightyellow; border: 1px solid black; margin:0 1em 0 0.5em; padding:0 0.5em 0 0.5em; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Get Started from Scratch&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
you most likely need to:&lt;br /&gt;
# [[Getting It|Get it]]  &lt;br /&gt;
# [[Building|Build it]]  &lt;br /&gt;
# [[Installing|Install it]]  &lt;br /&gt;
# [[Running|Run it]]&lt;br /&gt;
Click for instructions on &amp;lt;br /&amp;gt;&lt;br /&gt;
each step!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Building]] and [[hacking]] on [http://www.openoffice.org OpenOffice.org] (OOo) entails climbing a fairly lengthy and steep incline.  Hopefully, this wiki will make the learning curve less steep and less abrupt, and will give you a walking stick to help you out.&lt;br /&gt;
&lt;br /&gt;
Much of our documentation assumes that you&amp;#039;ll be using a reasonably current Linux system, as this the easiest environment to start. On Linux all prerequisites are available as [http://www.gnu.org Free software]. There is also some information on developing on [[Windows]].&lt;br /&gt;
&lt;br /&gt;
For help setting up your editor or environment to search/edit/compile OOo easily, please refer to the [[:Category:Developer_Tools|developer tools]] area.&lt;br /&gt;
&lt;br /&gt;
Note that you can build either the plain &amp;#039;up-stream&amp;#039; OOo or use an [[ooo-build]] release which adds some patches &amp;amp; fixes. However, the ooo-build process is destined to being gradually phased out as the various up-stream issues it solves go away.&lt;br /&gt;
&lt;br /&gt;
Remember that learning UNO components development is not an easy task. To help you there is an Eclipse plugin and tutorial. You can install the Eclipse plugin by using the following update site: http://cedric.bosdonnat.free.fr/ooeclipseintegration. The tutorial on how to create a UNO component in Java is available in the [http://api.openoffice.org/files/documents/22/3216/JavaComponentTuto.odt api project docs &amp;amp; files sections]. The document will even be wikified on this page: [[JavaEclipseTuto | Java Tutorial using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
There exists also an [[OpenOffice_NetBeans_Integration|OpenOffice.org API plugin for NetBeans]] that helps a lot to get started with the API and with developing with and for OpenOffice.org. The plugin provides several wizards that simplify the first steps and help to create full working code skeletons for extensions. Try it out and have fun when you want to develop a Java extension for OpenOffice.org. Feedback is always welcome, help us to improve the plugin and send us new ideas what we can do better!&lt;br /&gt;
&lt;br /&gt;
== Going Further ==&lt;br /&gt;
&lt;br /&gt;
* [[IRC Communication|Meet the team on IRC]]&lt;br /&gt;
* [[Tutorials]] - hacker tutorials to get the hang of the code&lt;br /&gt;
* [[Debugging]] - for when it all goes wrong&lt;br /&gt;
* [[Tinderbox]] - test new child workspaces and show your build logfile to others&lt;br /&gt;
* [[Environment Variables]] - a description of handy environment variables used at runtime&lt;br /&gt;
* [[Source code directories| A description of the source directories]]&lt;br /&gt;
* [[Contributing Patches]] - for when you have something to fold back&lt;br /&gt;
* [[Commit Rights]] - An overview of how to attain commit rights, and what to do with them once you get them&lt;br /&gt;
* [[Tips]] - misc. hints &amp;amp;amp; tips.&lt;br /&gt;
* [[FAQ]] - some infrequently asked questions&lt;br /&gt;
* [[Using_Cpp_with_the_OOo_SDK|Using C++ with OOo SDK]]&lt;br /&gt;
* [[Extensions_development|Extensions development]] (Python, Basic, Java and C++)&lt;br /&gt;
* [[Extensions_development#Ideas|Extensions Ideas]] An ideas section for new extensions &amp;#039;&amp;#039;&amp;#039;(NEW)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[:Category:Localisation|Localisation of OpenOffice.org (under construction)]]&lt;br /&gt;
* [[OpenOffice_NetBeans_Integration|OpenOffice.org NetBeans Integration]] - program, extend, and customize OO.org in Java with a modern IDE&lt;br /&gt;
* [[OpenOffice_Eclipse_Integration|OpenOffice.org Eclipse Integration]] - program, extend, and customize OOo in Java with Eclipse&lt;br /&gt;
* [[Extra Software]] - other open source programs&lt;br /&gt;
&lt;br /&gt;
== Hot Topics ==&lt;br /&gt;
* [[Extensions development#Ideas|Extensions Ideas]] &amp;#039;&amp;#039;&amp;#039;(NEW)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[To-Dos]]&lt;br /&gt;
* [[Performance]]&lt;br /&gt;
* [[User:Ericb|Native Mac OS X port]] or for everything related to OpenOffice.org and [[:Category:MacOSX|Mac OS X]]&lt;br /&gt;
* [[SCM_Requirements| SCM Requirements]]&lt;br /&gt;
* [[SVNMigration| Use SVN instead of CVS]]&lt;br /&gt;
* [[SVG_Import_Filter|SVG import]]&lt;br /&gt;
* [[Product Release|Product release data]]&lt;br /&gt;
* [[Java_and_OpenOffice.org|Java related functionality]]&lt;br /&gt;
* [[Writing_warning-free_code|Warning-free Code]] and [[Writing_correct_Cplusplus|Correct C++]]&lt;br /&gt;
* [[Syndication|Syndication]] Of OOoAnnouncements&lt;br /&gt;
* [[Mono Integration|details on how to get Mono working with OOo]]&lt;br /&gt;
* [[Porting_to_x86-64_%28AMD64%2C_EM64T%29|64bit porting]]&lt;br /&gt;
* [[VBA|MS Office VBA interoperability]]&lt;br /&gt;
* [[Digital Signatures]]&lt;br /&gt;
* [[Bibliographic| Bibliographic Project Developer and Documentation pages]]&lt;br /&gt;
* [[QA Metrics]]&lt;br /&gt;
* [[BuildSpeedup| Make the OO.o build process the coolest on the planet]]&lt;br /&gt;
* [[Chart2 | Chart2: The new chart implementation]]&lt;br /&gt;
* [[Firefox ODFReader extension]]&lt;br /&gt;
* [[Firefox OpenOffice.org extension]] Menu extension with useful OO.o links&lt;br /&gt;
* [[Compiler versions used by port maintainers and release engineers]]&lt;br /&gt;
* [[Effort/Revise OOo Multi-Threading|Revise OOo Multi-Threading]].&lt;br /&gt;
* [[Uno]] on the Wiki.&lt;br /&gt;
* [[Framework]] on the Wiki.&lt;br /&gt;
* [[Summer_of_Code_2007]] and [[OpenOffice.org_Developer_Article_Contest]]&lt;br /&gt;
* [[BetterDatabaseDrivers | Better and simpler infrastructure for database drivers]]&lt;br /&gt;
* [http://www.openoffice.org.br/?q=lancamento_do_cogroo Cogroo] grammatical checker in Portuguese&lt;br /&gt;
* [[Architecture]] - Description of OOos software architecture.&lt;br /&gt;
* [[Metalink]] - An XML format used by OOo for file distribution that stores mirror/P2P locations.&lt;br /&gt;
* [[Convert2MediaWiki]] - Informations to convert from OOo to media wiki&lt;br /&gt;
* [[Object Inspector]] - Description of an extension to inspect Uno-Objects&lt;br /&gt;
* [[OOoCon 2007]] - The OpenOffice Conference 2007&lt;br /&gt;
&lt;br /&gt;
== Finding general OpenOffice.org user help ==&lt;br /&gt;
&lt;br /&gt;
* [[OOoHelpOutline|OpenOffice.org Help Outline]]&lt;br /&gt;
* [[OOo OnlineHelp]]&lt;br /&gt;
* [http://plan-b-for-openoffice.org/ Technical support] for non technical users&lt;br /&gt;
* Free and commercial [[OpenOffice.org_Solutions|Solutions]] to assist in the adoption of OpenOffice.org&lt;br /&gt;
* [[Press coverage on OpenOffice.org]]&lt;br /&gt;
* [[Wikipedia:List_of_applications_supporting_OpenDocument|List of applications supporting OpenDocument]] from Wikipedia&lt;br /&gt;
* [[OASIS]] and [[OpenDocument]] &lt;br /&gt;
* The office suite components: [[Writer]], [[Calc]], [[Impress]], [[Base]], [[Math]], [[Draw]], and [[Chart]].&lt;br /&gt;
* [http://www.kegel.com/openoffice/triage.html OpenOffice.org Needs YOU! (OLD)]&lt;br /&gt;
&lt;br /&gt;
[[:Category:MainIndex|Main Index of Articles]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|style=&amp;quot;border: 1px solid #cfcfbf; padding: .0em .25em .0em; background-color: #f0f0ff; text-align: center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0em 0 0 0%; line-height: 1.1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot;|You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039;  {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;font-size: 95%;&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=OOoRelease23&amp;diff=41370</id>
		<title>OOoRelease23</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=OOoRelease23&amp;diff=41370"/>
		<updated>2007-08-03T00:39:40Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* OOo 2.3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OOo 2.3 ==&lt;br /&gt;
&lt;br /&gt;
!! prelimary dates !! need confirmation by release status meeting&lt;br /&gt;
&lt;br /&gt;
* UI and [[Feature freeze]]: July 5th, 2007&lt;br /&gt;
* [[Translation for 2.3|Translation update 2.3]] start: July 12th, 2007&lt;br /&gt;
* Translation update 2.3 delivery: July 26th, 2007&lt;br /&gt;
* [[code freeze]]: August 2nd, 2007&lt;br /&gt;
* l10n CWS builds available: August 2nd, 2007&lt;br /&gt;
* TCM l10n testing on CWS builds: August 3rd - 9th 2007&lt;br /&gt;
* pre release candidate (en_US only): August 9th, 2007&lt;br /&gt;
* [[Last cws integration]] for fixes: August 16th, 2007&lt;br /&gt;
* release candidate for all languages: August 23rd, 2007&lt;br /&gt;
* Product release: September 4th, 2007&lt;br /&gt;
&lt;br /&gt;
=== Release Plan for  2.3 release===&lt;br /&gt;
&lt;br /&gt;
{| border = &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Task	!!  Who	 !! Deadline !!	Comments&lt;br /&gt;
|-&lt;br /&gt;
! last cws integration for first RC / SRC680_m2xx &lt;br /&gt;
| mh, RE	  ||  || &lt;br /&gt;
|-&lt;br /&gt;
! release notes			 &lt;br /&gt;
|  mh, ja  || 	 || &lt;br /&gt;
|-&lt;br /&gt;
! Setup Guides	&lt;br /&gt;
|           || 		 ||&lt;br /&gt;
|-&lt;br /&gt;
! Upload of RC builds	 &lt;br /&gt;
| ja	   ||   || full install sets for: en-US da de es fr it ja nl ko pl ru sv pt-BR zh-CN zh-TW &lt;br /&gt;
&lt;br /&gt;
language packs for: af as-IN be-BY bg br bs ca cs da de dz el en-GB en-ZA es et fi fr ga gu he hi-IN hr hu it ja ka km ko lt mk ml-IN mr-IN nb ne nl nn nr ns or-IN pa-IN pl pt pt-BR rw sh-YU sk sl sr-CS ss st sv sw-TZ ta te-IN tg th ti-ER tr ts uk ur-IN ve vi xh zh-CN zh-TW zu &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Trigger QA of final builds  &lt;br /&gt;
|  aschnabel	||  || &lt;br /&gt;
|-&lt;br /&gt;
! Track Status of localized builds  &lt;br /&gt;
| ja	 ||  || http://www.qatrack.org/ooo/view.php&lt;br /&gt;
|-&lt;br /&gt;
! Publish status of [http://qa.openoffice.org/qatesttool automated GUI testing]&lt;br /&gt;
| [[User:jsi|jsi]]     ||  || [[OOoRelease23AutomationTestMatrix]]&lt;br /&gt;
|-&lt;br /&gt;
! Update of 2.3 pages for RC&lt;br /&gt;
| ja      	||  || http://download.openoffice.org/680/index.html&lt;br /&gt;
|-&lt;br /&gt;
! QA of English RC builds  &lt;br /&gt;
|  ja	||  || &lt;br /&gt;
|-&lt;br /&gt;
! Update of SDK		 &lt;br /&gt;
|  ja	||             || &lt;br /&gt;
|-&lt;br /&gt;
! Update of SDK Release Notes and update of redirect page http://download.openoffice.org/sdk.html	 &lt;br /&gt;
|  jsc/ja	||             || &lt;br /&gt;
|-&lt;br /&gt;
! Upload of src tarballs	&lt;br /&gt;
|  ja   ||   || &lt;br /&gt;
|-&lt;br /&gt;
! msg to announce@ooo content&lt;br /&gt;
| louis || 	 || &lt;br /&gt;
|-&lt;br /&gt;
! move RC to final &lt;br /&gt;
|  ja ||  || &lt;br /&gt;
|-&lt;br /&gt;
! download pages&lt;br /&gt;
| ja || || &lt;br /&gt;
|-&lt;br /&gt;
! upload of solver tarballs &lt;br /&gt;
| ja ||   || &lt;br /&gt;
|-&lt;br /&gt;
! notification of mirrors &lt;br /&gt;
| ja	  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! Update of Bittorrents	&lt;br /&gt;
|  (mike!)	|| 	 ||&lt;br /&gt;
|-&lt;br /&gt;
! Update of P2P page&lt;br /&gt;
| antbryan  ||  ||  &lt;br /&gt;
|-&lt;br /&gt;
! press kit update&lt;br /&gt;
| jpmcc/lsp 	|| ||  &lt;br /&gt;
|-&lt;br /&gt;
! press release/alert&lt;br /&gt;
| jpmcc, lsp  || 		  || &lt;br /&gt;
|-&lt;br /&gt;
! homepage  &lt;br /&gt;
| louis ||		|| &lt;br /&gt;
|-&lt;br /&gt;
! release	&lt;br /&gt;
|  all		|| 		 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Next Release ==&lt;br /&gt;
* [[OOoRelease231]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=OOoRelease30&amp;diff=41369</id>
		<title>OOoRelease30</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=OOoRelease30&amp;diff=41369"/>
		<updated>2007-08-03T00:39:04Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* OOo 3.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OOo 3.0 ==&lt;br /&gt;
&lt;br /&gt;
* first translation handover: January 18th, 2008&lt;br /&gt;
* UI and [[Feature_freeze]]: March 6th, 2008&lt;br /&gt;
* [[Translation for 3.0|Translation update 3.0]] start: March 13th, 2008&lt;br /&gt;
* Translation update 3.0 delivery: April 3rd, 2008, code freeze for Beta&lt;br /&gt;
* begin TCM testing: April 10th, 2008&lt;br /&gt;
* &amp;quot;last cws integration&amp;quot; for Beta: April 17th, 2008&lt;br /&gt;
* OpenOffice.org 3.0 Beta: April 30th, 2008&lt;br /&gt;
* [[code_freeze]], last regular translation delivery: July 4th, 2008&lt;br /&gt;
* [[Last cws integration]] for fixes: July 18th, 2008&lt;br /&gt;
* release candidate for all languages: July 25th, 2008, begin of TCM testing&lt;br /&gt;
* Product release: September 2nd, 2008 or OOoCon 2008 mid September ?&lt;br /&gt;
&lt;br /&gt;
== Next Release ==&lt;br /&gt;
&lt;br /&gt;
* next bugfix release [[OOoRelease301]]&lt;br /&gt;
* next feature release [[OOoRelease31]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=User_talk:Ericb&amp;diff=33112</id>
		<title>User talk:Ericb</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=User_talk:Ericb&amp;diff=33112"/>
		<updated>2007-05-23T09:59:56Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you ever looked at the way you do spacings? You . put . a . space . in . front . of . almost . every . punctuation . mark . That . looks . like . you . are . a . little . kid . who . cannot . write . correct .&amp;lt;br&amp;gt;&lt;br /&gt;
I know about French spacing in sentences, but what you do isn’t even correct French spacing (that’s why I refered to it as “Stupid French spacing”). You use normal spaces, but the correct way are thin non-breaking spaces. Not to mention that this Wiki isn’t even French, but English! --[[User:KAMiKAZOW|KAMiKAZOW]] 11:59, 23 May 2007 (CEST)&amp;lt;br&amp;gt;&lt;br /&gt;
PS: Sign your comments.&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=To-Dos&amp;diff=33083</id>
		<title>To-Dos</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=To-Dos&amp;diff=33083"/>
		<updated>2007-05-23T09:21:01Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Mac OS X Porting - Work Areas/Tod&amp;#039;s */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenOffice.org has many things which one could work on ... just see below :-)&lt;br /&gt;
&lt;br /&gt;
=API/To-Dos=&lt;br /&gt;
{{:API/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Application Documentation and Help Development To Do=&lt;br /&gt;
{{:Application Help Development To Do}}&lt;br /&gt;
&lt;br /&gt;
=Architecture/To-Dos=&lt;br /&gt;
{{:Architecture/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Framework/To-Dos=&lt;br /&gt;
{{:Framework/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Porting/To-Dos=&lt;br /&gt;
{{:Porting/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Mac OS X Porting - Work Areas/ToDos=&lt;br /&gt;
{{:Mac OS X Porting - Work Areas/Todo&amp;#039;s}}&lt;br /&gt;
&lt;br /&gt;
=NLC:whatshot=&lt;br /&gt;
{{:NLC:whatshot}}&lt;br /&gt;
&lt;br /&gt;
=Qa/To-Dos=&lt;br /&gt;
{{:Qa/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Stats/To-Dos=&lt;br /&gt;
{{:Stats/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=SVG Import ToDo=&lt;br /&gt;
{{:SVG Import ToDo}}&lt;br /&gt;
&lt;br /&gt;
=Tools/To-Dos=&lt;br /&gt;
{{:Tools/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Uno/To-Dos=&lt;br /&gt;
{{:Uno/To-Dos}}&lt;br /&gt;
&lt;br /&gt;
=Writer ToDo=&lt;br /&gt;
{{:Writer ToDo}}&lt;br /&gt;
&lt;br /&gt;
=Eclipse Integration ToDo=&lt;br /&gt;
{{:EclipseIntegration ToDo}}&lt;br /&gt;
&lt;br /&gt;
=Base To-Do=&lt;br /&gt;
{{:Base To-Do}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:To-Do]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=User:Ericb&amp;diff=33055</id>
		<title>User:Ericb</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=User:Ericb&amp;diff=33055"/>
		<updated>2007-05-23T08:35:38Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: Stupid French spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Public Documentation License Notice==&lt;br /&gt;
&lt;br /&gt;
The contents of this Documentation (excepted Native Port Roadmap),are subject to the Public Documentation License Version 1.0 (the &amp;quot;License&amp;quot;); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at http://www.openoffice.org/licenses/PDL.html.&lt;br /&gt;
The Original Documentation is &amp;quot;Mac OS X native port&amp;quot;. The Initial Writer of the Original Documentation is (JCA) Eric Bachard (C) 2005-2006. All Rights Reserved. (Initial Writer contact(s): ericb@openoffice.org.)&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Mac OS X Native port&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The first Mac OS X native port objective is make OpenOffice.org run without X11 use, to make it a real Mac application.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The second one is respect Aqua Human interface Guidelines&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; This is a long term work, and every help and/or contributions, like donations** are welcome.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 **see http://contributing.openoffice.org/index.html&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Native Port Roadmap&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;2006&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
* June 2006: work in progress &lt;br /&gt;
&lt;br /&gt;
- Basis: frame, instances, threads, drawing, painting, resizing (Stephan Schaefer, Tino Rachui)&lt;br /&gt;
&lt;br /&gt;
 Done: &lt;br /&gt;
 implement threads&lt;br /&gt;
 create, manage instance&lt;br /&gt;
 create, manage windows (including parents)&lt;br /&gt;
 create, manage events&lt;br /&gt;
 create manage drawing, resizing&lt;br /&gt;
 create, add menus (Pavel Janik)&lt;br /&gt;
 toggle window fullscreen (Pierre de Filippis)&lt;br /&gt;
 make font server work (Stephan Schaefer)&lt;br /&gt;
&lt;br /&gt;
* Current status font support (Stephan Schaefer, 2006/07/28): the following features are basically working now&lt;br /&gt;
** font selection&lt;br /&gt;
** font size&lt;br /&gt;
** simple font attributes (bold, italic)&lt;br /&gt;
&lt;br /&gt;
 Next step: document first part, and propose design&lt;br /&gt;
&lt;br /&gt;
- native filepicker (Pavel Janik, Florian Heckl)&lt;br /&gt;
&lt;br /&gt;
- native printing implementation (Oliver?)&lt;br /&gt;
&lt;br /&gt;
- native font implementation (Eric Bachard)&lt;br /&gt;
&lt;br /&gt;
* September 2006: &lt;br /&gt;
&lt;br /&gt;
- first proofs of concept: fonts, filepicker .. (more?)&lt;br /&gt;
- show the results (OOoCon 2006?)&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;2007&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
* January 2007: first alpha implementation&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Strategy for native port&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Possible Actions&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
Identify us:&lt;br /&gt;
&lt;br /&gt;
#Complete the arrays below&lt;br /&gt;
#Update photos on frapr.com?&lt;br /&gt;
&lt;br /&gt;
Share the work:&lt;br /&gt;
&lt;br /&gt;
#Divide the work between little Teams&lt;br /&gt;
#Update Todo list regularly -&amp;gt; needs some love these days ... [http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s]&lt;br /&gt;
&lt;br /&gt;
Help:&lt;br /&gt;
&lt;br /&gt;
#Teach tools between us&lt;br /&gt;
#Do a debug party on IRC&lt;br /&gt;
#write documentation&lt;br /&gt;
&lt;br /&gt;
Meet us:&lt;br /&gt;
&lt;br /&gt;
#IRC&lt;br /&gt;
#Mac Meeting (like nov2005 in Hamburg?)&lt;br /&gt;
&lt;br /&gt;
Inform:&lt;br /&gt;
&lt;br /&gt;
#Update website regularly&lt;br /&gt;
#Blogs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WHO&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Mac Team:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
|Developer \ skills || build || write code || code review || debug/trace (higher is better) || contribute to documentation ||&lt;br /&gt;
|-&lt;br /&gt;
|ericb|| x || x || || 1 || x ||&lt;br /&gt;
|-&lt;br /&gt;
|pjanik|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|ssa|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|maho|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|tinor|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|schmidtm|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|ebischoff|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|obr|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|cl|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|aliscafo|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|fheckl|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Fridrich|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|plipli|| || x || || || x ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Other resources&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
fonts:?&lt;br /&gt;
&lt;br /&gt;
events:?&lt;br /&gt;
&lt;br /&gt;
QA: James McKenzie leads QA for the Mac OS X port of OpenOffice.org and is looking for volunteers to spread this effort over several people and needs people from all over the world to test various languages.&lt;br /&gt;
&lt;br /&gt;
graphical:?&lt;br /&gt;
&lt;br /&gt;
Communication:?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WHAT&amp;#039;&amp;#039;&amp;#039;: Status of most important tasks&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Task || Names|| Urgency (1=higher)|| Work in Progress || Done || Code review || Debug || Integration || &lt;br /&gt;
|-&lt;br /&gt;
|Get rid of X11||done || 1 || x || x || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Bundle|| || 1 || x || || || || | ||&lt;br /&gt;
|-&lt;br /&gt;
|Drawing|| || 1 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Fonts||plipli || 1 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Events management|| || 2 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Controls (see list) ||ericb, aliscafo || 2 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Native FilePicker||Florian Heckl, Pavel Janik || 3 || x || x || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Native Printing||Yvan Barthelemy || 3 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Native SpellChecker|| || 4 || || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Player|| || 4 ||  || || || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other tasks:&lt;br /&gt;
&lt;br /&gt;
Help for writing bug lists, status of bugs ..etc&lt;br /&gt;
&lt;br /&gt;
Write howto use gdb, leaks, other tools&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WHEN&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
From Christian Lippka (last meeting, 25th of august 2006): &lt;br /&gt;
 Aug 26 00:21:38 ChristianL&lt;br /&gt;
 from my point of view what is missing for point 1:&lt;br /&gt;
 text layout, complete font support, keyboard support,&lt;br /&gt;
 fixing repaint issues, having aqua install and run out of the box&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;September 2006&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the current state of the project at the 2006 OpenOffice conference in Lyon and Paris&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Late 2006&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
fix OpenOffice.org launch&lt;br /&gt;
fix drawing (repainting)&lt;br /&gt;
Implement missing methods and fix most important bugs (mainly the one leading to crash) in:&lt;br /&gt;
ATS&lt;br /&gt;
Salgraphics&lt;br /&gt;
Salinstance&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January or February 2007&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
make Java work (works partially)&lt;br /&gt;
make intensive debug&lt;br /&gt;
present something working as alpha&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;June 2007	&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Implementation of:&lt;br /&gt;
native filepicker&lt;br /&gt;
native printing&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Become a Domain Developer for Mac OS X port&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
People regularly contributing to Mac OS x port with regular and quality patches are, after proposal, invited to become a [[DomainDeveloper]].&lt;br /&gt;
&lt;br /&gt;
The purpose of this document is to clearly define all the steps to become a [[DomainDeveloper]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary:  step 1 in  [[Commit_Rights]] must be completed and checked, and you must be in the list of [[http://www.openoffice.org/FAQs/faq-licensing.html#jca1 JCA Licensed people]]&lt;br /&gt;
&lt;br /&gt;
=== Steps for ssh2 key to be uploaded ===&lt;br /&gt;
&lt;br /&gt;
==== Create the key ====&lt;br /&gt;
&lt;br /&gt;
Everything is described here: [[http://www.openoffice.org/scdocs/ddSSHGuide.html SSH Guide]] &lt;br /&gt;
&lt;br /&gt;
==== Upload the key ====&lt;br /&gt;
&lt;br /&gt;
You must create an issue, like described below  :&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Assign it to &amp;quot;ssh2key&amp;quot; in the &amp;quot;www&amp;quot; component&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sub Component: openoffice.org cvs&lt;br /&gt;
&lt;br /&gt;
Title: CVS Commit access request&lt;br /&gt;
&lt;br /&gt;
Add louis (Louis Suarez Potts) or st (Stefan Taxhet) on CC&lt;br /&gt;
&lt;br /&gt;
Upload your ssh2 public key respecting the process (Attach a DSA key, not an RSA)&lt;br /&gt;
&lt;br /&gt;
A project lead will confirm your request &lt;br /&gt;
&lt;br /&gt;
Then the support will upload your key&lt;br /&gt;
&lt;br /&gt;
Once done the issue is set to Fixed , and the next step has to be verified before &amp;#039;&amp;#039;&amp;#039;you&amp;#039;&amp;#039;&amp;#039; close it.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EXAMPLE&amp;#039;&amp;#039;&amp;#039;: [[http://www.openoffice.org/issues/show_bug.cgi?id=75291 Upload SSH2 Key for Etsushi Kato]]&lt;br /&gt;
&lt;br /&gt;
==== Verify it works ====&lt;br /&gt;
&lt;br /&gt;
You now can try to connect via tunnel, and follow instructions given [[http://www.openoffice.org/scdocs/ddSSHGuide.html SSH Guide]] &lt;br /&gt;
&lt;br /&gt;
If something goes wrong, ask for help to support, with a maximum of details, to solve the problem.&lt;br /&gt;
&lt;br /&gt;
Once it works, the issue can be closed, and you can e.g. test downloading a module from tunnel repository :&lt;br /&gt;
&lt;br /&gt;
First create a tunnel with the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -2 -x -L 2401:localhost:2401 tunnel@openoffice.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then in a new window:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CVSROOT=&amp;quot;:pserver:your_login@localhost:/cvs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cvs login (enter)&lt;br /&gt;
&lt;br /&gt;
(your password)&lt;br /&gt;
&lt;br /&gt;
mkdir TEST&lt;br /&gt;
&lt;br /&gt;
cd TEST&lt;br /&gt;
&lt;br /&gt;
cvs -z4 co -r SRC680_m205 vcl &lt;br /&gt;
&lt;br /&gt;
cd vcl &lt;br /&gt;
&lt;br /&gt;
cat CVS/Root  -&amp;gt; should indicate: your local repository&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ask for CVS access for all modules required ===&lt;br /&gt;
&lt;br /&gt;
Two steps: create an issue is mandatory because the concerned project is tools, and because people can have only ssh2 key without being [[DomainDeveloper]].&lt;br /&gt;
&lt;br /&gt;
==== Create an issue ====&lt;br /&gt;
&lt;br /&gt;
You must create an issue, described below  :&lt;br /&gt;
&lt;br /&gt;
Component: tools&lt;br /&gt;
&lt;br /&gt;
Sub Component: www&lt;br /&gt;
&lt;br /&gt;
Title: CVS access to all modules required&lt;br /&gt;
&lt;br /&gt;
Assigned to mh  +  CC for ericb and/or pjanik&lt;br /&gt;
&lt;br /&gt;
Present yourself quickly, and ask the access&lt;br /&gt;
&lt;br /&gt;
A project lead will confirm&lt;br /&gt;
&lt;br /&gt;
An admin will confirm this is ok, and set the issue to Fixed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EXAMPLE&amp;#039;&amp;#039;&amp;#039;: [[http://www.openoffice.org/issues/show_bug.cgi?id=75494 CVS Access all modules for Etsushi Kato]]&lt;br /&gt;
&lt;br /&gt;
==== Verify ====&lt;br /&gt;
&lt;br /&gt;
Create the tunnel :&lt;br /&gt;
&lt;br /&gt;
open a terminal and type :&lt;br /&gt;
&lt;br /&gt;
ssh -2 -x -L 2401:localhost:2401 tunnel@openoffice.org&lt;br /&gt;
&lt;br /&gt;
once logged in, open a new terminal, and do (for example):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd $OOO_SRC_ROOT/&lt;br /&gt;
&lt;br /&gt;
source MacOSXPPCEnv.Set.sh  { source MacOSXX86Env.Set.sh for Mac Intel }&lt;br /&gt;
&lt;br /&gt;
cd vcl  (for example)&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: be sure vcl has been checked from tunnel, not from anoncvs (cat CVS/Root will give you the answer)&lt;br /&gt;
&lt;br /&gt;
export CWS_WORK_STAMP=aquavcl01   # Only needed for working with [[EIS]], can change for a different CWS ;) &lt;br /&gt;
&lt;br /&gt;
cd aqua/source/gdi&lt;br /&gt;
&lt;br /&gt;
add your changes to your_file.cxx, then commit :&lt;br /&gt;
&lt;br /&gt;
cvs commit -m &amp;quot;#i75689# bla bla ... the reason of the modification(s)&amp;quot;  your_file.cxx  # The #i75689# is an issue number in the tracker&lt;br /&gt;
&lt;br /&gt;
cvs update&lt;br /&gt;
&lt;br /&gt;
If nothing is wrong, cvs update should not return M for your_file.cxx, means the commit is successfull.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In case of problem, use the issue until it is fixed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Welcome aboard :)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Mac OS X porter Team at WWDC 2007&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== What is WWDC 2007? ===&lt;br /&gt;
&lt;br /&gt;
See [http://developer.apple.com/wwdc/ Apple WWDC 2007]&lt;br /&gt;
&lt;br /&gt;
====Labs Agenda====&lt;br /&gt;
&lt;br /&gt;
It is extremely important to organize us for Labs.&lt;br /&gt;
&lt;br /&gt;
The rule is extremely simple: bring your laptop, your code, and ask :)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
| Days&lt;br /&gt;
|monday&amp;lt;br&amp;gt;June 11&lt;br /&gt;
|tuesday&amp;lt;br&amp;gt;June 12&lt;br /&gt;
|wednesday&amp;lt;br&amp;gt;June 13&lt;br /&gt;
|thursday&amp;lt;br&amp;gt;June 14&lt;br /&gt;
|friday &amp;lt;br&amp;gt;June 15&lt;br /&gt;
|-&lt;br /&gt;
|Labs&lt;br /&gt;
|&amp;lt;br&amp;gt;Afternoon&lt;br /&gt;
|Morning&amp;lt;br&amp;gt;Afternoon&lt;br /&gt;
|Morning&amp;lt;br&amp;gt;Afternoon&lt;br /&gt;
|Morning&amp;lt;br&amp;gt;Afternoon&lt;br /&gt;
|Morning&amp;lt;br&amp;gt;Afternoon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Interesting Labs&amp;#039;&amp;#039;&amp;#039;====&lt;br /&gt;
&lt;br /&gt;
The complete list: [http://developer.apple.com/wwdc/tracks/macosx.html Mac OS X Essentials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Core Text Lab &lt;br /&gt;
Receive one-on-one technical assistance and troubleshooting advice from the Core Text engineering team. Learn how to use the advanced font handling and blazingly fast Unicode layout capabilities of Core Text. Bring your laptop, your code, and your questions.&lt;br /&gt;
&lt;br /&gt;
*HIToolbox Lab&lt;br /&gt;
Work on tuning and debugging HIToolbox code in your Carbon application. Receive one-on-one technical assistance and troubleshooting advice from the High Level Toolbox engineering team, Apple DTS engineers, and technology evangelists. Bring your laptop, your code, and your questions.&lt;br /&gt;
&lt;br /&gt;
=== Our Objectives at the WWDC 2007 ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1) Connection OOo Mac team / Apple engineers&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
-Goal 1.1: &amp;quot;Get infos, contacts, human to human conversation :-)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Present our current work, methods and team to Apple people :&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Meet them during WWDC: give us/them a face, keep contacts&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Get their impression about what we have already done and what is still ToDo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2) Improve from Apple&amp;#039;s engineers expertise&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
-Goal 2.1: &amp;quot;Give MacOS X users the OOo suite they deserve&amp;quot; &lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; As mac platform and apple&amp;#039;s product fans, we are proud to bring the quality and power of OOo to mac users community&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; Make OOo uses all the power of Mac OSX, including upcoming Leopard !&lt;br /&gt;
&lt;br /&gt;
-Goal 2.2: &amp;quot;OO.org Mac port has to be as Apple HIG compliant as possible&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 =&amp;gt; Define what is expected for User Interface of OpenOffice.org suite with people from Apple UI project&lt;br /&gt;
&lt;br /&gt;
 - FYI: Last year, Apple UI project proposed ericb to help us, once our native menus will be working. &lt;br /&gt;
   This is now done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3) Get code guidelines, tips, samples&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
-Goal 3.1: &amp;quot;Ask for code review and find code snippets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  - HIView&lt;br /&gt;
  - Printing&lt;br /&gt;
  - Drag and Drop&lt;br /&gt;
  - as muc has possible&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; More than 1000 Apple engineers are present, and can answer our questions regarding the code, during the whole week&lt;br /&gt;
&lt;br /&gt;
-Goal 3.2: &amp;quot;Attend key Labs and Sessions to get full overview of Tiger/Leopard/Core&amp;#039;s and useful code&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  - Core*&lt;br /&gt;
  - Tiger / Leopard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4) Social Contacts / Team emulation&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Discuss and meet new developers and / or american people working for Mac OS X port (like Michael Sicotte, Vijay Venkatraman , other..)&lt;br /&gt;
-&amp;gt; Share ideas, tips, conviviality !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;5) Visibility&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
OpenOffice.org Native Mac port has to be recognized as the professionnal office suite for Mac users it is !&lt;br /&gt;
&lt;br /&gt;
=== Who? ===&lt;br /&gt;
&lt;br /&gt;
* Sébastien Plisson&lt;br /&gt;
* Eric Bachard&lt;br /&gt;
* Philipp Lohmann&lt;br /&gt;
&lt;br /&gt;
=== Todo list ===&lt;br /&gt;
&lt;br /&gt;
Please add topics, technical questions you would see asked by attendees to Apple engineers during WWDC&lt;br /&gt;
&lt;br /&gt;
====Suggestions for current issues to be fixed ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Timers: Current code is obsolete, and compatibility with Leopard won&amp;#039;t probably exist.  Pavel wrote a patch using recent code. Seems to work fine, excepted a thread issue (crash not easy to be reproduced) &lt;br /&gt;
&lt;br /&gt;
Salframe: &lt;br /&gt;
&lt;br /&gt;
Looot of things: &lt;br /&gt;
&lt;br /&gt;
*Find infos/code sample about parenting&lt;br /&gt;
&lt;br /&gt;
*Code review for HIFrameWork implementation &lt;br /&gt;
&lt;br /&gt;
*Menus:  every window creates it&amp;#039;s own menu. Redesign it?&lt;br /&gt;
&lt;br /&gt;
*adapt native widget framework&lt;br /&gt;
&lt;br /&gt;
*Use XCode to build OpenOffice.org&lt;br /&gt;
&lt;br /&gt;
Events: code review, tips&lt;br /&gt;
&lt;br /&gt;
ATS: code review, ATS issues&lt;br /&gt;
&lt;br /&gt;
Mike Sicotte:  &lt;br /&gt;
I understood that implementing printing in aqua OOo was a topic that we didn&amp;#039;t get accepted into Google SOC - so remains on the ToDo list.  I notice that there are three Sessions specfically related to printing at WWDC:&lt;br /&gt;
    Leveraging the Common Unix Printing System (CUPS)&lt;br /&gt;
    Printing with Style in Mac OS X&lt;br /&gt;
    Printing Lab&lt;br /&gt;
If this is judged to be a good use of time at WWDC I would be willing to spend some time to help further develop the questions to be addressed with the Apple engineers.&lt;br /&gt;
&lt;br /&gt;
ericb-&amp;gt;Mike Sicotte&lt;br /&gt;
&lt;br /&gt;
Good idea. You are welcome :)&lt;br /&gt;
&lt;br /&gt;
==== Travel ====&lt;br /&gt;
&lt;br /&gt;
*describe the schedule of the travel&lt;br /&gt;
&lt;br /&gt;
ericb : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mulhouse -&amp;gt; Paris -&amp;gt; SF:  9th of June    SF scheduled arrival: 7:13 pm&lt;br /&gt;
SF -&amp;gt; Paris -&amp;gt; Mulhouse:  16th of June (arrival 17th)  SF departure for the return:  3:00 pm&lt;br /&gt;
&lt;br /&gt;
Hotel: King Georges (close to Union Square)&lt;br /&gt;
&lt;br /&gt;
Airport to Hotel transportation: not included&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sebastien (aka plipli): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Paris-&amp;gt;SF: 3rd June&lt;br /&gt;
SF-&amp;gt;Paris: 15th June in the evening&lt;br /&gt;
&lt;br /&gt;
Hotel: to be coompleted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
&lt;br /&gt;
*don&amp;#039;t forget sector adaptator for laptop: US connectors are &amp;#039;&amp;#039;&amp;#039;different&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
*don&amp;#039;t forget Cameras (and chargers)&lt;br /&gt;
&lt;br /&gt;
*Prepare 50 to 100 business cards :  the most simple is to use the model I can provide on demand , and print them with special paper (pre-cut)&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Mac OS X porter Team at OOoCon 2007&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== Who? ===&lt;br /&gt;
&lt;br /&gt;
* Shaun McDonald&lt;br /&gt;
* Eric Bachard&lt;br /&gt;
* (list to be completed)&lt;br /&gt;
&lt;br /&gt;
Todo: ask for Mickael Sicotte travel (New York &amp;lt;-&amp;gt; Barcelona) + rooms&lt;br /&gt;
&lt;br /&gt;
=== What? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The conference is over 3 days. Presentations should last around 45 minutes. http://www.openoffice.org/servlets/ReadMsg?list=announce&amp;amp;msgNo=320 Papers have to be submitted by 1st June to be considered.&lt;br /&gt;
&lt;br /&gt;
Ideas :&lt;br /&gt;
&lt;br /&gt;
Mike Sicotte:  Perhaps the results of the Google SOC could be a presentation.&lt;br /&gt;
&lt;br /&gt;
*create a complete topic for Mac port (one stream for a day or half day)&lt;br /&gt;
*How to improve ooo usability though the use of floating palettes instead of modal dialogs&lt;br /&gt;
&lt;br /&gt;
- several presentations / BOF &lt;br /&gt;
&lt;br /&gt;
Eric Bachard: Aqua OpenOffice.org (conf / 1 hour)&lt;br /&gt;
&lt;br /&gt;
Others?&lt;br /&gt;
&lt;br /&gt;
*reserve rooms together? Better rent a house? &lt;br /&gt;
&lt;br /&gt;
* [FIXME]&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;2nd Mac porters meeting&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
This section has been moved to [[2nd Mac porters meeting]]&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;IRC Mac port meetings&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
This section has been moved to [[MacOSXPortMeetings]].&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Mac OS X (X11) Quality Assurance&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
This section has been moved to [[Mac OS X (X11) Quality Assurance]]&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Mac OS X Implementing HIView and Carbon events&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
This section has been moved to [[Mac OS X Implementing HIView ]]&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Debug OpenOffice.org using XCode &amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
[[ MacOSX Debug OpenOffice.org using XCode]]&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Description of the Native Port problem&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
=== How does OpenOffice.org work on Mac OS X? ===&lt;br /&gt;
&lt;br /&gt;
Currently, on Mac OS X, OpenOffice.org uses X11, as &amp;quot;client&amp;quot;: X11 is a graphical server, coming from Unix world, and able to run under Linux, *BSD, Solaris, Mac OS X.&lt;br /&gt;
&lt;br /&gt;
 - X11 is run as an application, managed like other Apple applications.&lt;br /&gt;
 - All unix like applications are managed by X11, and from Aqua environment, only X11 is seen as only one applicatiion, &lt;br /&gt;
  even if other Unix/Linux (e.g.) applications are runing.&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org asks X11 to display a window, waits for X11 acknowledgment, and OpenOffice.org displays the window. All transactions use the network, locally or not. the same mechanism is used for everything to be displayed.&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 11:39, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Issues and known problems ===&lt;br /&gt;
&lt;br /&gt;
All events are managed by OpenOffice.org and X11, using the Xlib&lt;br /&gt;
&lt;br /&gt;
Only .ttf fonts type is currently available. Note: &amp;#039;&amp;#039;&amp;#039;system fonts are available &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The rendering is made by X11, not by Mac OS X rendering engine.&lt;br /&gt;
&lt;br /&gt;
X11 and all its clients are seen as one application only: drag and drop protocol does not work because of that (solution: Pasteboard Manager)&lt;br /&gt;
&lt;br /&gt;
==== Other links ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.services.openoffice.org/wiki/List_of_OpenOffice.org_Mac_OS_X_issues_and_problems#&lt;br /&gt;
&lt;br /&gt;
http://wiki.services.openoffice.org/wiki/Printing_problems_with_OpenOffice.org_2.0_for_Mac_OS_X#Reporting_printing_problems&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 11:39, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== What do we have to do?==&lt;br /&gt;
&lt;br /&gt;
* (in progress): Implement direct access to Apple graphical engine, using Apple API: Quartz2D/CoreGraphics (and replacing Xlib use)&lt;br /&gt;
&lt;br /&gt;
like: instantiate, manage events and threads for a graphical instance + all needed objects, drawing: manage all drawing cases&lt;br /&gt;
&lt;br /&gt;
* (in progress): Implement native events management, using CarbonEventManager (replacing Xlib management)&lt;br /&gt;
&lt;br /&gt;
* (in progress): Implement native font use, using Apple Type Server and ATSUI (for Unicode Imagery) (replacing X11 management)&lt;br /&gt;
&lt;br /&gt;
Work in progress: [[Mac OS X Porting - Native Fonts]]&lt;br /&gt;
&lt;br /&gt;
* Implement native sound, using QuickTime (replacing Java Media Framework): [[Mac OS X Porting - Native Audio and Video]]&lt;br /&gt;
&lt;br /&gt;
* Implement native Drag and drop, Implementing Pasteboard Manager: [[Mac OS X Porting - Native Drag and drop]]&lt;br /&gt;
&lt;br /&gt;
* (done experimental) Implement Native Filepicker&lt;br /&gt;
&lt;br /&gt;
* Implement Native Printing: current uses cups, but native printing is mandatory: [[Mac OS X Porting - Native_Printing]]&lt;br /&gt;
&lt;br /&gt;
* Implement Apple Spellchecker&lt;br /&gt;
&lt;br /&gt;
--[[User:Plipli|Plipli]] 09:27, 25 March 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Where is located the code to be modified?&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
Most of the changes are located in vcl (Visual Class Layer), for everything graphical, events, fonts, rendering and printing.&lt;br /&gt;
&lt;br /&gt;
Other, for sound and movies will be in avmedia (where the player is implemented in OpenOffice.org sources).&lt;br /&gt;
&lt;br /&gt;
For drag and drop, dtrans is concerned (Pasteboard Manager implementation)&lt;br /&gt;
&lt;br /&gt;
[FIXME]: Filepicker? Apple Spellchecker?&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 11:39, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;How will the new implementation be tested?==&lt;br /&gt;
&lt;br /&gt;
Currently, all openOffice.org code can be compiled without using the Xlib. but of course, a lot of features are missing,&lt;br /&gt;
&lt;br /&gt;
and the final package simply won&amp;#039;t work&lt;br /&gt;
&lt;br /&gt;
In vcl module&amp;quot;, a &amp;#039;&amp;#039;&amp;#039;toy&amp;#039;&amp;#039;&amp;#039; called svdem is built at buildtime. This binary is linked to libvcl* and so all new stuff can be tested.&lt;br /&gt;
&lt;br /&gt;
e.g.: draw anti-aliased lines works well. &lt;br /&gt;
&lt;br /&gt;
Everything implemented in aqua vcl code will be included in libvclplug_aqua, and svdem source code will contain a specific part to proceed tests.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The magic is: when all needed features will work with svdem, it will work in the new version of OpenOffice.org !!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[FIXME]: add more complete list of features to implement and test.&lt;br /&gt;
&lt;br /&gt;
== AquaVCL 01 cws ==&lt;br /&gt;
&lt;br /&gt;
[[http://qa.openoffice.org/issues/buglist.cgi?keywords=aqua Top 10 of Aqua issues]]&lt;br /&gt;
&lt;br /&gt;
[[Aquavcl01 tasks]]&lt;br /&gt;
&lt;br /&gt;
===Changelog ===&lt;br /&gt;
&lt;br /&gt;
====Work in progresss: alpha :-) ====&lt;br /&gt;
&lt;br /&gt;
 (scheduled -hdu again :) -  text breaking/text measurements)&lt;br /&gt;
&lt;br /&gt;
==== alpha 0.9 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:grey; font-size:18px&amp;quot;&amp;gt;[[User:Ericb/Top10 of Issues | &amp;#039;&amp;#039;&amp;#039;Top 10 of Issues with alpha 0.9 (click me to know more) &amp;#039;&amp;#039;&amp;#039;]]&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(22th May)&lt;br /&gt;
&lt;br /&gt;
thb: proposed a patch to workaround tjhe missing animations in Impress (issue 77692)&lt;br /&gt;
&lt;br /&gt;
fheckl: fixing problem when switching between OOo picker and native picker&lt;br /&gt;
&lt;br /&gt;
hdu: fixed the refresh and clipping =&amp;gt; many problems with wrong clipping and wrong graphics attributes are gone&lt;br /&gt;
&lt;br /&gt;
hdu: fixed the text drawn at bad size when resizing  &lt;br /&gt;
&lt;br /&gt;
(19th may)&lt;br /&gt;
&lt;br /&gt;
Begining of Drag and Drop (Tino) &lt;br /&gt;
&lt;br /&gt;
Using Aqua keyword, 123 issues created + macport user created.&lt;br /&gt;
&lt;br /&gt;
user macport assigned means nobody is working on the issue.&lt;br /&gt;
Once someone assigned the issue to himself + sert issue as started, means issue has an owner.&lt;br /&gt;
&lt;br /&gt;
Experimental code to test SetThemeWindowBackground to refresh everything (ericb)   (18th may)&lt;br /&gt;
&lt;br /&gt;
+:  refresh is ok, bitmap refresh is ok when scrolling, typing text works in writer , pulse effect works, refresh checkbuttons works, refresh the window during scrolling works&lt;br /&gt;
&lt;br /&gt;
-: no more cursor, excessive system load (lot of Begin /EndGraphic()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important infos / WIP&lt;br /&gt;
&lt;br /&gt;
The main work in progress is about refresh not working in all situations. We isolated the cause: very probably the clipping is either missing, or buggy.&lt;br /&gt;
&lt;br /&gt;
Once fixed: pulse effect for buttons, text refresh (blinking cursor, and bitmaps in menus will be ok.&lt;br /&gt;
&lt;br /&gt;
ericb add Aqua look for toolbars and tooltips (17th may)&lt;br /&gt;
&lt;br /&gt;
==== alpha 0.8 ====&lt;br /&gt;
&lt;br /&gt;
Christian Bernd Krippendorf joined the port (16th May)  &lt;br /&gt;
&lt;br /&gt;
hdu: memcpy sizeof(data) instead of sizeof(pointer) bytes  (16th May)&lt;br /&gt;
&lt;br /&gt;
hdu: fix ATSLayout::GetTextWidth() for multiple glyph-bound-trapezoids&lt;br /&gt;
&lt;br /&gt;
msicotte: added definition for makeCGptArray - helper for AquaSalGraphics::invert&lt;br /&gt;
&lt;br /&gt;
msicotte: added AquaSalGraphics::invert(ULONG nPoints...&lt;br /&gt;
&lt;br /&gt;
hdu: implement stretched/squeezed text&lt;br /&gt;
&lt;br /&gt;
hdu: prepare font rotation directly in ATSUI units&lt;br /&gt;
&lt;br /&gt;
hdu: simplify a little by removing dead code&lt;br /&gt;
&lt;br /&gt;
hdu: enable bold-/italic-emulation for fonts only if needed&lt;br /&gt;
&lt;br /&gt;
mikesic: #77317# - fix for wrong menu displayed when last Writer window closed&lt;br /&gt;
&lt;br /&gt;
ericb: add pulse effect (it will help to verify refresh issues are fixed) &lt;br /&gt;
&lt;br /&gt;
pl: safer yield mutex protection through guards&lt;br /&gt;
&lt;br /&gt;
hdu: default to standard font attributes&lt;br /&gt;
&lt;br /&gt;
pl: protect against dispatching to dead or dying AquaSalFrames&lt;br /&gt;
&lt;br /&gt;
ericb: #i77327# add alpha to user install dir until Aqua version is stabilized&lt;br /&gt;
&lt;br /&gt;
hdu:  rewrote ATSUFontID-based font enumeration&lt;br /&gt;
&lt;br /&gt;
mikesic: Workaround for issue 77262 - frames around selected items don&amp;#039;t disappear&lt;br /&gt;
&lt;br /&gt;
mikesic: Fix for issue 74392 - aquavcl01: tooltip crash&lt;br /&gt;
&lt;br /&gt;
mikesic: Fix for issue 77261 - Menu disappears when you hover over tooltip&lt;br /&gt;
&lt;br /&gt;
mikesic: Fix for issue 75889 - aquavcl01: Extended tooltips text truncated &lt;br /&gt;
&lt;br /&gt;
fheckl: adapting to changes since resync  (aquafilepicker01)&lt;br /&gt;
&lt;br /&gt;
fheckl:  enabling fps_aqua lib only for aqua build&lt;br /&gt;
&lt;br /&gt;
pjanik: Reformat for easier reading (according to OOo C++ rules).&lt;br /&gt;
&lt;br /&gt;
Monday 15th May&lt;br /&gt;
&lt;br /&gt;
Changes: &lt;br /&gt;
&lt;br /&gt;
Yvan Barthelemy provided the first screenshot for printing :)&lt;br /&gt;
&lt;br /&gt;
http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Native_Printing&lt;br /&gt;
&lt;br /&gt;
http://eric.bachard.free.fr/mac/aquavcl/screenshots/printing/native_printing/native_printing_dialog.jpg&lt;br /&gt;
&lt;br /&gt;
F 73688: use default font system  (WIP, hdu)&lt;br /&gt;
&lt;br /&gt;
several fixes in salatsuifontutils  (hdu)&lt;br /&gt;
&lt;br /&gt;
several fixes in salframe (pl)&lt;br /&gt;
&lt;br /&gt;
defaut user install dir is now ~/Library/Application Support/OpenOffice.org-aqua (ericb)&lt;br /&gt;
&lt;br /&gt;
added pulse effect to help for refresh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saturday 13th / Sunday 14th &lt;br /&gt;
&lt;br /&gt;
F 74392: tooltip crash  (mikesic)&lt;br /&gt;
&lt;br /&gt;
(IMHO fixed with mikesic patch) 72250: toolbar icon click -&amp;gt; crash with aqua menus (not fixed? Worksforme)&lt;br /&gt;
&lt;br /&gt;
F 74392: tooltip crash  (mikesic)&lt;br /&gt;
&lt;br /&gt;
==== alpha 0.7 ====&lt;br /&gt;
&lt;br /&gt;
Sun decided to officialy supports the Mac OS x port  (3rd May)&lt;br /&gt;
&lt;br /&gt;
Welcome to Philipp Lohmann and Herbert Duerr , who joined the Team  (3rd May)&lt;br /&gt;
&lt;br /&gt;
resync m211 (1st May)&lt;br /&gt;
&lt;br /&gt;
[Top 10 of issues] modify Bundle tree (issue 73693): change committed 28th April (ericb) &lt;br /&gt;
&lt;br /&gt;
Google SoC: welcome to Ismael Merzaq and Omer BarOr , our two selected candidates: ismael will work on aqua look (NWF), and Omer will work on Mac OS X Address Book Integration.&lt;br /&gt;
&lt;br /&gt;
resync: m208 (11th April)&lt;br /&gt;
&lt;br /&gt;
(exp / not commited) Ismael proposed a patch for Utility Windows more Aqua compliant + SetMin/MaxSize()  (9th April)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Native menus are defaults (ericb)   (8th April) &lt;br /&gt;
&lt;br /&gt;
Frederic Barbaise (alias boulifb) joined the port (3rd April)&lt;br /&gt;
&lt;br /&gt;
Work on saltimer.cxx started mikesic (27th March) &lt;br /&gt;
&lt;br /&gt;
Pavel commited Michael patch for invert and drawAlphaRect()  (27th March)&lt;br /&gt;
&lt;br /&gt;
Started 27th March&lt;br /&gt;
&lt;br /&gt;
==== alpha 0.6 ====&lt;br /&gt;
&lt;br /&gt;
Damien started to work on drawEPS() &lt;br /&gt;
&lt;br /&gt;
plipli and ericb work on refresh&lt;br /&gt;
&lt;br /&gt;
Michael Sicotte proposed to investigate in timers, and continue [[http://www.openoffice.org/issues/show_bug.cgi?id=75228 Pavel&amp;#039;s work]]: objective is to replace obsolete code.  (23th March)&lt;br /&gt;
&lt;br /&gt;
[experimental] plipli proposed a patch for a new salframe implementation, using HIView + optionally compositing  (21th March)&lt;br /&gt;
&lt;br /&gt;
[commit scheduled] Michael Sicotte proposed a complete patch for invert() (SAL_INVERT SAL_INVERT_50 and SAL_INVERT_TRACKFRAME)  (20th March)&lt;br /&gt;
&lt;br /&gt;
Tino proposed to work on code cleanup in salatsuifontutils.cxx, removing obsolete code &lt;br /&gt;
&lt;br /&gt;
ismael and michael work on invert() + drawAlphaRect() &lt;br /&gt;
&lt;br /&gt;
Started (19th March) :&lt;br /&gt;
&lt;br /&gt;
==== alpha 0.5====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Top 10 Summary:  7 issues over 10 are fixed or very close to be: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;time to code review, tracing, and search for memory leaks&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[done] Unicode input in salframe (ekato) (19th March)&lt;br /&gt;
&lt;br /&gt;
[experimental, works partially] beginning of HIView + HIComboxes works (text still missing)  (ericb + plipli)  (14th March) &lt;br /&gt;
&lt;br /&gt;
[done] replace NewRgn() in salframe (ericb (11th March)&lt;br /&gt;
&lt;br /&gt;
[experimental, but very interesting] Improved native windows (ismael) (7th March)&lt;br /&gt;
&lt;br /&gt;
====alpha 0.4==== &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Informative]&amp;#039;&amp;#039;&amp;#039; build runs with Leopard 9A377a (fheckl) (7th March) &lt;br /&gt;
&lt;br /&gt;
Refresh screen issues  (plipli) (4th to 10th March)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[informative]&amp;#039;&amp;#039;&amp;#039;  plipli announced  progress with refresh screen issues  (28th February)&lt;br /&gt;
&lt;br /&gt;
[experimental, not yet commited] Proxy configuration from system (pjanik)  (28th February)&lt;br /&gt;
&lt;br /&gt;
[done] highlighted native button (pjanik)  (27th February) &lt;br /&gt;
&lt;br /&gt;
Native File Picker works (fheckl  / pjanik)  (23th February )&lt;br /&gt;
&lt;br /&gt;
====alpha 0.3====&lt;br /&gt;
&lt;br /&gt;
Cursor does appear -&amp;gt; invert() + setting a setBlinkTime value in UpdateSettings()  (pjanik /ericb) &lt;br /&gt;
&lt;br /&gt;
[done] mirroring negative images (ismael) + DrawAlphaBitmap() + CreateWithMask()&lt;br /&gt;
&lt;br /&gt;
pjanik patch for Focus Events &lt;br /&gt;
&lt;br /&gt;
[done] scrolling works (pjanik) (17th February)&lt;br /&gt;
&lt;br /&gt;
[done ] carret works (plipli) (17th February)&lt;br /&gt;
&lt;br /&gt;
[done] checkbuttons fix for checkmarks  (ericb) (17th February)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Informative]&amp;#039;&amp;#039;&amp;#039; Pavel Janik propose to solve offScreen buffer using HIView (17th February) &lt;br /&gt;
&lt;br /&gt;
[experimental, never commited] patch for macosxrc.txt use + UpdateSettings() use in salframe.cxx (ericb (16th February)&lt;br /&gt;
&lt;br /&gt;
Michael Sicotte joined the Team (15th February)&lt;br /&gt;
&lt;br /&gt;
invert(): first try  (ericb)   (13th february)&lt;br /&gt;
&lt;br /&gt;
====alpha 0.2====&lt;br /&gt;
&lt;br /&gt;
[12th February 2007 ]&lt;br /&gt;
&lt;br /&gt;
[done] calc does not start: bug identified by tino , first workaround (ericb)   [[http://www.openoffice.org/issues/show_bug.cgi?id=73691 issue 73691]]&lt;br /&gt;
&lt;br /&gt;
[done] bitmaps in native popup menus (ismael)  &lt;br /&gt;
&lt;br /&gt;
[done]  replace obsolete code for HandleWindowPaintEvent(), newRgn() .. etc  (ericb)  (12th February)&lt;br /&gt;
&lt;br /&gt;
correct salatslayout patch (plipli)  (11th February)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Informative]&amp;#039;&amp;#039;&amp;#039;  Michel Renon proposed a summary about his work on fonts issues&lt;br /&gt;
&lt;br /&gt;
[patch] Pavel fixed several menu crashes (09th February)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[Informative]&amp;#039;&amp;#039;&amp;#039;: Pavel posted a mail about several crashes origin &lt;br /&gt;
 &lt;br /&gt;
patch for radioboxes and checkboxes (ericb) (9th February)&lt;br /&gt;
&lt;br /&gt;
first complete patch for salatslayout.cxx (plipli) (9th February)&lt;br /&gt;
&lt;br /&gt;
[done] most important crashes fixed (pjanik)  (09th february)&lt;br /&gt;
&lt;br /&gt;
Modified baseline for 2.2.: Mac OS X10.4 -&amp;gt; Aqua will be 10.4 and 10.5 compatible only (ericb)&lt;br /&gt;
&lt;br /&gt;
first try with multi line sallayout (plipli)  (08th February)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Damien Duportal joined the Team (7th February) &lt;br /&gt;
&lt;br /&gt;
[done] scrollbar changes (ericb)   (4th February)&lt;br /&gt;
&lt;br /&gt;
====alpha 0.1====&lt;br /&gt;
&lt;br /&gt;
create Top 10 of issues before alpha  3rd February 2007:  See: [[http://porting.openoffice.org/mac/news/2007/20070203toptenbeforealpha.html Top 10 of issues]]&lt;br /&gt;
&lt;br /&gt;
[experimental, not commited] patch for TPT() implementation (ericb)  (2nd February 2007)&lt;br /&gt;
&lt;br /&gt;
Pavel Janik proposed to implement TransformProcessType() (2nd February 2007)&lt;br /&gt;
&lt;br /&gt;
[not commited] implement UpdateSettings()   (ericb)  &lt;br /&gt;
&lt;br /&gt;
Pavel Janik resynchronized aquavel01 cws  with m202  (2nd February 2007)&lt;br /&gt;
&lt;br /&gt;
====alpha 0.03====&lt;br /&gt;
&lt;br /&gt;
Michel Renon joined the Team (1st February)&lt;br /&gt;
&lt;br /&gt;
[done] fix checkbuttons and radiobuttons issues: offsets, redrawing of the check marks (ericb) &lt;br /&gt;
&lt;br /&gt;
[done] fix scrollbar buttons (implement correct methods to retrieve dimensions)&lt;br /&gt;
&lt;br /&gt;
[done] implement mapfiles for Mac OS X (Stephan Bergmann, Daniel Boelzle, Tino Rachui , Pavel Janik)&lt;br /&gt;
&lt;br /&gt;
====alpha 0.02====&lt;br /&gt;
&lt;br /&gt;
[done] modify libsalsystools.dylib to be correctly loaded with the bundle  (ericb, + pjanik)&lt;br /&gt;
&lt;br /&gt;
[done] add mouse drag events  (pjanik)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====alpha 0.01====&lt;br /&gt;
&lt;br /&gt;
[done] add new feature for Aqua windows, to allow QuickTime player use(mox)&lt;br /&gt;
&lt;br /&gt;
[done] replace obsolete code in salframe.cxx with (ericb)&lt;br /&gt;
&lt;br /&gt;
[done] fix correct size for main window (GetOptimaWindowSize() ) (ericb)&lt;br /&gt;
&lt;br /&gt;
[done] fix alpha channel in pixmaps (ismael)&lt;br /&gt;
&lt;br /&gt;
====alpha 0.0====&lt;br /&gt;
&lt;br /&gt;
[done] pushbutton where not correctly drawn (ericb)&lt;br /&gt;
&lt;br /&gt;
[done] fix missing mouse events  (pjanik)&lt;br /&gt;
&lt;br /&gt;
[done] fix nRepeat in text entry  (ssa)&lt;br /&gt;
&lt;br /&gt;
2nd Mac porters Meeting&lt;br /&gt;
&lt;br /&gt;
===Work in progress ===&lt;br /&gt;
&lt;br /&gt;
URGENT :&lt;br /&gt;
&lt;br /&gt;
Top of issues causing crashes: event issue when tips is enabled causes crashes (well known window / handler  / window desctructor / event loop bug)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Salatsuifontutils:  replace old code, track leaks: tino&lt;br /&gt;
&lt;br /&gt;
[done] Bitmaps: (isma87) &lt;br /&gt;
&lt;br /&gt;
[running]  Crashes: (tino, pjanik, ericb, isma87, plipli)&lt;br /&gt;
&lt;br /&gt;
[???] Drag and drop:   (vijay)&lt;br /&gt;
&lt;br /&gt;
[???] Printing   (ybart)  &lt;br /&gt;
&lt;br /&gt;
Florian Heckl proposed a subject for Google Summer of Code about native printing&lt;br /&gt;
&lt;br /&gt;
Drawing/ windowing (plipli / ericb) -&amp;gt; mainly refresh &lt;br /&gt;
&lt;br /&gt;
[done] Implement cursor &lt;br /&gt;
&lt;br /&gt;
[started] Native Controls   (ericb) &lt;br /&gt;
&lt;br /&gt;
[work in progress] partial multiline sallayout  (plipli)&lt;br /&gt;
&lt;br /&gt;
To do: &lt;br /&gt;
&lt;br /&gt;
(started, Oliver) - modify the tree to make the bundle start without hack (issue fixed during buildtime) &lt;br /&gt;
&lt;br /&gt;
(started, Florian Heckl)  verify Native FilePicker implementation (works , tested in Hamburg )&lt;br /&gt;
&lt;br /&gt;
[done] Ismael Merzaq)  implement blit functions in salgdi  (important fix:  probably apha version to be tested once done) &lt;br /&gt;
&lt;br /&gt;
[done] Sebastien Plisson- update the missing functions list (fonts ... ask hdu &amp;amp; cl&lt;br /&gt;
&lt;br /&gt;
[started] ericb, Mox Soini, Sebastien Plisson, Tino Rachui, Pavel janik continue to replace obsolete code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fix crashes with menus  (started: tino)&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Sort of documentation about VCL around Native Mac OS X port&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do we really need to understand how it works? ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vcl content:&lt;br /&gt;
&lt;br /&gt;
ls -laR | wc -l&lt;br /&gt;
  1750&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Uff 1750 files to analyse :-/&lt;br /&gt;
&lt;br /&gt;
Our purpose is to describe the vcl organisation. The content of vcl is so important, that at the begining, the content will looks a bit confused. e.g. class names ..etc have nothing to do, only description with words and sense, but this will need some time before we can understand everything.&lt;br /&gt;
&lt;br /&gt;
How analyse with more efficiency? After some months to anlalyse &amp;#039;&amp;#039;&amp;#039;&amp;quot;horizontaly&amp;quot;&amp;#039;&amp;#039;&amp;#039;, it appears that list all the content of a directory is not the solution. Of course, we learned a lot, but we now have to complete with &amp;#039;&amp;#039;&amp;#039;&amp;quot;orthogonal&amp;quot;&amp;#039;&amp;#039;&amp;#039; method (compared to the previous one). The first method wasn&amp;#039;t obviously not the good/best way to describe vcl.&lt;br /&gt;
 &lt;br /&gt;
[FIXME] a different approach (will ask confirmation to Philipp Lohman), could be a description of how it work in runtime. First define what an instance is, a frame, and what exactly is concerned by such &amp;quot;objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With that, we can write a list of different objects all using the same scheme: empty boxes (means pure virtual methods and classes in generic libvvcl), really implemented in the specific part, and finally, the API &amp;quot;encapsulated&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The most difficult is to see where the API is used. But for all the parts, this is the same.&lt;br /&gt;
&lt;br /&gt;
Finally, &amp;#039;&amp;#039;&amp;#039;what is important is the design of vcl&amp;#039;&amp;#039;&amp;#039;. Which &amp;#039;&amp;#039;&amp;#039;patterns&amp;#039;&amp;#039;&amp;#039; are used? What are the dependencies, how works the stack for the events, how works the scheduler, the timers too is very important, even fundamental for Aqua implementation. Will have a look at gsl mailing list, and other resources. Probably everything is already (randomly) written somewhere.&lt;br /&gt;
&lt;br /&gt;
=== VCL organisation ===&lt;br /&gt;
&lt;br /&gt;
Thank&amp;#039;s to Philipp Lohmann for this short, but precise description:&lt;br /&gt;
&lt;br /&gt;
Basically vcl is divided in the system dependent and the system independent part. The interface between these two is mostly the Sal interface (every interface name Sal*: SalInstance, SalFrame, SalGraphics, SalPrinter, etc.).&lt;br /&gt;
&lt;br /&gt;
SalInstance is a factory that can create all the other abstracted interfaces of the system dependent part. It also provides the main loop SalInstance::Yield()&lt;br /&gt;
&lt;br /&gt;
SalFrame abstracts any kind of system window.&lt;br /&gt;
&lt;br /&gt;
SalVirtualDevice abstracts an offscreen window (e.g. a Pixmap on X11)&lt;br /&gt;
&lt;br /&gt;
SalPrinter and SalInfoPrinter abstract the system print queues where SalInfoPrinter is for querying and SalPrinter for actual printing.&lt;br /&gt;
&lt;br /&gt;
SalGraphics is an interface produced by either SalFrame, SalVirtualDevice or SalPrinter which is used for actual drawing operations (text, bitmaps, vector graphics)&lt;br /&gt;
&lt;br /&gt;
SalSound is for sound playing.&lt;br /&gt;
&lt;br /&gt;
SalBitmap provides memory for bitmap graphics as well as methods converting this memory to a system handle (e.g. a Pixmap on X11).&lt;br /&gt;
&lt;br /&gt;
SalOpenGL provides OpenGL functionality if available.&lt;br /&gt;
&lt;br /&gt;
SalTimer is an interface for periodically triggering the event queue (to timer implementation).&lt;br /&gt;
&lt;br /&gt;
SalI18NImeStatus handles how the status window of an Input Method Editor (IME) should display (this is mainly X11 specific).&lt;br /&gt;
&lt;br /&gt;
SalSystem has some system specific methods that did not belong anywhere else:-)&lt;br /&gt;
&lt;br /&gt;
Of all these there interfaces is at least one implementation per system (Windows, X11 or Mac). The Unix implementation also has a plugin concept to allow for integration of different native toolkits (currently gtk and Qt) which became necessary for the implementation of Native Widget Framework (NWF) to display controls like their normal desktop counterparts.&lt;br /&gt;
&lt;br /&gt;
Basically the independent part (what is beneath vcl/source directory) has generic methods for drawing, window handling and stuff which it brings into a suitable form and then delegates to the system specific implementation (located beneath vcl/win for Windows and vcl/unx for the X11 platforms).&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 16:12, 1 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
===Sub-directories description ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Organisation of vcl directories&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
[[Image:aquavcl_organisation_complete_02.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Directories in vcl. Short description&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; aqua &amp;#039;&amp;#039;&amp;#039;: The name Aqua means Apple look and feel, and is well known as [http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html Aqua Human Interface Guidelines]. This look and feel means Mac OS X. The work was begun by (probably) P. luby, Dan Williams Herbert Duerr (most of fonts stuff) and Ed Peterlin. Currently in ruin, this directory does contain a lot of ideas to investigate. The most important part of needed changes for native version (3.0) will be done inside aqua dir inc: does contain all vcl relative includes [PART1]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; prj &amp;#039;&amp;#039;&amp;#039;: Does contain build.lst and d.lst build.lst give us dependencies: probably a lot for vcl, build 98th module over ~148. Everything graphical depends in vcl. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; qa &amp;#039;&amp;#039;&amp;#039; does contain all quality assurancy stuff&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;source&amp;#039;&amp;#039;&amp;#039;: the most important:-) This directory contains common sources for all architectures and OS. Mainly: Windows, Unix: Linux , Mac OS X (X11), Solaris, including generic, kde and gtk plugins, and Aqua (Mac OS X without X11, work currently in progress). &lt;br /&gt;
&lt;br /&gt;
Depending on the OS and the architecture, binaries are built or not.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; test &amp;#039;&amp;#039;&amp;#039;: This directory does contain all the needed stuff for tests. As example, in qa/testdocuments, you&amp;#039;ll find three documents (one writer, one calc and one impress) for tests purpose. &lt;br /&gt;
Other available tests are about memcheck and persistent window state. &lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; unx &amp;#039;&amp;#039;&amp;#039;: this directory does contain all unixes stuff. We have to understand what is inside to implement aqua port. For example, a lot of classes/strutures and objects use Xlib calls we have to replace with Carbon/Cocoa call (at least at first time) for Mac OS X native port.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; win &amp;#039;&amp;#039;&amp;#039;: Doing Mac OS X native port, I first believed this directory was not interesting for us, but I was wrong: OpenOffice.org roots are inside this directory, and a lot of comments and resources are inside. Mainly interesting if Carbon is used.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;workben&amp;#039;&amp;#039;&amp;#039;: Does contain a toy called &amp;quot;svdem&amp;quot;. svdem is a binary, used for new implementations. For example, actual aqua development uses svdem intensively, to verify all important properties we need: &lt;br /&gt;
&lt;br /&gt;
- display a window first (al least ...:)) &lt;br /&gt;
&lt;br /&gt;
- close cleanly this window&lt;br /&gt;
&lt;br /&gt;
- display a point&lt;br /&gt;
&lt;br /&gt;
- trace a line&lt;br /&gt;
&lt;br /&gt;
- trace an area &lt;br /&gt;
&lt;br /&gt;
- superpose two areas doing some important graphical operations, (like xor),&lt;br /&gt;
&lt;br /&gt;
- display a character&lt;br /&gt;
&lt;br /&gt;
- display a menu. &lt;br /&gt;
&lt;br /&gt;
- intercept events correctly.&lt;br /&gt;
&lt;br /&gt;
[FIXME] add more tests&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 13:21, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Naming convention&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
* Class names start with upper case letters, to improve readability.&lt;br /&gt;
&lt;br /&gt;
* Implemented Class names are derived from the virtual classes but can of course take arbitrary names.&lt;br /&gt;
To increase readability, it&amp;#039;s recommended to closely follow the base class name.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Impl prefix: means Implementation details&amp;#039;&amp;#039;&amp;#039;. The concerned class or method or function is not used outside of this module, so no external code (or other libraries) can see it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[ Events types using Carbon API (Mac OS X): ]]&amp;#039;&amp;#039;&amp;#039; A lot of events have to be managed in runtime. Here is a short description&lt;br /&gt;
&lt;br /&gt;
- do not freeze because bad event loops&lt;br /&gt;
&lt;br /&gt;
- event types implementation: currently, they are defined in vcl/aqua/inc/aquavclevents.hxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apart: exact sense of hedabu? -&amp;gt; [FIXME] as far as I understood it: it is like &amp;quot;copy&amp;quot; to deliver software into the solver, with extra magic. The header files for example are manipulated so paths need not be exact. &amp;quot;headabu&amp;quot; is supposed to disappear little by little.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;What do we have to build in vcl?&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
Two libraries, corresponding ressources (localized) and a toy so called « svdem »&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common part&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
in grey on right. The result will be a non architecture dependant library, built in all cases: for instance, libvcl680mxi.dylib on Mac Intel.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Specific part  &amp;quot; a plugin &amp;quot; &amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
Light yellow: aqua part will only concern Mac OS X (non X11) the name will probably be libvcl_aqua680mxi.dylib &lt;br /&gt;
&lt;br /&gt;
As you can see, win means windows part, in blue&lt;br /&gt;
&lt;br /&gt;
For Unix build (Linux, Solaris or current Mac OS X X11), in purple.&lt;br /&gt;
&lt;br /&gt;
Result will be:&lt;br /&gt;
&lt;br /&gt;
libvclplug_PLUGIN680mxi.DLLSUFFIX , where PLUGIN can be iether gen (generic) or gtk (using gtk+) or kde (using qt), and DLLSUFFIX can be either .so (linux) or .dylib (Mac OS X) ...etc (I&amp;#039;m not sure for other cases).&lt;br /&gt;
&lt;br /&gt;
Example: libvcl680mxi.dylib and libvclplug_aqua680mxi.dylib&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;In runtime&amp;#039;&amp;#039;&amp;#039;, libvclplug_aqua will be linked to libvcl680. the first one will contain the real implementation (respecting the API, e.g. Carbon) while the generic libvcl will only contain pure virtual methods ...etc like &amp;quot;empty boxes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Current Aqua content ===&lt;br /&gt;
&lt;br /&gt;
A more complete description of aqua (Mac OS X / no X11 specific): [[Image:Vcl_aqua_organisation_02_tree.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==EXISTING objects to build in aqua==&lt;br /&gt;
&lt;br /&gt;
===Sal APP &amp;quot;everything application&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[FIXME] add all objects descriptions&lt;br /&gt;
&lt;br /&gt;
==== saldata ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Defined in plugin exclusively&amp;#039;&amp;#039;&amp;#039; (i.e. for headers)&lt;br /&gt;
&lt;br /&gt;
Unix: unx/source/app/saldata.cxx (header in unx/inc)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aqua: aqua/source/app/saldata.cxx (header in win/inc)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Windows: win/source/app/saldata.cxx (header in aqua/inc)&lt;br /&gt;
&lt;br /&gt;
* Role: saldata contains various kind of data used by the implementation for the concerned platform. &amp;#039;&amp;#039;&amp;#039;It is a bunch of global data collections reserved for the platform&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
It is just completely platform dependent, and nobody except this plugin can see it.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Saldata is something like a &amp;quot;second sal&amp;quot;, but providing an abstraction regarding windowing and graphics&amp;#039;&amp;#039;&amp;#039;, while SAL module provides an abstraction more Operating System oriented) &lt;br /&gt;
&lt;br /&gt;
e.g.: have a look at XRequest array in vcl/unx/source/app/saldata.cxx =&amp;gt; all calls are for Xlib (X11).  Ok, useless there, but interesting:-)&lt;br /&gt;
&lt;br /&gt;
[FIXME]: use Windows implementation could be a good starting point. Nothing is the same, but the current aquavcl cws uses similar objects, and it works very correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
saldatax.cxx uses classes SalInstance, SalObject, SalFrame, SalVirtualDevice, SalPrinter and fontList.&lt;br /&gt;
&lt;br /&gt;
Current list of possible objects who can be instantiated/released:&lt;br /&gt;
&lt;br /&gt;
structure SalData: does contain pointers on all kind of objects from other classes used in saldata.&lt;br /&gt;
&lt;br /&gt;
inline functions: [FIXME]: complete the description&lt;br /&gt;
&lt;br /&gt;
- SetSalData:&lt;br /&gt;
- GetSalData:&lt;br /&gt;
- GetAppSalData:&lt;br /&gt;
&lt;br /&gt;
==== salinst ====&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; implemented in vcl/aqua/source/app/salinst.cxx&lt;br /&gt;
&lt;br /&gt;
Role: &lt;br /&gt;
&lt;br /&gt;
* get environment, mutexes, instantiate AquaSalInstance (Ctor, Dtor),&lt;br /&gt;
&lt;br /&gt;
* instantiates/releases a lot of other objects using Get() / CreateObject() / DestroyObject() methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current list of possible objects who can be instantiated/released:&lt;br /&gt;
&lt;br /&gt;
 * VirtualDevice [FIXME]: exact role?&lt;br /&gt;
&lt;br /&gt;
 *Printer  &lt;br /&gt;
&lt;br /&gt;
- GetDefaultPrinter/ CreatePrinter() / DestroyPrinter - what a name ;-) -&lt;br /&gt;
&lt;br /&gt;
- InfoPrinter (Get/Create/Delete)&lt;br /&gt;
&lt;br /&gt;
- PrinterQueue (DeletePrinterQueueInfo / GetPrinterQueueInfo / GetPrinterQueueState)&lt;br /&gt;
&lt;br /&gt;
 * System (Create / Delete) [FIXME]: what means system here?&lt;br /&gt;
&lt;br /&gt;
 * Events: &lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::SetEventCallback()&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::SetErrorEvenCallback()&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::GetConnectionIdentifier()&lt;br /&gt;
&lt;br /&gt;
 * Menu / MenuItem: &lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateMenu() / same for DestroyMenu()&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateMenuItem / same DestroyMenuItem()&lt;br /&gt;
&lt;br /&gt;
 * Sound: &lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateSalSound()  =&amp;gt; object to a pointer of SalSound type&lt;br /&gt;
&lt;br /&gt;
Note: AquaSalInstance::DestroySalSound is not implemented (?)&lt;br /&gt;
&lt;br /&gt;
 * Timer: CreateTimer() /&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance:: DestroyTimer() is not yet implemented (?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Class MacImeStatus: inherits of SalI18NImeStatus&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; only there to see if there is a window to toggle into menubar [FIXME]??&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateI18NImeStatus(): instantiates MacImeStatus&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For futher informations, see: &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[Content of salinst.cxx]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
([[User:Ericb|Ericb]] 16:11, 20 May 2006 (CEST))&lt;br /&gt;
&lt;br /&gt;
==== salmain ====&lt;br /&gt;
&lt;br /&gt;
Role: if possible, runs the standard vcl application code SVMain()&lt;br /&gt;
&lt;br /&gt;
([[User:Ericb|Ericb]] 16:15, 20 May 2006 (CEST))&lt;br /&gt;
&lt;br /&gt;
==== salsound ====&lt;br /&gt;
&lt;br /&gt;
==== salsys ====&lt;br /&gt;
&lt;br /&gt;
==== saltimer ====&lt;br /&gt;
&lt;br /&gt;
==== saltimer ====&lt;br /&gt;
&lt;br /&gt;
The main problem with SalTimer is the code we use is obsolete. To remove this deprecated code, sevarl work have been tried &lt;br /&gt;
&lt;br /&gt;
1) Pavel Janik, in issue 75228 &lt;br /&gt;
&lt;br /&gt;
works, but a serious problem is remaining (a thread issue, nothing anybody explained yet) &lt;br /&gt;
&lt;br /&gt;
2) eric bacahrd (code will be attached soon)&lt;br /&gt;
&lt;br /&gt;
3) Michael Sicotte, who proposed to work on that, and continue Pavel implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SalTimer description&lt;br /&gt;
&lt;br /&gt;
AquaSalTimerproc&lt;br /&gt;
&lt;br /&gt;
AquaSalTimer::Start()&lt;br /&gt;
&lt;br /&gt;
AquaSalTimer::Stop()&lt;br /&gt;
&lt;br /&gt;
AquaSalTimer::Restart()&lt;br /&gt;
&lt;br /&gt;
AquaSalTimer::Installtask()   // yet needed?&lt;br /&gt;
&lt;br /&gt;
=== Sal GDI (everything Graphical Display Interface) ===&lt;br /&gt;
&lt;br /&gt;
====salgdinativewidgets====&lt;br /&gt;
&lt;br /&gt;
[[native controls]]&lt;br /&gt;
&lt;br /&gt;
==== salatslayout ====&lt;br /&gt;
&lt;br /&gt;
==&amp;gt; implemented in vcl/aqua/source/gdi/salatslayout.cxx&lt;br /&gt;
&lt;br /&gt;
- Handle text layouting :&lt;br /&gt;
&lt;br /&gt;
    * Use ATSUI (ATSUCreateTextLayoutFromPtr) to layout the text unicode char buffer&lt;br /&gt;
    * Use ATSUI (ATSU..) to get informations about glyphs&lt;br /&gt;
    * Populate different arrays (mpGlyph2Chars, mpChars2Glyph, mpCharsWidths, mpGlyphAdvances)&lt;br /&gt;
      that are used in various methods.&lt;br /&gt;
&lt;br /&gt;
==== salatsuiutils ====&lt;br /&gt;
&lt;br /&gt;
==== salfontutils ====&lt;br /&gt;
&lt;br /&gt;
==== salmathutils ====&lt;br /&gt;
&lt;br /&gt;
==== sal bmp ====&lt;br /&gt;
&lt;br /&gt;
==== salvd ====&lt;br /&gt;
&lt;br /&gt;
==== salpixmaputils====&lt;br /&gt;
&lt;br /&gt;
==== salprn ====&lt;br /&gt;
&lt;br /&gt;
====salrectangle====&lt;br /&gt;
&lt;br /&gt;
==== salvd ====&lt;br /&gt;
&lt;br /&gt;
=== Sal Window===&lt;br /&gt;
&lt;br /&gt;
==== salframe ====&lt;br /&gt;
Documentation in progress, from damiend :&lt;br /&gt;
[[User:Damiend|Damiend page]]&lt;br /&gt;
&lt;br /&gt;
====salobj====&lt;br /&gt;
&lt;br /&gt;
== TO BE IMPLEMENTED (missing in Aqua)==&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
====audioconvert====&lt;br /&gt;
 (obsolete?) &lt;br /&gt;
&lt;br /&gt;
====devaudio====&lt;br /&gt;
(obsolete?)&lt;br /&gt;
&lt;br /&gt;
====native sound====&lt;br /&gt;
&lt;br /&gt;
====salimpsound====&lt;br /&gt;
&lt;br /&gt;
====vsound====&lt;br /&gt;
&lt;br /&gt;
===i18n===&lt;br /&gt;
&lt;br /&gt;
===keysymnames===&lt;br /&gt;
&lt;br /&gt;
===saldisp===&lt;br /&gt;
&lt;br /&gt;
===sm===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[FIXME]: is session manager usefull?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Native Controls&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
====Scrollbar====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Works as expected&amp;#039;&amp;#039;&amp;#039;. The most important work is done&lt;br /&gt;
&lt;br /&gt;
See: [[Mac_OS_X_Porting_-_Native_Controls#ScrollBar]]&lt;br /&gt;
&lt;br /&gt;
====DrawThemeButton() documentation====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Started&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
See: [[Mac_OS_X_Porting_-_Native_Controls#ComboBox]]&lt;br /&gt;
&lt;br /&gt;
Started&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DrawThemeButton&lt;br /&gt;
Draws a button.&lt;br /&gt;
&lt;br /&gt;
OSStatus DrawThemeButton (&lt;br /&gt;
   const Rect * inBounds,&lt;br /&gt;
   ThemeButtonKind inKind,&lt;br /&gt;
   const ThemeButtonDrawInfo * inNewInfo,&lt;br /&gt;
   const ThemeButtonDrawInfo * inPrevInfo,&lt;br /&gt;
   ThemeEraseUPP inEraseProc,&lt;br /&gt;
   ThemeButtonDrawUPP inLabelProc,&lt;br /&gt;
   UInt32 inUserData&lt;br /&gt;
);&lt;br /&gt;
Parameters&lt;br /&gt;
inBounds&lt;br /&gt;
A pointer to a structure of type Rect. Pass a rectangle specifying the boundary of the button, in local coordinates.&lt;br /&gt;
&lt;br /&gt;
inKind&lt;br /&gt;
A value of type ThemeButtonKind. Pass a constant specifying the type of button to draw. &lt;br /&gt;
See “Theme Buttons” for descriptions of possible values.&lt;br /&gt;
&lt;br /&gt;
inNewInfo&lt;br /&gt;
A pointer to a structure of type ThemeButtonDrawInfo. Before calling DrawThemeButton, &lt;br /&gt;
set the structure to contain the new state, value, and adornment for the button. &lt;br /&gt;
DrawThemeButton uses the information passed in the inNewInfo and inPrevInfo parameters&lt;br /&gt;
to apply transitional animation or sound effects as the button state changes, if such are &lt;br /&gt;
specified under the current theme.&lt;br /&gt;
&lt;br /&gt;
inPrevInfo&lt;br /&gt;
A pointer to a structure of type ThemeButtonDrawInfo. If the button state is changing,&lt;br /&gt;
set the structure to contain the previous state, value, and adornment for the button, &lt;br /&gt;
to allow DrawThemeButton to apply any transitional effects. If the button state is not &lt;br /&gt;
changing, you can pass NULL.&lt;br /&gt;
&lt;br /&gt;
inEraseProc&lt;br /&gt;
A value of type ThemeEraseUPP. If you have a custom background, use this parameter to pass&lt;br /&gt;
a universal function pointer to an application-defined function such as that described in &lt;br /&gt;
ThemeEraseProcPtr. DrawThemeButton calls this function to erase the background before drawing&lt;br /&gt;
 the button. If you pass NULL, DrawThemeButton&amp;#039;s default behavior is to erase the background&lt;br /&gt;
 for you.&lt;br /&gt;
&lt;br /&gt;
inLabelProc&lt;br /&gt;
A value of type ThemeButtonDrawUPP. If you pass a universal function pointer to an &lt;br /&gt;
application-defined function such as that described in ThemeButtonDrawProcPtr, DrawThemeButton&lt;br /&gt;
 calls that function to draw the label of the button. If you pass NULL, no label is drawn.&lt;br /&gt;
&lt;br /&gt;
inUserData&lt;br /&gt;
An unsigned 32-bit integer. Provide any data to be passed in to the callback functions specified in &lt;br /&gt;
the inLabelProc and inEraseProc parameters. Pass NULL if you do not wish to provide any data.&lt;br /&gt;
&lt;br /&gt;
Return Value&lt;br /&gt;
A result code. See “Appearance Manager Result Codes”.&lt;br /&gt;
&lt;br /&gt;
Discussion&lt;br /&gt;
The DrawThemeButton function draws a theme-compliant button. If a ThemeEraseProcPtr is &lt;br /&gt;
specified in the inEraseProc parameter, DrawThemeButton uses that function to erase the &lt;br /&gt;
background of the button before drawing the button. After the button is drawn, if a&lt;br /&gt;
ThemeButtonDrawProcPtr is specified in the inLabelProc parameter, DrawThemeButton calls&lt;br /&gt;
that function to draw the button’s label.&lt;br /&gt;
&lt;br /&gt;
Note that DrawThemeButton also draws any appearance adornments for the button and that these&lt;br /&gt;
can extend beyond the button’s basic bounding rectangle, as specified in the inBounds parameter,&lt;br /&gt;
and may be of variable shape. You may therefore wish to call the function&lt;br /&gt;
GetThemeButtonBackgroundBounds to obtain the actual rectangle containing the pixels belonging&lt;br /&gt;
to a button under the current theme.&lt;br /&gt;
&lt;br /&gt;
Version Notes&lt;br /&gt;
This function is available with Appearance Manager 1.1 and later.&lt;br /&gt;
&lt;br /&gt;
Availability&lt;br /&gt;
Available in CarbonLib 1.0 and later when Appearance 1.1 or later is present.&lt;br /&gt;
Available in Mac OS X 10.0 and later.&lt;br /&gt;
Declared In&lt;br /&gt;
Appearance.h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====HIComboBoxCreate() documentation====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HIComboBoxCreate&lt;br /&gt;
Creates a combo box control.&lt;br /&gt;
&lt;br /&gt;
OSStatus HIComboBoxCreate (&lt;br /&gt;
   const HIRect* boundsRect,&lt;br /&gt;
   CFStringRef text,&lt;br /&gt;
   const ControlFontStyleRec* style,&lt;br /&gt;
   CFArrayRef list,&lt;br /&gt;
   OptionBits inAttributes,&lt;br /&gt;
   HIViewRef* outComboBox&lt;br /&gt;
);&lt;br /&gt;
Parameters&lt;br /&gt;
boundsRect&lt;br /&gt;
The bounding box of the control.&lt;br /&gt;
&lt;br /&gt;
text&lt;br /&gt;
The default text in the editable portion of the control. Can be NULL.&lt;br /&gt;
&lt;br /&gt;
style&lt;br /&gt;
The font style of the both editable text and the text in the disclosure list. Can be NULL.&lt;br /&gt;
&lt;br /&gt;
list&lt;br /&gt;
The default values available in the disclosure list. Can be NULL.&lt;br /&gt;
&lt;br /&gt;
inAttributes&lt;br /&gt;
The default attributes of the combo box. For possible values, see “Combo Box Attributes”.&lt;br /&gt;
&lt;br /&gt;
outComboBox&lt;br /&gt;
On exit, a pointer to a reference for the new control.&lt;br /&gt;
&lt;br /&gt;
Discussion&lt;br /&gt;
The combo box can be used in compositing mode, as well as traditional Control Manager mode.&lt;br /&gt;
When created, this view is invisible. To see the view, you must show the view by calling HIViewSetVisible.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What is used for Linux, Windows, Mac OS X ...build? ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Description of the dependencies]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Windows]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[MacOS X]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Linux]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Solaris]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Content of Aqua ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Click here to see the complete list]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Content of vcl/inc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1) Where to find includes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;foo/bar.hxx&amp;gt; means you can find bar.hxx in the foo module. The new style file is foo/inc/foo/bar.hxx, old style is foo/inc/bar.hxx and sometimes the file is somewhere else in the tree or generated. The deliver process copies/generates the file into solver at solver/680/build_type/inc/foo. Good for fixing broken builds. ;-)&lt;br /&gt;
&lt;br /&gt;
2) &lt;br /&gt;
suffix .h (for C calls or first version?) or .hxx (C++) &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A) Family of includes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Looking more closely at the list brings to the fore (expression from dictionary ;-)) that include names are&lt;br /&gt;
informatives. Most of the time, the name gives the function/role.&lt;br /&gt;
What is interesting is the files with name begining with &amp;quot;sal&amp;quot;. sal means System Abstraction Layer + include&amp;#039;s function (or explicit name). &lt;br /&gt;
&lt;br /&gt;
Partial list, for example:&lt;br /&gt;
&lt;br /&gt;
salatype.hxx&lt;br /&gt;
&lt;br /&gt;
salbmp.hxx&lt;br /&gt;
&lt;br /&gt;
salctrlhandle.hxx&lt;br /&gt;
&lt;br /&gt;
salctype.hxx&lt;br /&gt;
&lt;br /&gt;
salframe.hxx&lt;br /&gt;
&lt;br /&gt;
salgdi.hxx&lt;br /&gt;
&lt;br /&gt;
salgeom.hxx&lt;br /&gt;
&lt;br /&gt;
sallayout.hxx (main header for fonts services)&lt;br /&gt;
...&lt;br /&gt;
salmenu&lt;br /&gt;
salnativewidgets&lt;br /&gt;
...etc&lt;br /&gt;
&lt;br /&gt;
Other important families are &amp;quot;sv&amp;quot; and &amp;quot;uno&amp;quot; or &amp;quot;win&amp;quot; (window) prefixed. sal family will be analysed apart.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;B) Includes of includes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Some includes are more important than other. To prove this, just have a look is sufficient: some are always needed, and some more rarely.&lt;br /&gt;
&lt;br /&gt;
To verify, a simple test to do in vcl/inc:&lt;br /&gt;
&lt;br /&gt;
egrep -H &amp;quot;#include&amp;quot; ./* | wc -l  gives me 681 lines ! And some of them are the same...&lt;br /&gt;
&lt;br /&gt;
To know more, the precedent command line can be modified to make appear the numerous call &lt;br /&gt;
to the same includes files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
egrep -H &amp;quot;#include&amp;quot; ./* | cut -d&amp;quot;#&amp;quot; -f2 | sort &amp;gt; liste.txt&lt;br /&gt;
&lt;br /&gt;
The content of liste.txt is explicit: dllapi.h, sv.h and some other are very important, while some other includes are only one or two times used. We can see too that vos includes are numerous, even if vos is deprecated**&lt;br /&gt;
&lt;br /&gt;
 **see http://wiki.services.openoffice.org/wiki/Source_code_directories&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m nearly sure that a complete analysis of just this result will give us a lot of information.&lt;br /&gt;
&lt;br /&gt;
I propose to change the order of analysis starting with dllapi.h and sv.h.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[to be continued]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;B1) &amp;quot;sal&amp;quot; includes family&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[salinst.hxx]] This seems to be the main include file&lt;br /&gt;
&lt;br /&gt;
[[salatype.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salctrlhandle.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salctype.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salframe.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salgdi.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salgeom.hxx]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[ sallayout.hxx ]]&amp;#039;&amp;#039;&amp;#039; &amp;lt;-- see Native Fonts implementation&lt;br /&gt;
&lt;br /&gt;
[[salgtype.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[vcl/inc/salobj.hxx]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;B2) Classicals includes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
file: abstdlg.hxx [ means abstract dialog ]&lt;br /&gt;
&lt;br /&gt;
This includes does contain the following classes definitions:&lt;br /&gt;
&lt;br /&gt;
[FIXME]: choose a precise presentation template for classes &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VclAbstractDialog,&lt;br /&gt;
&lt;br /&gt;
VclAbstractTerminateDialog, &lt;br /&gt;
&lt;br /&gt;
VclAbstractRefreshableDialog,&lt;br /&gt;
 &lt;br /&gt;
VclAbstractDialogFactory, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uses &amp;lt;tools/solar.h&amp;gt; , &amp;lt;tools/string.hxx&amp;gt; + &lt;br /&gt;
&lt;br /&gt;
&amp;quot;dllapi.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: dllapi.h is very interesting because when we have to find (for example) a library suffix, SAL_DLLEXTENSSION can replace all suffixes (every OS&amp;#039;s and archs). Just including sal/config.h does it ! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Classes:&lt;br /&gt;
&lt;br /&gt;
Window -&amp;gt; what? [FIXME]&lt;br /&gt;
ResId -&amp;gt; what?&lt;br /&gt;
&lt;br /&gt;
Does contain the prototype of VclAbstractDialog, inherit of VCL_DLLPUBLIC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
file: dllapi.h [ dll for dynamic linked library ]&lt;br /&gt;
Uses: &amp;lt;sal/config.h&amp;gt; and &amp;gt;sal/types/h&amp;gt;&lt;br /&gt;
includes: VCL_DLLPUBLIC macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
file: accel.h [ means accelerator ]&lt;br /&gt;
&lt;br /&gt;
Classes:&lt;br /&gt;
&lt;br /&gt;
Accelerator &lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
ImplAccelEntry &lt;br /&gt;
{&lt;br /&gt;
public members: &lt;br /&gt;
&lt;br /&gt;
Names&lt;br /&gt;
&lt;br /&gt;
mnId&lt;br /&gt;
maKeyCode&lt;br /&gt;
mpAccel&lt;br /&gt;
mpAutoAccel&lt;br /&gt;
mbEnabled&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function / returns / parameters&lt;br /&gt;
&lt;br /&gt;
ImplGetKeyCode / void / KeyFuncType eFunc, ref rCode1 , ref rCode2, ref rCode3&lt;br /&gt;
&lt;br /&gt;
file: accel.hxx &lt;br /&gt;
&lt;br /&gt;
Uses: &amp;lt;sv.h&amp;gt; , &amp;quot;dllapi.h&amp;quot; ,&amp;lt;tools/resid.hxx&amp;gt;, &amp;lt;&amp;lt;tools/rc.hxx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Classes:&lt;br /&gt;
&lt;br /&gt;
ImplAccelData;&lt;br /&gt;
ImplAccelEntry;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Progressive implementation]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Native Font server Implementation&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[Mac OS X Porting - Native Fonts]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Native Sound Implementation&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Native Audio and Video]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Native Printing Implementation&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Native_Printing]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Drag and Drop implementation&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Native Drag and drop]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Data Acquisition&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Data Acquisition]]&lt;br /&gt;
&lt;br /&gt;
This work is part of http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s&lt;br /&gt;
&lt;br /&gt;
[to be continued:-) ]&lt;br /&gt;
&lt;br /&gt;
== Keyboard comparizon between OpenOffice.org / Mac OS X  application ==&lt;br /&gt;
&lt;br /&gt;
[FIXME] redo a cleanest array &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:centered; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Modifier||+ key  || Result || TextEdit  returns&lt;br /&gt;
|-&lt;br /&gt;
|ALT|| a||æ ||æ &lt;br /&gt;
|-&lt;br /&gt;
|ALT||b||ß ||ß&lt;br /&gt;
|-&lt;br /&gt;
|ALT||c||© ||©&lt;br /&gt;
|-&lt;br /&gt;
|ALT||d||∂ ||∂&lt;br /&gt;
|-&lt;br /&gt;
|ALT||e||ê ||ê&lt;br /&gt;
|-&lt;br /&gt;
|ALT||f||ƒ ||ƒ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||g ||ﬁ ||ﬁ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||h ||Ì ||Ì&lt;br /&gt;
|-&lt;br /&gt;
|ALT||i ||î ||î&lt;br /&gt;
|-&lt;br /&gt;
|ALT||j ||Ï ||Ï&lt;br /&gt;
|-&lt;br /&gt;
|ALT||k ||È ||È&lt;br /&gt;
|-&lt;br /&gt;
|ALT||l ||¬ ||¬&lt;br /&gt;
|-&lt;br /&gt;
|ALT||m ||µ ||µ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||n ||~ ||~&lt;br /&gt;
|-&lt;br /&gt;
|ALT||o ||œ ||œ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||p ||π ||π&lt;br /&gt;
|-&lt;br /&gt;
|ALT||q ||‡ ||‡&lt;br /&gt;
|-&lt;br /&gt;
|ALT||r ||® ||®&lt;br /&gt;
|-&lt;br /&gt;
|ALT||s ||Ò ||Ò&lt;br /&gt;
|-&lt;br /&gt;
|ALT||t ||† ||†&lt;br /&gt;
|-&lt;br /&gt;
|ALT||u ||º ||º&lt;br /&gt;
|-&lt;br /&gt;
|ALT||v ||◊ ||◊&lt;br /&gt;
|-&lt;br /&gt;
|ALT||w ||‹ ||‹&lt;br /&gt;
|-&lt;br /&gt;
|ALT||x ||≈ ||≈&lt;br /&gt;
|-&lt;br /&gt;
|ALT||y ||Ú ||Ú&lt;br /&gt;
|-&lt;br /&gt;
|ALT||z ||Â ||Â&lt;br /&gt;
|-&lt;br /&gt;
|ALT||A ||Æ ||Æ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||B ||∫ ||∫&lt;br /&gt;
|-&lt;br /&gt;
|ALT||C ||¢ ||¢&lt;br /&gt;
|-&lt;br /&gt;
|ALT||D||∆||∆&lt;br /&gt;
|-&lt;br /&gt;
|ALT||F ||· ||·&lt;br /&gt;
|-&lt;br /&gt;
|ALT||G ||ﬂ ||ﬂ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||H ||Î ||Î&lt;br /&gt;
|-&lt;br /&gt;
|ALT||I ||Î ||Î&lt;br /&gt;
|-&lt;br /&gt;
|ALT||J ||Í ||Í&lt;br /&gt;
|-&lt;br /&gt;
|ALT||K ||Ë ||Ë&lt;br /&gt;
|-&lt;br /&gt;
|ALT||L || &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; ||&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|ALT||M ||Ó ||Ó&lt;br /&gt;
|-&lt;br /&gt;
|ALT||N ||ı ||ı&lt;br /&gt;
|-&lt;br /&gt;
|ALT||O ||Œ ||Œ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||P ||∏ ||∏&lt;br /&gt;
|-&lt;br /&gt;
|ALT||Q ||Ω ||Ω&lt;br /&gt;
|-&lt;br /&gt;
|ALT||R ||‚ ||‚&lt;br /&gt;
|-&lt;br /&gt;
|ALT||S ||∑ ||∑&lt;br /&gt;
|-&lt;br /&gt;
|ALT||T ||™ ||™&lt;br /&gt;
|-&lt;br /&gt;
|ALT||U ||ª ||ª&lt;br /&gt;
|-&lt;br /&gt;
|ALT||V ||√ ||√&lt;br /&gt;
|-&lt;br /&gt;
|ALT||W ||› ||›&lt;br /&gt;
|-&lt;br /&gt;
|ALT||X ||⁄ ||⁄&lt;br /&gt;
|-&lt;br /&gt;
|ALT||Y ||Ÿ ||Ÿ&lt;br /&gt;
|-&lt;br /&gt;
|ALT||Z ||Å ||Å&lt;br /&gt;
|-&lt;br /&gt;
|ALT||$ ||€ ||€&lt;br /&gt;
|-&lt;br /&gt;
|ALT||` ||@ ||@&lt;br /&gt;
|-&lt;br /&gt;
|ALT||£ ||# ||#&lt;br /&gt;
|-&lt;br /&gt;
|ALT||* ||¥ ||¥&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sous réserve d&amp;#039;erreur ou omission [[User:Ericb|Ericb]] 00:05, 14 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericb|Ericb]] 15:00, 22 Jul 2005 (EDT)&lt;br /&gt;
&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
[[Category:Aqua]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_(_X11)_Quality_Assurance&amp;diff=33054</id>
		<title>Mac OS X ( X11) Quality Assurance</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_(_X11)_Quality_Assurance&amp;diff=33054"/>
		<updated>2007-05-23T08:34:16Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: Mac OS X ( X11) Quality Assurance moved to Mac OS X (X11) Quality Assurance&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Mac OS X (X11) Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_(X11)_Quality_Assurance&amp;diff=33053</id>
		<title>Mac OS X (X11) Quality Assurance</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_(X11)_Quality_Assurance&amp;diff=33053"/>
		<updated>2007-05-23T08:34:16Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: Mac OS X ( X11) Quality Assurance moved to Mac OS X (X11) Quality Assurance&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Mac OS X Quality Assurance==&lt;br /&gt;
&lt;br /&gt;
===People ===&lt;br /&gt;
&lt;br /&gt;
====Builds====&lt;br /&gt;
Maho Nakata posts builds to a File Transfer Protocol (ftp) at ooopackages.good-day.net/pub/OpenOffice.org/MacOSX&lt;br /&gt;
====QA (Testing)====&lt;br /&gt;
James McKenzie , Alexis Pigeon, Shaun McDonald, Joerg Sievers ([http://qa.openoffice.org/qatesttool Automation]), Martin Srebotnjak (Slovenian) ... [FIXME] : complete the list&lt;br /&gt;
&lt;br /&gt;
===QA for 2.2===&lt;br /&gt;
&lt;br /&gt;
Description of the process:  Testing of OpenOffice.org is to reproduce actions taken by the ordinary user, either manually (not preferred) or automatically (preferred) test sequences.  The localization project (L10N) also checks all menus and other written items for proper wording for the available languages.&lt;br /&gt;
&lt;br /&gt;
 - How can I help QA OpenOffice on the Mac?&lt;br /&gt;
   First, the OpenOffice.org product is volunteer.  So, you are asked to add your efforts to those of hundreds if not thousands of&lt;br /&gt;
   others who volunteer for coding, testing and production.  Please join the mac@porting.openoffice.org developer&amp;#039;s mailing list&lt;br /&gt;
   and post a message explaining your experience and the language you would like to test.  Reminder:  en_GB is different from&lt;br /&gt;
   en_US.&lt;br /&gt;
 - How current tests are processed&lt;br /&gt;
   The current process for QA of Mac OS X is explained at the TCM site and involves conducting a series of manual tests as well as     &lt;br /&gt;
   automated tests.  If a new release candidate is produced with no changes to the Mac OS X version, we conduct a shortened series&lt;br /&gt;
   of tests called &amp;#039;&amp;#039;&amp;#039;sanity testing&amp;#039;&amp;#039;&amp;#039; to insure no new problems or the recurrence of old problems.&lt;br /&gt;
 - clear rules about QA on Mac OS X.&lt;br /&gt;
   All QA tests should be conducted per instructions on the TCM web site.  All final results are to be entered on the QA Tracker&lt;br /&gt;
   system.  The QA Tracker system allows you to &amp;#039;&amp;#039;&amp;#039;check out&amp;#039;&amp;#039;&amp;#039; a release by language, operating system and platform.  You then&lt;br /&gt;
   may either accept or reject the release candidate.  Release candidates should be rejected if a problem is encountered that&lt;br /&gt;
   cannot be worked around and would cause a user to abandon use of OpenOffice.org IN A PRODUCTION work environment.  This means&lt;br /&gt;
   if Writer suddenly aborts, you must reject the release.  If fonts appear strange on the page, but print ok, this would not&lt;br /&gt;
   result in a reject, but an issue should still be created.&lt;br /&gt;
   This system is also used to track QA testing in process with the name of the person conducting the tests.  Any problems&lt;br /&gt;
   encountered WILL have an Issue opened for them, if new, or updated, if existing, in the Issue Tracker system.  Please input as&lt;br /&gt;
   much information as possible in the Issue Tracker.  At a minimum, you should input the steps needed to replicate the problem&lt;br /&gt;
   you encountered and which release you were using of OpenOffice.org, Mac OS X and X11.  Any additional information you feel&lt;br /&gt;
   that will help a developer fix the problem can be included, such as crash logs, which are found using the Console application&lt;br /&gt;
   and opening the local user Library/logs file and looking for soffice.bin.crash logs.   Please do not post your logs to NoPaste&lt;br /&gt;
   and then enter a link in the Issue, but rather upload the log and add it to the Issue.&lt;br /&gt;
 - links for external information.&lt;br /&gt;
 - recent *all concerned  locales* , with current status     &lt;br /&gt;
   Due to issues with other platforms, the current release candidate rc3 was not approved by Sun as a final release.  However, no&lt;br /&gt;
   issues were found in this candidate that have not been found in prior releases.  &lt;br /&gt;
&lt;br /&gt;
All builds are obtained from a site maintained by Maho Nakata, ooopackages.good-day.net.  Files are located in the pub/OpenOffice.org/MacOSX/2.2rc3_20070306 directory.  Files are named OOo_2.2rc3_20070306_MacOSX&amp;lt;Platform, Intel or PPC&amp;gt;_&amp;lt;iso language code&amp;gt;.dmg.&lt;br /&gt;
&lt;br /&gt;
Status &lt;br /&gt;
 QA for the 2.2 version is underway.  Testing for this version is scheduled to close on March 31, 2007, &amp;lt;br&amp;gt;but we would like to test it quickly to find fixable problems.&amp;lt;br&amp;gt;This date is subject to change as problems are encountered and resolved.&lt;br /&gt;
&lt;br /&gt;
==Mac port Links==&lt;br /&gt;
&lt;br /&gt;
This work is part of http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Extensions_repository&amp;diff=33046</id>
		<title>Extensions repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Extensions_repository&amp;diff=33046"/>
		<updated>2007-05-23T08:24:22Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* List of existing Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Extensions}}&lt;br /&gt;
&lt;br /&gt;
This list provides Extensions that are available for deployment. Some have been tested, some not : Be careful when using them. We can not guarantee them at this level.&lt;br /&gt;
&lt;br /&gt;
If you want to submit some Extensions to be relayed at end-user level through embedded tool, complete this list and send an email on the [mailto:users@extensions.openoffice.org users@extensions.openoffice.org] to inform us that something new is available. Your addon will then be reviewed and you may obtain some feedback on it.&lt;br /&gt;
&lt;br /&gt;
A [[Extensions/website-todo|website is being designed]]. Will be announced when ready - any help appreciated :-)&lt;br /&gt;
&lt;br /&gt;
[[Extensions_repository/Design|Design for Extensions website]]. The design elements which could be used in the extensions website.&lt;br /&gt;
&lt;br /&gt;
For the moment any free licensing is accepted to be listed. [[Extensions_charter|Read the charter]] regarding conditions&lt;br /&gt;
&lt;br /&gt;
If you want to translate an extension, please contact the author. A localization framework will be soon available&lt;br /&gt;
&lt;br /&gt;
== List of existing Extensions ==&lt;br /&gt;
* [http://people.redhat.com/caolanm/PhotoAlbum  PhotoaAlbumMaker]&lt;br /&gt;
:Localized: English - Category: Add-On - License: GPL - OOoVersion: 2.02&lt;br /&gt;
:Description:  Create digital photo albums with OpenOffice.org Impress&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/project/showfiles.php?group_id=87718&amp;amp;package_id=200846  BorderLiner]&lt;br /&gt;
:Localized: English - Category: Tables - License: LGPL - OOoVersion: 2.02&lt;br /&gt;
:Description: An Openoffice.org macro to draw borders in Calc and Writer tables and other objects just with a couple of key strokes&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/project/showfiles.php?group_id=87718&amp;amp;package_id=105792  History Manager]&lt;br /&gt;
:Localized: ?? - Category: ?? - License: ?? - OOoVersion: ??&lt;br /&gt;
:Description:&lt;br /&gt;
&lt;br /&gt;
* [http://www.danielnaber.de/languagetool/ LanguageTool]&lt;br /&gt;
:Localized: English, German, Polish, Dutch, Latvian - Category: Linguistic - License: LGPL - OOoVersion: 2.x&lt;br /&gt;
:Description: Grammar and style checker for English, German, Polish, and Dutch. Initial support for Italian, French, and Spanish. Latvian in preparation.&lt;br /&gt;
&lt;br /&gt;
* [http://www.ooomacros.org/user.php#169339 Multipages]&lt;br /&gt;
:Localized: English, German - Category: UI tool - License: LGPL - OOoVersion: 1.1, 2.0, 2.1&lt;br /&gt;
:Description: An Openoffice.org macro (extension package) to copy, delete, sort, rename  and create multiple document pages automatically&lt;br /&gt;
&lt;br /&gt;
* [http://people.redhat.com/caolanm/oooblogger/ OOOBlogger]&lt;br /&gt;
:Localized: English - Category: Writer Tools - License: ?? - OOoVersion: ??&lt;br /&gt;
:Description :&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/ooosvn OOoSVN]&lt;br /&gt;
:Localized: English - Category: ?? - License: GPL - OOoVersion: 2.0 or later&lt;br /&gt;
:Description: A project to provide change control for OpenOffice.org documents (OpenDocument and *.sx*) via subversion. Transparently checks in internal changes in files and allows users to recover any previous version, view logs and compare with older versions.&lt;br /&gt;
&lt;br /&gt;
* [http://kohei.us/ooo/solver/ Optimization Solver] formerly known as &amp;#039;&amp;#039;LPSolver&amp;#039;&amp;#039;&lt;br /&gt;
:Localized: English - Category: Calc Tools - License: LGPL - OOoVersion: 2.0&lt;br /&gt;
:Description: The Linear and Non-Linear Optimization Solver (or simply the Optimization Solver) is designed to compute an optimized solution that either maximizes or minimizes a given objective of a model while, at the same time, satisfying a set of constraints that may be defined in the model.&lt;br /&gt;
:In this wiki: [[Optimization Solver]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ipd.uka.de/~hauma/svg-import/ SVG Import Filter]&lt;br /&gt;
:Localized: ?? - Category: Add-On - License: LGPL - OOoVersion: 2.0&lt;br /&gt;
:Description: This Add-On provides a filter to enable the importing of SVG images.&lt;br /&gt;
&lt;br /&gt;
* [http://api.openoffice.org/SDK/snippets/SnippetCreator.zip Code Snippet Creator]&lt;br /&gt;
:Localized: ?? - Category: Development tool - License: ?? - OOoVersion: ??&lt;br /&gt;
:Description :&lt;br /&gt;
&lt;br /&gt;
* [http://www.openoffice.org/issues/show_bug.cgi?id=26397 Multisave]&lt;br /&gt;
:Localized: ?? - Category: ?? - License: ?? - OOoVersion: ??&lt;br /&gt;
:Description: A Macro to save a document to multiple format in a few clicks&lt;br /&gt;
&lt;br /&gt;
* [http://en.ooo-info.org/documentation/annotation_tool.html Annotation Tool]&lt;br /&gt;
:Localized: ?? - Category: ?? - License: LGPL - OOoVersion: ??&lt;br /&gt;
:Description: Extension of the note feature in Writer: text highlighting, quick remove of notes&lt;br /&gt;
&lt;br /&gt;
* [http://www.afk-support.no/pakker/afk-it/OpenOffice2/html/ Mathtype Macros]&lt;br /&gt;
:Localized: English - Category: Math tool - License: GPL - OOoVersion: 2.0.x - Platform: Windows&lt;br /&gt;
:Description: Macros for insertion of Mathtype objects in OOo Writer on the Windows platform&lt;br /&gt;
&lt;br /&gt;
* [http://quasiwiki.sourceforge.net/  QuasiWiki]&lt;br /&gt;
:Localized: English - Category: Wiki - License: GPL - OOoVersion: 2.0.x&lt;br /&gt;
:Description: QuasiWiki implements some of the basic principles of wiki in OpenOffice.org Writer. It doesn&amp;#039;t turn OpenOffice.org into a fully fledged wiki tool (hence the &amp;quot;quasi&amp;quot; prefix), but rather adds some wiki-like capabilities.&lt;br /&gt;
&lt;br /&gt;
* [http://quasiwiki.sourceforge.net/  txt2tags extension]&lt;br /&gt;
:Localized: English - Category: Markup - License: GPL - OOoVersion: 2.0.x&lt;br /&gt;
:Description: txt2tags extension allows users to apply [http://txt2tags.sourceforge.net/ txt2tags] markup to the currently opened Writer document.&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/ooop/  OxygenOffice Professional contents for OpenOffice.org as extension]&lt;br /&gt;
:Localized: English, German, Hungarian, French, Italian - Category: Templates, Gallery - License: LGPL - OOoVersion: 2.x&lt;br /&gt;
:Description: Extension version of OxygenOffice Professional&amp;#039;s extra contents for OpenOffice.org like templates and galleries.&lt;br /&gt;
:Download: [http://sourceforge.net/project/showfiles.php?group_id=170021&amp;amp;package_id=208656] Direct link for extension downloads&lt;br /&gt;
:Last update: February 14, 2007&lt;br /&gt;
&lt;br /&gt;
* [http://de.openoffice.org/unbranded-source/browse/*checkout*/de/documentation/vorlagen/vorlagen_de_opendoc.oxt  German template collection]&lt;br /&gt;
:Localized: German - Category: Templates - License: LGPL - OOoVersion: 2.1&lt;br /&gt;
:Description: a collection of German templates hosted by the [http://de.openoffice.org Germanophone project]&lt;br /&gt;
&lt;br /&gt;
* [http://ooolilypond.sourceforge.net/ LilyPond for OpenOffice.org]&lt;br /&gt;
:Localized: English - Category: Music - License: ? Version: 2.1 [OOoLilyPond is a macro for OpenOffice.org that simplifies the integration of music notation in OpenOffice.org Writer of Impress. It can be used to write a book on music theory or to write down exercises for music instruments or voices which need to be commented with lots of text.]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ooomacros.org/user.php#216044 Pagination]&lt;br /&gt;
:Localized: French, English - Category: Writer Add-On - License: LGPL - OOoVersion: 2.x&lt;br /&gt;
: Description: A macro to simplify the commands to paginate a document. Brings up a dialog box where you can choose among some options (position, first number, etc.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.ooomacros.org/user.php#217442 Calendrier]&lt;br /&gt;
: Localized: French, English - Category: Writer Add-On - License: LGPL - OOoversion: 2.0.4&lt;br /&gt;
: Description: A tool to create calendar pages for one month or for one year.&lt;br /&gt;
&lt;br /&gt;
* [http://writerforwriters.blogspot.com/2007/03/email-backup-extension-for.html  Email Backup extension]&lt;br /&gt;
:Localized: English - Category: Markup - License: GPL - OOoVersion: 2.0.x&lt;br /&gt;
:Description: Using the Email Backup extension, you can quickly email a backup copy of the currently opened OpenOffice.org document to a specified email address.&lt;br /&gt;
&lt;br /&gt;
== Others Extensions Lists ==&lt;br /&gt;
* [http://linguistico.sf.net/wiki/doku.php?id=ext:estensioni Extensions on linguistico wiki] (in Italian language)&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide/Building_on_MacOSX&amp;diff=30187</id>
		<title>Documentation/Building Guide/Building on MacOSX</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide/Building_on_MacOSX&amp;diff=30187"/>
		<updated>2007-04-15T20:20:53Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: Removed plenks http://en.wikipedia.org/wiki/Plenk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:20px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;PLEASE WAIT:  RESYNC WITH  Mxxx IN PROGRESS&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;This document tries to wrap-up the build process for [[OpenOffice.org]] on Mac OS X using the native windowing-toolkit of the platform named Aqua.&amp;#039;&amp;#039;&amp;#039; &amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An important goal is to get the demonstration programs &amp;quot;svdem&amp;quot; up and running. They act as a fairly good starting point to further endeavours, since they are used to test the capabilities of the underlying [[VCL]] layer. If this is achieved, one can build and Install the full-fledged OpenOffice.org Package. The purpose of this document is to describe the cumbersome build process of OpenOffice.org rather than to give a kickstart in the coding involved to get VCL ported to Carbon. A starting point for this is Pierre de Filippis excellent [[Intro To Mac Porting]].&lt;br /&gt;
&lt;br /&gt;
I use the bash shell in all examples, since to my belief users of the C-shell are smart enough to figure out the differences anyway. If you want to dig deeper into the build process, please have a look at the description of the build environment here: [http://tools.openoffice.org/build_env.html Open OfficeBuild Environment].&lt;br /&gt;
&lt;br /&gt;
Many thanks for help and assistance go to Pavel Janik and Eric Bachard.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
This document was derived from the description of the X11 build thanksworthy provided by Eric Hoch in this document: [[MacOSXBuildInstructions]]. Here I like to outline the things you need to build the Aqua Version (besides the OS). &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:red; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Mandatory &amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
==== Xcode ====&lt;br /&gt;
&lt;br /&gt;
This is (with GNU cp, soon optional) the only mandatory part to be installed to build Aqua version of OpenOffice.org.&lt;br /&gt;
&lt;br /&gt;
Current verified working version is XCode 2.4.1&lt;br /&gt;
&lt;br /&gt;
If you really cannot use XCode 2.4.1 nor XCode 2.4:&lt;br /&gt;
&lt;br /&gt;
Xcode 2.2, 2.3 are known to work for Aqua development. If any earlier versions work as well, please add them here.&lt;br /&gt;
&lt;br /&gt;
==== X11SDK  (soon optional) ==== &lt;br /&gt;
&lt;br /&gt;
A dependency for Mozilla plugin needs some prototype defined in some Xllib.h header. &lt;br /&gt;
&lt;br /&gt;
Please note, this dependency is not needed in runtime, but only at buildtime. &lt;br /&gt;
&lt;br /&gt;
X11SDK.pkg archive is located in your Tiger&amp;#039;s DVD, and has to be installed in the case of you&amp;#039;re using Mozilla prebuild archives&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;This issue should be fixed soon.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;div align=&amp;quot;left&amp;quot; style=&amp;quot;color:blue; font-size:18px&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039; Strongly recommended&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
==== ccache ====&lt;br /&gt;
If you intend to build several times OpenOffice, you probably can benefit of ccache. ccache will speed up your future builds. The first time you make a build with ccache you won&amp;#039;t notice it, but then the build will go up to five times faster.&lt;br /&gt;
&lt;br /&gt;
You can install it using fink. It is simply named &amp;quot;ccache&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
If you don&amp;#039;t use fink, you can download it and build it yourself using the source provided at http://ccache.samba.org/&lt;br /&gt;
&lt;br /&gt;
Then, in order to use it, you need to change the following environment variables (using bash):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
Means you can safely ignore them.&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
&lt;br /&gt;
Excepted if you really know what you are doing, a correct Java version including SDK is normally installed with XCode.&lt;br /&gt;
&lt;br /&gt;
==== The perl module Archive::Zip (optional) ====&lt;br /&gt;
&lt;br /&gt;
Nothing is needed anymore with recent versions of XCode (means: not needed with XCode 2.4 at least).&lt;br /&gt;
&lt;br /&gt;
If you still have issues doing configure because of that, please install Archive::Zip repecting the instructions below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
perl -MCPAN -eshell&lt;br /&gt;
install Archive::Zip&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpc (optional) ====&lt;br /&gt;
GPC is available here: ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z&amp;gt;&lt;br /&gt;
Attention: Direct Link to the download but it&amp;#039;s only a few hundred KB.&lt;br /&gt;
Note: You can alternatively use the libart_lgpl library instead of GPC. This requires an additional configure flag (--enable-libart) and a precompiled libart library installed in a standard location, such as /usr/lib.&lt;br /&gt;
&lt;br /&gt;
==== pkg-config (optional) ====&lt;br /&gt;
&lt;br /&gt;
Nothing to install on Aqua build, since --disable-gtk is forced&lt;br /&gt;
&lt;br /&gt;
Called &amp;#039;&amp;#039;pkgconfig&amp;#039;&amp;#039; in Fink.&lt;br /&gt;
&lt;br /&gt;
pkg-config can be found here: http://pkgconfig.freedesktop.org/wiki/&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Some Background (what is aquavcl01, EIS)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== EIS ===&lt;br /&gt;
OpenOffice sources are basically kept in the CVS server located at anoncvs.services.openoffice.org. However this repository is managed by a database on top called EIS (Environment Information System) which is used to keep track of Master- and Client Workspaces. Master Workspaces are used to keep track of changes going back of the mainline trunk and undergo extensive QA-cycles. These Master Workspaces are driven to official releases. Child workspaces in contrast are copies of certain Master Workspaces used to develop and test bugfixes and additional functionality. These Child Workspaces are later (hopefully) merged back to mainlain Master Workspaces. The TX20 Report mentioned in the Links section gives a very good overview about the overall process. To learn more about Childworkspaces (CWS) have a look here: [[CWS]]. &lt;br /&gt;
&lt;br /&gt;
Go to EIS http://eis.services.openoffice.org/EIS2/servlet/Logon and Logon as guest/guest to get yourself an impression. You can find information about the different workspaces, their dates and times there. &lt;br /&gt;
&lt;br /&gt;
=== VCL (Visual Class Libraries) ===&lt;br /&gt;
&lt;br /&gt;
Porting OpenOffice.org to a new Windowing Toolkit is mostly porting of the OpenOffice&amp;#039;s VCL Layer (Visual Class Libraries) to the new platforms toolkit. The VCL-Layer is responsible of mapping the OpenOffice Application calls to the windowing toolkit.&lt;br /&gt;
&lt;br /&gt;
The (native) OpenOffice port to MacOSX using the Aqua Windowing Toolkit is developed in a child workspace called &amp;#039;&amp;#039;&amp;#039;aquavcl01&amp;#039;&amp;#039;&amp;#039;. This child workspace consists of the modules (aka subdirs): canvas dtrans extensions freetype padmin scp2 sj2 solenv vcl.&lt;br /&gt;
&lt;br /&gt;
The basic approach to prepare a developer&amp;#039;s client system to successfully build OpenOffice/Aqua is the following:&lt;br /&gt;
&lt;br /&gt;
# checkout a given OpenOffice Milestone.&lt;br /&gt;
# checkout aquavcl01 Child Workspace.&lt;br /&gt;
# merge them together.&lt;br /&gt;
# apply the latest patches.&lt;br /&gt;
&lt;br /&gt;
The last point here is a cumbersome but nevertheless necessary operation, since this porting project is in flux. Thanks to Pavel and many others improvements are happening at tremendous pace at the moment. All of these improvements get distributed as patches/diffs against aquavcl01. Aquavcl01 needs to remain stable all the time, therefore the team needs to work on this patch-by-patch aproach at the moment.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Getting the code (checkout, merge and patch the puppy)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Now let&amp;#039;s have a look what to check-out and where. All these milestone numbers below highly depend on the given point-in-time. The current milestone as of now (April 11th 2007) is m208. You may change this to your needs. You can find the current milestone of each cws in the EIS database.&lt;br /&gt;
&lt;br /&gt;
You also need to bear in mind that you have to access to the CVS-Server&amp;#039;s default port (2401). If a firewall stop&amp;#039;s you here you have to setup a CVS-Tunnel.&lt;br /&gt;
&lt;br /&gt;
==== create a directory for a given milestone, setup CVS access: ==== &lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 mkdir src680-m208&lt;br /&gt;
 cd src680-m208&lt;br /&gt;
 &lt;br /&gt;
 export CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs&lt;br /&gt;
 cvs login&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Please Enter the password &amp;#039;anoncvs&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== checkout Milestone m208 (1,5 GB): ==== &lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 cvs -z3 co -r SRC680_m208 OpenOffice2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Once done, you&amp;#039;ll obtain milestone 208. this not exactly what we want, because all changes concerning aquavcl01 Child workspace are not included. To complete, we need to check aquavcl01 changes.&lt;br /&gt;
&lt;br /&gt;
==== checkout Aquavcl01 (50 MB): ==== &lt;br /&gt;
&lt;br /&gt;
1) First possibility: create a dedicated tree (cool backup)&lt;br /&gt;
&lt;br /&gt;
To check aquavcl01 Child workspace, the most simple is to create aquavcl01 directory, and go inside this dir&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 mkdir aquavcl01-src &lt;br /&gt;
 &lt;br /&gt;
 cd aquavcl01-src&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 (assuming you already did cvs login ..etc)&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 cvs -z3 co -r cws_src680_aquavcl01 OpenOffice2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
 The following modules will be present at the end:&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: lightyellow; border: 1px red dashed; padding: 3px 0 3px 15px;&amp;quot;&amp;gt;&lt;br /&gt;
canvas&lt;br /&gt;
&lt;br /&gt;
extensions&lt;br /&gt;
&lt;br /&gt;
fpicker&lt;br /&gt;
&lt;br /&gt;
padmin&lt;br /&gt;
&lt;br /&gt;
sal&lt;br /&gt;
&lt;br /&gt;
scp2&lt;br /&gt;
&lt;br /&gt;
sfx2&lt;br /&gt;
&lt;br /&gt;
solenv&lt;br /&gt;
&lt;br /&gt;
dtrans&lt;br /&gt;
&lt;br /&gt;
freetype&lt;br /&gt;
&lt;br /&gt;
psprint&lt;br /&gt;
&lt;br /&gt;
sj2&lt;br /&gt;
&lt;br /&gt;
vcl&lt;br /&gt;
&lt;br /&gt;
toolkit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All these modules are the ones we modified to create the native version:  they all are tagged &amp;quot;aquavcl01&amp;quot; (see all CVS/Tag files in the tree) and all you have to do is either rename or delete the one located in src680-m202 and replace them with the one located in aquavcl01-src.&lt;br /&gt;
&lt;br /&gt;
e.g. : canvas in src680-m208 will become canvas_m208 , and then, cp canvas from aquavcl01-src into src-m208&lt;br /&gt;
&lt;br /&gt;
This applies for all the modules listed above.&lt;br /&gt;
&lt;br /&gt;
2) Second possibility: use a little script to extract changes: extract_aquavcl01.sh&lt;br /&gt;
&lt;br /&gt;
This shell script, located in src680-m208 will contain:&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
list=&amp;quot;canvas extensions fpicker padmin scp2 sfx2 solenv dtrans freetype psprint sj2 vcl sal toolkit&amp;quot;&lt;br /&gt;
for i in $list ;  do &lt;br /&gt;
   mv $i $i-m208&lt;br /&gt;
   cvs -z3 co -r cws_src680_aquavcl01 $i&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then chmod +x extract_aquavcl01.sh&lt;br /&gt;
&lt;br /&gt;
and run it:&lt;br /&gt;
&lt;br /&gt;
./extract_aquavcl01.sh&lt;br /&gt;
&lt;br /&gt;
When finished, and if no problem occurs, you should have a complete tree.&lt;br /&gt;
&lt;br /&gt;
=== One-Time preparations and scripts ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice building gets configured by the popular open-source configuration-management package &amp;#039;autoconf&amp;#039;. So you can do your beloved &amp;#039;./configure&amp;#039; command, but in our case this is done in the &amp;#039;config_office&amp;#039; subdirectory. To save the configure parameters and use them with different milestones I used to link-in my shellscript to fire up the ./configure line.&lt;br /&gt;
&lt;br /&gt;
My directory-structure looks like this:&lt;br /&gt;
&lt;br /&gt;
 bin/&lt;br /&gt;
 src680-m182/&lt;br /&gt;
 src680-m196/&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Now I go to the &amp;#039;config_office&amp;#039; subdir and link in my startscript:&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 cd src680-m208/config_office/&lt;br /&gt;
 ln -s ../../bin/build.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
And this is how &amp;#039;build.sh&amp;#039; looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 export BASE=`pwd|sed &amp;#039;s/\/config_office//&amp;#039;`&lt;br /&gt;
 export OOVERSION=`echo $BASE|sed &amp;#039;s/^\/.*\///&amp;#039;`&lt;br /&gt;
 echo Building from     : $BASE&lt;br /&gt;
 echo OpenOffice Version: $OOVERSION&lt;br /&gt;
 ./configure \&lt;br /&gt;
 --with-lang=&amp;quot;de en-US&amp;quot; \&lt;br /&gt;
 --with-jdk-home=/Library/Java/Home/ \&lt;br /&gt;
 --with-epm=internal \&lt;br /&gt;
 --disable-mozab \&lt;br /&gt;
 --disable-odk \&lt;br /&gt;
 --disable-pasf \&lt;br /&gt;
 --disable-gtk \&lt;br /&gt;
 --disable-mozilla \&lt;br /&gt;
 --with-build-version=$OOVERSION-`date +%d-%m-%y` \&lt;br /&gt;
 --disable-fontconfig \&lt;br /&gt;
 --disable-neon \&lt;br /&gt;
 --without-nas&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--disable-odk will avoid you to download some windows dll which is not needed for aqua-build.&lt;br /&gt;
&lt;br /&gt;
--disable-pasf: pasf stands for Portable Audio System file. As we want to use system library rather than portable ones, we disabled this. However, at this time not all functionality will be available with pasf disabled. You might willing to use --with-pasf if you want working audio in your build.&lt;br /&gt;
&lt;br /&gt;
--without-nas: nas stands for Network Audio System, it uses X11, if you want to use it in your build, just remove this flag. You will need to install the X11 package provided in your CDs/DVD Mac OS X installation. X11 SDK from xCode tools is not required for build this.&lt;br /&gt;
&lt;br /&gt;
This is allowedly a pretty much limited setup, but my overall goal is to get people to have &amp;#039;svdem&amp;#039; build to start coding rather than to have a production ready build for the final release. Therefore I switched off most of the stuff. How these offical builds are done in the long run is to be decided when we get there.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;List of Patches for a given Milestone&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Here is a list of Patches one has to apply against a given Milestone of SRC680 (including CWS aquavcl01). Please keep the older Milestones here, since people are probably still on these Versions.&lt;br /&gt;
                       &lt;br /&gt;
&lt;br /&gt;
 PLEASE NOTE: &amp;#039;&amp;#039;&amp;#039;Current milestone for Aqua build is m208&amp;#039;&amp;#039;&amp;#039;  (older milestones are deprecated)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Milestone || Patch to apply || Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;deprecated m202&amp;#039;&amp;#039;&amp;#039;                  || &amp;#039;&amp;#039;&amp;#039;Modify the Bundle using Oliver&amp;#039;s patch&amp;#039;&amp;#039;&amp;#039; =&amp;gt; see below || Works fine&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;deprecated m202&amp;#039;&amp;#039;&amp;#039;                  || see [[List of Patches requiring testing before for integration]]  || work in progress&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;List of Patches requiring testing before for integration&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
All patches that developers have that need testing or peer review should be added here.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Modify the Bundle&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Soon included in the sources&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
[[http://www.openoffice.org/nonav/issues/showattachment.cgi/44379/aquabundle3.diff Oliver patch ]]to modify the bundle, and make Aqua build start with a simple double clic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
salatslayout.cxx: new implementation of text layout has to be tested.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Native FilePicker&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note: This is experimental stuff, and we suppose aquavcl01 is built and aqua bundle works (X11 backport in progress)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
1) Download  [http://eric.bachard.free.fr/mac/aquavcl/patches/filepicker/23_02_07/aquafilepicker01_complete2.diff this patch]&lt;br /&gt;
&lt;br /&gt;
2) put it in your root sources dir&lt;br /&gt;
&lt;br /&gt;
3) apply it:&lt;br /&gt;
&lt;br /&gt;
test first:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
patch --dry-run -p0&amp;lt;aquafilepicker01_complete2.diff &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If no problem occurs, apply it for true:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0&amp;lt;aquafilepicker01_complete2.diff &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) replace fpicker from aquavcl01 with fpicker from aqufilepicker01&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv fpicker fpicker_aquavcl01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(supposing your CVSROOT ..etc is correct) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cvs -z4 co -r cws_src680_aquafilepicker01 fpicker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) in scp2, sfx2, fpicker: &amp;#039;&amp;#039;&amp;#039;remove&amp;#039;&amp;#039;&amp;#039; unxmacx{p | i}.pro ,  &amp;#039;&amp;#039;&amp;#039;rebuild&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;deliver&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
6) recreate a new bundle (build instsetoo_native , install the .dmg, run Paval fix_installed_OOO script ..)&lt;br /&gt;
&lt;br /&gt;
7) activate native fpicker:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WARNING&amp;#039;&amp;#039;&amp;#039;: don&amp;#039;t use Mac tools for that, but &amp;#039;&amp;#039;&amp;#039;correct&amp;#039;&amp;#039;&amp;#039; text editor. Else the following changes will FAIL, and corrupt your OpenOffice.org preferences&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; add or &amp;#039;&amp;#039;&amp;#039;adjust&amp;#039;&amp;#039;&amp;#039; this, keeping in mind &amp;#039;&amp;#039;&amp;#039;only one Misc section can be used&amp;#039;&amp;#039;&amp;#039; (but several properties are possible in Misc):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;node oor:name=&amp;quot;Misc&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;prop oor:name=&amp;quot;UseSystemFileDialog&amp;quot; oor:type=&amp;quot;xs:boolean&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/prop&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
in ~/Library/Application Support/OpenOffice.org/2/user/registry/data/org/openoffice/Office/Common.xcu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If unsure, make a backup of your file and use this:  [http://eric.bachard.free.fr/mac/aquavcl/patches/filepicker/23_02_07/Common.xcu  Common.xcu]&lt;br /&gt;
&lt;br /&gt;
8) enjoy:)&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Known build issues&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(deprecated) m200&amp;#039;&amp;#039;&amp;#039;: Breakage in instsetoo_native &lt;br /&gt;
&lt;br /&gt;
See [http://eric.bachard.free.fr/mac/aquavcl/patches/m200_aquavcl01/instsetoo_native_util_makefile.mk.diff  Fix for instsetoo_native breakage]&lt;br /&gt;
&lt;br /&gt;
how apply the patch ?&lt;br /&gt;
&lt;br /&gt;
Place it in &amp;lt;install_dir&amp;gt;/instsetoo_native/util&lt;br /&gt;
&lt;br /&gt;
type:&lt;br /&gt;
&lt;br /&gt;
patch -p0&amp;lt;instsetoo_native_util_makefile.mk.diff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
m196:  Breakage in pyuno &lt;br /&gt;
&lt;br /&gt;
See [http://www.openoffice.org/issues/show_bug.cgi?id=72372 pyuno not found]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workaround&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1) either use the patch provided in issue 72372&lt;br /&gt;
&lt;br /&gt;
2) or simply do (in the same terminal, or please source the environment before):&lt;br /&gt;
&lt;br /&gt;
cd bridges &lt;br /&gt;
build &amp;amp;&amp;amp; deliver&lt;br /&gt;
cd ../pyuno&lt;br /&gt;
build &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; pyuno should build without any problem&lt;br /&gt;
&lt;br /&gt;
cd .. &amp;amp;&amp;amp; dmake &lt;br /&gt;
&lt;br /&gt;
will complete your build&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[User:Ericb|Ericb]] 21:43, 11 April 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Doing the build (about 4,5 GB)&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Fine, now we have a (hopefully) working &amp;#039;build.sh&amp;#039; in the config_office subdir. We need to run it beforehand:&lt;br /&gt;
&lt;br /&gt;
 cd src680-m202/config_office/&lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
This will setup the necessary includefiles and create a couple of files in the &amp;#039;&amp;#039;&amp;#039;parent&amp;#039;&amp;#039;&amp;#039; directory (bootstrap, MacOSXPPCEnv.Set.sh, MacOSXPPCEnv.Set). If you are using the sh, ksh or bash you only need to take care for &amp;#039;MacOSXPPCEnv.Set.sh&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Now we need to get back to our base-directory, run the bootstrap script, source our Enviroment (MacOSXPPCEnv.Set.sh) and finally start the build-process:&lt;br /&gt;
&lt;br /&gt;
On PowerPC:&lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 source MacOSXPPCEnv.Set.sh&lt;br /&gt;
 time dmake&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Or (on Mac Intel): &lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 source MacOSXX86Env.Set.sh&lt;br /&gt;
 time dmake&lt;br /&gt;
&lt;br /&gt;
The main purpose of the &amp;#039;&amp;#039;&amp;#039;boostrap&amp;#039;&amp;#039;&amp;#039; script is to build (if necessary) the dmake utility used. Dmake once was a unix make-clone made by wticorp but got incorporated into OpenOffice since it was orphaned. For more information about dmake, it&amp;#039;s history and manpage have a look here: http://tools.openoffice.org/dmake/index.html&lt;br /&gt;
&lt;br /&gt;
Sourcing MacOSXPPCEnv.Set.sh is very important not only for building but also for &amp;#039;&amp;#039;&amp;#039;running&amp;#039;&amp;#039;&amp;#039; svdem later on. Here all the Environment-Variables for the Build will be set up. For a detailed description see [[Environment_Variables]]. Please note that on Intel machines, &amp;#039;MacOSXPPCEnv.Set&amp;#039; should be substituted with &amp;#039;MacOSXX86Env.Set&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
This Build process takes on my box (Dual 1.8 GHz G5, 1.5GB RAM) roughly 10 hours. Be patient. What can you do meanwhile? Do this:&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 while true ; do find . -maxdepth 1 -type d -anewer MacOSXPPCEnv.Set.sh |wc -l ; sleep 5; done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and wait till the number reaches 174&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Creating Debug-Versions of Modules&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;pre&amp;gt; Important: a new section about use XCode for OpenOffice.org debug has been created.&lt;br /&gt;
 See:&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MacOSX_Debug_OpenOffice.org_using_XCode]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Is it possible to build the complete set with symbols included ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Currently not possible, and not advised.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; is it possible to build some modules with symbols ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Yes, and that&amp;#039;s the simplest way to proceed. Some modules, like sal and vcl can be rebuilt using debug.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
To rebuild sal with symbols included, do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
cd sal&lt;br /&gt;
rm -rf unxmacxp.pro&lt;br /&gt;
build debug=true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and recopy the libs into the bundle. gdb will display the symbols, and make your life easier.&lt;br /&gt;
&lt;br /&gt;
Note:  debug string is tested, and DEBUG is active when debug string is not empty. So debug=t works too.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; How change gdb options, and use e.g. -g -ggdb or -gdwarf-2  ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To rebuild the module, you just have to modify the option in solenv/inc/unxmacx.mk, replacing -g with -ggdb&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Known issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 Sometimes a build error, or a runtime error, may be seen in the normal build,  &lt;br /&gt;
 but the error goes away when --enable-debug is used or if the module is compiled with debug=true. &lt;br /&gt;
&lt;br /&gt;
The DEBUG build turns off optimisation, so this is a hint that compiler optimisation causes the error.&lt;br /&gt;
&lt;br /&gt;
The error might be due to incorrect code or a compiler fault.  Such errors might not be seen on all platforms, &lt;br /&gt;
&lt;br /&gt;
and might not be seen in different compiler versions on one platform.&lt;br /&gt;
&lt;br /&gt;
If the code can not be fixed there is a workaround using NOOPTFILES to build specified files with no optimisation.&lt;br /&gt;
 &lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
jvmfwk on Mac OS X: build jvmfwk in m183 on Mac OS X Intel leads to Bus Error when javaldx is run.&lt;br /&gt;
&lt;br /&gt;
Solution: use trial and error to rebuild individual files with debug=true. This proves the problem lies with vendorbase.cxx&lt;br /&gt;
&lt;br /&gt;
Have a look in sc/source/core/data/makefile.mk for an example to use NOOPTFILES&lt;br /&gt;
&lt;br /&gt;
To solve our problem: just add: NOOPTFILES= $(SLO)$/vendorbase.obj in the corresponding makefile.&lt;br /&gt;
&lt;br /&gt;
Take care in case some .IF is needed to prevent interference with other platforms.&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s some additional information around debugging on Christians Page [[User:CL#2006-09-03]]&lt;br /&gt;
&lt;br /&gt;
== Building and running svdem ==&lt;br /&gt;
&lt;br /&gt;
We want to run the demonstration programs called &amp;quot;svdem&amp;quot;. There are a couple of binaries called &amp;quot;svdem&amp;quot;, which area they cover is still somewhat unclear to me, I hope some of you guys can shed some light here. But hey, this is a wiki! Just correct here:-).&lt;br /&gt;
&lt;br /&gt;
==== svdem from VCL ====&lt;br /&gt;
To have the VCL Testprogram build you have to do:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[FIXME] replace this scetion with the same, but about svdem from svtools&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 cd vcl; build --all&lt;br /&gt;
&lt;br /&gt;
This should have created a file called &amp;quot;svdem&amp;quot; here: vcl/unxmacxp.pro/bin/svdem. If you managed to build these binaries, you are nearly there. What you need now, is a wrapper directory structure to make this binary a fellow Mac OSX application. I mean the ones which have this structure:&lt;br /&gt;
&lt;br /&gt;
 svdem.app/&lt;br /&gt;
 svdem.app/Contents&lt;br /&gt;
 svdem.app/Contents/Info.plist&lt;br /&gt;
 svdem.app/Contents/MacOS&lt;br /&gt;
 svdem.app/Contents/MacOS/applicat.rdb&lt;br /&gt;
 svdem.app/Contents/MacOS/svdem&lt;br /&gt;
&lt;br /&gt;
You can basically create this structure anywhere you want. And you can link-in the file you just created (svdem). So you build up this structure once and link-in the freshly created svdem there:&lt;br /&gt;
&lt;br /&gt;
 ls -l svdem applicat.rdb&lt;br /&gt;
 svdem -&amp;gt; /opt/src/openoffice/src680-m202/vcl/unxmacxp.pro/bin/svdem&lt;br /&gt;
 applicat.rdb -&amp;gt; /opt/src/openoffice/src680-m202/vcl/unxmacxp.pro/bin/applicat.rdb&lt;br /&gt;
&lt;br /&gt;
Now only the Info.plist file is missing, so here we go:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[xml,N]&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple Computer//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dict&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleDevelopmentRegion&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;English&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleDisplayName&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;SvDem&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleExecutable&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;svdem&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleIdentifier&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;com.yourcompany.svdem&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleInfoDictionaryVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;6.0&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundlePackageType&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;APPL&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleSignature&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;????&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;CFBundleVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;string&amp;gt;1.0&amp;lt;/string&amp;gt;&lt;br /&gt;
         &amp;lt;key&amp;gt;LSRequiresCarbon&amp;lt;/key&amp;gt;&lt;br /&gt;
         &amp;lt;true/&amp;gt;&lt;br /&gt;
 &amp;lt;/dict&amp;gt;&lt;br /&gt;
 &amp;lt;/plist&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you created the directory structure properly you can do &amp;#039;./svdem&amp;#039; in the &amp;#039;svdem.app/Contents/MacOS/&amp;#039; directory. You should see the svdem coming up.&lt;br /&gt;
&lt;br /&gt;
==== svdem from svtools ====&lt;br /&gt;
* Copy the application package you created for the vcl svdem.&lt;br /&gt;
* Source your MacOSX[PPC-X86]Env.Set.sh&lt;br /&gt;
* Go into svtools/workben&lt;br /&gt;
* build svdem using dmake in the workben directory&lt;br /&gt;
* link the svdem and applicat.rdb from Contents/MacOS to the ones located in svtools/unxmacxp.pro/bin&lt;br /&gt;
&lt;br /&gt;
You are done: you can now source your environment and run svdem using your usual shell.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Installing, preparing and running OpenOffice.org&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
Here I like to outline the steps to run OpenOffice.org after a successful build from the sources. Running the native Aqua Version of OpenOffice.org is somewhat tricky at the moment, since the installation procedure and mode are not in their final state. So right now one has to manually do some preparations to run the Office suite. This will change in the future when we are about to release some Alpha Builds to a wider audience.&lt;br /&gt;
&lt;br /&gt;
=== Drag &amp;amp; Drop Install the Application from the Diskimage ===&lt;br /&gt;
&lt;br /&gt;
When you are one of the lucky few (Don&amp;#039;t give up, Eric!), who have a successful build, you are going to see something like this as the last lines of the build:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 ......................................................................................................................................................&lt;br /&gt;
    (CRC32 $11685D33: DiscRecording 3.1.3f2 (Apple_HFS: 2))&lt;br /&gt;
 Ressourcen hinzufügen…&lt;br /&gt;
 ......................................................................................................................................................&lt;br /&gt;
 Dauer: 15.406s&lt;br /&gt;
 Dateigröße: 144732418 Bytes, Prüfsumme: CRC32 $14E0BB67&lt;br /&gt;
 Bearbeitete Sektoren: 773848, 773845 komprimiert&lt;br /&gt;
 Geschwindigkeit: 24.5M Bytes/Sek&lt;br /&gt;
 Ersparnis: 63.5 %&lt;br /&gt;
 created: /opt/src/openoffice/src680-m202/instsetoo_native/unxmacxp.pro/OpenOffice/install/de/OpenOffice.org-2.2_de.dmg&lt;br /&gt;
&lt;br /&gt;
In this final step the &amp;quot;&amp;quot;instsetoo_native&amp;quot;&amp;quot; target creates the install Diskimages using Apple&amp;#039;s &amp;#039;hdiutil&amp;#039;. In my case it gives its output in German. After this disk image(s) have been created, double click the disk image to mount it (or type open &amp;lt;path to the DMG Image&amp;gt;) , and then move the icon named &amp;quot;OpenOffice.org 2.2&amp;quot; to your &amp;#039;&amp;#039;Applications&amp;#039;&amp;#039; folder (or any other folder you want this program to reside). The &amp;quot;OpenOffice.org 2.1&amp;quot; icon shown in the Finder is in fact a subdirectory called &amp;quot;OpenOffice.org 2.2.app&amp;quot;. Subdirectories named &amp;quot;.app&amp;quot; (along with some well-know files inside like Info.plist, etc) are called &amp;#039;&amp;#039;Bundles&amp;#039;&amp;#039; in Apple&amp;#039;s lingo.&lt;br /&gt;
&lt;br /&gt;
=== Prepare the installation [OPTIONAL]===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Use Oliver&amp;#039;s patch at buildtime instead (see above) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
After the OpenOffice 2.2 Application has been copied to its destination, you have to go into this bundle and run a small shell script provided by Pavel Janik to prepare soffice.bin (OpenOffice.org launcher) for running. You have to run this script in the directory where a Universal Binary called &amp;quot;droplet&amp;quot; is located. This &amp;quot;droplet&amp;quot; binary was used to fire-off the X11 version of OpenOffice.org. Expect this to change, but as of now we have to do it like this.&lt;br /&gt;
&lt;br /&gt;
I have put my OpenOffice.org build in my home directory&amp;#039;s private &amp;quot;Application&amp;quot; folder (/Users/schmidtm/Applications), so please change this path to your installation. Now go to into the bundle and run the script:&lt;br /&gt;
&lt;br /&gt;
 cd /Users/schmidtm/Applications/OpenOffice.org 2.2.app/Contents/MacOS&lt;br /&gt;
 /opt/src/openoffice/bin/fix_installed_OOo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[bash,N]&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 [ ! -f droplet ] &amp;amp;&amp;amp; {&lt;br /&gt;
     echo &amp;quot;Please run me in the directory, where binary named droplet is located.&amp;quot;&lt;br /&gt;
     exit 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 mv THIRDPARTYLICENSEREADME.html help presets share ..&lt;br /&gt;
 mv droplet droplet.orig&lt;br /&gt;
 mv program/* .&lt;br /&gt;
 rmdir program&lt;br /&gt;
 &lt;br /&gt;
 cd ..&lt;br /&gt;
 ln -sf MacOS program&lt;br /&gt;
 sed &amp;#039;s#droplet#soffice.bin#&amp;#039; Info.plist &amp;gt;Info.plist.new&lt;br /&gt;
 mv Info.plist.new Info.plist&lt;br /&gt;
 cd MacOS&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run the soffice.bin ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
We&amp;#039;re nearly through, let&amp;#039;s fire-off the binary:&lt;br /&gt;
&lt;br /&gt;
==== Native menus, native menubar ====&lt;br /&gt;
&lt;br /&gt;
If you applied Oliver&amp;#039;s patch, just double click the Bundle and enjoy.&lt;br /&gt;
&lt;br /&gt;
If you want to trace (using gdb e.g.), just do:&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;INSTALL_DIR&amp;gt;/OpenOffice.org\ 2.2.app/Contents/program &lt;br /&gt;
&lt;br /&gt;
and run:&lt;br /&gt;
&lt;br /&gt;
./soffice.bin&lt;br /&gt;
&lt;br /&gt;
Note: see below for other possible options&lt;br /&gt;
&lt;br /&gt;
==== Use vcl menubar and / or vcl menus ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Native menus are defaults. If you want to use vcl menus, do:&lt;br /&gt;
&lt;br /&gt;
AQUA_NATIVE_MENUS=FALSE ./soffice.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: options to not recover is  -norestore , and to bypass the user informations to fill in, use -nofirststartwizard&lt;br /&gt;
&lt;br /&gt;
AQUA_NATIVE_MENUS=FALSE ./soffice.bin -nofirststartwizard -norestore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notice the enviroment variable here. AQUA_NATIVE_MENUS is experimental stuff created by Pavel, SAL_NO_NWF was created some times ago, and is located in vcl/source/window/window.cxx . At the moment we have:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;15&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable || Function&lt;br /&gt;
|-&lt;br /&gt;
| SAL_NO_NWF=TRUE  || disable native controls code&lt;br /&gt;
|-&lt;br /&gt;
| AQUA_NATIVE_MENUS=FALSE || disable native menus code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Both changes are marked with comments in the source code, and when we remove them in the future, native controls and native menus will be enabled by default.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
# Bug Database: http://www.openoffice.org/issues/query.cgi&lt;br /&gt;
# Mailinglist: mac@porting.openoffice.org&lt;br /&gt;
# IRC Meeting-Logs (#ooo_macport@freenode.org): [[Previous_Mac_Meeting_logs]] [[MacOSXPortMeetings]]&lt;br /&gt;
# TX20: http://eric.bachard.free.fr/UTBM_TX20/reports/Carbon_vcl.pdf&lt;br /&gt;
# OpenOffice Source Directory Structure: http://wiki.services.openoffice.org/wiki/Source_code_directories&lt;br /&gt;
# Pavels Patch Wiki: http://blog.janik.cz/&lt;br /&gt;
# Eric Bachard Wiki: http://wiki.services.openoffice.org/wiki/User:Ericb&lt;br /&gt;
# Christian Lippka Wiki: http://wiki.services.openoffice.org/wiki/User:CL&lt;br /&gt;
# Carbon: http://developer.apple.com/carbon&lt;br /&gt;
# EIS: http://eis.services.openoffice.org/EIS2/servlet/Logon&lt;br /&gt;
# Runtime Configuration: http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/index.html&lt;br /&gt;
# OpenOffice Domain Developer http://wiki.services.openoffice.org/wiki/DomainDeveloper&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
# Eric Bachard screenshots (some are from Stephan Schaefer) http://eric.bachard.free.fr/mac/aquavcl/screenshots/&lt;br /&gt;
# Most recent: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_menus_05_nov_06/&lt;br /&gt;
# Pavel Janik screenshots http://blog.janik.cz/images/MacOSX/2006-08-10&lt;br /&gt;
# Important screenshot (eventloop issue): http://blog.janik.cz/images/MacOSX/  =&amp;gt; See: OOoMenus-separator-and-disabled_entries.png&lt;br /&gt;
# Native Menus: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_native_controls_03_11_06/aqua_menus_01.jpg&lt;br /&gt;
&lt;br /&gt;
More menus: http://eric.bachard.free.fr/mac/aquavcl/screenshots/aqua_menus_05_nov_06/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Aqua]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Summer_of_Code_2007&amp;diff=28208</id>
		<title>Summer of Code 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Summer_of_Code_2007&amp;diff=28208"/>
		<updated>2007-03-16T00:32:30Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Word macro compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Similarly to the [[SummerOfCode2006|last year]], OpenOffice.org would like to participate in the [http://code.google.com/soc/ Google Summer of Code](tm) initiative sponsored by Google.&lt;br /&gt;
&lt;br /&gt;
This page is here to collect the suitable suggestions.  So - if you have a task that is challenging enough, and are willing to mentor the task, feel free to add it below.  Each entry should contain the task description, required skills, proejct mailing list for discussion and personal contact.  Links to the [[To-Dos]] are appreciated provided that the task is well described there ;-)&lt;br /&gt;
&lt;br /&gt;
We would be glad to support a few projects. Mentoring capacities are limited, so we depend on your dedication during the preparation of the detailed specification and description of the outcome.&lt;br /&gt;
&lt;br /&gt;
For further general questions about the initiative Google prepared a [http://code.google.com/support/bin/topic.py?topic=10442 FAQ].&lt;br /&gt;
&lt;br /&gt;
=The Task Proposals=&lt;br /&gt;
&lt;br /&gt;
 ===Example entry===&lt;br /&gt;
 &lt;br /&gt;
 This is just an example - the real entry must not start with a space at the beginning&lt;br /&gt;
 of the line.&lt;br /&gt;
 A full description of the task should be here; one that will help to see that this task&lt;br /&gt;
 is important,  and interesting to hack on.  Alternatively it could be an exact link to&lt;br /&gt;
 the description that is already in [[To-Dos]].&lt;br /&gt;
 &lt;br /&gt;
 * Required skills/knowledge: Language, technology1, technology2, ...&lt;br /&gt;
 &lt;br /&gt;
 ; Contact&lt;br /&gt;
 : dev@project.openoffice.org&lt;br /&gt;
 : The.Mentor at organization com&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
===UNO specifications changes in Eclipse Integration===&lt;br /&gt;
&lt;br /&gt;
This project aims at improving the way to develop OpenOffice.org extensions and UNO components using Eclipse. This project should help the developer to changes its specifications easily. This project could be parted into several smaller parts.&lt;br /&gt;
&lt;br /&gt;
See [[EclipseIntegration_ToDo#IDL_files_modification_assistance | the Todo task description]] for further informations.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Java, Grammar &amp;amp; Compilers&lt;br /&gt;
* Usefull skills: Eclipse API, JavaCC, UNO &amp;amp; UNO IDL&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@api.openoffice.org&lt;br /&gt;
: CedricBosdo at openoffice.org&lt;br /&gt;
&lt;br /&gt;
== Base ==&lt;br /&gt;
&lt;br /&gt;
=== Joins in dBase Queries ===&lt;br /&gt;
&lt;br /&gt;
Queries to dBase files can currently contain one table only. Scope of the project is to enhance Base&amp;#039; built-in simple query engine to be capable of executing statements line &amp;lt;code&amp;gt;SELECT table1.field1, table2.field2 FROM table1, table2&amp;lt;/code&amp;gt;. The dBase driver, the text/csv driver, and the Spreadsheet driver would all benefit from this extension.&lt;br /&gt;
&lt;br /&gt;
Be prepared to dig around here before starting the project, the project touches low-level core implementations, including some heavy-to-read STL stuff, so be prepared to invest some time before writing the first line of code.&lt;br /&gt;
&lt;br /&gt;
* required skills C++, SQL knowledge&lt;br /&gt;
* useful skills: Lexx and Yacc&lt;br /&gt;
* Contact: mailto:dev@dba.openoffice.org&lt;br /&gt;
* Mentor: Ocke Janssen - Ocke.Janssen at Sun.Com&lt;br /&gt;
&lt;br /&gt;
=== Dialogs with Form Functionality ===&lt;br /&gt;
&lt;br /&gt;
When creating a form, the user always needs to bother with a Writer document. Very often, this is much too oversized. It would be sufficient to have a simple dialog which contains all the data access controls.&lt;br /&gt;
&lt;br /&gt;
The advantage would be to not slay the user with things she does not bother – a writer document offers a lot of possibilities which are not relevant for a form. In some cases, a full writer document does even contradict to what users expect from a form – one thing to mention here is that documents are always freely sizable, which is nothing you expect from a carefully designed form, where controls are placed at concrete positions and have a fixed size.&lt;br /&gt;
&lt;br /&gt;
The project is to&lt;br /&gt;
- extend the dialog runtime engine to (optionally) include data-aware form controls&lt;br /&gt;
- create a form designer for dialog-based forms (similar to the existing Basic Dialog IDE)&lt;br /&gt;
- implement persistence of dialog-based forms&lt;br /&gt;
- embed dialog-based forms into database documents (.odb)&lt;br /&gt;
&lt;br /&gt;
Depending on more fine-grained planning, it might become apparent that not all of this can be done in the scope of a Google Summer of Code project, and reasonable milestones need to be defined.&lt;br /&gt;
&lt;br /&gt;
* required skills C++, UNO&lt;br /&gt;
* useful skills: familiarity with OOo&amp;#039;s database access and form API, as well as OOo&amp;#039;s [http://api.openoffice.org/docs/common/ref/com/sun/star/awt/module-ix.html toolkit API]&lt;br /&gt;
* Contact: mailto:dev@dba.openoffice.org&lt;br /&gt;
* Mentor: Frank Schönheit - Frank.Schoenheit at Sun.Com&lt;br /&gt;
&lt;br /&gt;
=== Embed Derby into OpenOffice.org Databases ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org Base features an abstract mechanism to embed database backend files into OOo databases (.odb). Currently, this is implemented for [http:///hsqldb.org HSQLDB], which is used as OOo&amp;#039;s default database engine.&lt;br /&gt;
&lt;br /&gt;
To allow this feature for other engines, one must:&lt;br /&gt;
&lt;br /&gt;
* virtualize the engine&amp;#039;s file access, so that it re-routes all its file operations through an abstract API.&lt;br /&gt;
* implement this API on the OOo Base side &lt;br /&gt;
&lt;br /&gt;
The project is to do those implementations for [http://db.apache.org/derby Apache Derby database].&lt;br /&gt;
&lt;br /&gt;
* required skills Java, C++&lt;br /&gt;
* useful skills: OOo&amp;#039;s database access API, OOo&amp;#039;s component technology (UNO)&lt;br /&gt;
* Contact: mailto:dev@dba.openoffice.org&lt;br /&gt;
* Mentor: Ocke Janssen - Ocke.Janssen at Sun.Com&lt;br /&gt;
&lt;br /&gt;
==Calc==&lt;br /&gt;
&lt;br /&gt;
===Integration of R into Calc===&lt;br /&gt;
&lt;br /&gt;
Create an add-on component that allows a Calc user to let the [http://www.r-project.org/ R environment] do calculations on data from Calc cells and put the results into the spreadsheet again.&lt;br /&gt;
&lt;br /&gt;
This should include a dialog to select input parameters and options, and allow results to be values or graph images. Note that the incompatible licenses (R is under GPL) have to be taken care of, possibly by starting R as a separate process.&lt;br /&gt;
&lt;br /&gt;
Some more thoughts on the subject have been collected at [[Statistical Data Analysis Tool#Third Party Library Integration]].&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Some familiarity with statistical methods&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sc.openoffice.org&lt;br /&gt;
: Niklas.Nebel at sun.com&lt;br /&gt;
&lt;br /&gt;
: Leonard Mada&lt;br /&gt;
: (on statistics and R syntax)&lt;br /&gt;
: discoleo at openoffice.org&lt;br /&gt;
&lt;br /&gt;
===Watch Window===&lt;br /&gt;
&lt;br /&gt;
A Watch Window is a separate, small window that remains &amp;quot;on top&amp;quot; and enables users to monitor a selected set of cells, see [http://www.openoffice.org/issues/show_bug.cgi?id=28386 issue 28386].&lt;br /&gt;
&lt;br /&gt;
This could be implemented as an add-on component with a modeless dialog containing the list of watched cells as well as the UI to add or remove cells.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Java or C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sc.openoffice.org&lt;br /&gt;
: Niklas.Nebel at sun.com&lt;br /&gt;
&lt;br /&gt;
===Unit Testing Framework for Optimization Solver===&lt;br /&gt;
&lt;br /&gt;
The [[Optimization Solver]] component needs a unit-testing framework for its linear optimizer.  This task would involve collecting a load of test cases (small and large) with known solutions, and write an automated unit-testing program for the linear portion of the optimizer code.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: kyoshida at novell dot com&lt;br /&gt;
: jody at novell dot com&lt;br /&gt;
&lt;br /&gt;
===Additional AutoFilter Functionality===&lt;br /&gt;
&lt;br /&gt;
Add core and user interface support for additional forms of filtering&lt;br /&gt;
  * Date based filters (eg current year/quarter)&lt;br /&gt;
  * Multiple items without falling back on logical OR.&lt;br /&gt;
  * Statistical filters (eg within N stddev of mean)&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, Familiarity with OOo frameworks.&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: jody at novell dot com&lt;br /&gt;
&lt;br /&gt;
===Move Older Spreadsheet formats into an UNO Component===&lt;br /&gt;
&lt;br /&gt;
Support for several formats still lives in the core calc module, and bloat it with little used functionality.&lt;br /&gt;
Moving the antiquated filters into a distinct component would be good introduction to UNO and the spreadsheet code.&lt;br /&gt;
If time permits the new component could have support for other simple spreadsheet formats, such as Applix.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, Familiarity with OOo frameworks.&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: jody at novell dot com&lt;br /&gt;
&lt;br /&gt;
==Extensions==&lt;br /&gt;
&lt;br /&gt;
===OOo connector for External IDE for OOo scripting languages===&lt;br /&gt;
&lt;br /&gt;
This project will solve the problem of lack of IDE for scripting languages in OOo. Scripts can be seen as macros in various languages and are complementary to Extensions.&lt;br /&gt;
Actually, only OOoBasic has its IDE embedded in OOo. Javascript and Beanshell have limited ones and python nothing. To avoid implementing different IDE for various languages into OOo, the proposed choice is to provide a connector to any external IDE&lt;br /&gt;
&lt;br /&gt;
The project is dived into 2 complementary parts :&lt;br /&gt;
* defining and implementing common tools at OOo side to put the scipts at the correct place and manage OOo scripts menus &lt;br /&gt;
* implement an  Eclipse extension as an IDE that could handle scripts in python language, using the previously defined OOo tools.&lt;br /&gt;
&lt;br /&gt;
; Requirements&lt;br /&gt;
* Required skills/knowledge: java, python, UNO &lt;br /&gt;
* Usefull skills: Eclipse API, OOo API, IDE general knowledge&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@extensions.openoffice.org&lt;br /&gt;
: LaurentGodard@openoffice.org&lt;br /&gt;
&lt;br /&gt;
==Framework==&lt;br /&gt;
&lt;br /&gt;
===Shell Extensions for Desktop file search and showing meta data in windows explorer needs to be rewritten for Vista===&lt;br /&gt;
&lt;br /&gt;
Vista changed his mechanism to integrate those shell extensions incompatible. Extensions valid for Win98/2000/XP doesnt work any more. A set of new interfaces was designed. But they are available on Vista only. So OOo has to support two sets of shell extensions: one set for Win98/2000/XP and a new set for Vista and might following windows versions. For this project the new Vista extensions has to be implemented only.&lt;br /&gt;
See [https://so-web.germany.sun.com/iBIS/servlet/edit.ControlPanel?tid=i71112 71112] and [https://so-web.germany.sun.com/iBIS/servlet/edit.ControlPanel?tid=i70944 70944] for further informations.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
* Useful skills: Windows API knowledge&lt;br /&gt;
* Requirements: Windows Vista 32 Bit&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@framework.openoffice.org, Andreas.Schluens at sun.com&lt;br /&gt;
&lt;br /&gt;
===Status bar control to display/change the language===&lt;br /&gt;
&lt;br /&gt;
Currently the Writer lacks means to display the language in use. There&amp;#039;s also no easy way to change the language as the user has to use the menu. A status bar control would help to solve these problems.  It should help to determine about the language used at the cursor position or the document. The control should be implemented using existing UNO APIs.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
* Useful skills: Basic UNO API knowledge&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@framework.openoffice.org, Carsten.Driesner at sun.com&lt;br /&gt;
: dev@sw.openoffice.org, Thomas.Lange at sun.com&lt;br /&gt;
&lt;br /&gt;
===Improving UI editing / coupling===&lt;br /&gt;
&lt;br /&gt;
Currently all dialogs (along with most translated strings) are stored in a rather unusual binary resource file format, that has not had much love in the last decade. We need to write some new code that separates the process of designing &amp;amp;amp; laying out the UI from the code - to allow UE to make our UI more beautiful, and allow future re-factoring. The existing Basic GUI dialog editor and it&amp;#039;s XML format should be re-used, a simple C++ compatibility API created, and a number of dialogs converted to the new format.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
* Useful skills: courage, stickability, X-rated code reading&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: michael.meeks at novell.com&lt;br /&gt;
: hfiguiere at novell.com&lt;br /&gt;
&lt;br /&gt;
==Graphics==&lt;br /&gt;
&lt;br /&gt;
===Draw/Impress: SVG Import Filter===&lt;br /&gt;
&lt;br /&gt;
[http://www.w3.org/Graphics/SVG/ SVG (Scalable Vector Graphics)] is a vector graphics format that describes 2D graphics in XML.&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s no native SVG import filter for OOo. There exists an [http://www.ipd.uka.de/~hauma/svg-import/ external one], but unfortunately it has very strong dependencies - [http://java.sun.com/javase/downloads/index.jsp Java 5.0], and [http://xmlgraphics.apache.org/batik/ Batik].  The goal of this task is to create a new implementation that does not require any too big libraries.&lt;br /&gt;
&lt;br /&gt;
A proof of concept implementation written in C++ using the UNO Draw API, and a lighweight [http://cairographics.org/libsvg libsvg library] exists (see [http://svn.gnome.org/viewcvs/ooo-build/trunk/patches/src680/svg-import.diff here]), but it needs a lot of work to be really usable.  Another problem is that libsvg does not seem to be too actively maintained; so ideally the implementation should use OOo&amp;#039;s internal XML parser.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://artax.karlin.mff.cuni.cz/~kendy/blog/archives/monthly/2006-10.html#2006-10-02T17_14_44.htm Kendy&amp;#039;s blog].&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, XML knowledge is a plus&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: Jan Holesovsky - kendy at openoffice org&lt;br /&gt;
: Fridrich Strba - fridrich_strba at openoffice org&lt;br /&gt;
&lt;br /&gt;
===Impress: OpenGL rendered transitions===&lt;br /&gt;
The goal is to add 3D transitions to the Impress application. Transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.&lt;br /&gt;
&lt;br /&gt;
In the process of implementing OpenGL transitions an UNO API should be added to slideshow code, so that OpenGL transitions engine might be created as standalone UNO component. Current transitions should be refactored to another UNO component.&lt;br /&gt;
&lt;br /&gt;
The engine will get the previous and next pages and should render the transition at given speed.&lt;br /&gt;
&lt;br /&gt;
The participant should also implement at least 5 OpenGL transitions, rendered by the UNO component.&lt;br /&gt;
&lt;br /&gt;
* Reguired skills/knowledge: C++, OpenGL. familiarity with UNO is welcomed&lt;br /&gt;
&lt;br /&gt;
;Contact:&lt;br /&gt;
:Radek Doulik - radekdoulik at openoffice org&lt;br /&gt;
&lt;br /&gt;
==ODF Toolkit==&lt;br /&gt;
&lt;br /&gt;
=== Tools and best practice samples for ODF creation and manipulation===&lt;br /&gt;
&lt;br /&gt;
We already have some code snippets in Java and C# and looking for help to extend these tool sets or to provide tool sets in other languages. These tool sets are designed to offer basic ODF functionality even outside of OO.o.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Java or C# or Perl or C++ ...&lt;br /&gt;
* Useful skills: ODF, XML&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@odftoolkit.openoffice.org, &lt;br /&gt;
: Dieter Loeschky at sun.com&lt;br /&gt;
&lt;br /&gt;
== Porting: Mac OS X native port ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Complete User Interface respecting Aqua Human Interface Guidelines (Aqua Only)&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
*Concerns: OpenOffice.org 2.x for Mac OS X Aqua only&lt;br /&gt;
&lt;br /&gt;
*Skills: Knowledge of languages C/C++ Mac OS X APIs and Application frameworks like Carbon&lt;br /&gt;
&lt;br /&gt;
Original OpenOffice.org vcl widgets are not Aqua HIG compliant, and we need to implement all controls, respecting Aqua Human Interface Guidelines, some will use HIView, or HITheme or even other part of Carbon API.&lt;br /&gt;
&lt;br /&gt;
*Tasks:  some controls are already implemented, but some are still missing.&lt;br /&gt;
&lt;br /&gt;
The job consists in write the code and implement: &lt;br /&gt;
&lt;br /&gt;
- tabs (implement and bind the TabitemValue class, using Carbon API)&lt;br /&gt;
&lt;br /&gt;
- spinbuttons (implement and bind  SpinbuttonValue class, using Carbon API)&lt;br /&gt;
&lt;br /&gt;
- comboboxes (implement and use HICombobox)&lt;br /&gt;
&lt;br /&gt;
- listboxes (work already started)&lt;br /&gt;
&lt;br /&gt;
- texts in comboboxes / listboxes  (better task definition to be completed)&lt;br /&gt;
&lt;br /&gt;
- other types of controls:  highlight, respect dimensions/spacing ..etc&lt;br /&gt;
&lt;br /&gt;
- Windows background (using Aqua theme)  &lt;br /&gt;
&lt;br /&gt;
;Proposed by: Eric Bachard &lt;br /&gt;
;Contact: mac@porting.openoffice.org &lt;br /&gt;
;ericb at openoffice dot org&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X native printing (Aqua only) ===&lt;br /&gt;
&lt;br /&gt;
Concerns: OpenOffice.org 2.x for Mac OS X Aqua only&lt;br /&gt;
&lt;br /&gt;
Objective: currently, the native printing implementation is missing on Aqua port and needs to be implemented.&lt;br /&gt;
&lt;br /&gt;
The objective is to use the same box users have in any Mac application.&lt;br /&gt;
&lt;br /&gt;
Skills: Knowledge of languages C/C++ Mac OS X APIs and Application frameworks like Carbon and /or Cocoa&lt;br /&gt;
&lt;br /&gt;
Tasks:  &lt;br /&gt;
&lt;br /&gt;
Familiarize with the Mac OS X printing APIs&lt;br /&gt;
&lt;br /&gt;
Familiarize with the current OOo printing API&lt;br /&gt;
&lt;br /&gt;
Expected: Write code to Implement native printing with Aqua version of OpenOffice.org: &lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: mac@porting.openoffice.org&lt;br /&gt;
: fheckl at openoffice dot org &lt;br /&gt;
&lt;br /&gt;
;Proposed by:  Florian Heckl &lt;br /&gt;
&lt;br /&gt;
;Mentor:  Florian Heckl&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X Address book integration (Aqua / X11) ===&lt;br /&gt;
&lt;br /&gt;
Synopsis: OOo currently is integrated with the Mozilla address book but not with the native Mac OS X address book. This is annoying for Mac OS X user. For better system integration it would be desirable to integrate with the Mac OS X address book.&lt;br /&gt;
&lt;br /&gt;
Concerns: OpenOffice.org 2.x for Mac OS X (both Aqua and X11 versions)&lt;br /&gt;
&lt;br /&gt;
;Skills: Knowledge of languages C/C++, Mac OS X APIs and Application frameworks like Carbon or Cocoa for instance, knowledge of the Mac OS X address book APIs&lt;br /&gt;
&lt;br /&gt;
;Tasks: &lt;br /&gt;
&lt;br /&gt;
Familiarize with the Mac OS X address book APIs &lt;br /&gt;
&lt;br /&gt;
Familiarize with the current OOo Mozilla address book integration &lt;br /&gt;
&lt;br /&gt;
Make a prototype for OOo Mac OS X address book integration&lt;br /&gt;
&lt;br /&gt;
;Contact&lt;br /&gt;
mac@porting.openoffice.org&lt;br /&gt;
&lt;br /&gt;
;Mentor:  Florian Heckl&lt;br /&gt;
&lt;br /&gt;
==VBA==&lt;br /&gt;
&lt;br /&gt;
===Word macro compatibility===&lt;br /&gt;
&lt;br /&gt;
Recently Sun and Novell announced to pool resources to provide VBA macro compatability see  [http://blogs.sun.com/GullFOSS/entry/sun_and_novell_work_together here]. &lt;br /&gt;
&lt;br /&gt;
Currently work in the project is concentrated on providing Excel support by &lt;br /&gt;
* providing the framework for the compatibiltiy api via a plugable component&lt;br /&gt;
* modifying the basic engine to support more compatibility features&lt;br /&gt;
* porting the [http://wiki.services.openoffice.org/wiki/Helperapi helperapi] code (for excel) to c++ (see. [http://wiki.services.openoffice.org/wiki/VBA here] &amp;amp; [http://wiki.services.openoffice.org/wiki/Porting_notes here])&lt;br /&gt;
&lt;br /&gt;
Tasks&lt;br /&gt;
 &lt;br /&gt;
* extend the base framework by developing helper objects and implementations to be used by both the excel and writer compatibility object implementations&lt;br /&gt;
* port the existing (word) helper api objects from Java to C++ &lt;br /&gt;
&lt;br /&gt;
Required skills/knowledge &lt;br /&gt;
&lt;br /&gt;
* C++&lt;br /&gt;
* Java&lt;br /&gt;
useful skills: &lt;br /&gt;
&lt;br /&gt;
* knowledge of OOo&amp;#039;s writer access API&lt;br /&gt;
* knowledge of OOo&amp;#039;s component technology (UNO)&lt;br /&gt;
* experience with VBA macros and Word VBA api &lt;br /&gt;
 &lt;br /&gt;
Mentor/Contact &lt;br /&gt;
* noel.power at novell dot com&lt;br /&gt;
&lt;br /&gt;
== Writer ==&lt;br /&gt;
&lt;br /&gt;
===Writer: Better &amp;quot;Notes&amp;quot; functionality===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Notes&amp;quot; functionality in Writer could be better in terms of usability and does not look very appealing. &lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sw.openoffice.org&lt;br /&gt;
: Mathias.Bauer at sun.com&lt;br /&gt;
&lt;br /&gt;
; Resources&lt;br /&gt;
[http://blogs.linux.ie/caolan/2007/03/12/notesmarginnotes-in-sw/ hopefully helpful illustrative patch]&lt;br /&gt;
&lt;br /&gt;
===MS Works Import Filter===&lt;br /&gt;
&lt;br /&gt;
Unlike its proprietary derivatives, OpenOffice.org lacks MS Works import filter. The creation of MS Works import filter is one of functionalities requested by our users. There is a basic import filter work started and the result is to be found in CWS wpsimport01. This filter, based on recently started libwps[http://libwps.sourceforge.net] library is offering only limited number of features converted. It is desirable to build on this work and improve this library/filter so that the quality meets industry standards.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, solid knowledge of MS Works wordprocessing document file-format and of libwps library.&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: fridrich_strba at openoffice.org&lt;br /&gt;
: freuter at novell.com&lt;br /&gt;
&lt;br /&gt;
===RTF Generator===&lt;br /&gt;
&lt;br /&gt;
The current RTF export of OpenOffice.org is not as good as the export to the Word (.doc) format. Parsing the generated Word format stream with a Word tokenizer and handing over the generated events to an RTF generator would lead to an RTF export filter with the same quality as the binary Word export filter. Remark: the tokenizer itself isn&amp;#039;t complete today but in its current state covers enough parts of the Word format to make this a valuable project for the planned time span.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, some knowledge about the Word file format would be a plus&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sw.openoffice.org&lt;br /&gt;
: Henning.Brinkmann at sun.com&lt;br /&gt;
&lt;br /&gt;
=== Logging framework ===&lt;br /&gt;
&lt;br /&gt;
During the import/export process from alien file formats there might be some features which can not be mapped entirely.&lt;br /&gt;
The goal of this project is to provide a loggin framework for the new domainmapper of the writer filter project, which&lt;br /&gt;
allow the domainmapper to notify the user of such mapping problems.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: Florian Reuter (freuter at novell.com)&lt;br /&gt;
: Fridrich Strba (fridrich_strba at openoffice org)&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Summer_of_Code_2007&amp;diff=28207</id>
		<title>Summer of Code 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Summer_of_Code_2007&amp;diff=28207"/>
		<updated>2007-03-16T00:31:25Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Porting : Mac OS X native port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Similarly to the [[SummerOfCode2006|last year]], OpenOffice.org would like to participate in the [http://code.google.com/soc/ Google Summer of Code](tm) initiative sponsored by Google.&lt;br /&gt;
&lt;br /&gt;
This page is here to collect the suitable suggestions.  So - if you have a task that is challenging enough, and are willing to mentor the task, feel free to add it below.  Each entry should contain the task description, required skills, proejct mailing list for discussion and personal contact.  Links to the [[To-Dos]] are appreciated provided that the task is well described there ;-)&lt;br /&gt;
&lt;br /&gt;
We would be glad to support a few projects. Mentoring capacities are limited, so we depend on your dedication during the preparation of the detailed specification and description of the outcome.&lt;br /&gt;
&lt;br /&gt;
For further general questions about the initiative Google prepared a [http://code.google.com/support/bin/topic.py?topic=10442 FAQ].&lt;br /&gt;
&lt;br /&gt;
=The Task Proposals=&lt;br /&gt;
&lt;br /&gt;
 ===Example entry===&lt;br /&gt;
 &lt;br /&gt;
 This is just an example - the real entry must not start with a space at the beginning&lt;br /&gt;
 of the line.&lt;br /&gt;
 A full description of the task should be here; one that will help to see that this task&lt;br /&gt;
 is important,  and interesting to hack on.  Alternatively it could be an exact link to&lt;br /&gt;
 the description that is already in [[To-Dos]].&lt;br /&gt;
 &lt;br /&gt;
 * Required skills/knowledge: Language, technology1, technology2, ...&lt;br /&gt;
 &lt;br /&gt;
 ; Contact&lt;br /&gt;
 : dev@project.openoffice.org&lt;br /&gt;
 : The.Mentor at organization com&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
===UNO specifications changes in Eclipse Integration===&lt;br /&gt;
&lt;br /&gt;
This project aims at improving the way to develop OpenOffice.org extensions and UNO components using Eclipse. This project should help the developer to changes its specifications easily. This project could be parted into several smaller parts.&lt;br /&gt;
&lt;br /&gt;
See [[EclipseIntegration_ToDo#IDL_files_modification_assistance | the Todo task description]] for further informations.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Java, Grammar &amp;amp; Compilers&lt;br /&gt;
* Usefull skills: Eclipse API, JavaCC, UNO &amp;amp; UNO IDL&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@api.openoffice.org&lt;br /&gt;
: CedricBosdo at openoffice.org&lt;br /&gt;
&lt;br /&gt;
== Base ==&lt;br /&gt;
&lt;br /&gt;
=== Joins in dBase Queries ===&lt;br /&gt;
&lt;br /&gt;
Queries to dBase files can currently contain one table only. Scope of the project is to enhance Base&amp;#039; built-in simple query engine to be capable of executing statements line &amp;lt;code&amp;gt;SELECT table1.field1, table2.field2 FROM table1, table2&amp;lt;/code&amp;gt;. The dBase driver, the text/csv driver, and the Spreadsheet driver would all benefit from this extension.&lt;br /&gt;
&lt;br /&gt;
Be prepared to dig around here before starting the project, the project touches low-level core implementations, including some heavy-to-read STL stuff, so be prepared to invest some time before writing the first line of code.&lt;br /&gt;
&lt;br /&gt;
* required skills C++, SQL knowledge&lt;br /&gt;
* useful skills: Lexx and Yacc&lt;br /&gt;
* Contact: mailto:dev@dba.openoffice.org&lt;br /&gt;
* Mentor: Ocke Janssen - Ocke.Janssen at Sun.Com&lt;br /&gt;
&lt;br /&gt;
=== Dialogs with Form Functionality ===&lt;br /&gt;
&lt;br /&gt;
When creating a form, the user always needs to bother with a Writer document. Very often, this is much too oversized. It would be sufficient to have a simple dialog which contains all the data access controls.&lt;br /&gt;
&lt;br /&gt;
The advantage would be to not slay the user with things she does not bother – a writer document offers a lot of possibilities which are not relevant for a form. In some cases, a full writer document does even contradict to what users expect from a form – one thing to mention here is that documents are always freely sizable, which is nothing you expect from a carefully designed form, where controls are placed at concrete positions and have a fixed size.&lt;br /&gt;
&lt;br /&gt;
The project is to&lt;br /&gt;
- extend the dialog runtime engine to (optionally) include data-aware form controls&lt;br /&gt;
- create a form designer for dialog-based forms (similar to the existing Basic Dialog IDE)&lt;br /&gt;
- implement persistence of dialog-based forms&lt;br /&gt;
- embed dialog-based forms into database documents (.odb)&lt;br /&gt;
&lt;br /&gt;
Depending on more fine-grained planning, it might become apparent that not all of this can be done in the scope of a Google Summer of Code project, and reasonable milestones need to be defined.&lt;br /&gt;
&lt;br /&gt;
* required skills C++, UNO&lt;br /&gt;
* useful skills: familiarity with OOo&amp;#039;s database access and form API, as well as OOo&amp;#039;s [http://api.openoffice.org/docs/common/ref/com/sun/star/awt/module-ix.html toolkit API]&lt;br /&gt;
* Contact: mailto:dev@dba.openoffice.org&lt;br /&gt;
* Mentor: Frank Schönheit - Frank.Schoenheit at Sun.Com&lt;br /&gt;
&lt;br /&gt;
=== Embed Derby into OpenOffice.org Databases ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org Base features an abstract mechanism to embed database backend files into OOo databases (.odb). Currently, this is implemented for [http:///hsqldb.org HSQLDB], which is used as OOo&amp;#039;s default database engine.&lt;br /&gt;
&lt;br /&gt;
To allow this feature for other engines, one must:&lt;br /&gt;
&lt;br /&gt;
* virtualize the engine&amp;#039;s file access, so that it re-routes all its file operations through an abstract API.&lt;br /&gt;
* implement this API on the OOo Base side &lt;br /&gt;
&lt;br /&gt;
The project is to do those implementations for [http://db.apache.org/derby Apache Derby database].&lt;br /&gt;
&lt;br /&gt;
* required skills Java, C++&lt;br /&gt;
* useful skills: OOo&amp;#039;s database access API, OOo&amp;#039;s component technology (UNO)&lt;br /&gt;
* Contact: mailto:dev@dba.openoffice.org&lt;br /&gt;
* Mentor: Ocke Janssen - Ocke.Janssen at Sun.Com&lt;br /&gt;
&lt;br /&gt;
==Calc==&lt;br /&gt;
&lt;br /&gt;
===Integration of R into Calc===&lt;br /&gt;
&lt;br /&gt;
Create an add-on component that allows a Calc user to let the [http://www.r-project.org/ R environment] do calculations on data from Calc cells and put the results into the spreadsheet again.&lt;br /&gt;
&lt;br /&gt;
This should include a dialog to select input parameters and options, and allow results to be values or graph images. Note that the incompatible licenses (R is under GPL) have to be taken care of, possibly by starting R as a separate process.&lt;br /&gt;
&lt;br /&gt;
Some more thoughts on the subject have been collected at [[Statistical Data Analysis Tool#Third Party Library Integration]].&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Some familiarity with statistical methods&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sc.openoffice.org&lt;br /&gt;
: Niklas.Nebel at sun.com&lt;br /&gt;
&lt;br /&gt;
: Leonard Mada&lt;br /&gt;
: (on statistics and R syntax)&lt;br /&gt;
: discoleo at openoffice.org&lt;br /&gt;
&lt;br /&gt;
===Watch Window===&lt;br /&gt;
&lt;br /&gt;
A Watch Window is a separate, small window that remains &amp;quot;on top&amp;quot; and enables users to monitor a selected set of cells, see [http://www.openoffice.org/issues/show_bug.cgi?id=28386 issue 28386].&lt;br /&gt;
&lt;br /&gt;
This could be implemented as an add-on component with a modeless dialog containing the list of watched cells as well as the UI to add or remove cells.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Java or C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sc.openoffice.org&lt;br /&gt;
: Niklas.Nebel at sun.com&lt;br /&gt;
&lt;br /&gt;
===Unit Testing Framework for Optimization Solver===&lt;br /&gt;
&lt;br /&gt;
The [[Optimization Solver]] component needs a unit-testing framework for its linear optimizer.  This task would involve collecting a load of test cases (small and large) with known solutions, and write an automated unit-testing program for the linear portion of the optimizer code.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: kyoshida at novell dot com&lt;br /&gt;
: jody at novell dot com&lt;br /&gt;
&lt;br /&gt;
===Additional AutoFilter Functionality===&lt;br /&gt;
&lt;br /&gt;
Add core and user interface support for additional forms of filtering&lt;br /&gt;
  * Date based filters (eg current year/quarter)&lt;br /&gt;
  * Multiple items without falling back on logical OR.&lt;br /&gt;
  * Statistical filters (eg within N stddev of mean)&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, Familiarity with OOo frameworks.&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: jody at novell dot com&lt;br /&gt;
&lt;br /&gt;
===Move Older Spreadsheet formats into an UNO Component===&lt;br /&gt;
&lt;br /&gt;
Support for several formats still lives in the core calc module, and bloat it with little used functionality.&lt;br /&gt;
Moving the antiquated filters into a distinct component would be good introduction to UNO and the spreadsheet code.&lt;br /&gt;
If time permits the new component could have support for other simple spreadsheet formats, such as Applix.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, Familiarity with OOo frameworks.&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: jody at novell dot com&lt;br /&gt;
&lt;br /&gt;
==Extensions==&lt;br /&gt;
&lt;br /&gt;
===OOo connector for External IDE for OOo scripting languages===&lt;br /&gt;
&lt;br /&gt;
This project will solve the problem of lack of IDE for scripting languages in OOo. Scripts can be seen as macros in various languages and are complementary to Extensions.&lt;br /&gt;
Actually, only OOoBasic has its IDE embedded in OOo. Javascript and Beanshell have limited ones and python nothing. To avoid implementing different IDE for various languages into OOo, the proposed choice is to provide a connector to any external IDE&lt;br /&gt;
&lt;br /&gt;
The project is dived into 2 complementary parts :&lt;br /&gt;
* defining and implementing common tools at OOo side to put the scipts at the correct place and manage OOo scripts menus &lt;br /&gt;
* implement an  Eclipse extension as an IDE that could handle scripts in python language, using the previously defined OOo tools.&lt;br /&gt;
&lt;br /&gt;
; Requirements&lt;br /&gt;
* Required skills/knowledge: java, python, UNO &lt;br /&gt;
* Usefull skills: Eclipse API, OOo API, IDE general knowledge&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@extensions.openoffice.org&lt;br /&gt;
: LaurentGodard@openoffice.org&lt;br /&gt;
&lt;br /&gt;
==Framework==&lt;br /&gt;
&lt;br /&gt;
===Shell Extensions for Desktop file search and showing meta data in windows explorer needs to be rewritten for Vista===&lt;br /&gt;
&lt;br /&gt;
Vista changed his mechanism to integrate those shell extensions incompatible. Extensions valid for Win98/2000/XP doesnt work any more. A set of new interfaces was designed. But they are available on Vista only. So OOo has to support two sets of shell extensions: one set for Win98/2000/XP and a new set for Vista and might following windows versions. For this project the new Vista extensions has to be implemented only.&lt;br /&gt;
See [https://so-web.germany.sun.com/iBIS/servlet/edit.ControlPanel?tid=i71112 71112] and [https://so-web.germany.sun.com/iBIS/servlet/edit.ControlPanel?tid=i70944 70944] for further informations.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
* Useful skills: Windows API knowledge&lt;br /&gt;
* Requirements: Windows Vista 32 Bit&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@framework.openoffice.org, Andreas.Schluens at sun.com&lt;br /&gt;
&lt;br /&gt;
===Status bar control to display/change the language===&lt;br /&gt;
&lt;br /&gt;
Currently the Writer lacks means to display the language in use. There&amp;#039;s also no easy way to change the language as the user has to use the menu. A status bar control would help to solve these problems.  It should help to determine about the language used at the cursor position or the document. The control should be implemented using existing UNO APIs.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
* Useful skills: Basic UNO API knowledge&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@framework.openoffice.org, Carsten.Driesner at sun.com&lt;br /&gt;
: dev@sw.openoffice.org, Thomas.Lange at sun.com&lt;br /&gt;
&lt;br /&gt;
===Improving UI editing / coupling===&lt;br /&gt;
&lt;br /&gt;
Currently all dialogs (along with most translated strings) are stored in a rather unusual binary resource file format, that has not had much love in the last decade. We need to write some new code that separates the process of designing &amp;amp;amp; laying out the UI from the code - to allow UE to make our UI more beautiful, and allow future re-factoring. The existing Basic GUI dialog editor and it&amp;#039;s XML format should be re-used, a simple C++ compatibility API created, and a number of dialogs converted to the new format.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
* Useful skills: courage, stickability, X-rated code reading&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: michael.meeks at novell.com&lt;br /&gt;
: hfiguiere at novell.com&lt;br /&gt;
&lt;br /&gt;
==Graphics==&lt;br /&gt;
&lt;br /&gt;
===Draw/Impress: SVG Import Filter===&lt;br /&gt;
&lt;br /&gt;
[http://www.w3.org/Graphics/SVG/ SVG (Scalable Vector Graphics)] is a vector graphics format that describes 2D graphics in XML.&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s no native SVG import filter for OOo. There exists an [http://www.ipd.uka.de/~hauma/svg-import/ external one], but unfortunately it has very strong dependencies - [http://java.sun.com/javase/downloads/index.jsp Java 5.0], and [http://xmlgraphics.apache.org/batik/ Batik].  The goal of this task is to create a new implementation that does not require any too big libraries.&lt;br /&gt;
&lt;br /&gt;
A proof of concept implementation written in C++ using the UNO Draw API, and a lighweight [http://cairographics.org/libsvg libsvg library] exists (see [http://svn.gnome.org/viewcvs/ooo-build/trunk/patches/src680/svg-import.diff here]), but it needs a lot of work to be really usable.  Another problem is that libsvg does not seem to be too actively maintained; so ideally the implementation should use OOo&amp;#039;s internal XML parser.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://artax.karlin.mff.cuni.cz/~kendy/blog/archives/monthly/2006-10.html#2006-10-02T17_14_44.htm Kendy&amp;#039;s blog].&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, XML knowledge is a plus&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: Jan Holesovsky - kendy at openoffice org&lt;br /&gt;
: Fridrich Strba - fridrich_strba at openoffice org&lt;br /&gt;
&lt;br /&gt;
===Impress: OpenGL rendered transitions===&lt;br /&gt;
The goal is to add 3D transitions to the Impress application. Transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.&lt;br /&gt;
&lt;br /&gt;
In the process of implementing OpenGL transitions an UNO API should be added to slideshow code, so that OpenGL transitions engine might be created as standalone UNO component. Current transitions should be refactored to another UNO component.&lt;br /&gt;
&lt;br /&gt;
The engine will get the previous and next pages and should render the transition at given speed.&lt;br /&gt;
&lt;br /&gt;
The participant should also implement at least 5 OpenGL transitions, rendered by the UNO component.&lt;br /&gt;
&lt;br /&gt;
* Reguired skills/knowledge: C++, OpenGL. familiarity with UNO is welcomed&lt;br /&gt;
&lt;br /&gt;
;Contact:&lt;br /&gt;
:Radek Doulik - radekdoulik at openoffice org&lt;br /&gt;
&lt;br /&gt;
==ODF Toolkit==&lt;br /&gt;
&lt;br /&gt;
=== Tools and best practice samples for ODF creation and manipulation===&lt;br /&gt;
&lt;br /&gt;
We already have some code snippets in Java and C# and looking for help to extend these tool sets or to provide tool sets in other languages. These tool sets are designed to offer basic ODF functionality even outside of OO.o.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: Java or C# or Perl or C++ ...&lt;br /&gt;
* Useful skills: ODF, XML&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@odftoolkit.openoffice.org, &lt;br /&gt;
: Dieter Loeschky at sun.com&lt;br /&gt;
&lt;br /&gt;
== Porting: Mac OS X native port ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Complete User Interface respecting Aqua Human Interface Guidelines (Aqua Only)&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
*Concerns: OpenOffice.org 2.x for Mac OS X Aqua only&lt;br /&gt;
&lt;br /&gt;
*Skills: Knowledge of languages C/C++ Mac OS X APIs and Application frameworks like Carbon&lt;br /&gt;
&lt;br /&gt;
Original OpenOffice.org vcl widgets are not Aqua HIG compliant, and we need to implement all controls, respecting Aqua Human Interface Guidelines, some will use HIView, or HITheme or even other part of Carbon API.&lt;br /&gt;
&lt;br /&gt;
*Tasks:  some controls are already implemented, but some are still missing.&lt;br /&gt;
&lt;br /&gt;
The job consists in write the code and implement: &lt;br /&gt;
&lt;br /&gt;
- tabs (implement and bind the TabitemValue class, using Carbon API)&lt;br /&gt;
&lt;br /&gt;
- spinbuttons (implement and bind  SpinbuttonValue class, using Carbon API)&lt;br /&gt;
&lt;br /&gt;
- comboboxes (implement and use HICombobox)&lt;br /&gt;
&lt;br /&gt;
- listboxes (work already started)&lt;br /&gt;
&lt;br /&gt;
- texts in comboboxes / listboxes  (better task definition to be completed)&lt;br /&gt;
&lt;br /&gt;
- other types of controls:  highlight, respect dimensions/spacing ..etc&lt;br /&gt;
&lt;br /&gt;
- Windows background (using Aqua theme)  &lt;br /&gt;
&lt;br /&gt;
;Proposed by: Eric Bachard &lt;br /&gt;
;Contact: mac@porting.openoffice.org &lt;br /&gt;
;ericb at openoffice dot org&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X native printing (Aqua only) ===&lt;br /&gt;
&lt;br /&gt;
Concerns: OpenOffice.org 2.x for Mac OS X Aqua only&lt;br /&gt;
&lt;br /&gt;
Objective: currently, the native printing implementation is missing on Aqua port and needs to be implemented.&lt;br /&gt;
&lt;br /&gt;
The objective is to use the same box users have in any Mac application.&lt;br /&gt;
&lt;br /&gt;
Skills: Knowledge of languages C/C++ Mac OS X APIs and Application frameworks like Carbon and /or Cocoa&lt;br /&gt;
&lt;br /&gt;
Tasks:  &lt;br /&gt;
&lt;br /&gt;
Familiarize with the Mac OS X printing APIs&lt;br /&gt;
&lt;br /&gt;
Familiarize with the current OOo printing API&lt;br /&gt;
&lt;br /&gt;
Expected: Write code to Implement native printing with Aqua version of OpenOffice.org: &lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: mac@porting.openoffice.org&lt;br /&gt;
: fheckl at openoffice dot org &lt;br /&gt;
&lt;br /&gt;
;Proposed by:  Florian Heckl &lt;br /&gt;
&lt;br /&gt;
;Mentor:  Florian Heckl&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X Address book integration (Aqua / X11) ===&lt;br /&gt;
&lt;br /&gt;
Synopsis: OOo currently is integrated with the Mozilla address book but not with the native Mac OS X address book. This is annoying for Mac OS X user. For better system integration it would be desirable to integrate with the Mac OS X address book.&lt;br /&gt;
&lt;br /&gt;
Concerns: OpenOffice.org 2.x for Mac OS X (both Aqua and X11 versions)&lt;br /&gt;
&lt;br /&gt;
;Skills: Knowledge of languages C/C++, Mac OS X APIs and Application frameworks like Carbon or Cocoa for instance, knowledge of the Mac OS X address book APIs&lt;br /&gt;
&lt;br /&gt;
;Tasks: &lt;br /&gt;
&lt;br /&gt;
Familiarize with the Mac OS X address book APIs &lt;br /&gt;
&lt;br /&gt;
Familiarize with the current OOo Mozilla address book integration &lt;br /&gt;
&lt;br /&gt;
Make a prototype for OOo Mac OS X address book integration&lt;br /&gt;
&lt;br /&gt;
;Contact&lt;br /&gt;
mac@porting.openoffice.org&lt;br /&gt;
&lt;br /&gt;
;Mentor:  Florian Heckl&lt;br /&gt;
&lt;br /&gt;
==VBA==&lt;br /&gt;
&lt;br /&gt;
===Word macro compatibility===&lt;br /&gt;
&lt;br /&gt;
Recently Sun and Novell announced to pool resources to provide VBA macro compatability see  http://blogs.sun.com/GullFOSS/entry/sun_and_novell_work_together here]. &lt;br /&gt;
&lt;br /&gt;
Currently work in the project is concentrated on providing Excel support by &lt;br /&gt;
* providing the framework for the compatibiltiy api via a plugable component&lt;br /&gt;
* modifying the basic engine to support more compatibility features&lt;br /&gt;
* porting the [http://wiki.services.openoffice.org/wiki/Helperapi helperapi] code ( for excel ) to c++ ( see. [http://wiki.services.openoffice.org/wiki/VBA here] &amp;amp; [http://wiki.services.openoffice.org/wiki/Porting_notes here]&lt;br /&gt;
&lt;br /&gt;
Tasks&lt;br /&gt;
 &lt;br /&gt;
* extend the base framework by developing helper objects and implementations to be used by both the excel and writer compatibility object implementations&lt;br /&gt;
* port the existing (word) helper api objects from Java to C++ &lt;br /&gt;
&lt;br /&gt;
Required skills/knowledge &lt;br /&gt;
&lt;br /&gt;
* C++&lt;br /&gt;
* Java&lt;br /&gt;
useful skills: &lt;br /&gt;
&lt;br /&gt;
* knowledge of OOo&amp;#039;s writer access API&lt;br /&gt;
* knowledge of OOo&amp;#039;s component technology (UNO)&lt;br /&gt;
* experience with VBA macros and Word VBA api &lt;br /&gt;
 &lt;br /&gt;
Mentor/Contact &lt;br /&gt;
* noel.power at novell dot com&lt;br /&gt;
&lt;br /&gt;
== Writer ==&lt;br /&gt;
&lt;br /&gt;
===Writer: Better &amp;quot;Notes&amp;quot; functionality===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Notes&amp;quot; functionality in Writer could be better in terms of usability and does not look very appealing. &lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sw.openoffice.org&lt;br /&gt;
: Mathias.Bauer at sun.com&lt;br /&gt;
&lt;br /&gt;
; Resources&lt;br /&gt;
[http://blogs.linux.ie/caolan/2007/03/12/notesmarginnotes-in-sw/ hopefully helpful illustrative patch]&lt;br /&gt;
&lt;br /&gt;
===MS Works Import Filter===&lt;br /&gt;
&lt;br /&gt;
Unlike its proprietary derivatives, OpenOffice.org lacks MS Works import filter. The creation of MS Works import filter is one of functionalities requested by our users. There is a basic import filter work started and the result is to be found in CWS wpsimport01. This filter, based on recently started libwps[http://libwps.sourceforge.net] library is offering only limited number of features converted. It is desirable to build on this work and improve this library/filter so that the quality meets industry standards.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, solid knowledge of MS Works wordprocessing document file-format and of libwps library.&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: fridrich_strba at openoffice.org&lt;br /&gt;
: freuter at novell.com&lt;br /&gt;
&lt;br /&gt;
===RTF Generator===&lt;br /&gt;
&lt;br /&gt;
The current RTF export of OpenOffice.org is not as good as the export to the Word (.doc) format. Parsing the generated Word format stream with a Word tokenizer and handing over the generated events to an RTF generator would lead to an RTF export filter with the same quality as the binary Word export filter. Remark: the tokenizer itself isn&amp;#039;t complete today but in its current state covers enough parts of the Word format to make this a valuable project for the planned time span.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++, some knowledge about the Word file format would be a plus&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: dev@sw.openoffice.org&lt;br /&gt;
: Henning.Brinkmann at sun.com&lt;br /&gt;
&lt;br /&gt;
=== Logging framework ===&lt;br /&gt;
&lt;br /&gt;
During the import/export process from alien file formats there might be some features which can not be mapped entirely.&lt;br /&gt;
The goal of this project is to provide a loggin framework for the new domainmapper of the writer filter project, which&lt;br /&gt;
allow the domainmapper to notify the user of such mapping problems.&lt;br /&gt;
&lt;br /&gt;
* Required skills/knowledge: C++&lt;br /&gt;
&lt;br /&gt;
; Contact&lt;br /&gt;
: Florian Reuter (freuter at novell.com)&lt;br /&gt;
: Fridrich Strba (fridrich_strba at openoffice org)&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_Work_Areas/Todo%27s&amp;diff=18646</id>
		<title>Mac OS X Porting - Work Areas/Todo&#039;s</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Mac_OS_X_Porting_-_Work_Areas/Todo%27s&amp;diff=18646"/>
		<updated>2006-10-14T12:08:08Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to serve as a living ToDo list for the OpenOffice.org Mac OS X port. To keep things simple it contains the ToDos for both the X11 version and the upcoming Aqua version of OpenOffice.org for Mac OS X. The page is divided into different work areas which either assigned to a person in charge or are unassigned yet. Below each area there is a detailed list of todos which has to be maintained by the respective people himself.&lt;br /&gt;
Persons who are in charge of a certain area are responsible for keeping their respective part of the page up-to-date.&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re interested in contributing to the project please coordinate with Eric Bachard [mailto:ericb@openoffice.org]&lt;br /&gt;
&lt;br /&gt;
== Areas and ToDos Aqua Version ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Messaging || Tino Rachui [mailto:tra@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Implement messaging infrastructure || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Windowing || Tino Rachui [mailto:tra@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Implement salframe.cxx || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Drawing || [mailto:ssa@openoffice.org Stephan Schaefer]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Implement drawing support || In progress || [mailto:ssa@openoffice.org Stephan Schaefer]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Native Printing support || [mailto:ybart2@openoffice.org Yvan BARTHÉLEMY]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Make some docs || In progress || [mailto:ybart2@openoffice.org Yvan BARTHÉLEMY]&lt;br /&gt;
|-&lt;br /&gt;
| Native look &amp;amp; feel for Print and Print Setup || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Panel for OpenOffice.org specific options || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Implement native Print support || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Implement native Print setup || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Work in progress, see: [[Mac_OS_X_Porting_-_Native_Printing]]&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;OpenOffice.org side&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
AquaSalPrinter class is located in aqua/source/gdi/salprn.cxx&lt;br /&gt;
&lt;br /&gt;
Headers are in:&lt;br /&gt;
 vcl/inc/salinst.hxx &lt;br /&gt;
 vcl/inc/salgdi.hxx  &lt;br /&gt;
 vcl/inc/salprn.hxx&lt;br /&gt;
&lt;br /&gt;
 Aqua implementation:&lt;br /&gt;
 aqua/inc/salprn.h (AquaSalPrinter class implementation, inherits from SalPrinter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mac OS X API side&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Todo: implement missing methods, using Carbon API&lt;br /&gt;
&lt;br /&gt;
Link for Mac OS X API documentation: &lt;br /&gt;
&lt;br /&gt;
http://developer.apple.com/documentation/Carbon/Reference/CarbonPrintingManager_Ref/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Key input || Unassigned [mailto: [???@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| ??? || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Native sound support || Eric Bachard [mailto: Name [mailto:ericb@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Implement native sound support || Started || Eric Bachard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New page has been updated.&lt;br /&gt;
&lt;br /&gt;
See: [[Native Sound Implementation on Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
Estimation of code remaining to write: 40% (macosxplayer.cxx mainly)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Image Acquisition || [mailto:ericb@openoffice.org Eric Bachard]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to Unassigned [mailto: [???@openoffice.org]&lt;br /&gt;
|-&lt;br /&gt;
| Implement Image Acquisition || In progress || [mailto:ericb@openoffice.org Eric Bachard]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;See&amp;#039;&amp;#039;&amp;#039;: [[Mac_OS_X_Porting_-_Data_Acquisition Data_Acquisition on Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Native font support ||Eric Bachard [mailto:ericb@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| ATS || Started || Eric Bachard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
salatslayout.cxx License origin is justified here: http://qa.openoffice.org/issues/show_bug.cgi?id=23283]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;OpenOffice.org side&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
 1) Headers&lt;br /&gt;
 &lt;br /&gt;
 1.1) &amp;#039;&amp;#039;&amp;#039;vcl/inc/salgdi.hxx&amp;#039;&amp;#039;&amp;#039;, including definition of:&lt;br /&gt;
 SalGraphics class &lt;br /&gt;
&lt;br /&gt;
 1.2) &amp;#039;&amp;#039;&amp;#039;vcl/inc/sallayout.hxx&amp;#039;&amp;#039;&amp;#039;, including definitions of:&lt;br /&gt;
 classes:&lt;br /&gt;
 ImplLayoutRuns&lt;br /&gt;
 ImplLayoutArgs&lt;br /&gt;
 SalLayout&lt;br /&gt;
 MultiSalLayout (inherits of SalLayout)&lt;br /&gt;
 GenericSalLayout&lt;br /&gt;
 &lt;br /&gt;
 structures: &lt;br /&gt;
 struct GlyphItem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.3) &amp;#039;&amp;#039;&amp;#039;vcl/aqua/inc/salgdi.h&amp;#039;&amp;#039;&amp;#039;, including definitions of &lt;br /&gt;
 &lt;br /&gt;
 classes: &lt;br /&gt;
 ImplMacFontData (inherits of ImplFontData)&lt;br /&gt;
 &lt;br /&gt;
 AquaSalGraphics (inherits of SalGraphics, does have ATSLayout as friend class)&lt;br /&gt;
 &lt;br /&gt;
 2) Implementation&lt;br /&gt;
 &lt;br /&gt;
 2.1) vcl/aqua/source/inc/salatslayout.cxx&lt;br /&gt;
 &lt;br /&gt;
 Implements the classes:&lt;br /&gt;
 &lt;br /&gt;
 ATSLayout (inherits of SalLayout)&lt;br /&gt;
 &lt;br /&gt;
 existing ATSLayout methods are:&lt;br /&gt;
 bool ATSLayout::LayoutText()&lt;br /&gt;
 void ATSLayout::AdjustLayout()&lt;br /&gt;
 void ATSLayout::DrawText()&lt;br /&gt;
 int ATSLayout::GetNextGlyphs()&lt;br /&gt;
 long ATSLayout::GetTextWidth()&lt;br /&gt;
 long ATSLayout::FillDXArray()&lt;br /&gt;
 int ATSLayout::GetTextBreak()&lt;br /&gt;
 void ATSLayout::GetCaretPositions()&lt;br /&gt;
 bool ATSLayout::GetBoundRect() &lt;br /&gt;
 bool ATSLayout::InitGIA()&lt;br /&gt;
&lt;br /&gt;
 Other class: PolyArgs, implementing:&lt;br /&gt;
 void PolyArgs::Init()&lt;br /&gt;
 void PolyArgs::AddPoint()&lt;br /&gt;
 void PolyArgs::ClosePolygon()&lt;br /&gt;
 OSStatus MyATSCubicMoveToCallback()&lt;br /&gt;
 OSStatus MyATSCubicLineToCallback()&lt;br /&gt;
 OSStatus MyATSCubicCurveToCallback()&lt;br /&gt;
 OSStatus MyATSCubicClosePathCallback ()&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mac OS X API side&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Carbon API implementation (binding) is made in salatslayout.cxx&lt;br /&gt;
&lt;br /&gt;
ATS and ATSUI starting point: http://developer.apple.com/documentation/Carbon/Conceptual/ATS_Concepts/atsfonts_intro/chapter_1_section_1.html&lt;br /&gt;
&lt;br /&gt;
Apple&amp;#039;s starting page leading to deeper docs: http://developer.apple.com/documentation/TextFonts/Typography-date.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Todo-list for native font implementation:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 - missing methods (to be implemented):&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;bool ATSLayout::GetGlyphOutlines()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ATSLayout::InitFont()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ATSLayout::MoveGlyph()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ATSLayout::DropGlyph()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ATSLayout::Simplify()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 - Fix known bugs:&lt;br /&gt;
  MultiLine does not work (writer cannot be used, because)&lt;br /&gt;
  Bad keyboard/charset ? (missig chars)&lt;br /&gt;
  When redrawing, everything is redrawn using the most little font size -&amp;gt; even the dialog boxes on menu bars&lt;br /&gt;
  Bad values returned &lt;br /&gt;
&lt;br /&gt;
 - Implement MultiSalLayout&lt;br /&gt;
 - Complete implementation  &lt;br /&gt;
 - read Apple API [ Work in progress]&lt;br /&gt;
 - describe current implementation: organisation / design [work in progress]&lt;br /&gt;
 - design of new implementation [FIXME] find examples&lt;br /&gt;
&lt;br /&gt;
Estimation of code remaining to write ~40 %&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Done&amp;#039;&amp;#039;&amp;#039; (mainly Stephan Schaefer, with initial salatslayout.cxx file written by Herbert Duerr)&lt;br /&gt;
&lt;br /&gt;
0.4&lt;br /&gt;
 - adapt salatslayout.cxx to make it match with sallayout.hxx, and salgdi.hxx, saldata.hxx .etc &lt;br /&gt;
 to make it build with aquavlcl01, and do some tests:&lt;br /&gt;
 - verify this server can be initialized inside OpenOffice.org (needs a CFRunLoop working to be correctly initialized)&lt;br /&gt;
 - run it and fix instant crashs and verity there is no freeze&lt;br /&gt;
&lt;br /&gt;
0.3&lt;br /&gt;
&lt;br /&gt;
 - fix compilations issues&lt;br /&gt;
 - rewrite complete salatslayout.cxx&lt;br /&gt;
 - verify salatsfontutils.cxx definition does match with new salatslayout.cxx content&lt;br /&gt;
 - define correct naming convention&lt;br /&gt;
 - replace old SalGraphicsData object implementation (found in pre-aquavcl01 files, and now obsolete, because we won&amp;#039;t use QDraw anymore)&lt;br /&gt;
 - understand current font implementation (using old salatslayout.cxx) (work in progress)&lt;br /&gt;
 - analyse and describe Carbon binding in salatslayout.cxx (90% done)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resources&amp;#039;&amp;#039;&amp;#039;: use sample code to test/initialize ATS server (using e.g. ATSUIDirectAccessDemo)&lt;br /&gt;
&lt;br /&gt;
For more informations, see: [[Fonts_starting_point_and_documentation]]&lt;br /&gt;
&lt;br /&gt;
== Areas and ToDos X11 Version ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Packaging &amp;lt;br&amp;gt;Packaging related tasks || Oliver Braun [mailto:obr@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Improved packaging for OOo || Done || Oliver Braun&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Installation &amp;lt;br&amp;gt;Installation related tasks || Oliver Braun [mailto:obr@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Provide an improved installer for OOo || New || Oliver Braun&lt;br /&gt;
|-&lt;br /&gt;
| Error messages during installation when no X11 is installed || Started (messages need to be localised and more info supplied) || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Support language pack instalation || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Desktop Integration &amp;lt;br&amp;gt;Desktop integration related tasks || Oliver Braun [mailto:obr@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
|Allow opening of documents with path names that need to be escaped for shell scripts || Needs Tested see [http://www.openoffice.org/issues/show_bug.cgi?id=69143] || Shaun McDonald [mailto:smsm1@openoffice.org]&lt;br /&gt;
|-&lt;br /&gt;
| Save documents in ~/Documents by default || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Use the Mac OS X key chain for document signing || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Read proxy settings and user information from the system settings || New || Unassigned&lt;br /&gt;
|- &lt;br /&gt;
| Mac OS X address book integration || New || Unassigned &lt;br /&gt;
|- &lt;br /&gt;
| Make use of the Mac OS X spell checker || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Improved clipboard support || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Support for standard Mac OS X shortcuts according to HI guideline || New || Unassigned&lt;br /&gt;
|- &lt;br /&gt;
| Integrate native FileOpen/FileSave dialog into OOo || Started || Florian Heckl [mailto:fheckl@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Printing || Unassigned [mailto: Name [??@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Improved printing support (CUPS) || Done || Mox Soini, Oliver Braun &lt;br /&gt;
|-&lt;br /&gt;
| Use the native print dialog in OOo || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Ease of use || Unassigned [mailto: Name [??@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Reduce visible toolbars || New || Unassgined&lt;br /&gt;
|-&lt;br /&gt;
| Suppress icons in OOo menus by default || New || Unassigned&lt;br /&gt;
|-&lt;br /&gt;
| Suppress xterm window when launching OOo || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Implement NeoLight plugin || Unassigned [mailto: Name [??@openoffice.org]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Implement NeoLight (spothlight plugin) in OpenOffice.org 2.0. For more informations, please have a look at [http://trinity.neooffice.org/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=1328&amp;amp;sid=9fb65afa5ca4232a6f8fae420424a3fe]|| New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Assurance Quality and Mac OS X port ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#F0F0F0;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF; font-weight:bold;&amp;quot; &lt;br /&gt;
| Mac OS X QA || unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Todo || Status || Assigned to&lt;br /&gt;
|-&lt;br /&gt;
| Collect informations and manage Mac OS X QA on the wiki || New || Unassigned&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
[[Category:MacOSX]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Developer_News_about_porting_OpenOffice_to_Darwin_PPC,_Darwin_Intel_and_Mac_OS_X&amp;diff=18645</id>
		<title>Developer News about porting OpenOffice to Darwin PPC, Darwin Intel and Mac OS X</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Developer_News_about_porting_OpenOffice_to_Darwin_PPC,_Darwin_Intel_and_Mac_OS_X&amp;diff=18645"/>
		<updated>2006-10-14T11:56:36Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;September 2006&amp;#039;&amp;#039;&amp;#039; Demo of native Mac OS X version of OpenOffice.org 2.0 at OOoCon 2006 (Lyon, France), and Apple Expo (Paris). Native version means running without X11.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;August 2006&amp;#039;&amp;#039;&amp;#039;  Mac porting of OpenOffice.org is present at WWDC06 (San Francisco). Thanks to Archibald Horlitz from GRAVIS AG Germany, and Cusoon. with the infos found at WWDC, discussing with Apple engineers, the Event Loop issue ( using WaitNextEvent() and RunApplicationEventLoop() now works ( Christian Lippka). Native version can now run without X11: lot of screenshots are available. Pavel Janik provided experimental version of Native Filepicker. Oliver Braun provided a fix to start OpenOffice.org, simply double-clicking the bundle.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;June 2006&amp;#039;&amp;#039;&amp;#039; Pavel Janik fixed a lot of things, and provided the code for native menubar implementation. Christian Lippka fixed important part for 2D drawing (mainly bitmaps).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;April 2006&amp;#039;&amp;#039;&amp;#039; New donation for Tino Rachui and Stephane Schaefer : two Imac Intel 20&amp;quot;. These very fast machines will replace old G3, good but slower.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;February 2006&amp;#039;&amp;#039;&amp;#039; First screenshots of svdem. Stephan Schaefer, Florian Heckl and Tino Rachui have made work svdem, a toy dedicated to experimentations in vcl. The objective is to progressively implement everything for Carbon/Cocoa port.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Screenshot of svdem with antialiased lines&amp;#039;&amp;#039;&amp;#039; [http://eric.bachard.free.fr/mac/aquavcl/screenshots/test_svdem_ericb_10_mars2006.jpg]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January 20th, 2006:&amp;#039;&amp;#039;&amp;#039; Starting April 2005, there were several donations made to the MacOSX Porting Team of OpenOffice.org. We would like to extend our thanks to those who made these donations to the MacOSX Porting Team on [http://porting.openoffice.org/mac/donations.html this web page]. Porting OpenOffice.org to MacOSX X11, MacTel (MacOSX for the Intel processor base) and MacOSX Aqua is easier with these donations.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January 17th, 2006:&amp;#039;&amp;#039;&amp;#039; New [http://porting.openoffice.org/mac/timeline.html timeline]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January 14th, 2006&amp;#039;&amp;#039;&amp;#039;: OpenOffice.org 2.0 now works natively (without use Rosetta) on Mac Intel (Apple machines running Mac OS X with Intel processors ).  The port was done by a 4 developers team, including Florian Heckl, Eric Bachard, Daniel Boelzle and Stephan Bergmann. Florian Heckl and Eric Bachard did the necessary changes for the port, using &amp;quot; Mactel &amp;quot; rent by Cusoon and Team OpenOffice.org e.V. , while Daniel Boelzle and Stephan Bergmann helped to solve the bridge. First announce : [http://eric.bachard.free.fr/news ericb&amp;#039;s blog]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January 5th, 2006&amp;#039;&amp;#039;&amp;#039;: The Mac OS X Tinderbox is up and running. Thank&amp;#039;s to Maxime Petazzoni for his great work !&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;December 25th, 2005&amp;#039;&amp;#039;&amp;#039;: Maho Nakata provided &amp;#039;&amp;#039;&amp;#039;63 locales&amp;#039;&amp;#039;&amp;#039; for official 2.0.1 !! Following locales : fr, de, en-US, mk, it and ja  have been declared stable, after QA smoke tests.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;November 17th-18th, 2005&amp;#039;&amp;#039;&amp;#039;: first Mac Team meeting in Hamburg&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;October 24th, 2005&amp;#039;&amp;#039;&amp;#039;: Florian Heckl completed the first Aqua build on both Mactel and PowerPC. Just an empty window, but without X11.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;October 2005:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org 2.0 for Mac OS X (X11) is [http://porting.openoffice.org/mac/2.0.0rc3.html here]!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;October 1, 2005:&amp;#039;&amp;#039;&amp;#039; Updated Mac OS X [http://porting.openoffice.org/mac/build_680_X11.html build instructions] to match milestone 130 and recent developments making OOo compile using gcc 4.0 and Mac OS X 10.4.x&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;August 27, 2005:&amp;#039;&amp;#039;&amp;#039; It&amp;#039;s now possible to use gtk and kde themes with OpenOffice.org on Mac OS X. As experimental work, Eric Bachard provided some screenshoots : Panther theme using gtk plugin . Other screenshots (with other themes) are available here. As you can see here, the new crystal icons set looks interesting too.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;July 3, 2005:&amp;#039;&amp;#039;&amp;#039; Updated [http://porting.openoffice.org/mac/build_680_X11.html build instructions] for Mac OS X 680_m113 and higher. Please review and report mistakes to &amp;#039;&amp;#039;mac@porting.openoffice.org&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;February 10, 2005:&amp;#039;&amp;#039;&amp;#039; At the OOoRegiCon, Simon Phipps called upon the [http://blogs.sun.com/roller/page/webmink/20050209#san_diego_preso OpenOffice.org community] [blogs.sun.com] to recognize [http://www.neooffice.org/ NeoOffice] [neooffice.org] as a part of a wider OpenOffice.org community of collaborators all working to achieve a common goal. Hopefully his message will be heard, hopefully no one will need to &amp;quot;discover&amp;quot; NeoOffice any longer, and hopefully the drastic need for OpenOffice.org X11 will no longer be ignored. Without Mac OS X (X11), there no foundation upon which to even dream non-X11 versions on Mac OS X.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January 20, 2005:&amp;#039;&amp;#039;&amp;#039; First [http://eric.bachard.free.fr/mac/MacOSX_m71s1/png/ screenshots] of milestone 1.9.71s1 running on Mac OS X (X11) by the great work of Eric Bachard. There is still [http://porting.openoffice.org/servlets/ReadMsg?list=dev&amp;amp;msgNo=14984 much work] to still be done before getting a fully functional version for X11, so drop on by and lend a hand today!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;October 29, 2004:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org 2.0 Aqua port slows. With lack of a dedicated X11 team, 2.0 doesn&amp;#039;t even compile &amp;quot;out of the box&amp;quot; for X11, and Cocoa development has slowed as well. The only current Mac OS X non-X11 development is the [http://www.neooffice.org/ NeoOffice/J] [neooffice.org] fork of OpenOffice.org 1.1.2, which is all the time I (Ed) have for myself. We desperately need your help! Go checkout 680 and help Eric Bachard, Eric Hoch, Florian Heckl and all the other Mac OS X diehards port it today! Check out the mailing list archives for the most recent 411.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;June 27, 2004:&amp;#039;&amp;#039;&amp;#039; OpenOffice.org 1.1.2 for Mac OS X (X11) is now available for [http://porting.openoffice.org/mac/ooo-osx_downloads.html download].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;March 29, 2004:&amp;#039;&amp;#039;&amp;#039; Updated 1.1.1 [http://porting.openoffice.org/mac/build_11_X11.html Build Instructions]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;March 29, 2004:&amp;#039;&amp;#039;&amp;#039; OOo 1.1.1 - soon for Mac OS X. We&amp;#039;re finalizing pieces of the installer right now, and hope to have builds propagated to the mirrors this week. [http://porting.openoffice.org/mac/big_shot.html See a screenshot].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;August 19, 2003:&amp;#039;&amp;#039;&amp;#039; Screenshot of OpenOffice.org 1.1 running under X11 on Mac OS X 10.2. Click to enlarge.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;August 18, 2003:&amp;#039;&amp;#039;&amp;#039; Development of OpenOffice.org 1.x on Mac OS X has been limited to X11. All development of Quartz and Aqua versions has been postponed to OpenOffice.org 2.x with expected delivery in late 2005 to early 2006. See the [http://porting.openoffice.org/mac/timeline.html timeline] for details.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;June 23, 2003:&amp;#039;&amp;#039;&amp;#039; It&amp;#039;s official! After months of testing and bug fixing, OpenOffice.org is pleased to announce the availability of OpenOffice.org Mac OS X (X11). This release runs with X11 graphics provided by either Apple X11 or XFree86. [http://porting.openoffice.org/mac/ooo-osx_downloads.html Download] it now, join the project and &amp;#039;&amp;#039;mac@porting.openoffice.org&amp;#039;&amp;#039; mailing list. Hunt for bugs; test features; make suggestions. Help us deliver the best open source office suite for Mac OS X and Darwin!&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Aqua]]&lt;br /&gt;
[[Category:MacOSX]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=User:Ericb&amp;diff=17318</id>
		<title>User:Ericb</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=User:Ericb&amp;diff=17318"/>
		<updated>2006-09-24T08:33:06Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: fix spaces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Public Documentation License Notice==&lt;br /&gt;
&lt;br /&gt;
The contents of this Documentation (excepted Native Port Roadmap),are subject to the Public Documentation License Version 1.0 (the &amp;quot;License&amp;quot;); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at http://www.openoffice.org/licenses/PDL.html.&lt;br /&gt;
The Original Documentation is &amp;quot;Mac OS X native port&amp;quot;. The Initial Writer of the Original Documentation is (JCA) Eric Bachard (C) 2005-2006. All Rights Reserved. (Initial Writer contact(s): ericb@openoffice.org.)&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Mac OS X Native port&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The first Mac OS X native port objective is make OpenOffice.org run without X11 use, to make it a real Mac application.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The second one is respect Aqua Human interface Guidelines&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; This is a long term work, and every help and/or contributions, like donations** are welcome.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 **see http://contributing.openoffice.org/index.html&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Native Port Roadmap&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;2006&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
* June 2006: work in progress &lt;br /&gt;
&lt;br /&gt;
- Basis: frame, instances, threads, drawing, painting, resizing (Stephan Schaefer, Tino Rachui)&lt;br /&gt;
&lt;br /&gt;
 Done: &lt;br /&gt;
 implement threads&lt;br /&gt;
 create, manage instance&lt;br /&gt;
 create, manage windows (including parents)&lt;br /&gt;
 create, manage events&lt;br /&gt;
 create manage drawing, resizing&lt;br /&gt;
 create, add menus (Pavel Janik)&lt;br /&gt;
 toggle window fullscreen (Pierre de Filippis)&lt;br /&gt;
 make font server work (Stephan Schaefer)&lt;br /&gt;
&lt;br /&gt;
* Current status font support (Stephan Schaefer, 2006/07/28): the following features are basically working now&lt;br /&gt;
** font selection&lt;br /&gt;
** font size&lt;br /&gt;
** simple font attributes (bold, italic)&lt;br /&gt;
&lt;br /&gt;
 Next step: document first part, and propose design&lt;br /&gt;
&lt;br /&gt;
- native filepicker (Oliver Braun)&lt;br /&gt;
&lt;br /&gt;
- native printing implementation (Oliver?)&lt;br /&gt;
&lt;br /&gt;
- native font implementation (Eric Bachard)&lt;br /&gt;
&lt;br /&gt;
* September 2006: &lt;br /&gt;
&lt;br /&gt;
- first proofs of concept: fonts, filepicker .. (more?)&lt;br /&gt;
- show the results (OOoCon 2006?)&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;2007&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
* January 2007: first alpha implementation&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Strategy for native port&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Possible Actions&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
Identify us:&lt;br /&gt;
&lt;br /&gt;
#Complete the arrays below&lt;br /&gt;
#Update photos on frapr.com?&lt;br /&gt;
&lt;br /&gt;
Share the work:&lt;br /&gt;
&lt;br /&gt;
#Divide the work between little Teams&lt;br /&gt;
#Update Todo list regularly -&amp;gt; needs some love these days ... [http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s]&lt;br /&gt;
&lt;br /&gt;
Help:&lt;br /&gt;
&lt;br /&gt;
#Teach tools between us&lt;br /&gt;
#Do a debug party on IRC&lt;br /&gt;
#write documentation&lt;br /&gt;
&lt;br /&gt;
Meet us:&lt;br /&gt;
&lt;br /&gt;
#IRC&lt;br /&gt;
#Mac Meeting (like nov2005 in Hamburg?)&lt;br /&gt;
&lt;br /&gt;
Inform:&lt;br /&gt;
&lt;br /&gt;
#Update website regularly&lt;br /&gt;
#Blogs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WHO&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Mac Team:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
|Developer \ skills || build || write code || code review || debug/trace (higher is better) || contribute to documentation ||&lt;br /&gt;
|-&lt;br /&gt;
|ericb|| x || x || || 1 || x ||&lt;br /&gt;
|-&lt;br /&gt;
|pjanik|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|ssa|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|maho|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|tinor|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|schmidtm|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|ebischoff|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|obr|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|cl|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|aliscafo|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|fheckl|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Fridrich|| || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Other resources&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
fonts: ?&lt;br /&gt;
&lt;br /&gt;
events: ?&lt;br /&gt;
&lt;br /&gt;
QA: ?&lt;br /&gt;
&lt;br /&gt;
graphical: ?&lt;br /&gt;
&lt;br /&gt;
Communication: ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WHAT&amp;#039;&amp;#039;&amp;#039;: Status of most important tasks&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; text-align:left; background-color:#efefef;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#d6d6d6;font-weight:bold;&amp;quot; &lt;br /&gt;
| Task || Names|| Urgency (1=higher)|| Work in Progress || Done || Code review || Debug || Integration || &lt;br /&gt;
|-&lt;br /&gt;
|Get rid of X11|| || 1 || x || x || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Bundle|| || 1 || x || || || || | ||&lt;br /&gt;
|-&lt;br /&gt;
|Drawing|| || 1 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Fonts|| || 1 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Events management|| || 2 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Controls (see list) ||ericb, aliscafo || 2 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Native FilePicker|| || 3 || x || x || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Native Printing|| || 3 || x || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Native SpellChecker|| || 4 || || || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Player|| || 4 || x || || || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other tasks:&lt;br /&gt;
&lt;br /&gt;
Help for writing bug lists, status of bugs ..etc&lt;br /&gt;
&lt;br /&gt;
Write howto use gdb, leaks, other tools&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WHEN&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
From Christian Lippka (last meeting, 25th of august 2006): &lt;br /&gt;
 Aug 26 00:21:38 ChristianL&lt;br /&gt;
 from my point of view what is missing for point 1:&lt;br /&gt;
 text layout, complete font support, keyboard support,&lt;br /&gt;
 fixing repaint issues, having aqua install and run out of the box&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;September 2006&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the current state of the project at the 2006 OpenOffice conference in Lyon and Paris&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Late 2006&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
fix OpenOffice.org launch&lt;br /&gt;
fix drawing (repainting)&lt;br /&gt;
Implement missing methods and fix most important bugs (mainly the one leading to crash) in:&lt;br /&gt;
ATS&lt;br /&gt;
Salgraphics&lt;br /&gt;
Salinstance&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;January or February 2007&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
make Java work (works partially)&lt;br /&gt;
make intensive debug&lt;br /&gt;
present something working as alpha&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;June 2007	&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Implementation of:&lt;br /&gt;
native filepicker&lt;br /&gt;
native printing&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;2nd Mac porters meeting&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
===Todo===&lt;br /&gt;
&lt;br /&gt;
1) define location and date&lt;br /&gt;
 Easy to attend for all people coming&lt;br /&gt;
 Some University?&lt;br /&gt;
 An airport close to the meeting is prefered&lt;br /&gt;
 &lt;br /&gt;
2) write a list of interested people&lt;br /&gt;
&lt;br /&gt;
 ericb&lt;br /&gt;
 pjanik&lt;br /&gt;
 obr&lt;br /&gt;
 fheckl&lt;br /&gt;
&lt;br /&gt;
 [complete the list]&lt;br /&gt;
&lt;br /&gt;
3) define needed resources &lt;br /&gt;
&lt;br /&gt;
 rooms for 10 to 20 people (as cheap as possible)&lt;br /&gt;
 Food?&lt;br /&gt;
 Hardware: 1 per workshop -&amp;gt; 4 machines would be great&lt;br /&gt;
&lt;br /&gt;
4) Find money for travels, rooms and food&lt;br /&gt;
 &lt;br /&gt;
 By plane? &lt;br /&gt;
 come together by car?&lt;br /&gt;
 Note: I&amp;#039;ll propose the amount of money we need to Louis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5) Location&lt;br /&gt;
&lt;br /&gt;
 not defined, but Pavel proposed CZ (Prague?) and fheckl has never been to Prague so it would be OK for him&lt;br /&gt;
 &lt;br /&gt;
 [FIXME]&lt;br /&gt;
&lt;br /&gt;
6) Duration &lt;br /&gt;
&lt;br /&gt;
 A weekend: e.g. Saturday 2nd / Sunday 3rd december 2006&lt;br /&gt;
&lt;br /&gt;
7) Content&lt;br /&gt;
&lt;br /&gt;
 Common sessions / Workshops around native issues: &lt;br /&gt;
 &lt;br /&gt;
 - windowing (salinst*)&lt;br /&gt;
 - redrawing&lt;br /&gt;
 - fonts&lt;br /&gt;
 - controls&lt;br /&gt;
 - native printing&lt;br /&gt;
 - packaging&lt;br /&gt;
 ..etc (propose other)&lt;br /&gt;
&lt;br /&gt;
===Agenda (can be modified)===&lt;br /&gt;
&lt;br /&gt;
[FIXME] create an array ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saturday:&lt;br /&gt;
&lt;br /&gt;
- Common session from 12:00 to 15:00 &lt;br /&gt;
&lt;br /&gt;
- Workshops: From 16:00 to 19:00 &lt;br /&gt;
&lt;br /&gt;
[Saturday evening: some dinner in the city? ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sunday:&lt;br /&gt;
&lt;br /&gt;
- Workshops from 10:00 to 12:00&lt;br /&gt;
&lt;br /&gt;
- Conclusions from 13:00 to 14:00&lt;br /&gt;
&lt;br /&gt;
Time to return after ...&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;IRC Mac port meetings&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
This section has been moved to [[MacOSXPortMeetings]].&lt;br /&gt;
&lt;br /&gt;
==Description of the Native Port problem==&lt;br /&gt;
&lt;br /&gt;
=== How does OpenOffice.org work on Mac OS X? ===&lt;br /&gt;
&lt;br /&gt;
Currently, on Mac OS X, OpenOffice.org uses X11, as &amp;quot;client&amp;quot;: X11 is a graphical server, coming from Unix world, and able to run under Linux, *BSD, Solaris, Mac OS X.&lt;br /&gt;
&lt;br /&gt;
 - X11 is run as an application, managed like other Apple applications.&lt;br /&gt;
 - All unix like applications are managed by X11, and from Aqua environment, only X11 is seen as only one applicatiion, &lt;br /&gt;
  even if other Unix/Linux (e.g.) applications are runing.&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org asks X11 to display a window, waits for X11 acknowledgment, and OpenOffice.org displays the window. All transactions use the network, locally or not. the same mechanism is used for everything to be displayed.&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 11:39, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Issues and known problems ===&lt;br /&gt;
&lt;br /&gt;
All events are managed by OpenOffice.org and X11, using the Xlib&lt;br /&gt;
&lt;br /&gt;
Only .ttf fonts type is currently available. Note: &amp;#039;&amp;#039;&amp;#039;system fonts are available &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The rendering is made by X11, not by Mac OS X rendering engine.&lt;br /&gt;
&lt;br /&gt;
X11 and all its clients are seen as one application only: drag and drop protocol does not work because of that (solution: Pasteboard Manager)&lt;br /&gt;
&lt;br /&gt;
==== Other links ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.services.openoffice.org/wiki/List_of_OpenOffice.org_Mac_OS_X_issues_and_problems#&lt;br /&gt;
&lt;br /&gt;
http://wiki.services.openoffice.org/wiki/Printing_problems_with_OpenOffice.org_2.0_for_Mac_OS_X#Reporting_printing_problems&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 11:39, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== What do we have to do?==&lt;br /&gt;
&lt;br /&gt;
* Implement direct access to Apple graphical engine, using Apple API: Quartz2D/CoreGraphics (and replacing Xlib use)&lt;br /&gt;
&lt;br /&gt;
like: instantiate, manage events and threads for a graphical instance + all needed objects, drawing: manage all drawing cases&lt;br /&gt;
&lt;br /&gt;
* Implement native events management, using CarbonEventManager (replacing Xlib management)&lt;br /&gt;
&lt;br /&gt;
* Implement native font use, using Apple Type Server and ATSUI (for Unicode Imagery) (replacing X11 management)&lt;br /&gt;
&lt;br /&gt;
Work in progress: http://wiki.services.openoffice.org/wiki/Fonts_starting_point_and_documentation&lt;br /&gt;
&lt;br /&gt;
* Implement native sound, using QuickTime (replacing Java Media Framework): [[Mac OS X Porting - Native Audio and Video]]&lt;br /&gt;
&lt;br /&gt;
* Implement native Drag and drop, Implementing Pasteboard Manager: [[Mac OS X Porting - Native Drag and drop]]&lt;br /&gt;
&lt;br /&gt;
* Implement Native Filepicker&lt;br /&gt;
&lt;br /&gt;
* Implement Native Printing: current uses cups, but native printing is mandatory: [[Mac OS X Porting - Native_Printing]]&lt;br /&gt;
&lt;br /&gt;
* Implement Apple Spellchecker&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;Where is located the code to be modified?&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
Most of the changes are located in vcl (Visual Class Layer), for everything graphical, events, fonts, rendering and printing.&lt;br /&gt;
&lt;br /&gt;
Other, for sound and movies will be in avmedia (where the player is implemented in OpenOffice.org sources).&lt;br /&gt;
&lt;br /&gt;
For drag and drop, dtrans is concerned (Pasteboard Manager implementation)&lt;br /&gt;
&lt;br /&gt;
[FIXME]: Filepicker? Apple Spellchecker?&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 11:39, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;How will the new implementation be tested?==&lt;br /&gt;
&lt;br /&gt;
Currently, all openOffice.org code can be compiled without using the Xlib. but of course, a lot of features are missing,&lt;br /&gt;
&lt;br /&gt;
and the final package simply won&amp;#039;t work&lt;br /&gt;
&lt;br /&gt;
In vcl module&amp;quot;, a &amp;#039;&amp;#039;&amp;#039;toy&amp;#039;&amp;#039;&amp;#039; called svdem is built at buildtime. This binary is linked to libvcl* and so all new stuff can be tested.&lt;br /&gt;
&lt;br /&gt;
e.g. : draw anti-aliased lines works well. &lt;br /&gt;
&lt;br /&gt;
Everything implemented in aqua vcl code will be included in libvclplug_aqua, and svdem source code will contain a specific part to proceed tests.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;messagebox cleanup metadata&amp;quot; style=&amp;quot;border:1px solid blue;background-color:#B3FFF5;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The magic is: when all needed features will work with svdem, it will work in the new version of OpenOffice.org !!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[FIXME]: add more complete list of features to implement and test.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Sort of documentation about VCL around Native Mac OS X port&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do we really need to understand how it works? ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vcl content:&lt;br /&gt;
&lt;br /&gt;
ls -laR | wc -l&lt;br /&gt;
  1750&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Uff 1750 files to analyse :-/&lt;br /&gt;
&lt;br /&gt;
Our purpose is to describe the vcl organisation. The content of vcl is so important, that at the begining, the content will looks a bit confused. e.g. class names ..etc have nothing to do, only description with words and sense, but this will need some time before we can understand everything.&lt;br /&gt;
&lt;br /&gt;
How analyse with more efficiency? After some months to anlalyse &amp;#039;&amp;#039;&amp;#039;&amp;quot;horizontaly&amp;quot;&amp;#039;&amp;#039;&amp;#039;, it appears that list all the content of a directory is not the solution. Of course, we learned a lot, but we now have to complete with &amp;#039;&amp;#039;&amp;#039;&amp;quot;orthogonal&amp;quot;&amp;#039;&amp;#039;&amp;#039; method (compared to the previous one). The first method wasn&amp;#039;t obviously not the good/best way to describe vcl.&lt;br /&gt;
 &lt;br /&gt;
[UPDATE] After some investigations, the use of Design patterns seems to be the most efficient approach to describe vcl. Will try to do so asap.&lt;br /&gt;
&lt;br /&gt;
[FIXME] a different approach (will ask confirmation to Philipp Lohman), could be a description of how it work in runtime. First define what an instance is, a frame, and what exactly is concerned by such &amp;quot;objects&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With that, we can write a list of different objects all using the same scheme: empty boxes (means pure virtual methods and classes in generic libvvcl), really implemented in the specific part, and finally, the API &amp;quot;encapsulated&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The most difficult is to see where the API is used. But for all the parts, this is the same.&lt;br /&gt;
&lt;br /&gt;
Finally, &amp;#039;&amp;#039;&amp;#039;what is important is the design of vcl&amp;#039;&amp;#039;&amp;#039;. Which &amp;#039;&amp;#039;&amp;#039;patterns&amp;#039;&amp;#039;&amp;#039; are used? What are the dependencies, how works the stack for the events, how works the scheduler, the timers too is very important, even fundamental for Aqua implementation. Will have a look at gsl mailing list, and other resources. Probably everything is already (randomly) written somewhere.&lt;br /&gt;
&lt;br /&gt;
=== VCL organisation ===&lt;br /&gt;
&lt;br /&gt;
Thank&amp;#039;s to Philipp Lohmann for this short, but precise description:&lt;br /&gt;
&lt;br /&gt;
Basically vcl is divided in the system dependent and the system independent part. The interface between these two is mostly the Sal interface (every interface name Sal*: SalInstance, SalFrame, SalGraphics, SalPrinter, etc.).&lt;br /&gt;
&lt;br /&gt;
SalInstance is a factory that can create all the other abstracted interfaces of the system dependent part. It also provides the main loop SalInstance::Yield()&lt;br /&gt;
&lt;br /&gt;
SalFrame abstracts any kind of system window.&lt;br /&gt;
&lt;br /&gt;
SalVirtualDevice abstracts an offscreen window (e.g. a Pixmap on X11)&lt;br /&gt;
&lt;br /&gt;
SalPrinter and SalInfoPrinter abstract the system print queues where SalInfoPrinter is for querying and SalPrinter for actual printing.&lt;br /&gt;
&lt;br /&gt;
SalGraphics is an interface produced by either SalFrame, SalVirtualDevice or SalPrinter which is used for actual drawing operations (text, bitmaps, vector graphics)&lt;br /&gt;
&lt;br /&gt;
SalSound is for sound playing.&lt;br /&gt;
&lt;br /&gt;
SalBitmap provides memory for bitmap graphics as well as methods converting this memory to a system handle (e.g. a Pixmap on X11).&lt;br /&gt;
&lt;br /&gt;
SalOpenGL provides OpenGL functionality if available.&lt;br /&gt;
&lt;br /&gt;
SalTimer is an interface for periodically triggering the event queue (to timer implementation).&lt;br /&gt;
&lt;br /&gt;
SalI18NImeStatus handles how the status window of an Input Method Editor (IME) should display (this is mainly X11 specific).&lt;br /&gt;
&lt;br /&gt;
SalSystem has some system specific methods that did not belong anywhere else:-)&lt;br /&gt;
&lt;br /&gt;
Of all these there interfaces is at least one implementation per system (Windows, X11 or Mac). The Unix implementation also has a plugin concept to allow for integration of different native toolkits (currently gtk and Qt) which became necessary for the implementation of Native Widget Framework (NWF) to display controls like their normal desktop counterparts.&lt;br /&gt;
&lt;br /&gt;
Basically the independent part (what is beneath vcl/source directory) has generic methods for drawing, window handling and stuff which it brings into a suitable form and then delegates to the system specific implementaion (located beneath vcl/win for Windows and vcl/unx for the X11 platforms).&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 16:12, 1 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
===Sub-directories description ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Organisation of vcl directories&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
[[Image:aquavcl_organisation_complete_02.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;Directories in vcl. Short description&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; aqua &amp;#039;&amp;#039;&amp;#039;: The name Aqua means Apple look and feel, and is well known as [http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html Aqua Human Interface Guidelines]. This look and feel means Mac OS X. The work was begun by (probably) P. luby, Dan Williams Herbert Duerr (most of fonts stuff) and Ed Peterlin. Currently in ruin, this directory does contain a lot of ideas to investigate. The most important part of needed changes for native version (3.0) will be done inside aqua dir inc: does contain all vcl relative includes [PART1]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; prj &amp;#039;&amp;#039;&amp;#039;: Does contain build.lst and d.lst build.lst give us dependencies: probably a lot for vcl, build 98th module over ~148. Everything graphical depends in vcl. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; qa &amp;#039;&amp;#039;&amp;#039; does contain all quality assurancy stuff&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;source&amp;#039;&amp;#039;&amp;#039;: the most important:-) This directory contains common sources for all architectures and OS. Mainly: Windows, Unix: Linux , Mac OS X (X11), Solaris, including generic, kde and gtk plugins, and Aqua (Mac OS X without X11, work currently in progress). &lt;br /&gt;
&lt;br /&gt;
Depending on the OS and the architecture, binaries are built or not.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; test &amp;#039;&amp;#039;&amp;#039;: This directory does contain all the needed stuff for tests. As example, in qa/testdocuments, you&amp;#039;ll find three documents (one writer, one calc and one impress) for tests purpose. &lt;br /&gt;
Other available tests are about memcheck and persistent window state. &lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; unx &amp;#039;&amp;#039;&amp;#039;: this directory does contain all unixes stuff. We have to understand what is inside to implement aqua port. For example, a lot of classes/strutures and objects use Xlib calls we have to replace with Carbon/Cocoa call (at least at first time) for Mac OS X native port.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; win &amp;#039;&amp;#039;&amp;#039;: Doing Mac OS X native port, I first believed this directory was not interesting for us, but I was wrong: OpenOffice.org roots are inside this directory, and a lot of comments and resources are inside. Mainly interesting if Carbon is used.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;workben&amp;#039;&amp;#039;&amp;#039;: Does contain a toy called &amp;quot;svdem&amp;quot;. svdem is a binary, used for new implementations. For example, actual aqua development uses svdem intensively, to verify all important properties we need: &lt;br /&gt;
&lt;br /&gt;
- display a window first (al least ...:)) &lt;br /&gt;
&lt;br /&gt;
- close cleanly this window&lt;br /&gt;
&lt;br /&gt;
- display a point&lt;br /&gt;
&lt;br /&gt;
- trace a line&lt;br /&gt;
&lt;br /&gt;
- trace an area &lt;br /&gt;
&lt;br /&gt;
- superpose two areas doing some important graphical operations, (like xor),&lt;br /&gt;
&lt;br /&gt;
- display a character&lt;br /&gt;
&lt;br /&gt;
- display a menu. &lt;br /&gt;
&lt;br /&gt;
- intercept events correctly.&lt;br /&gt;
&lt;br /&gt;
[FIXME] add more tests&lt;br /&gt;
&lt;br /&gt;
[[User:Ericb|Ericb]] 13:21, 3 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Naming convention ==&lt;br /&gt;
&lt;br /&gt;
* Class names start with upper case letters, to improve readability.&lt;br /&gt;
&lt;br /&gt;
* Implemented Class names are derived from the virtual classes but can of course take arbitrary names.&lt;br /&gt;
To increase readability, it&amp;#039;s recommended to closely follow the base class name.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Impl prefix: means Implementation details&amp;#039;&amp;#039;&amp;#039;. The concerned class or method or function is not used outside of this module, so no external code (or other libraries) can see it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[ Events types using Carbon API (Mac OS X): ]]&amp;#039;&amp;#039;&amp;#039; A lot of events have to be managed in runtime. Here is a short description&lt;br /&gt;
&lt;br /&gt;
- do not freeze because bad event loops&lt;br /&gt;
&lt;br /&gt;
- event types implementation: currently, they are defined in vcl/aqua/inc/aquavclevents.hxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apart: exact sense of hedabu? -&amp;gt; [FIXME] as far as I understood it: it is like &amp;quot;copy&amp;quot; to deliver software into the solver, with extra magic. The header files for example are manipulated so paths need not be exact. &amp;quot;headabu&amp;quot; is supposed to disappear little by little.&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;What do we have to build in vcl?&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
Two libraries, corresponding ressources (localized) and a toy so called « svdem »&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common part&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
in grey on right. The result will be a non architecture dependant library, built in all cases: for instance, libvcl680mxi.dylib on Mac Intel.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Specific part  &amp;quot; a plugin &amp;quot; &amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&lt;br /&gt;
Light yellow: aqua part will only concern Mac OS X (non X11) the name will probably be libvcl_aqua680mxi.dylib &lt;br /&gt;
&lt;br /&gt;
As you can see, win means windows part, in blue&lt;br /&gt;
&lt;br /&gt;
For Unix build (Linux, Solaris or current Mac OS X X11), in purple.&lt;br /&gt;
&lt;br /&gt;
Result will be:&lt;br /&gt;
&lt;br /&gt;
libvclplug_PLUGIN680mxi.DLLSUFFIX , where PLUGIN can be iether gen (generic) or gtk (using gtk+) or kde (using qt), and DLLSUFFIX can be either .so (linux) or .dylib (Mac OS X) ...etc (I&amp;#039;m not sure for other cases).&lt;br /&gt;
&lt;br /&gt;
Example: libvcl680mxi.dylib and libvclplug_aqua680mxi.dylib&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;In runtime&amp;#039;&amp;#039;&amp;#039;, libvclplug_aqua will be linked to libvcl680. the first one will contain the real implementation (respecting the API, e.g. Carbon) while the generic libvcl will only contain pure virtual methods ...etc like &amp;quot;empty boxes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Current Aqua content ===&lt;br /&gt;
&lt;br /&gt;
A more complete description of aqua (Mac OS X / no X11 specific): [[Image:Vcl_aqua_organisation_02_tree.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==EXISTING objects to build in aqua==&lt;br /&gt;
&lt;br /&gt;
===Sal APP &amp;quot;everything application&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[FIXME] add all objects descriptions&lt;br /&gt;
&lt;br /&gt;
==== saldata ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Defined in plugin exclusively&amp;#039;&amp;#039;&amp;#039; (i.e. for headers)&lt;br /&gt;
&lt;br /&gt;
Unix: unx/source/app/saldata.cxx (header in unx/inc)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aqua: aqua/source/app/saldata.cxx (header in win/inc)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Windows: win/source/app/saldata.cxx (header in aqua/inc)&lt;br /&gt;
&lt;br /&gt;
* Role: saldata contains various kind of data used by the implementation for the concerned platform. &amp;#039;&amp;#039;&amp;#039;It is a bunch of global data collections reserved for the platform&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
It is just completely platform dependent, and nobody except this plugin can see it.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Saldata is something like a &amp;quot;second sal&amp;quot;, but providing an abstraction regarding windowing and graphics&amp;#039;&amp;#039;&amp;#039;, while SAL module provides an abstraction more Operating System oriented) &lt;br /&gt;
&lt;br /&gt;
e.g. : have a look at XRequest array in vcl/unx/source/app/saldata.cxx =&amp;gt; all calls are for Xlib (X11).  Ok, useless there, but interesting:-)&lt;br /&gt;
&lt;br /&gt;
[FIXME]: use Windows implementation could be a good starting point. Nothing is the same, but the current aquavcl cws uses similar objects, and it works very correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
saldatax.cxx uses classes SalInstance, SalObject, SalFrame, SalVirtualDevice, SalPrinter and fontList.&lt;br /&gt;
&lt;br /&gt;
Current list of possible objects who can be instantiated/released:&lt;br /&gt;
&lt;br /&gt;
structure SalData: does contain pointers on all kind of objects from other classes used in saldata.&lt;br /&gt;
&lt;br /&gt;
inline functions: [FIXME]: complete the description&lt;br /&gt;
&lt;br /&gt;
- SetSalData:&lt;br /&gt;
- GetSalData:&lt;br /&gt;
- GetAppSalData:&lt;br /&gt;
&lt;br /&gt;
==== salinst ====&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; implemented in vcl/aqua/source/app/salinst.cxx&lt;br /&gt;
&lt;br /&gt;
Role: &lt;br /&gt;
&lt;br /&gt;
* get environment, mutexes, instantiate AquaSalInstance (Ctor, Dtor),&lt;br /&gt;
&lt;br /&gt;
* instantiates/releases a lot of other objects using Get() / CreateObject() / DestroyObject() methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current list of possible objects who can be instantiated/released:&lt;br /&gt;
&lt;br /&gt;
 * VirtualDevice [FIXME]: exact role?&lt;br /&gt;
&lt;br /&gt;
 *Printer  &lt;br /&gt;
&lt;br /&gt;
- GetDefaultPrinter/ CreatePrinter() / DestroyPrinter - what a name ;-) -&lt;br /&gt;
&lt;br /&gt;
- InfoPrinter (Get/Create/Delete)&lt;br /&gt;
&lt;br /&gt;
- PrinterQueue (DeletePrinterQueueInfo / GetPrinterQueueInfo / GetPrinterQueueState)&lt;br /&gt;
&lt;br /&gt;
 * System (Create / Delete) [FIXME]: what means system here?&lt;br /&gt;
&lt;br /&gt;
 * Events: &lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::SetEventCallback()&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::SetErrorEvenCallback()&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::GetConnectionIdentifier()&lt;br /&gt;
&lt;br /&gt;
 * Menu / MenuItem: &lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateMenu() / same for DestroyMenu()&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateMenuItem / same DestroyMenuItem()&lt;br /&gt;
&lt;br /&gt;
 * Sound: &lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateSalSound()  =&amp;gt; object to a pointer of SalSound type&lt;br /&gt;
&lt;br /&gt;
Note: AquaSalInstance::DestroySalSound is not implemented (?)&lt;br /&gt;
&lt;br /&gt;
 * Timer: CreateTimer() /&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance:: DestroyTimer() is not yet implemented (?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Class MacImeStatus: inherits of SalI18NImeStatus&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; only there to see if there is a window to toggle into menubar [FIXME]??&lt;br /&gt;
&lt;br /&gt;
AquaSalInstance::CreateI18NImeStatus(): instantiates MacImeStatus&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;For futher informations, see: &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[Content of salinst.cxx]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
([[User:Ericb|Ericb]] 16:11, 20 May 2006 (CEST) )&lt;br /&gt;
&lt;br /&gt;
==== salmain ====&lt;br /&gt;
&lt;br /&gt;
Role: if possible, runs the standard vcl application code SVMain()&lt;br /&gt;
&lt;br /&gt;
([[User:Ericb|Ericb]] 16:15, 20 May 2006 (CEST))&lt;br /&gt;
&lt;br /&gt;
==== salsound ====&lt;br /&gt;
&lt;br /&gt;
==== salsys ====&lt;br /&gt;
&lt;br /&gt;
==== saltimer ====&lt;br /&gt;
&lt;br /&gt;
=== Sal GDI (everything Graphical Display Interface) ===&lt;br /&gt;
&lt;br /&gt;
====salgdinativewidgets====&lt;br /&gt;
&lt;br /&gt;
[[native controls]]&lt;br /&gt;
&lt;br /&gt;
==== salatslayout ====&lt;br /&gt;
&lt;br /&gt;
==== salatsuiutils ====&lt;br /&gt;
&lt;br /&gt;
==== salfontutils ====&lt;br /&gt;
&lt;br /&gt;
==== salmathutils ====&lt;br /&gt;
&lt;br /&gt;
==== sal bmp ====&lt;br /&gt;
&lt;br /&gt;
==== salvd ====&lt;br /&gt;
&lt;br /&gt;
==== salframe ====&lt;br /&gt;
&lt;br /&gt;
==== salpixmaputils====&lt;br /&gt;
&lt;br /&gt;
==== salprn ====&lt;br /&gt;
&lt;br /&gt;
====salrectangle====&lt;br /&gt;
&lt;br /&gt;
==== salvd ====&lt;br /&gt;
&lt;br /&gt;
=== Sal Window===&lt;br /&gt;
&lt;br /&gt;
==== salframe ====&lt;br /&gt;
&lt;br /&gt;
====salobj====&lt;br /&gt;
&lt;br /&gt;
== TO BE IMPLEMENTED (missing in Aqua)==&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
====audioconvert====&lt;br /&gt;
 (obsolete?) &lt;br /&gt;
&lt;br /&gt;
====devaudio====&lt;br /&gt;
(obsolete?)&lt;br /&gt;
&lt;br /&gt;
====native sound====&lt;br /&gt;
&lt;br /&gt;
====salimpsound====&lt;br /&gt;
&lt;br /&gt;
====vsound====&lt;br /&gt;
&lt;br /&gt;
===i18n===&lt;br /&gt;
&lt;br /&gt;
===keysymnames===&lt;br /&gt;
&lt;br /&gt;
===saldisp===&lt;br /&gt;
&lt;br /&gt;
===sm===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[FIXME]: is session manager usefull?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is used for Linux, Windows, Mac OS X ...build ? ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Description of the dependencies]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Windows]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[MacOS X]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Linux]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Solaris]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Content of Aqua ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Click here to see the complete list]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Content of vcl/inc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1) Where to find includes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;foo/bar.hxx&amp;gt; means you can find bar.hxx in the foo module. The new style file is foo/inc/foo/bar.hxx, old style is foo/inc/bar.hxx and sometimes the file is somewhere else in the tree or generated. The deliver process copies/generates the file into solver at solver/680/build_type/inc/foo. Good for fixing broken builds. ;-)&lt;br /&gt;
&lt;br /&gt;
2) &lt;br /&gt;
suffix .h (for C calls or first version?) or .hxx (C++) &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A) Family of includes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Looking more closely at the list brings to the fore (expression from dictionary ;-) ) that include names are&lt;br /&gt;
informatives. Most of the time, the name gives the function/role.&lt;br /&gt;
What is interesting is the files with name begining with &amp;quot;sal&amp;quot;. sal means System Abstraction Layer + include&amp;#039;s function (or explicit name). &lt;br /&gt;
&lt;br /&gt;
Partial list, for example:&lt;br /&gt;
&lt;br /&gt;
salatype.hxx&lt;br /&gt;
&lt;br /&gt;
salbmp.hxx&lt;br /&gt;
&lt;br /&gt;
salctrlhandle.hxx&lt;br /&gt;
&lt;br /&gt;
salctype.hxx&lt;br /&gt;
&lt;br /&gt;
salframe.hxx&lt;br /&gt;
&lt;br /&gt;
salgdi.hxx&lt;br /&gt;
&lt;br /&gt;
salgeom.hxx&lt;br /&gt;
&lt;br /&gt;
sallayout.hxx (main header for fonts services)&lt;br /&gt;
...&lt;br /&gt;
salmenu&lt;br /&gt;
salnativewidgets&lt;br /&gt;
...etc&lt;br /&gt;
&lt;br /&gt;
Other important families are &amp;quot;sv&amp;quot; and &amp;quot;uno&amp;quot; or &amp;quot;win&amp;quot; (window) prefixed. sal family will be analysed apart.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;B) Includes of includes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Some includes are more important than other. To prove this, just have a look is sufficient: some are always needed, and some more rarely.&lt;br /&gt;
&lt;br /&gt;
To verify, a simple test to do in vcl/inc:&lt;br /&gt;
&lt;br /&gt;
egrep -H &amp;quot;#include&amp;quot; ./* | wc -l  gives me 681 lines ! And some of them are the same...&lt;br /&gt;
&lt;br /&gt;
To know more, the precedent command line can be modified to make appear the numerous call &lt;br /&gt;
to the same includes files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
egrep -H &amp;quot;#include&amp;quot; ./* | cut -d&amp;quot;#&amp;quot; -f2 | sort &amp;gt; liste.txt&lt;br /&gt;
&lt;br /&gt;
The content of liste.txt is explicit: dllapi.h, sv.h and some other are very important, while some other includes are only one or two times used. We can see too that vos includes are numerous, even if vos is deprecated**&lt;br /&gt;
&lt;br /&gt;
 **see http://wiki.services.openoffice.org/wiki/Source_code_directories&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m nearly sure that a complete analysis of just this result will give us a lot of information.&lt;br /&gt;
&lt;br /&gt;
I propose to change the order of analysis starting with dllapi.h and sv.h.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[to be continued]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;B1) &amp;quot;sal&amp;quot; includes family&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[salinst.hxx]] This seems to be the main include file&lt;br /&gt;
&lt;br /&gt;
[[salatype.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salctrlhandle.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salctype.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salframe.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salgdi.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[salgeom.hxx]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[ sallayout.hxx ]]&amp;#039;&amp;#039;&amp;#039; &amp;lt;-- see Native Fonts implementation&lt;br /&gt;
&lt;br /&gt;
[[salgtype.hxx]]&lt;br /&gt;
&lt;br /&gt;
[[vcl/inc/salobj.hxx]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;B2) Classicals includes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
file: abstdlg.hxx [ means abstract dialog ]&lt;br /&gt;
&lt;br /&gt;
This includes does contain the following classes definitions:&lt;br /&gt;
&lt;br /&gt;
[FIXME] : choose a precise presentation template for classes &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VclAbstractDialog,&lt;br /&gt;
&lt;br /&gt;
VclAbstractTerminateDialog, &lt;br /&gt;
&lt;br /&gt;
VclAbstractRefreshableDialog,&lt;br /&gt;
 &lt;br /&gt;
VclAbstractDialogFactory, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uses &amp;lt;tools/solar.h&amp;gt; , &amp;lt;tools/string.hxx&amp;gt; + &lt;br /&gt;
&lt;br /&gt;
&amp;quot;dllapi.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note : dllapi.h is very interesting because when we have to find (for example) a library suffix, SAL_DLLEXTENSSION can replace all suffixes (every OS&amp;#039;s and archs). Just including sal/config.h does it ! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Classes:&lt;br /&gt;
&lt;br /&gt;
Window -&amp;gt; what? [FIXME]&lt;br /&gt;
ResId -&amp;gt; what?&lt;br /&gt;
&lt;br /&gt;
Does contain the prototype of VclAbstractDialog, inherit of VCL_DLLPUBLIC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
file: dllapi.h [ dll for dynamic linked library ]&lt;br /&gt;
Uses: &amp;lt;sal/config.h&amp;gt; and &amp;gt;sal/types/h&amp;gt;&lt;br /&gt;
includes: VCL_DLLPUBLIC macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
file: accel.h [ means accelerator ]&lt;br /&gt;
&lt;br /&gt;
Classes:&lt;br /&gt;
&lt;br /&gt;
Accelerator &lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
ImplAccelEntry &lt;br /&gt;
{&lt;br /&gt;
public members: &lt;br /&gt;
&lt;br /&gt;
Names&lt;br /&gt;
&lt;br /&gt;
mnId&lt;br /&gt;
maKeyCode&lt;br /&gt;
mpAccel&lt;br /&gt;
mpAutoAccel&lt;br /&gt;
mbEnabled&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function / returns / parameters&lt;br /&gt;
&lt;br /&gt;
ImplGetKeyCode / void / KeyFuncType eFunc, ref rCode1 , ref rCode2, ref rCode3&lt;br /&gt;
&lt;br /&gt;
file: accel.hxx &lt;br /&gt;
&lt;br /&gt;
Uses: &amp;lt;sv.h&amp;gt; , &amp;quot;dllapi.h&amp;quot; ,&amp;lt;tools/resid.hxx&amp;gt;, &amp;lt;&amp;lt;tools/rc.hxx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Classes:&lt;br /&gt;
&lt;br /&gt;
ImplAccelData;&lt;br /&gt;
ImplAccelEntry;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Progressive implementation]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Native Font server Implementation&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[Fonts starting point and documentation]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Native Sound Implementation&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Native Audio and Video]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Native Printing Implementation&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Native_Printing]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Drag and Drop implementation&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X Porting - Native Drag and drop]]&lt;br /&gt;
&lt;br /&gt;
This work is part of http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wish list for Mac OS X port&amp;#039;&amp;#039;&amp;#039;: [[Mac OS X port: wish list]]&lt;br /&gt;
&lt;br /&gt;
[to be continued:-) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericb|Ericb]] 15:00, 22 Jul 2005 (EDT)&lt;br /&gt;
&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:MacOSX]]&lt;br /&gt;
[[Category:Aqua]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Extensions_development&amp;diff=17316</id>
		<title>Extensions development</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Extensions_development&amp;diff=17316"/>
		<updated>2006-09-24T08:04:23Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* Tools &amp;amp; Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Extensions}}&lt;br /&gt;
Developing extensions is an efficient way to bring value to OpenOffice.org without diving into core sources. Obviously all developers willing to [[Main_Page|develop at OpenOffice.org sources level]] are welcomed.&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org enables third party tools creation through UNO bridges, allowing using many languages.&lt;br /&gt;
&lt;br /&gt;
The principle is to create UNO packages that can be listed in the OpenOffice.org [[Extensions_repository|Extensions repository]] and installed by end-users easily.&lt;br /&gt;
&lt;br /&gt;
This section wants to give newcomers as well as experienced developers some hints to develop Extensions in their desired languages and provide them with tools and frameworks that ease and homogenize the development.&lt;br /&gt;
&lt;br /&gt;
Finally, popular Extensions may be integrated into OpenOffice.org so it is important to follow common policies from beginning to ease this merging.&lt;br /&gt;
&lt;br /&gt;
==== Starting in a language ====&lt;br /&gt;
Addons can be written in various languages. Each section is here to give starting informations that let you create your addons. Each section is dedicated to a language. It deals with specific points concerning the Extensions aspect. Resources regarding the OpenOffice.org API can be found on the [http://api.openoffice.org API project] and UNO bridges languages issues on the [http://udk.openoffice.org UDK project]&lt;br /&gt;
&lt;br /&gt;
The translations of these pages are welcomed and [[Extensions#Translating_these_pages|guidelines are available]].&lt;br /&gt;
&lt;br /&gt;
* [[Extensions_development_python|Starting in Python]]&lt;br /&gt;
* [[Extensions_development_basic|Starting in Basic]]&lt;br /&gt;
* [[Extensions_development_java|Starting in Java]]&lt;br /&gt;
* Starting in C++&lt;br /&gt;
* Non programmatic Extensions&lt;br /&gt;
* Extensions packaging&lt;br /&gt;
&lt;br /&gt;
==== Tools &amp;amp; Frameworks ====&lt;br /&gt;
&lt;br /&gt;
* [http://codesnippets.services.openoffice.org Code snippets available in many languages]&lt;br /&gt;
* [[Extensions_development_translation|Translation framework]]&lt;br /&gt;
* [[Extensions_Packager|Extensions Packager]]&lt;br /&gt;
* Predefined wizards&lt;br /&gt;
* [[Extensions_introspection|Introspection Tools]]: discover the API&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Extensions&amp;diff=17315</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Extensions&amp;diff=17315"/>
		<updated>2006-09-24T08:03:10Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* References/Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Extensions}}&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org Extensions ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org offers the possibility to develop independent 3rd party extensions. The categories of extensions reach from Basic libraries, packages with Java/JavaScript or Python macros to more sophisticated extensions in form of UNO components implemented in Java, C++ or Python. Even the last category of extensions subdivide in general UNO components providing new implementations for existing functional areas or specialized components like Calc Add-Ins, Add-Ons, DataPilots, Chart Add-Ins or linguistic components (e.g. Spellchecker, Hyphenator or Thesaurus). &lt;br /&gt;
&lt;br /&gt;
The Extensions project provides&lt;br /&gt;
* [[Extensions development|Tools, guidelines and starting informations]] to develop new functionalities for OpenOffice.org&lt;br /&gt;
* [[Extensions repository|Repository of existing Extensions]]: listing and classification&lt;br /&gt;
* [[Extension Deployement|Deployment to end-users]]&lt;br /&gt;
&lt;br /&gt;
=== Translating these pages === &lt;br /&gt;
&lt;br /&gt;
The Extension project has to be strongly binded to Native-Lang communities to relay any locale third party development. So it is strongly welcomed to provide translation for the Add-ons but also for the documentation and pages of this site.&lt;br /&gt;
&lt;br /&gt;
The naming convention proposed is to &lt;br /&gt;
* Create a new page taking the English page and add your language code as suffix (eg. Extensions_repository_fr)&lt;br /&gt;
* Put a link to this translated page at the top of the English page, with the language code&lt;br /&gt;
* Be aware that if you start a translation, it would be good to monitor that it remains as in sync as possible&lt;br /&gt;
&lt;br /&gt;
=== Some extension categories === &lt;br /&gt;
&lt;br /&gt;
* Calc Add-Ins provide new Calc built in functions which can be directly used over the normal function dialog in the Calc application. &lt;br /&gt;
* [[Add-ons]] describe components providing some new functionality and normally coming with an UI integration (e.g. new menu entries or complete new menues, new toolbars).&lt;br /&gt;
* DataPilots provide a new kind of data pilot which can be used directly over the DataPilot dialog in the Calc application.&lt;br /&gt;
* Chart Add-Ins provide a new chart type&lt;br /&gt;
* Linguistic components provides new implementations of know interfaces which can be used directly over the normal UI.&lt;br /&gt;
&lt;br /&gt;
In the future it should be possible to deploy a collection of new document templates or a gallery as extensions as well.&lt;br /&gt;
&lt;br /&gt;
=== References/Articles ===&lt;br /&gt;
&lt;br /&gt;
* [http://api.openoffice.org/docs/DevelopersGuide/Components/Components.xhtml#1_7_3_Add-Ons OpenOffice.org Developers Guide]&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxjournal.com/article/7802 Linux Journal: &amp;quot;Off the Wall: Macros and Add-ons&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* In this Wiki: [[SimpleCalcAddIn|a simple Calc AddIn]] and [[CompleteAddIn|a complete AddIn]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;br /&gt;
[[Category:Source directories]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Extensions&amp;diff=17314</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Extensions&amp;diff=17314"/>
		<updated>2006-09-24T08:02:21Z</updated>

		<summary type="html">&lt;p&gt;KAMiKAZOW: /* OpenOffice.org Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Extensions}}&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org Extensions ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org offers the possibility to develop independent 3rd party extensions. The categories of extensions reach from Basic libraries, packages with Java/JavaScript or Python macros to more sophisticated extensions in form of UNO components implemented in Java, C++ or Python. Even the last category of extensions subdivide in general UNO components providing new implementations for existing functional areas or specialized components like Calc Add-Ins, Add-Ons, DataPilots, Chart Add-Ins or linguistic components (e.g. Spellchecker, Hyphenator or Thesaurus). &lt;br /&gt;
&lt;br /&gt;
The Extensions project provides&lt;br /&gt;
* [[Extensions development|Tools, guidelines and starting informations]] to develop new functionalities for OpenOffice.org&lt;br /&gt;
* [[Extensions repository|Repository of existing Extensions]]: listing and classification&lt;br /&gt;
* [[Extension Deployement|Deployment to end-users]]&lt;br /&gt;
&lt;br /&gt;
=== Translating these pages === &lt;br /&gt;
&lt;br /&gt;
The Extension project has to be strongly binded to Native-Lang communities to relay any locale third party development. So it is strongly welcomed to provide translation for the Add-ons but also for the documentation and pages of this site.&lt;br /&gt;
&lt;br /&gt;
The naming convention proposed is to &lt;br /&gt;
* Create a new page taking the English page and add your language code as suffix (eg. Extensions_repository_fr)&lt;br /&gt;
* Put a link to this translated page at the top of the English page, with the language code&lt;br /&gt;
* Be aware that if you start a translation, it would be good to monitor that it remains as in sync as possible&lt;br /&gt;
&lt;br /&gt;
=== Some extension categories === &lt;br /&gt;
&lt;br /&gt;
* Calc Add-Ins provide new Calc built in functions which can be directly used over the normal function dialog in the Calc application. &lt;br /&gt;
* [[Add-ons]] describe components providing some new functionality and normally coming with an UI integration (e.g. new menu entries or complete new menues, new toolbars).&lt;br /&gt;
* DataPilots provide a new kind of data pilot which can be used directly over the DataPilot dialog in the Calc application.&lt;br /&gt;
* Chart Add-Ins provide a new chart type&lt;br /&gt;
* Linguistic components provides new implementations of know interfaces which can be used directly over the normal UI.&lt;br /&gt;
&lt;br /&gt;
In the future it should be possible to deploy a collection of new document templates or a gallery as extensions as well.&lt;br /&gt;
&lt;br /&gt;
=== References/Articles ===&lt;br /&gt;
&lt;br /&gt;
* [http://api.openoffice.org/docs/DevelopersGuide/Components/Components.xhtml#1_7_3_Add-Ons OpenOffice.org Developers Guide]&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxjournal.com/article/7802 Linux Journal: &amp;quot;Off the Wall: Macros and Add-ons&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
* In this Wiki : [[SimpleCalcAddIn | a simple Calc AddIn]] and [[ CompleteAddIn | a complete AddIn]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;br /&gt;
[[Category:Source_directories]]&lt;/div&gt;</summary>
		<author><name>KAMiKAZOW</name></author>
	</entry>
</feed>