﻿<html>
<head>
<title>Summer of Code:  Fintan Fairmichael</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="spaced13">
<h2>Summer of Code: Fintan Fairmichael</h2>
<p><a href="../lspintro.html">-Louis Suárez-Potts</a></p>
<p >2005-09</p>
<br />



<p></p>

<p>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."</p>

<p>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  <a href="http://www.netbeans.org/" target="_blank">Netbeans</a> integration for OpenOffice.org. I asked a set of questions via email over a period of several weeks, asking about the Google SoC project.</p>

<p><i>Tell us about yourself and how you got interested and involved in OpenOffice.org....</i></p>


<p> My Summer of Code project was "NetBeans OpenOffice.org integration". The goal was to create a <a href="http://www.netbeans.org/" target="_blank">NetBeans</a> extension module that will provide support for writing OpenOffice.org Universal Network Objects (UNO) within NetBeans. <a href="http://udk.openoffice.org/" target="_blank">UNO</a> 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. </p>

<p> The core features that this project aimed to implement are: </p>
<p>UNOIDL editor support:</p>
	<ul>
	<li>Adding a UNOIDL-specific editor, and making this responsible for editing files with extension .idl</li>
	<li>Adding syntax highlighting when displaying UNOIDL files (highlighting key words, changing the colour of comments, etc. - -similar to what NetBeans does for .java files)</li>
</ul>


<p>UNOIDL project support:</p>
<ul>
	<li>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.</li>
</ul>


<p>UNOIDL wizards</p>
<ul>
	<li>		New Project wizard - a wizard to create a new UNO project.</li>
	<li>		New UNOIDL file wizard - a wizard to largely automate the generation of new UNOIDL files.</li>
</ul>

<p>UNOIDL build support</p>
<ul>
	<li>Providing the ability to run UNO tools on specific files or on a whole project.</li>
	<li>idlc, javamaker, etc</li>
</ul>

<p> 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. </p>
.

<p> The source code for my project can be found in the CVS tree for the API - (<a href="http://api.openoffice.org/source/browse/api/oonetbeansintegration/" target="_blank">http://api.openoffice.org/source/browse/api/oonetbeansintegration/</a>). </p>

<p> To try out the module, download the org-openoffice-modules-netbeansintegration.nbm file (in <a href="http://api.openoffice.org/source/browse/api/oonetbeansintegration/build/" target="_blank">http://api.openoffice.org/source/browse/api/oonetbeansintegration/build/</a>), and install this into NetBeans (Tools --> Tools --> NetBeans Update --> Install Manually Downloaded Modules). Also see the readme file (<a href="http://api.openoffice.org/source/browse/api/oonetbeansintegration/README.txt" target="_blank">http://api.openoffice.org/source/browse/api/oonetbeansintegration/README.txt</a>). </p>


<p>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.</p>

</div>
<br />

<hr />

<a href="index.html">Return to Articles</a>
</body>
</html>
