﻿<html>
<head>
<title>Summer of Code: Cédric Bosdonnat</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="spaced13">
<h2>Summer of Code: Cédric Bosdonnat</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  acquired and community 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  Cédric Bosdonnat, who worked on an <a href="http://www.eclipse.org/" target="_blank">Eclipse</a> plugin for OpenOffice.org. I asked a set of questions via email over a period of several weeks, the first asking about the Google SoC project, the remainder follow-ups.</p>

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

<p>I'm currently student at <a href="http://www.insa-lyon.fr/" target="_blank">INSA</a>, Computer Sciences department (National Institute of Applied Sciences) in Lyon, France. The day before I come to the <a href="http://marketing.openoffice.org/ooocon2005/index.html" target="_blank">OOoCon 2005</a>, I'll enter in the 5th and last year of this engineer school and have my twenty second birthday.  Outside my OOo investment I take care of my fiancée, learn rock n' roll, run, and do many other things.</p>

<p> Motivated by free software since four years, I have done some things at school to bring it to other students computers. All my OpenOffice.org investment story dates from December 2004, when I began to write an OOo document model with advanced macros. Afterwards, I got more and more contacts with the <a href="http://fr.openoffice.org/index.html" target="_blank">Francophone project and Jürgen community</a>. Only on the 16th of July (2 days before the Google SoC application deadline), did I read an email from Sophie Gautier presenting this project. It was the beginning of a beautiful story: Summer of Code. </p>

<p> I worked and work again on an Eclipse plugin that helps OpenOffice.org development. A t the beginning it was difficult to decide which end of the rope I had to take. Jürgen helps me a lot to define which features would be very important which could be implemented afterwards. </p>

<p> Now the plugin could be used for small projects and supports basic features like syntax highlighting, new project and file basic wizards and SDK configuration. The priority was given to the wizards and the User help: that is why there are many ways to configure the SDKs and OOo installations. The next steps until the end of the google summer of code will be to add a type browser to let the user choose among the OpenOffice.org services and interfaces describe in the API. This will lead to the creation of new wizards such new minimal component or new application. </p>

<p> I will continue to develop this plugin after the Google Summer of Code to bring it to a full-featured system. However, I will not continue to develop at such a speed because of all my other activities. There is an open door to people who wants to internationalise the plugin and help me to document it's use. I plan to write a how-to internationalise the plugin to help people in this task. Of course I will give them an example by providing the French language pack. </p>


<p>The developed plugin will help the developers create new <a href="http://udk.openoffice.org/" target="_blank">UNO Components</a>. For the moment, there is a basic component wizard and a new Service wizard. The code produced is a basis for further developments there are only a few steps to get a new interface wizard, for example. I'm working on this, but a new Calc or Draw add-on is planned. Some people on the dev@api.openoffice.org list are interested in helping me. In a conclusion, I'd say that this is good: I won't be the only developer for this project... </p>

<p><i> Why did you choose this topic?</i> </p>

<p> At the beginning I wanted to try to create some pieces of code to learn OOo Java programming. I checked if there was something existing to help me developing with Eclipse, and saw that there was already a project with NetBeans: thus I proposed the idea. </p>

<p><i> How did the mentoring work?</i> </p>

<p> I was fully autonomous on the Eclipse development, but Jürgen helped me for problems like Bootstrapping OOo for a Java program, how to integrate the SDK in the plugin. We often communicated with private email; however, some problems where submitted to dev@api.openoffice.org. Jürgen and Laurent Godard responded to me the problems they saw and helped me to improve the user interface of the plugin. </p>

<p> <i>What difficulties did you encounter?</i> </p>

<p> The main difficulties were with bootstrapping OOo, because I get some problems that Jürgen couldn't reproduce. This led me to find one or two bugs and submit them to Jürgen (or dev@api). </p>

<p> <i>What technologies did you need to know? </i></p>

<p> Java and the Eclipse API were the most important technologies to know. Afterwards, there were no really specific technologies to learn (of course I had to read the OOo 2.0 SDK). </p>

<p><i> Did the Google SoC work integrate with your schoolwork? </i></p>

<p> No.  There was no connection at all with my schoolwork: I simply had two jobs this summer: a mandatory internship (for school) and the Google Summer of Code. </p>

<p>Thanks to Cédric 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>