Getting started with KWord Development

About 2 months ago, I started working on KWord ODF support. Getting productive working on KWord is no mean task – apart from the mandatory C++/Qt knowledge, one need to know Scribe, KDE, KOffice libs and KWord. I knew only C++/Qt and basic Scribe.

Thankfully, to add small ODF features to KWord, one can conveniently ignore most of the code base and concentrate on 4-5 files. Which is what I have been doing – committing like crazy to 4-5 files :-) Of course, I have never been at ease with this, I usually don’t develop this way but I wanted to have something up and running asap. Now that we (Roop and I) have most of the (supported) ODF test automated (63 in all), I took a 1 week break to read and understand the KWord/KOffice code.

If writing a word processor is not complex enough, KOffice/KWord code is extremely complex thanks to all the code sharing between the koffice applications, libraries, plugins/flake, kparts. So, I thought I should do something on my part to make KWord more approachable to a newbie. The result is:

It’s a code walk through/very detailed introduction to how loading of ODF works in KWord. I have deliberately opted for simplicity over correctness in many places. Some information there might be outright wrong, in which case, please edit the document and fix it (hey, I am new to this stuff too). Also, this probably belongs in techbase.

Writing this document has made me realize that writing code is so much simpler than understanding existing code :-)

Anyhoo, Comments/Suggestions?

P.S: I am in the process of writing the SavingOdf document.