[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