Summer of Code: Fintan Fairmichael
2005-09
Google's Summer of Code program (SoC) was "designed to introduce students to the world of open source software development", and it worked. Successful participants were given a cash reward, but from the accounts provided by those participants, the cash was the least of the reward. The knowledge acquired and community participated in came in first. OpenOffice.org was and is not only a fascinating if challenging codebase to work with but the community made the effort fun, stimulating, and in the words of one respondent, "the best summer of my life."
Over the next week and half, I'll be publishing a short series of accounts by the participants. I begin today with that of Fintan Fairmichael, who worked on Netbeans integration for OpenOffice.org. I asked a set of questions via email over a period of several weeks, asking about the Google SoC project.
Tell us about yourself and how you got interested and involved in OpenOffice.org....
My Summer of Code project was "NetBeans OpenOffice.org integration". The goal was to create a NetBeans extension module that will provide support for writing OpenOffice.org Universal Network Objects (UNO) within NetBeans. UNO is the base component technology for OpenOffice.org. UNO objects are specified in an abstract meta language, the UNO Interface Definition Language (UNOIDL), which is similar to CORBA IDL.
The core features that this project aimed to implement are:
UNOIDL editor support:
- Adding a UNOIDL-specific editor, and making this responsible for editing files with extension .idl
- Adding syntax highlighting when displaying UNOIDL files (highlighting key words, changing the colour of comments, etc. - -similar to what NetBeans does for .java files)
UNOIDL project support:
- Adding a UNO project type. This will provide a logical unit for dealing with a group of files. It will allow commands (for example build commands) to be applied to this group.
UNOIDL wizards
- New Project wizard - a wizard to create a new UNO project.
- New UNOIDL file wizard - a wizard to largely automate the generation of new UNOIDL files.
UNOIDL build support
- Providing the ability to run UNO tools on specific files or on a whole project.
- idlc, javamaker, etc
I have found the SoC project to be a great challenge. Finding out how to do what I want within the NetBeans platform has probably been the most difficult part. Aside from this, I have enjoyed the experience and have learnt a lot. My mentor, Jürgen Schmidt, has been very helpful and has answered any of my questions in a timely fashion.
.The source code for my project can be found in the CVS tree for the API - (http://api.openoffice.org/source/browse/api/oonetbeansintegration/).
To try out the module, download the org-openoffice-modules-netbeansintegration.nbm file (in http://api.openoffice.org/source/browse/api/oonetbeansintegration/build/), and install this into NetBeans (Tools --> Tools --> NetBeans Update --> Install Manually Downloaded Modules). Also see the readme file (http://api.openoffice.org/source/browse/api/oonetbeansintegration/README.txt).
Thanks to Fintan and Google for sponsoring the (Northern Hemisphere) Summer of Code! In the next few days, leading up to OOoCon 2005, I'll publish other interviews of student developers who had a great summer with OpenOffice.org thanks to Google's Summer of Code.
Return to Articles