Thursday, 08 Feb 2007
Thursday, 08 Feb 2007
My name is Kai Sommerfeld. I'm interested or involved in a lot of OpenOffice.org projects. I was the Co-Lead of the UCB and UDK projects for several years. I work for Sun Microsystems and my job at Sun is to manage the teams for OO.o Programmability (UNO, API, Developer Tools, Extensions Infrastructure), Installation and UCB.
Back in early 2006 I did an in-deep analysis of the status quo of OpenOffice.org's Extensions infrastructure. There was already much in place, like the OpenOffice.org Package Manager or the ability to extend OO.o's user interface and functionality by writing special UNO Components (Calc Addins, Addons), but there was still missing a lot of functionality needed in order to write OO.o Extensions with a professional feature set or in a convenient way. Out of this analysis, we made a public proposal how OpenOffice.org Extension development and deployment should work in the future and published a best practices document. The OpenOffice.org Community brought several valuable ideas and changes into the proposal and at the end, in June 2006 we agreed to a plan for a project that has the goal to enhance the Extensions Infrastructure of OpenOffice.org. Since then, we're continuously working on this project.
This is, what we've done so far (OpenOffice.org 2.0.4, OpenOffice.org 2.1):
Binding UNO methods to events in OO.o Dialog Editor. Formerly, only scripting events were supported.
New extension package file format – OpenOffice.org eXTension (OXT). The old formats are still supported.
License Acceptance for Extensions. An extension can come with it's own license text, that will be displayed while installing the extension. Installation will only be done if the user accepts the license.
Dependencies for Extensions.
Versioning for Extensions.
Offline Update for Extensions.
Of course, there will be some new features in OpenOffice.org 2.2:
Online Update for Extensions. Every extension can provide an update URL. This URL points to an Extensions Repository. Everyone can setup such a Repository. The Extension Manager now supports checking for updates in the web and installation of updates from the web.
Smart Desktop Integration for OO.o OXT Packages (Windows Explorer, GNOME, KDE) . For example, double-clicking an OXT will install/update it.
UNO services for management of string resources, including multi-language support.
Support for multi-lingual dialogs in OO.o's Dialog Editor (uses the new string resource management services). The Dialog Editor now can be used to design multi-lingual dialogs and to translate dialogs to other languages.
In the works:
Help Content for Extensions. Extensions will be able to contain own, multi-lingual help content, that will be seamlessly integrated into the OO.o Help System.
Common Preferences User Interface for Extensions. Extension can contain own preferences dialogs, that will be seamlessly integrated into OO.o's Preferences Dialog (Tools/Options...).
A UNO service for obtaining the URL of the installation directory of extensions. Currently we only have hacks for this, but no official way.
A detailed UNO-AWT chapter for the OO.o Developer's Guide.
A UNO-AWT Tree Control.
Extend OO.o's IDE to support standalone multi-lingual stringtables. This is useful, for instance for providing localized error messages for extensions.
OpenOffice.org Development Netbeans Module. Various very easy-to-use wizards will greatly enhance the productivity and experience when developing OO.o Calc Addins, Addons, general UNO Components, UNO client applications, ...
And there is more to come. Stay tuned...
tags: extensions
Comments