Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F16568817
Mainpage.dox
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
Mainpage.dox
View Options
/**
\mainpage Akonadi, the KDE PIM storage framework
These pages are a combination of design and api documentation. If you are
looking for general information go to the Overview section.
For detailed information and/or api-dox on any of the packages go to the
package main page, either from the menu on the left or from the Building
blocks section below.
\section akonadi_overview Overview
- Design and Concepts
- \ref akonadi_design_communication
- \ref akonadi_usage
- <a href="http://pim.kde.org/akonadi">Website</a>
- <a href="http://techbase.kde.org/index.php?title=Projects/PIM/Akonadi">Wiki</a>
- \ref akonadi_todos
\section akonadi_building_blocks Building Blocks
- Domain-specific libraries:
- <a href="../../kdepimlibs-apidocs/kabc/html/index.html">Contacts (KABC)</a>
- <a href="../../kdepimlibs-apidocs/kmime/html/index.html">MIME Messages (KMime)</a>
- <a href="../../kdepimlibs-apidocs/kcal/html/index.html">Events, todo items and journal entries (KCal)</a>
- <a href="../../kdepimlibs-apidocs/akonadi/html/index.html">Core library (libakonadi)</a>
\authors Tobias König <tokoe@kde.org>, Volker Krause <vkrause@kde.org>
\licenses \lgpl
*/
/**
\page akonadi_design_communication Communication Schemas
\section akonadi_design_communication_search Search
The sequence diagrams below show how general communication is done:
<div id='akonadi_client_search_small.png' onClick="document.getElementById('akonadi_client_search_small.png').style.display='none';document.getElementById(' akonadi_client_search.png').style.display='inline';" title="Click to enlarge" >
\image html akonadi_client_search_small.png "Akonadi Communication Schema"
</div>
<div id=' akonadi_client_search.png' onClick="document.getElementById(' akonadi_client_search.png').style.display='none';document.getElementById('akonadi_client_search_small.png').style.display='inline';" style="display:none" >
\image html akonadi_client_search.png "Akonadi Communication Schema"
</div>
\image latex akonadi_client_search.eps "Akonadi Communication Schema" height=5cm
The item search request is probably the call which is used most often
by the clients (components or applications). This call enables the client
to search for a list of items of a given mime type which match a
given search criterion.
In this case the client will contact the SearchProvider responsible for
the mime type, in order to retrieve the list of matching UIDs. The SearchProvider
already has a list of all available items of this mime type in its memory, so it
can search fast and use indices for optimization.
To communicate mime type constraints in FETCH and LIST and their responses the
IMAP flags mechanism is used. Unknown flags should be ignored by non-Akonadi
IMAP clients, which keeps compatibility with mutt and regular KMail.
Examples:
- List
\verbatim
0x8053c68 8 LIST "" "res1/foo/%"
0x8053c68 * LIST (\MimeTypes[text/calendar,directory/inode]) "/" "res1/foo/bar"
\endverbatim
- Fetch
\verbatim
0x8056310 7 UID FETCH 22 (UID RFC822.SIZE FLAGS BODY.PEEK[])
0x8056310 * 1 FETCH (FLAGS (\Seen \MimeTypes[message/rfc822]) RFC822 {2450} From: Till Adam To: ...
\endverbatim
\section akonadi_design_communication_agent Agent Handling
<div id=' akonadi_agent_handling_small.png' onClick="document.getElementById(' akonadi_agent_handling_small.png').style.display='none';document.getElementById(' akonadi_agent_handling.png').style.display='inline';" title="Click to enlarge" >
\image html akonadi_agent_handling_small.png "Akonadi Agent Handling"
</div>
<div id=' akonadi_agent_handling.png' onClick="document.getElementById(' akonadi_agent_handling.png').style.display='none';document.getElementById(' akonadi_agent_handling_small.png').style.display='inline';" style="display:none" >
\image html akonadi_agent_handling.png "Akonadi Agent Handling"
</div>
\image latex akonadi_agent_handling.eps "Akonadi Agent Handling" height=4cm
*/
/**
\page akonadi_overview_uml Akonadi Overview
This overview does not show a complete class or collaboration diagram, it is rather meant to show the
big picture.
<div id=' akonadi_overview_uml_small.png' onClick="document.getElementById(' akonadi_overview_uml_small.png').style.display='none';document.getElementById(' akonadi_overview_uml.png').style.display='inline';" title="Click to enlarge" >
\image html akonadi_overview_uml_small.png "Akonadi Overview"
</div>
<div id=' akonadi_overview_uml.png' onClick="document.getElementById(' akonadi_overview_uml.png').style.display='none';document.getElementById(' akonadi_overview_uml_small.png').style.display='inline';" style="display:none" >
\image html akonadi_overview_uml.png "Akonadi Overview"
</div>
*/
// DOXYGEN_NAME=kdepim-runtime
// DOXYGEN_ENABLE=YES
File Metadata
Details
Attached
Mime Type
text/x-tex
Expires
Fri, Nov 1, 7:58 AM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
10051296
Default Alt Text
Mainpage.dox (4 KB)
Attached To
Mode
rKPR kdepim-runtime
Attached
Detach File
Event Timeline
Log In to Comment