- 1 BasicAddonBuilder
- 2 BasicAddonBuilder and AOO 4.x
- 3 Extension Compiler
BasicAddonBuilder is an OpenOffice.org extension that allow you to export a StarBasic library in the OpenOffice.org extension format, ready for deployment. BasicAddonBuilder does not require special skills or a deep knowledge of extensions specifications. A wizard-style dialog will guide you through the process, allowing you to define in a graphical way all menu and toolbars that will be added to the OpenOffice.org user interface in order to launch macros from your StarBasic library.
The exported extension (AKA UNO package) will be ready to install in any PC running OpenOffice.org 2.0 or above, using the Package manager. (Menu Tools->Package manager...)
In order to use BasicAddonBuilder, you must have OpenOffice.org 2.2 or above installed. BasicAddonBuilder will not work with OpenOffice.org 1.x
BasicAddonBuilder is downloadable at this location and can be installed with the Extension manager.
- Menu Tools->Extension manager...
Further information in the OpenOffice.org Help
- Missing documentation
The following features are not yet supported:
- Dependances management of the generated extension
- Import/export of BasicAddonBuilder projects
Current versions of BasicAddonBuilder for OpenOffice.org are always available here:
Please send your suggestions and bug reports to: Paolo Mantovani Any feedback is welcome!
BasicAddonBuilder and AOO 4.x
From AOO 4.0 has the configuration file addons.xcu a modified structure for toolbars, see: http://wiki.openoffice.org/wiki/Extensions/Extensions_and_Apache_OpenOffice_4.0#addons.xcu_changes
Therefore an update for BasicAddonBuilder is necessary because:
- own toolbar of the BasicAddonBuilder 0.5.0 (and earlier releases) is not displayed in AOO 4.0 (and later versions)
- BasicAddonBuilder 0.5.0 (and earlier releases) can not create extensions, which include toolbars that can be displayed in AOO 4.0 (and later versions)
I wrote Paolo Mantovani, and Paolo replied me that he currently does not have time to create a new version of BasicAddonBuilder. Therefore, I (Jörg Schmidt) have now created a new Version (0.5.1).
BasicAddonBuilder 0.5.1 (Beta)
At the moment there are (initially for testing purposes) two different versions of BasicAddonBuilder 0.5.1
http://calc-info.de/files/BasicAddonBuilder-0.5.1.oxt (compatible with AOO 4.x)
http://calc-info.de/files/BasicAddonBuilder-oo3x-0.5.1.oxt (compatible up to AOO 3.4.1 and LibreOffice(*))
Both versions can produce compatible extensions for all versions of OOo, AOO and LO(*).
(*) not specifically tested
Requirements / Install
In order to use BasicAddonBuilder 0.5.1, you must have OpenOffice.org (2.2 or above) or LibreOffice installed. Please note that for AOO up to version 3.4.1 and LO another installation file must be used, as for AOO 4.x.
BasicAddonBuilder can be installed with the Extension manager (Menu Tools->Extension manager...).
Questions and bug reports
Please send an email to Jörg Schmidt
The following figures show the additional functions of BasicAddonBuilder 0.5.1
- adjustable compatibility for toolbars in the created extension
- embed the publisher in the created extension (in the file description.xml)
There are many kinds of extensions : they may use languages other than Basic, or even set a configuration without any executable code. Usually an extension provides menus and toolbars for one or more applications (Writer, Calc...).
For a professional look you will have to add copyright statements, create your own help pages, provide automatic update. All displayable texts will probably have to be translated in several languages. This means editing lots of files, testing and editing each time you have found a bug, or added a feature, or added a new language.
The Extension Compiler can handle all kinds of extensions and reduce your work load. Its documentation guides you through most of the process. You don't need to know all the implementation details, you don't need a complex environment. You will edit a Writer document to write the tooltip text, license text, help pages for your extension.
You will then write a linear succession of simple Basic instructions to describe your extension. Run this Basic program: the Extension Compiler will create the files description.xml, addon.xml, manifest.xml, xxxWindowState.xml, and the license, tooltip, display name, help pages for different languages. All files will be encoded in UTF-8 to support national characters, stored in sub-folders. After a few seconds your oxt package is ready to be installed!
If you made an error, or if you are not satisfied with your extension, change some instructions and run again. For complex extensions, incremental design is easy: start simple, test, add a feature, test it, add another feature, etc.
The help pages for your extension may be specific to each application (Calc, Writer, Draw...). They are called by a help button in your dialogs, or by contextual help in the dialogs or menus, or from the help window. These help pages will be seamlessly integrated into OpenOffice.org help system. If you have created your help in several languages OpenOffice.org will choose the language which fits the best with the User Interface language.
You must have OpenOffice.org 2.4 or more recent (Apache OpenOffice, LibreOffice) installed.
Extension Compiler is a Writer template document. Store it in a folder where macros are allowed. Create a new Writer document by double-click or key Enter. You will be prompted to save it under the name of your extension in a dedicated folder where macro execution is allowed.
You will store in this dedicated folder all the libraries, files, images, needed for your extension. You may use sub-folders.
Write in this document the text of the tooltip, license and help pages of your extension, in as many languages as you like (or can).
Open the Basic IDE to the Standard library of this document. Open the module Module1 in this library. It contains a prepared macro : myExtension. Add your instructions where indicated. The instruction set is described in chapter 3 of the document, read it carefully. You will find typical examples in the modules named Template1 etc.
Run the macro. If you get an error message, correct your script and run again. Otherwise, your extension file is ready.
Extension Compiler can now compile the same extension to different variants, if needed : OpenOffice.org or compatible, Apache OpenOffice 4.0 or more recent, LibreOffice 3.5 or more recent.
As of OpenOffice.org version 3.1.0 there are currently some limitations or bugs in the extension mechanism itself, see these Issues.
The latest version of Extension Compiler is downloadable at this location.
A french translation of the manual is downloadable at this location.
To help understand how it works, here are two examples of extension projects :
A simple extension
The archive SimpleDemo.zip contains the files necessary to compile the extension Images Embedder version 1.0.0. This extension installs a Basic program, without dialogs, and a menu item in Tools > Add-Ons. This menu item displays in several languages.
The archive unzips into a directory named ImagesEmbedder/.
Open the document ImagesEmbedder.odt, then at chapter 2 click the button Run macro : myExtension. The oxt file will be created in the same folder.
A sophisticated extension
The file ExtensionDemo.zip shows more interesting features. The extension will require at least OpenOffice.org version 3.3.0.
This archive unzips into a directory named Demo/. It contains all the data to create the extension ExtExample. The compiled extension package is also in the folder.
Since there is a Toolbar, this extension is compiled to :
- OpenOffice.org compatible (including LibreOffice)
- Apache OpenOffice 4.0
Since it uses non-Basic scripts, this extension is also compiled :
- For the current user only
- For all users
The Extension Compiler has produced the four variants from a unique extension.
|Java-like scripts won't be recognized at first (Issue 99858 ).
Work-around : after installing the extension, click button Disable. When finished, click button Enable.
Extension Compiler is written by Bernard Marcelly. Please send your suggestions and bug reports at the address indicated in the document. Feedbacks are welcome.