summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/design.md14
-rw-r--r--docs/requirements.md4
2 files changed, 9 insertions, 9 deletions
diff --git a/docs/design.md b/docs/design.md
index 38edde01..1330cc28 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -17,7 +17,7 @@ The overall architecture is split into three layers; Ui, Domain Logic and Infras
17| | 17| |
18+--------------+------+------+ 18+--------------+------+------+
19| | | | 19| | | |
20| Akonadi Next |Config| ... | 20| Sink |Config| ... |
21| | | | 21| | | |
22+--------------+------+------+ 22+--------------+------+------+
23``` 23```
@@ -28,7 +28,7 @@ The domain logic layer holds the application state. It povides models to access
28 28
29The infrastructure layer provides: 29The infrastructure layer provides:
30 30
31* Data access (Akonadi Next) 31* Data access (Sink)
32* Configuration (Config files, etc.) 32* Configuration (Config files, etc.)
33* Various functionality provided by libraries (email sending, ldap, iTip handling, iCal implementation (kcalcore), vCard implementation, ...) 33* Various functionality provided by libraries (email sending, ldap, iTip handling, iCal implementation (kcalcore), vCard implementation, ...)
34Various bits of the infrastructure layer may be exchanged on different platforms, to i.e. integrate into native infrastructure providers on a platform. 34Various bits of the infrastructure layer may be exchanged on different platforms, to i.e. integrate into native infrastructure providers on a platform.
@@ -64,7 +64,7 @@ If nothing handles the action, the root component (the shell)can switch to the n
64## Third party users of components 64## Third party users of components
65Since components are self contained and made available throuh the KPackage sytem, external applications can load fully functional Kube components. 65Since components are self contained and made available throuh the KPackage sytem, external applications can load fully functional Kube components.
66 66
67For example, the KDE calendar plasmoid could load the Kube Event Viewer component when available, and thus provide Kube's full functionality of that component, including all actions etc, without having to reimplement the Domain Logic (as is the case if only data access is provided through akonadi). 67For example, the KDE calendar plasmoid could load the Kube Event Viewer component when available, and thus provide Kube's full functionality of that component, including all actions etc, without having to reimplement the Domain Logic (as is the case if only data access is provided through Sink).
68 68
69## Domain Logic 69## Domain Logic
70 70
@@ -123,10 +123,10 @@ Notifications can be displayed in various places of the application.
123The infrastructure layer interfaces with the rest of the system. It is the place where we can integrate with various native infrastructure parts. 123The infrastructure layer interfaces with the rest of the system. It is the place where we can integrate with various native infrastructure parts.
124The interface of the infrastructure layer, that is used by the domain logic, may not expose any implementation details of any infrastructure part, to ensure that all infrastructure parts are exchangable. 124The interface of the infrastructure layer, that is used by the domain logic, may not expose any implementation details of any infrastructure part, to ensure that all infrastructure parts are exchangable.
125 125
126### Akonadi Next 126### Sink
127Akonadi Next is used for primary data access and handles all synchronization. 127Sink is used for primary data access and handles all synchronization.
128 128
129Interactions with Akonadi Next involve: 129Interactions with Sink involve:
130 130
131* Adding/removing/configuring resources 131* Adding/removing/configuring resources
132* Triggering synchronization 132* Triggering synchronization
@@ -223,7 +223,7 @@ KubeComponents.MailView {
223 * Move/Copy/Delete folder 223 * Move/Copy/Delete folder
224 * Synchronize folder 224 * Synchronize folder
225 * Folder List Model 225 * Folder List Model
226 * Mixes akonadi next queries and subqueries (folder list with smart folders) 226 * Mixes Sink queries and subqueries (folder list with smart folders)
227 * name 227 * name
228 * statistics 228 * statistics
229 229
diff --git a/docs/requirements.md b/docs/requirements.md
index 75b43c8f..22de0cb5 100644
--- a/docs/requirements.md
+++ b/docs/requirements.md
@@ -63,7 +63,7 @@ Currently available dependencies:
63## Requirements 63## Requirements
64* Each module has at least rudimentary tests that can then be extended 64* Each module has at least rudimentary tests that can then be extended
65 * Tests need to be deterministic, no random timeouts to check if something already happened, only `QTRY_VERIFY` and alike is allowed. 65 * Tests need to be deterministic, no random timeouts to check if something already happened, only `QTRY_VERIFY` and alike is allowed.
66* Clear layering. No depending on akonadi from everywhere. 66* Clear layering. No depending on Sink from everywhere.
67* Each module comes with a clear set of justified dependencies. 67* Each module comes with a clear set of justified dependencies.
68* Commented code is only allowed in conjunction with a task in phabricator. No dead/commented code. 68* Commented code is only allowed in conjunction with a task in phabricator. No dead/commented code.
69* Each module requires a clear interface that allows the module internals to be replaced eventually. 69* Each module requires a clear interface that allows the module internals to be replaced eventually.
@@ -220,4 +220,4 @@ These are the high-level aims that we have to work towards. This list is not a f
220 * Inventory of exiting kdepim: This will help to fill the functional blocks, and help in carving out the require featureset. 220 * Inventory of exiting kdepim: This will help to fill the functional blocks, and help in carving out the require featureset.
221 * Functional blocks: We need to identify the function blocks that we require, see to what extent they are already existing and how we can reuse what's there already. The functinal blocks should largely follow from the identified requirements. 221 * Functional blocks: We need to identify the function blocks that we require, see to what extent they are already existing and how we can reuse what's there already. The functinal blocks should largely follow from the identified requirements.
222 * Prototype the domain logic: We need to prototype the domain logic as envisioned to see wether that works out. This will be an ongoing process especially while working towards the first milestone. 222 * Prototype the domain logic: We need to prototype the domain logic as envisioned to see wether that works out. This will be an ongoing process especially while working towards the first milestone.
223 * Prototype with domain logic + akonadi next + trivial UI. Show that this can work in it's basics. 223 * Prototype with domain logic + Sink + trivial UI. Show that this can work in it's basics.