Warning, /pim/kdepim-runtime/Mainpage.dox is written in an unsupported language. File is not indexed.

0001 /**
0002 \mainpage Akonadi, the KDE PIM storage framework
0003 
0004 These pages are a combination of design and api documentation. If you are
0005 looking for general information go to the Overview section.
0006 For detailed information and/or api-dox on any of the packages go to the
0007 package main page, either from the menu on the left or from the Building
0008 blocks section below.
0009 
0010 
0011 \section akonadi_overview Overview
0012 
0013 - Design and Concepts
0014   - \ref akonadi_design_communication
0015 - \ref akonadi_usage
0016 - <a href="https://community.kde.org/KDE_PIM/Akonadi">Website</a>
0017 - <a href="https://techbase.kde.org/index.php?title=Projects/PIM/Akonadi">Wiki</a>
0018 - \ref akonadi_todos
0019 
0020 \section akonadi_building_blocks Building Blocks
0021 
0022 - Domain-specific libraries:
0023   - <a href="../../kdepimlibs-apidocs/kabc/html/index.html">Contacts (KABC)</a>
0024   - <a href="../../kdepimlibs-apidocs/kmime/html/index.html">MIME Messages (KMime)</a>
0025   - <a href="../../kdepimlibs-apidocs/kcal/html/index.html">Events, todo items and journal entries (KCal)</a>
0026   - <a href="../../kdepimlibs-apidocs/akonadi/html/index.html">Core library (libakonadi)</a>
0027 
0028 \authors Tobias König <tokoe@kde.org>, Volker Krause <vkrause@kde.org>
0029 
0030 \licenses \lgpl
0031 */
0032 
0033 
0034 /**
0035 \page akonadi_design_communication Communication Schemas
0036 
0037 \section akonadi_design_communication_search Search
0038 
0039 The sequence diagrams below show how general communication is done:
0040 
0041 <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" >
0042   \image html akonadi_client_search_small.png  "Akonadi Communication Schema"
0043  </div>
0044  <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" >
0045   \image html  akonadi_client_search.png  "Akonadi Communication Schema"
0046  </div>
0047 
0048 \image latex akonadi_client_search.eps "Akonadi Communication Schema" height=5cm
0049 
0050 The item search request is probably the call which is used most often
0051 by the clients (components or applications). This call enables the client
0052 to search for a list of items of a given mime type which match a
0053 given search criterion.
0054 
0055 In this case the client will contact the SearchProvider responsible for
0056 the mime type, in order to retrieve the list of matching UIDs. The SearchProvider
0057 already has a list of all available items of this mime type in its memory, so it
0058 can search fast and use indices for optimization.
0059 
0060 To communicate mime type constraints in FETCH and LIST and their responses the
0061 IMAP flags mechanism is used. Unknown flags should be ignored by non-Akonadi
0062 IMAP clients, which keeps compatibility with mutt and regular KMail.
0063 
0064 Examples:
0065 - List
0066 \verbatim
0067 0x8053c68 8 LIST "" "res1/foo/%"
0068 0x8053c68 * LIST (\MimeTypes[text/calendar,directory/inode]) "/" "res1/foo/bar"
0069 \endverbatim
0070 - Fetch
0071 \verbatim
0072 0x8056310 7 UID FETCH 22 (UID RFC822.SIZE FLAGS BODY.PEEK[])
0073 0x8056310 * 1 FETCH (FLAGS (\Seen \MimeTypes[message/rfc822]) RFC822 {2450} From: Till Adam To: ...
0074 \endverbatim
0075 
0076 \section akonadi_design_communication_agent Agent Handling
0077 <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" >
0078   \image html  akonadi_agent_handling_small.png  "Akonadi Agent Handling"
0079  </div>
0080  <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" >
0081   \image html  akonadi_agent_handling.png  "Akonadi Agent Handling"
0082  </div>
0083 
0084 \image latex akonadi_agent_handling.eps "Akonadi Agent Handling" height=4cm
0085 */
0086 
0087 /**
0088 \page akonadi_overview_uml Akonadi Overview
0089 
0090 This overview does not show a complete class or collaboration diagram, it is rather meant to show the
0091 big picture.
0092 
0093 <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" >
0094   \image html  akonadi_overview_uml_small.png  "Akonadi Overview"
0095  </div>
0096  <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" >
0097   \image html  akonadi_overview_uml.png  "Akonadi Overview"
0098  </div>
0099 
0100 
0101 */
0102 
0103 
0104 // DOXYGEN_NAME=kdepim-runtime
0105 // DOXYGEN_ENABLE=YES