Kontact Journal/Blog Support

Abstract

At the start of this project, KDE's Kontact provided basic journal support. However, this could not be currently posted remotely and no more than plain-text could be used in creating entries. This project aimed to improve this journal support, integration with the KBlog blog-posting library, adding a WYSIWYG editor and other desired functionality.

Benefits to the KDE Community

Providing the ability to store, save and modify blog posts from Kontact

Allowing "rich" journal content

Aiding creation of a stable library for KDE application developers to make blog posts

Project Details

Kontact/KOrganizer had "Journal" support. This was fairly limited, allowing a user to create a basic, plain text document which could be attached to a time and date in Kontact. However, this could not be customised or made to export the journal to any external source.

Several codebases existed to implement this functionality. The main library providing this functionality was KBlog[1], in kdepimlibs in the KDE SVN. This provided an interface to send blog posts to a Blogger 1.0 or MetaWebLog compatible server. KLuJe[2] was a KDE LiveJournal blog poster, allowing more LiveJournal-specific functionality such as emotions. I hoped to integrate the LiveJournal support from KLuJe to KBlog, as well as aid the creation of Google Data and Atom 1.0 support. This was dependent on how much work the creator of KBlog was willing to perform towards this task. The other needed features I would work on were full-GUI integration for the KBlog library with Kontact, customisation, easy setup, Akonadi integration and a WYSIWYG editor. C++ will be used for all development for Akonadi and Kontact integration.

The status on Akonadi was somewhat uncertain at the time of writing. The KDE-PIM team were unsure whether KDE 4.0 will have a KDE-PIM release at all or if it will simply be used without Akonadi until KDE 4.1. As a result, if Akonadi was delayed, the focus would be on producing code that can be not only used in Akonadi but also in KDE 4.0.

Several feature requests have been made for Kontact's Journal integration. These can be viewed at http://bugs.kde.org/simple_search.cgi?id=journal.
Allowing for time, as many of these features would be integrated as possible, but the priority was to focus on the aforementioned features.

Results

The results of this project can be viewed in kdepimlibs/kblog, the "Journal in a blog" resource in KOrganizer and KOrganizer's improved journal view and journal editor.