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:
http://wiki.koffice.org/index.php?title=KWord/Tutorials/LoadingOdf
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.
Thursday, June 26, 2008
Getting started with KWord Development
Subscribe to:
Post Comments (Atom)
5 comments:
I love KWord, and love your work. Thanks for blogging about it :)
This tutorial is a great idea!
Just one remark: I don't think an ODF is a tar.gz file. It's a ZIP file.
I think it's actually a JAR file, which in turn uses the ZIP compression algorithm.
hans-peter, andre : Corrected, it is a zip archive indeed.
Immensely useful! Thanks for this Girish!
Post a Comment