Developing OpenOffice.org Extensions in Java!
It's Friday! It's already December! What a great day to write about OpenOffice.org, which is lovely abbreviated as OOo. A lot of people have asked me about how mOOo Impress Controller was built. I am not too old yet - getting older this Sunday :) - but I have some stories to tell.
In the begining of this year, I was at fisl 8.0 (International Free Software Forum)*, which is one of the biggest open source Latin America conferences and happens in the south of Brazil. If you like to talk about software, open source, Linux, culture, meet people, etc, etc, etc you should be there once! The 8th edition was definitely very special, I have met a lot of nice people, including people from Mobile & Embedded Community and Louis Suarez Potts. Please, froze this part, because we will get back here later, but now I have to start a new paragraph. As you can see, this post looks like that crazy movies that goes forward and reward, starts from the end... yeah, and this entry really starts from the end, if you have looked in the RSS description, I have written "You can develop extensions for your OpenOffice.org suite... with Java! Wow! There is a huge community around it, plugins to make your life easy, good documentation... so, what are you waiting for?!"... don't worry, we will get there.
At that time of fisl 8.0, I had a very experimental demo running on Eclipse. The demo was made of two applications written in Java: a mobile (Java ME/MIDP) and a desktop (Java SE) one. The mobile was able to communicate, over Bluetooth, with the desktop side and the both used a XML protocol to interact. So, the mobile was able to navigate through the desktop file system, filtering for all the Impress OOo presentations that was being found. Also, the mobile was able to send a request to start a presentation file and after started, it was able to control the presentation, advancing and going back in the slides. It was something like that, but, as you guys know Murphy's Law, things are not always perfect and I can guarantee things get worse when you deal with demo applications. Anyway, the demo was not completely integrated with OOo, it was a just a demo invoking OOo Api. So, regarding what I have said in the last paragraph, I have met Louis and he was the guy that has gave the motivation to create a real OOo extension, after he has explained more about what was that, how Java would help that and son on.
After the event, Lucas Torri and I have completely rewritten that demo as an Add-On extension, which later was called mOOo Impress Controller. So, we are now in the main part of this entry: you can easily create OOo extensions in Java. I said easily! There are plugins for Eclipse and for Netbeans IDE (help localizing it to your language). Basically, to put any of those plugins working, you just need to install an OOo SDK and also have an OOo suite or any other compatible installed, for example, StarOffice. Just be careful with the versions to keep things working fine. Get started now! Here it goes very useful links:
- OpenOffice.org Api
- OpenOffice.org Wiki
- OpenOffice.org Developer's Guide
- GullFOSS (OpenOffice.org Engineering at Sun's Blog)
- Subscribe in the extensions user list
- Subscribe in the extensions dev list
- Article from Netbeans Magazine Issue 3: OpenOffice.org NetBeans Integration (Great to start, it is pretty easy to deal with those wizards described!)
- OpenOffice.org Extensions repository (Many nice extensions appearing every day!)
Go ahead! Make something that looks like your way! Automate any task that you always wanted in your suite! Make something different! Let me know!!!
Have a great weekend!
* Call for Papers for fisl 9.0 are already open and goes until 20th of December. The event will be on April, 17-19 in Porto Alegre, Rio Grande do Sul, Brazil.