summaryrefslogtreecommitdiffstats
path: root/docs/design.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design.md')
-rw-r--r--docs/design.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/docs/design.md b/docs/design.md
index 5d6d0754..122d83b6 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -1,7 +1,7 @@
1# Architecture / Design 1# Architecture / Design
2 2
3## Overview 3## Overview
4Kontact Quick is supposed to be a small and concise codebase that is easy to modify and evolve. 4Kube is supposed to be a small and concise codebase that is easy to modify and evolve.
5 5
6It's following a reactive model, where in one direction we have controllers generating modifications, and in the other direction models updating themselves on changes. 6It's following a reactive model, where in one direction we have controllers generating modifications, and in the other direction models updating themselves on changes.
7 7
@@ -23,7 +23,7 @@ The overall architecture is split into three layers; Ui, Domain Logic and Infras
23 23
24The UI Layer consists of views (mostly written in QML), view-models (models that are view specific and potentially implement user interaction details), and the glue code to use various controllers from the interface. Different UI layers may exist for different form factors. 24The UI Layer consists of views (mostly written in QML), view-models (models that are view specific and potentially implement user interaction details), and the glue code to use various controllers from the interface. Different UI layers may exist for different form factors.
25 25
26The domain logic layer holds the application state. It povides models to access data and controllers to act upon it. The domain logic is by definition Kontact Quick specific and not sharable with other applications, as it needs to be taylored exactly according to the requirements of Kontact Quick. 26The domain logic layer holds the application state. It povides models to access data and controllers to act upon it. The domain logic is by definition Kube specific and not sharable with other applications, as it needs to be taylored exactly according to the requirements of Kube.
27 27
28The infrastructure layer provides: 28The infrastructure layer provides:
29 29
@@ -142,9 +142,9 @@ Probably requires access to identities in some way.
142* KMime 142* KMime
143 143
144## Interaction with external applications 144## Interaction with external applications
145External applications, like the KDE calendar plasmoid, should be able to load parts of Kontact Quick when available. It should for instance be possible to load the Event editor as embeddable QML component, that is fully functional. That way it becomes very easy for third parties to provide extra functionality if Kontact Quick is installed, without having to reimplement the Domain Logic (as is the case if only data access is provided through akonadi). 145External applications, like the KDE calendar plasmoid, should be able to load parts of Kube when available. It should for instance be possible to load the Event editor as embeddable QML component, that is fully functional. That way it becomes very easy for third parties to provide extra functionality if Kube is installed, without having to reimplement the Domain Logic (as is the case if only data access is provided through akonadi).
146 146
147The same mechanism should probably be used by Kontact Quick itself to ensure loose coupling and allow mashups with various content types. 147The same mechanism should probably be used by Kube itself to ensure loose coupling and allow mashups with various content types.
148 148
149Note: We'll probably want a component-viewer application to easily load and test individual components (similar to plasmoidviewer). 149Note: We'll probably want a component-viewer application to easily load and test individual components (similar to plasmoidviewer).
150 150