[Kde-pim] Akonadi architectural knowledge

Morten Larsen mortl at itu.dk
Sun Sep 30 22:54:48 BST 2012


Hello Akonadi developers.

A brief introduction: I am a taking a course in software architecture at 
the IT University of Copenhagen. I am doing an assignment where I have 
to find out about architectural knowledge management in a software 
project of my own choice, and I have chosen Akonadi.

My objective is to study and describe the practices (e.g., design 
review, design meetings, sharing design decisions) and tools (e.g., 
wikis, emails, blogs) used informally or formally to document and share 
architectural knowledge among team members in the Akonadi project, as 
well as the practices and tools used to disseminate architectural 
knowledge to other developers.

I hope some of the developers who work on Akonadi will take the time to 
help me by answering a few questions. First, however, let me state what 
I have found out myself by browsing the KDE web sites.

Documentation of the architecture itself:

1) Drilling in from http://techbase.kde.org/Development one can end up 
at http://techbase.kde.org/Development/Architecture/KDE4/Akonadi where 
the main components of the architecture are briefly described 
(server/agents/applications).

2) http://techbase.kde.org/Projects/PIM/Akonadi (outdated? - stops at 
Akonadi 1.4) has a little architectural in its FAQ (e.g. on the DBMS 
used) and some (unstructured) in the "Braindump".

3) http://api.kde.org/kdesupport-api/akonadi-apidocs/ has a fairly 
detailed overview of the components of the Akonadi server (but no API 
docs - is this an error in documentation generation?).

4) http://api.kde.org/4.x-api/kdepimlibs-apidocs/akonadi/html/index.html 
on the other hand documents client library API, but does not have any 
architecture level documentation.

5) http://community.kde.org/KDE_PIM/Akonadi has some basic information 
on Akonadi architecture, mainly the "pie gone supernova" architecture 
diagram. There are also links to a lot of presentations on Akonadi, many 
containing architecture information and a master thesis on the server 
architecture.

Documentation on the rationales behind the architectural decisions and 
any alternatives considered are a lot harder to find. Reading through 
the meeting notes of some of the PIM meetings (esp. Osnabrück 4) you can 
find some information, including original ides and requirements.

Now for my questions:

a) Is there anything I have missed? E.g. where would I look for 
information if I wanted to interface to the Akonadi server but not use 
the client library?

b) Is there a notion that someone(s) have an "architect" role in the 
Akonadi development team?

c) When and how are architectural decisions made? In the meetings? In 
mailing list discussions? Other?

d) Is there an architecture review process? (I am not talking about code 
review, but design review).

e) Are the rationales behind architecture design decisions captured? Are 
the inputs (e.g. requirements, alternative designs) captured?

f) Do you get and answer questions in the mailing list or IRC channels 
which can be considered to be architectural in nature (i.e. not on low 
level design such as detailed questions on the API)?

I would be very grateful if some Akonadi team members could take the 
time to anwer just some of these questions.

All the best,
Morten Larsen
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list