[dot] KOffice Summer of Code Ends

Dot Stories stories at kdenews.org
Mon Aug 25 18:35:37 CEST 2008

URL: http://dot.kde.org/1219663347/

From: Boudewijn Rempt <boud at valdyas.org>
Dept: who-needs-fresh-air-or-sunshine
Date: Monday 25/Aug/2008, @04:22

KOffice Summer of Code Ends

   This year's Google Summer of Code is drawing inexorably to its close:
the first indication that season of mists and mellow fruitfulness is
indeed upon us. The KOffice students are busy tying up the last threads,
adding the last flourish of polish that makes all the difference before
they will slake the satisfied sigh that goes with work well-done. So -
what did we achieve this year? In our very best tradition, read on for
an overview!

     This year, KOffice had seven slots. Lorenzo Villani has been
working on Kexi web forms, Carlos Licea has worked on making it possible
to load KPresenter 1.x (.kpr) documents in KPresenter 2.0. Lukáš Tvrdý
has worked on a Chinese brush simulation for Krita, Fela Winkelmolen on
a calligraphy brush for Karbon, Fredy Yanardi on notes and presentation
view support for KPresenter, Pierre Ducroquet on ODF support for KWord,
and finally Benjamin Cail on converting the .doc to .kwd file import
filter to import directly to ODF - and on improving the graphics support
in libwv2.

     Our choice of projects in 2008 was dictated less by a desire for
flashiness - rather we were determined to choose those projects most
likely to add solid worth to KOffice. Additionally, life was somewhat
easier for our students than last year, when both KOffice and KDE were
still under heavy development and every Monday was basically spent on
getting the latest binary and source incompatible changes incorporated.
This year, only KOffice was a rapidly moving target! And next year,
we'll have reached the coding nirvana of feature development against a
stable foundation.

     Carlos Licea, mentored by Casper Boemann, is an old hand at KOffice
and KPresenter hacking, and was already quite aware of the challenges.
His job was to code completely from scratch a new import filter for a
rather under-documented file format, namely the old KPresenter .kpr
format, which also doesn't map easily onto the OpenDocument presentation
format. It's not really something for cool screenshots, but it is
amazing how far Carlos has come: the filter is basically ready!

     Thanks to Fela Winkelmolen, well-known from KDE games, Karbon now
has a really cool and flexible calligraphy brush that can make use of
all the features of a high-end tablet, but works just as well with a
mouse. The amount of functionality delivered by Fela is amazing, and,
fortunately, very visible from screenshots:
     Lorenzo Villani, mentored by Jaroslaw Staniek, has been enormously
productive: thanks to his work, database applications defined in Kexi
are also available through HTTP and HTML: Kexi Web Forms. For the user
and application developer this is almost completely transparent: thanks
to the KexiDB2 library, the web forms daemon is able to do
reverse-engineering on the database and discover the table names, the
stored queries and provide the user with an appropriate HTML form to
create or update rows.
     Pierre Ducroquet and his mentor Sebastian Sauer are old hands at
their task: like last year, they worked on improving the OpenDocument
support of KWord. The focus this year was on proper support for page
styles - and Pierre also implemented table-of-contents, saving of lists,
and headers/footers. Header and footer support is something that
demanded a large amount of work, because the way KWord supported these
features still dated from the very first version of KWord designed by
Reginald Stadlbauer.
     Benjamin Cail, mentored by Boudewijn Rempt, but actually helped out
most by Werner Trobin and David Faure, had chosen to port the .doc file
filter to create OpenDocument files instead of .kwd files. An
interesting aspect of this is that his work is actually completely
independent of KWord. Indeed, because of the heavy development going on
in KWord, Benjamin mostly tested converting documents using koconverter
and then loading the .odt file in OpenOffice Writer. But since the ODF
libraries of KOffice weren't ready either, Benjamin has spent time on
the generic style handling, too. The .doc importer uses the wvware
[http://sourceforge.net/projects/wvware] wv2 library, which was
originally intended to be shared by Abiword and KWord. But the Abiword
developers decided to stick with wv1, and development on wv2 stalled.
Benjamin, as part of his work this year, has implemented Escher image
loading for wv2. Is it all done? No, not yet. There's plenty left to do,
but that's what you get with a humongous file format like .doc. Still,
the improvements are very tangible!
     Fredy Yanardi, another old Summer of Code hand, mentored by
Thorsten Zachmann, had two KPresenter tasks before him: adding support
for editing notes with slides, and implementing the presentation view
for KPresenter. This means an important stride for KPresenter: together
with Carlos' work, KPresenter is really getting ready for release.
     Lukáš Tvrdý was new to Qt development, KOffice, and Krita. He still
managed to implement a complete new brush engine for Krita, designed to
simulate Chinese brush painting, but which actually is more or less the
basis for any bristly brush engine. Lukáš went through many
implementations, but the end result is very impressive:
     All this code is already in KOffice 2.0 Alpha 10, which will be
released this week for you to play with.

More information about the dot-stories mailing list