Cédric Bosdonnat - GSochttps://bosdonnat.fr/2015-10-19T10:00:00+02:00A geek's perspectiveLibreOffice GSoC 2015 wrap-up2015-10-19T10:00:00+02:002015-10-19T10:00:00+02:00Cédric Bosdonnattag:bosdonnat.fr,2015-10-19:/gsoc-2015-wrap-up.html<p>This year, I'll manage to write a wrap up post on the Google Summer of Code at
LibreOffice. On the 12 students initially selected, 10 hacked on cool things
for our favorite office suite.</p>
<p>The completed projects are:</p>
<ul>
<li>Haskell UNO Language Binding from <strong>Jorge Mendes</strong></li>
</ul>
<p>LibreOffice's Universal Network Objects (UNO …</p><p>This year, I'll manage to write a wrap up post on the Google Summer of Code at
LibreOffice. On the 12 students initially selected, 10 hacked on cool things
for our favorite office suite.</p>
<p>The completed projects are:</p>
<ul>
<li>Haskell UNO Language Binding from <strong>Jorge Mendes</strong></li>
</ul>
<p>LibreOffice's Universal Network Objects (UNO) API, can already be accessed by
C/C++, Java, and Python, among other languages/frameworks. Jorge wrote the glue
code for UNO to be used from Haskell code.</p>
<p>Two main artefacts were defined: a code generator to provide an interface to
the UNO API at compile time, and a library to provide access to essential
information, like basic type mapping between UNO and Haskell. The former is
provided as an executable, run during the developed program configuration phase,
and the latter is provided as a Cabal package <code>hs-uno</code>, as most Haskell
software is.</p>
<p>The result of this project provides a simple way to develop software for the
LibreOffice ecosystem using Haskell, and includes some examples on how to use
this binding. See the code on <a href="https://github.com/jorgecunhamendes/haskell-uno-binding">github</a></p>
<p><img alt="Haskell code using UNO API" src="https://bosdonnat.fr/data/libreoffice/gsoc15-jorge.png"></p>
<ul>
<li>Calc formula error checking from <strong>Ben Ni</strong></li>
</ul>
<p>Ben worked on the validity check feature to get hands on the code. Then he
implemented checking for discontinuous formula groups as well as expanding the
formula wizard to evaluate subformulas to allow for easier error checking.
He also started collaborating with <a href="http://erack.org/blog/">Eike</a> on the unit feature currently
under development, to move unit evaluation to <code>ScInterpreter</code>.</p>
<p><img alt="Imput values in formula editor" src="https://lh3.googleusercontent.com/-KocSOlNE_m4/VZg5hLdzE2I/AAAAAAAAA64/f1CRYiKeFD8/w887-h873-no/wizard.png"></p>
<ul>
<li>Unifiying Calc units from <strong>Krisztian Pinter</strong></li>
</ul>
<p>Krisztian worked on unifying the internal drawing units in Calc to make the
code easier to work with in the future.</p>
<ul>
<li>CMIS user experience improvements from <strong><a href="http://eszkadev.blogspot.com/">Szymon Kłos</a></strong></li>
</ul>
<p>The CMIS features was pretty well hidden so far. Szymon worked together with
the UX team to make it easier to use. A new dialog for opening remote files
was created and can be accessed from the Start Center. It helps the user to
explore popular services like Google Drive, OneDrive, Alfresco or FTP servers.
User can configure many of them and simply switch current service using
dropdown menu. It is also possible to remember authorization data for each
service.</p>
<p>Szymon also fixed a few CMIS bugs, including the most annoying bug where the
password was always stored, even if it was wrong. Several users can now access
the same repository in one session.</p>
<p><img alt="New remote file picker" src="https://bosdonnat.fr/data/libreoffice/gsoc15-szymon.png"></p>
<ul>
<li>Mozilla update system for LibreOffice from <strong>Nathan Yi</strong></li>
</ul>
<p>Although Nathan did not have time to fully implement the UI and server-side backend
components of the project, he managed to do in-place upgrades of LibreOffice using
full and partial (version-to-version) patches. These patches can optionally be
signed for secure transport over the Internet.</p>
<p><img alt="Update done with Nathan's work" src="https://bosdonnat.fr/data/libreoffice/gsoc15-nathan.png"></p>
<ul>
<li>LibreOffice GTK3 widget from <strong><a href="http://pranavk.github.io/">Pranav Kant</a></strong></li>
</ul>
<p>Want to use LibreOffice in your applications ? Yes, its quite possible now with
the help of a gtk3 widget, LOKDocView, that Pranav worked on this summer. The widget
wraps all the LibreOffice functionality and exposes a very simple API to
interact with it. Consumer applications just need to embed this widget inside a
scroll bar, and that's it. Further, user experience can be enhanced thanks to
the API allowing simple text formatting or zooming of the opened document.
Those can also be opened in both view and edit mode.</p>
<p>The special thing about this widget is that you can use it from any programming
language, and this is possible using GObject Introspection. You can see the
widget being used from GNOME Documents using GObject Introspection's javascript
bindings in below screencast.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/bxh4k0rFMc0" frameborder="0" allowfullscreen></iframe>
<p>LOKDocView, and the necessary introspection files will be shipped with 5.1.</p>
<ul>
<li>Tests improvement from <strong>Varun Dhall</strong></li>
</ul>
<p>Varun added more easy-to-debug unit tests through CppUnit. He have also ported
some old Java unit tests to C++ and re-factored some tests that do remote control
of an existing instance. His goal was to improve the LibreOffice test coverage
to reduce the number of regression bugs. Of course there is still room for
future development in this project.</p>
<ul>
<li>Sidebar improvements from <strong>Rishabh Kumar</strong></li>
</ul>
<p>Rishabh has been improving the user interface of sidebar and its functionalities.
The major part of the project included adding some of most commonly used controls
to the sidebar. The project had impacts to Writer, Calc, Impress and Draw.
Rishabh changed quite a lot of things in the sidebar, but among the most
important ones, he added a few tabs, like the slide background or page tab ones.
He also improved the selection analizer to show only the tabs related to the
current selection, e.g. showing the area tab when a line is selected didn't make
sense.</p>
<p><img alt="New page sidebar tab" src="https://bosdonnat.fr/data/libreoffice/gsoc15-rishabh.png"></p>
<ul>
<li>Expert configuration improvements from <strong>Mihaly Palenik</strong></li>
</ul>
<p>The main part of the project was to convert the dialog from a fixed
tree filled at load time from all options, which was incredibly slow
and unusable with accessibility enabled, to a tree which was progressively and
dynamically loaded when the user expanded a level or searched for
certain keys.</p>
<p>That was a great success in the sense that the dialog now opens and
displays entries almost immediately, while previous to the changes it
could take up to 8 minutes to load with accessibility enabled.</p>
<p><img alt="Search and edit a configuration key" src="https://bosdonnat.fr/data/libreoffice/gsoc15-mihaly.png"></p>
<ul>
<li>Dynamic text chaining and hyphenation in Draw from <strong><a href="http://gsoc15-draw.logdown.com/">Matteo Campanelli</a></strong></li>
</ul>
<p>Matteo continued working on the text chaining implementation for Draw. This year,
he add support for text transfer while editing or resizing the boxes, cursor motion,
box chain persistence in file and text underflow handling.</p>
<p><img alt="Text flow comparison in draw" src="https://bosdonnat.fr/data/libreoffice/gsoc15-matteo.png"></p>LibreOffice GSoC 2012 wrap-up2012-10-15T14:59:00+02:002012-10-15T14:59:00+02:00Cédric Bosdonnattag:bosdonnat.fr,2012-10-15:/libreoffice-gsoc-2012-wrap-up.html<p><img alt="GSoC 2012 Logo" src="http://code.google.com/images/GSoC2012_300x200.png">I know it's already late, but you know how
it is for hackers: we are delaying stuffs to continue hacking until we
can't delay anymore. It's only a week before Google mentor summit, and
the time for a LibreOffice GSoc 2012 wrap-up has come.<br>
This year we had 10 students …</p><p><img alt="GSoC 2012 Logo" src="http://code.google.com/images/GSoC2012_300x200.png">I know it's already late, but you know how
it is for hackers: we are delaying stuffs to continue hacking until we
can't delay anymore. It's only a week before Google mentor summit, and
the time for a LibreOffice GSoc 2012 wrap-up has come.<br>
This year we had 10 students and 9 successful projects.</p>
<p>The completed projects are:</p>
<ul>
<li>Calc performance improvement from <a href="http://dbank-libreoffice.blogspot.fr">Daniel Bankston</a></li>
</ul>
<p>Daniel improved the load time of both ODF and XLSX format in many
ways. Especially in the large XLSX files, the improvement can be as
big as loading in 6 seconds instead of more than 8 minutes!</p>
<ul>
<li>Enhanced Impress SVG export filter from Marco Cecchetti, see
<a href="http://users.freedesktop.org/~mcecchetti/svg-export/samples/">sample outputs</a></li>
</ul>
<p>Marco improved his previous work to export slides in SVG by adding
animations features to it. Thanks to his work, you will only need to
have Firefox around to play your presentations everywhere. You can check
a few of the results outputs to see how cool this feature is.</p>
<ul>
<li>A MS Publisher import filter from Brennan Vincent, see <a href="http://cgit.freedesktop.org/libreoffice/libmspub/">the code</a></li>
</ul>
<p>Brennan's work was particularly hard, because he had to reverse-engineer
the file format. Together with Valek Filipov, they managed to cover MS
Publisher format from 97 to 2010 - all shapes, fills, and text
properties that Open Document Graphics supports.</p>
<ul>
<li>A Java GUI to pick up files for LibreOffice on Android from Iain
Billett</li>
</ul>
<p>Iain's work is particularly important for the LibreOffice Android
port. While the porting efforts lead to displaying documents, the
entire viewer needs much more - particularly UI that allows you pick the
documents to show, move, zoom; and this is what Iain delivered, see the
screenshot below.</p>
<ul>
<li>A new templates selection UI from <a href="http://npcdoomlibreoffice.wordpress.com">Rafael Dominguez</a></li>
</ul>
<p>Rafael worked on creating a modern UI to pick-up a template to create a
new document. He also added support to connect to remote repositories of
templates which will soon help us to connect directly to the LibreOffice
templates site. This way LibreOffice will bring template's use to the
users.</p>
<ul>
<li>Signed PDF export from <a href="http://blog.yeredusuncedernegi.com">Gökçen Eraslan</a></li>
</ul>
<p>Thanks to Gökçen, we can now digitally sign the PDFs directly as they
are produced by LibreOffice. This is very important in the world where
security and trust of electronic documents needs to be maintained.</p>
<ul>
<li>Android impress remote control from <a href="http://www.ahunt.org/category/libreoffice/">Andrzej Hunt</a></li>
</ul>
<p>Andrzej's Android Remote Control allows you to control the slide show
directly from your Android mobile phone. Just connect your phone to
the presenting computer via network or bluetooth, and you will see
previews of the slides on the phone, and will be able to navigate that -
instead of using the computer's keyboard or usb remote control.</p>
<ul>
<li>Improved group session and UI for the collaborative editing of files
from Matúš Kukan</li>
</ul>
<p>Matúš progressed the <a href="http://people.gnome.org/~michael/blog/2012-03-26-collaboration.html">Calc collaboration</a> demo further - added user
interface, and continued on the core work. This work, once completed,
will allow you to collaboratively edit one spreadsheet with your
colleague conveniently, as if you chatted with them on an instant
messenger, without the need to send files around.</p>
<ul>
<li>Unit tests improvements from Artur Dorda</li>
</ul>
<p>Unit tests are extremely important for LibreOffice. They are the tests
that are run during the build time, and consequently are run by every
developer that builds LibreOffice. Unit tests help you to make sure
that the functionality hasn't regressed over time, and if it does, help
you to discover the regression quickly. Artur did great job extending
the unit tests mainly in the area of Calc.</p>
<p>Their code is is already in the LibreOffice master branch either as
experimental feature or already in use. If you want to meet some of our
successful students in person and know more about these nice projects,
watch for the <a href="http://conference.libreoffice.org/program/thursday-secondary-track/gsoc-2012-results">"GSoC results" session</a> at LibreOffice conferences next
week. Here are a few screenshots for the lazy ones:</p>
<p><img alt="Android LibreOffice file picker" src="https://bosdonnat.fr/data/android-lo-fpicker.png"></p>
<p>Android LibreOffice file picker
</p>
<p><img alt="Impress and its Android remote control" src="http://www.ahunt.org/wp-content/uploads/2012/08/libo_remote_26_reduced_scaled.png"></p>
<p>Impress and its Android remote control</p>
<p><img alt="New templates picking UI" src="http://npcdoomlibreoffice.files.wordpress.com/2012/07/search_2.png"></p>
<p>New templates picking UI</p>
<p>Thanks a lot to Google and their friendly Open Source Program team for
organizing GSoC this year again and allowing us to participate!</p>GSoC 2011, Community bounding period2011-05-05T11:00:00+02:002011-05-05T11:00:00+02:00Cédric Bosdonnattag:bosdonnat.fr,2011-05-05:/gsoc-2011-community-bounding-period.html<p>I was away when the news has been published by Google, so I'll
congratulate all our selected students now.</p>
<ul>
<li><strong>Miklos Vajna</strong>: RTF tokenizer for writerfilter (rewrite of the RTF
import)</li>
<li><strong>Anurag Jain</strong>: multi-line editing in the Calc bar</li>
<li><strong>Eilidh McAdam</strong>: first version of a Visio import filter</li>
<li><strong>Matúš Kukan</strong>: performance …</li></ul><p>I was away when the news has been published by Google, so I'll
congratulate all our selected students now.</p>
<ul>
<li><strong>Miklos Vajna</strong>: RTF tokenizer for writerfilter (rewrite of the RTF
import)</li>
<li><strong>Anurag Jain</strong>: multi-line editing in the Calc bar</li>
<li><strong>Eilidh McAdam</strong>: first version of a Visio import filter</li>
<li><strong>Matúš Kukan</strong>: performance improvements</li>
<li><strong>Marco Cecchetti</strong>: SVG export filter enhancements</li>
<li><strong>Xisco Fauli</strong>: migration of Java wizards to Python</li>
<li><strong>Timo</strong>: conversion of the wiki help to platform specific files</li>
</ul>
<p>The have until may, 23rd to get more deeply integrated in the community
before coding. I wish them an intense summer hacking and good results at
the end!</p>GSoC 2011, apply now!2011-03-30T11:22:00+02:002011-03-30T11:22:00+02:00Cédric Bosdonnattag:bosdonnat.fr,2011-03-30:/gsoc-2011-apply-now.html<p><img alt="" src="http://www.google-melange.com/soc/content/2-0-20110329-p2/images/v2/gsoc/logo-banner.jpg" title="GSoC 2011 banner">Considering the quite low amount of proposals already filed on
<a href="http://www.google-melange.com/">Google Melange</a> for LibreOffice, I'ld like to remind you all that the
application period has started on March 28th and will end up on April,
8th... which means very soon! Don't hesitate to spend a nice summer
hacking on funny …</p><p><img alt="" src="http://www.google-melange.com/soc/content/2-0-20110329-p2/images/v2/gsoc/logo-banner.jpg" title="GSoC 2011 banner">Considering the quite low amount of proposals already filed on
<a href="http://www.google-melange.com/">Google Melange</a> for LibreOffice, I'ld like to remind you all that the
application period has started on March 28th and will end up on April,
8th... which means very soon! Don't hesitate to spend a nice summer
hacking on funny stuffs in LibreOffice: <a href="http://www.google-melange.com/gsoc/org/google/gsoc2011/libreoffice">apply now</a>!</p>
<p>I already received several emails from students wanting to work on the
new RTF tokenizer or the persisting the autocompletion words list, but
there is a nice feature to be worked on: adding borders to characters in
Writer. Hack on that and you'll be praised by loads of users awaiting
this for more than 8 years! The idea is pretty simple: Word files and
HTML can both have borders around runs of characters, but LibreOffice
doesn't have that feature. The job here consists in:</p>
<ol>
<li><strong>Enhance the UI</strong> for the character style: you will simply need to
add the already existing border editing tab to the dialog.</li>
<li><strong>Enhance the Writer core</strong> by adding one character attribute to the
data structure.</li>
<li>Use that attribute to <strong>enhance the Writer layout</strong> and actually
draw the borders on the screen and PDFs / printing.</li>
<li>Persist the new feature in the different formats handled by Writer.
This means <strong>improving the import and export filters</strong> like the ones
for Word files, RTF, HTML and even ODF.</li>
<li><strong>Propose an ODF enhancement</strong> to standardize the use of
<em>fo:borders</em> attributes in the <em>\<style:text-properties></em> elements.</li>
</ol>
<p>I hope to see loads of rock-solid applications to make free software
progress while introducing students to LibreOffice
hacking.</p>GSoC - 2011 edition started!2011-03-19T20:42:00+01:002011-03-19T20:42:00+01:00Cédric Bosdonnattag:bosdonnat.fr,2011-03-19:/gsoc-2011-edition-started.html<p>Just a short post to update you that LibreOffice has been
accepted as a Google Summer of Code 2011 organization (<a href="http://www.google-melange.com/gsoc/org/show/google/gsoc2011/libreoffice">See on melange</a>). Don't hesitate
to spread the news and to contact us for more informations to start on a
project. All our project ideas are sitting on <a href="http://wiki.documentfoundation.org/Development/Gsoc/Ideas">this page …</a></p><p>Just a short post to update you that LibreOffice has been
accepted as a Google Summer of Code 2011 organization (<a href="http://www.google-melange.com/gsoc/org/show/google/gsoc2011/libreoffice">See on melange</a>). Don't hesitate
to spread the news and to contact us for more informations to start on a
project. All our project ideas are sitting on <a href="http://wiki.documentfoundation.org/Development/Gsoc/Ideas">this page</a> and are
waiting for you to pick them. I hope this term will be full of
interesting projects and fun between LibreOffice students and
mentors!</p>LibreOffice applied for GSoc 20112011-03-03T19:04:00+01:002011-03-03T19:04:00+01:00Cédric Bosdonnattag:bosdonnat.fr,2011-03-03:/libreoffice-applied-for-gsoc-2011.html<p><a href="http://google-opensource.blogspot.com/"><img alt="Gsoc 2011 logo" src="http://1.bp.blogspot.com/-61a6mHfP1bU/TWbmtb5TAAI/AAAAAAAAABo/w56YXLjXDGY/s400/GSOC_2011_300x200px.png"></a>I just have filed the form for
LibreOffice to be part of the next edition of Google Summer or Code. The
list of the selected organizations will be out on March 18th. This will
be a nice adventure to help us improve our mentoring skill and help
students getting introduced …</p><p><a href="http://google-opensource.blogspot.com/"><img alt="Gsoc 2011 logo" src="http://1.bp.blogspot.com/-61a6mHfP1bU/TWbmtb5TAAI/AAAAAAAAABo/w56YXLjXDGY/s400/GSOC_2011_300x200px.png"></a>I just have filed the form for
LibreOffice to be part of the next edition of Google Summer or Code. The
list of the selected organizations will be out on March 18th. This will
be a nice adventure to help us improve our mentoring skill and help
students getting introduced to an open source community. All the details
of the application are available on the <a href="http://wiki.documentfoundation.org/Development/GSoc">GSoc wiki page</a>.</p>
<p>Last year, with Go-oo we found very useful to ask the students to solve
some easy hacking exercise as it forces them to build before the coding
period. It also allows us to evaluate their capabilities to interact
with the developers, read code and provide a clear patch. This year we
are asking for some hacking proof to select the students, but not on
the basis of an exercise. We simply want the student to fix one of the
bugs marked as <a href="http://bugs.freedesktop.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=LibreOffice&content=EasyHack">EasyHacks in our bugzilla</a>: this will be more useful
than switching shortcuts!</p>
<p>The <a href="http://wiki.documentfoundation.org/Development/Gsoc/Ideas">page listing the ideas</a> has just been created with last year's
remaining ideas. Feel free to add your ideas here, but don't forget that
they will need to fit in a summer for students. Code pointers or links
to useful documents would be really nice to help students understand
your ideas. Once you added an idea, please notify the <a href="http://lists.freedesktop.org/mailman/listinfo/libreoffice">development
mailing list</a> about it.</p>GSoc 2010 Wrap-Up2010-09-24T22:03:00+02:002010-09-24T22:03:00+02:00Cédric Bosdonnattag:bosdonnat.fr,2010-09-24:/gsoc-2010-wrap-up.html<p><img alt="GSoc 2010 Logo" src="http://2.bp.blogspot.com/_p15UnEJyA1c/TFrz3e7YzdI/AAAAAAAAAaA/OkBiYJBCB-M/s320/GSOC2010_MedRect_YearURL.png" title="GSoc 2010 Logo">End of september: it's time for Go-oo GSoc
2010 wrap-up. This term again, 6 students have been working hard during
their summer holidays to improve Go-oo. This year, the students needed
to get rid of the building problem before applying. <a href="http://www.freedesktop.org/wiki/Software/ooo-build/SummerOfCode/2010#Theexercise">That tiny
exercise</a> helped us a lot to chose motivated …</p><p><img alt="GSoc 2010 Logo" src="http://2.bp.blogspot.com/_p15UnEJyA1c/TFrz3e7YzdI/AAAAAAAAAaA/OkBiYJBCB-M/s320/GSOC2010_MedRect_YearURL.png" title="GSoc 2010 Logo">End of september: it's time for Go-oo GSoc
2010 wrap-up. This term again, 6 students have been working hard during
their summer holidays to improve Go-oo. This year, the students needed
to get rid of the building problem before applying. <a href="http://www.freedesktop.org/wiki/Software/ooo-build/SummerOfCode/2010#Theexercise">That tiny
exercise</a> helped us a lot to chose motivated students: all of them
managed to accomplish their task. The only drawback we had with a
project was mostly our fault (I mean the mentors): nobody was really
comfortable with that part of the code and the student lost quite some
time to try to understand it.</p>
<p>The completed projects are:</p>
<ul>
<li>New and improved RTF export filter by Miklos Vajna (<a href="http://cgit.freedesktop.org/libreoffice/writer/commit/?id=db6af6a208ed578625ef2df23f50ec982b562ca6">the code</a>)</li>
<li>Maths editor improvements by Jonas Jensen (<a href="http://cgit.freedesktop.org/libreoffice/build/commit/?id=d6b73c9d63b02142b9d48d9fed1573912ee3705e">the code</a>)</li>
<li>Maths object baseline aligment by Michal Spisiak (<a href="http://cgit.freedesktop.org/libreoffice/build/commit/?id=bba02943fd850a1f5aad66f51346038d19e643c3">the code</a>)</li>
<li>Add effects to styles by Larisa Raicevic (<a href="http://cgit.freedesktop.org/libreoffice/build/commit/?id=a0866751f996613466f7e10619c3c3f2ff54c38d">the code</a>)</li>
<li>Connect the gallery with OpenClipart by Tijana Milijanovic (<a href="http://cgit.freedesktop.org/libreoffice/build/commit/?id=f3a517b005a31607b373393600ac41237a55b1f4">the
code</a>)</li>
<li>Calc usability improvements by Thomas Dziedzic (<a href="http://cgit.freedesktop.org/libreoffice/build/commit/?id=ccc534c27bc51526a291e21797ac337a7a695346">the code</a>)</li>
</ul>
<p>This was my second year as mentor, and first year as organization admin.
We had really brilliant students this year and two of them, <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=86&sessionId=28&confId=0">Jonas</a>
and <a href="http://conference.opensuse.org/indico//contributionDisplay.py?contribId=81&sessionId=28&confId=0">Miklos</a> will even join us at <a href="http://en.opensuse.org/openSUSE:Conference">openSUSE conferences</a> in
Nürnberg to present their work. This year we have a lot of code that
can be almost directly be integrated to Go-oo builds. My biggest concern
now is how to make students continue to contribute after the end of GSoc
term...</p>
<p>I owe many thanks to all our students, but also to all the mentors who
did a great job as well (<a href="http://eric.bachard.org/news/index.php">Eric</a>, <a href="http://fridrich.blogspot.com/">Fridrich</a>, <a href="http://artax.karlin.mff.cuni.cz/~kendy/blog">Kendy</a>,
<a href="http://kohei.us/">Kohei</a>,Radek and <a href="http://blog.thebehrens.net">Thorsten</a>). I would like to thank Google for
allowing us to participate in the Summer of Code for the second
year.</p>GSoc 2010, let's go for ooo-build!2010-03-19T11:41:00+01:002010-03-19T11:41:00+01:00Cédric Bosdonnattag:bosdonnat.fr,2010-03-19:/gsoc-2010-lets-go-for-ooo-build.html<p><a href="http://socghop.appspot.com/gsoc/program/home/google/gsoc2010"><img alt="" src="http://code.google.com/images/2010soclogo.jpg" title="GSoc 2010 logo"></a>Yesterday evening we received the good news from
Google: <a href="http://go-oo.org/">ooo-build</a> will be a mentoring organization this year again.
This year we will have the pleasure to share projects slots with
<a href="http://wiki.ooo4kids.org/index.php/Main_Page">ooo4kids</a>, the new OpenOffice.org based Office suite for 7/12 years
old children. I hope that we will have …</p><p><a href="http://socghop.appspot.com/gsoc/program/home/google/gsoc2010"><img alt="" src="http://code.google.com/images/2010soclogo.jpg" title="GSoc 2010 logo"></a>Yesterday evening we received the good news from
Google: <a href="http://go-oo.org/">ooo-build</a> will be a mentoring organization this year again.
This year we will have the pleasure to share projects slots with
<a href="http://wiki.ooo4kids.org/index.php/Main_Page">ooo4kids</a>, the new OpenOffice.org based Office suite for 7/12 years
old children. I hope that we will have motivated and fantastic students
this year too!</p>
<p>It's now time to choose some project and submit your ideas to the
community. Check out the <a href="http://www.freedesktop.org/wiki/Software/ooo-build/SummerOfCode/2010">project ideas wiki page</a> and don't hesitate
to ask for some additional information or discuss your ideas with us on
the IRC (#go-oo on irc.freenode.net), <a href="http://lists.freedesktop.org/mailman/listinfo/ooo-build">mailing list</a> or by private
email with the mentor. Please note that we are requiring each student
submitting a project to solve a simple coding <a href="http://www.freedesktop.org/wiki/Software/ooo-build/SummerOfCode/2010#Theexercise">exercise described on the
wiki page</a>.</p>
<p>Many thanks to Google Summer of Code organization team for allowing us
to live this hacking experience again!</p>GSoc: Hacking Writer's toolbars2009-07-01T17:55:00+02:002009-07-01T17:55:00+02:00Cédric Bosdonnattag:bosdonnat.fr,2009-07-01:/gsoc-hacking-writers-toolbars.html<p>These last days, I dived into the way OpenOffice.org toolbars
are defined in Writer to help Maja on her problems (( See <a href="http://gsoc-ovcica.blogspot.com/2009/06/missing-parts-inserted-but-no-progress.html">her blog post</a>)).
There are several points which were hard to guess, but the navigation toolbar
is now nice and connected to the C++ code:</p>
<ul>
<li>
<p>As Maja has …</p></li></ul><p>These last days, I dived into the way OpenOffice.org toolbars
are defined in Writer to help Maja on her problems (( See <a href="http://gsoc-ovcica.blogspot.com/2009/06/missing-parts-inserted-but-no-progress.html">her blog post</a>)).
There are several points which were hard to guess, but the navigation toolbar
is now nice and connected to the C++ code:</p>
<ul>
<li>
<p>As Maja has stated it, it is necessary to set <strong>Properties</strong> node in the
command definition in the XCU file. This is really strange and
completely stupid, but it works.</p>
<p>:::diff
+ <node oor:name=".uno:NavigateForward" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Forward</value>
+ </prop>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>1</value>
+ </prop>
+ </node></p>
</li>
<li>
<p>The file <em>sfx2/source/appl/workwin.cxx</em> had to be completed to help
make the equivalence between the resource ID and the toolbar name in
the XML configuration.</p>
<p>:::diff
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index b5a26d6..6780959 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -143,6 +143,7 @@ static const ResIdToResName pToolBarResToName[] =
{ 23031, "mediaobjectbar" }, //draw/impress
{ 25060, "mediaobjectbar" }, //calc
{ 23311, "mediaobjectbar" }, //writer
+ { 23313, "navigationobjectbar" }, //writer
{ 0, "" }
};</p>
</li>
</ul>
<p>The value here isn't taken out of my hat, but is the value of the
<em>RID_NAVIGATION_TOOLBOX</em> constant registered with the navigation
shell.</p>
<ul>
<li>The class <em>SwNavigationShell</em> had to be instanciated in the
<em>SwView::SelectShell</em> method.</li>
</ul>
<p>The complete patch is available on my freedesktop.org account for those
who want to see the code:<br>
<a href="http://people.freedesktop.org/~cbosdo/gsoc/navigation.diff">http://people.freedesktop.org/~cbosdo/gsoc/navigation.diff</a></p>
<p>Many thanks Thorsten to have helped me understand the horror of the
toolbars.</p>