summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/akonadish.md18
-rw-r--r--docs/applicationdomaintypes.md16
-rw-r--r--docs/design.md4
-rw-r--r--docs/extending.md (renamed from docs/extendingakonadi.md)0
-rw-r--r--docs/resource.md2
-rw-r--r--docs/storage.md8
-rw-r--r--docs/terminology.md10
-rw-r--r--mkdocs.yml6
8 files changed, 32 insertions, 32 deletions
diff --git a/docs/akonadish.md b/docs/akonadish.md
index b144dba..9884169 100644
--- a/docs/akonadish.md
+++ b/docs/akonadish.md
@@ -1,7 +1,7 @@
1The akonadi shell is the primary interaction point from the commandline. It can be used for debugging, maintenance and scripting. 1The sink shell is the primary interaction point from the commandline. It can be used for debugging, maintenance and scripting.
2 2
3The syntax is: 3The syntax is:
4 `akonadish COMMAND TYPE ...` 4 `sinksh COMMAND TYPE ...`
5 5
6# Commands 6# Commands
7 7
@@ -23,7 +23,7 @@ Drops all caches of a resource but leaves the config intact. This is useful whil
23 23
24## synchronize 24## synchronize
25Allows to synchronize a resource. For an imap resource that would mean that the remote server is contacted and the local dataset is brought up to date, 25Allows to synchronize a resource. For an imap resource that would mean that the remote server is contacted and the local dataset is brought up to date,
26for a maildir resource it simply means all data is indexed and becomes queriable by akonadi. 26for a maildir resource it simply means all data is indexed and becomes queriable by sink.
27 27
28Eventually this will allow to specify a query as well to i.e. only synchronize a specific folder. 28Eventually this will allow to specify a query as well to i.e. only synchronize a specific folder.
29 29
@@ -31,24 +31,24 @@ Eventually this will allow to specify a query as well to i.e. only synchronize a
31Provides the same contents as "list" but in a graphical tree view. This was really just a way for me to test whether I can actually get data into a view, so I'm not sure if it will survive as a command. For the time being it's nice to compare it's performance to the QML counterpart. 31Provides the same contents as "list" but in a graphical tree view. This was really just a way for me to test whether I can actually get data into a view, so I'm not sure if it will survive as a command. For the time being it's nice to compare it's performance to the QML counterpart.
32 32
33# Setting up a new resource instance 33# Setting up a new resource instance
34akonadi_cmd is already the primary way how you create resource instances: 34sink_cmd is already the primary way how you create resource instances:
35 35
36 `akonadish create resource org.kde.maildir path /home/developer/maildir1` 36 `sinksh create resource org.kde.maildir path /home/developer/maildir1`
37 37
38This creates a resource of type "org.kde.maildir" and a configuration of "path" with the value "home/developer/maildir1". Resources are stored in configuration files, so all this does is write to some config files. 38This creates a resource of type "org.kde.maildir" and a configuration of "path" with the value "home/developer/maildir1". Resources are stored in configuration files, so all this does is write to some config files.
39 39
40 `akonadish list resource` 40 `sinksh list resource`
41 41
42By listing all available resources we can find the identifier of the resource that was automatically assigned. 42By listing all available resources we can find the identifier of the resource that was automatically assigned.
43 43
44 `akonadish synchronize org.kde.maildir.instance1` 44 `sinksh synchronize org.kde.maildir.instance1`
45 45
46This triggers the actual synchronization in the resource, and from there on the data is available. 46This triggers the actual synchronization in the resource, and from there on the data is available.
47 47
48 `akonadish list folder org.kde.maildir.instance1` 48 `sinksh list folder org.kde.maildir.instance1`
49 49
50This will get you all folders that are in the resource. 50This will get you all folders that are in the resource.
51 51
52 `akonadish remove resource org.kde.maildir.instance1` 52 `sinksh remove resource org.kde.maildir.instance1`
53 53
54And this will finally remove all traces of the resource instance. 54And this will finally remove all traces of the resource instance.
diff --git a/docs/applicationdomaintypes.md b/docs/applicationdomaintypes.md
index 4baf317..798fa13 100644
--- a/docs/applicationdomaintypes.md
+++ b/docs/applicationdomaintypes.md
@@ -22,7 +22,7 @@ This is a proposed set of types that we will need to evolve into what we actuall
22 * Mail 22 * Mail
23 * Contact 23 * Contact
24 * Collection 24 * Collection
25 * Akonadi Resource 25 * Sink Resource
26 * Mail Folder 26 * Mail Folder
27 * Calendar 27 * Calendar
28 * Todolist 28 * Todolist
@@ -32,19 +32,19 @@ This is a proposed set of types that we will need to evolve into what we actuall
32 * Tag 32 * Tag
33 * Contact Group 33 * Contact Group
34 * Thread 34 * Thread
35 * Akonadi Resource 35 * Sink Resource
36 * Maildir Resource 36 * Maildir Resource
37 37
38#### Properties 38#### Properties
39```no-highlight 39```no-highlight
40Entity: The smallest unit in the akonadi universe 40Entity: The smallest unit in the sink universe
41 id: unique identifier in the akonadi storage. Not persistant over db recreations and can therefore only be referenced from within the akonadi database. 41 id: unique identifier in the sink storage. Not persistant over db recreations and can therefore only be referenced from within the sink database.
42``` 42```
43```no-highlight 43```no-highlight
44Domain Object: 44Domain Object:
45 uid: unique identifier of the domain object. 45 uid: unique identifier of the domain object.
46 revision: revision of the entity 46 revision: revision of the entity
47 resource: reference to AkonadiResource:id of the parent resource. 47 resource: reference to SinkResource:id of the parent resource.
48``` 48```
49```no-highlight 49```no-highlight
50Event: 50Event:
@@ -61,7 +61,7 @@ Mail:
61 mimeMessage: A string containing the path to the mime message 61 mimeMessage: A string containing the path to the mime message
62``` 62```
63```no-highlight 63```no-highlight
64Akonadi Resource: 64Sink Resource:
65 type: The type of the resource. 65 type: The type of the resource.
66 name: The name of the resource. 66 name: The name of the resource.
67``` 67```
@@ -75,7 +75,7 @@ Some domain objects reference others, and that is often used to build hierarchie
75Examples are folder hierachies, tags, todo hierarchies, mail threads, contact groups, etc. 75Examples are folder hierachies, tags, todo hierarchies, mail threads, contact groups, etc.
76 76
77These references can be built on two levels: 77These references can be built on two levels:
78* On the akonadi entity level: The referenced object *must* be available in local storage, and we're only linking to that specific instance. If the referenced entity is removed, the reference breaks. The reference always only references a single akonadi entity. 78* On the sink entity level: The referenced object *must* be available in local storage, and we're only linking to that specific instance. If the referenced entity is removed, the reference breaks. The reference always only references a single sink entity.
79* On the domain object level: The reference can remain also if no object currently matches the reference. The reference automatically applies to new entities containing an object with the referenced uid. More than one entity can be matched if they contain the same domain object. 79* On the domain object level: The reference can remain also if no object currently matches the reference. The reference automatically applies to new entities containing an object with the referenced uid. More than one entity can be matched if they contain the same domain object.
80 80
81#### Examples 81#### Examples
@@ -84,7 +84,7 @@ The following hierachies exist among others:
84* Parent Collection 84* Parent Collection
85 * Given by the source (path of the folder in IMAP) 85 * Given by the source (path of the folder in IMAP)
86 * Parent folder "owns" the sub entity 86 * Parent folder "owns" the sub entity
87 * Link exists on the akonadi entity level: We specify where the entity lives, this MUST always be a single parent entity. 87 * Link exists on the sink entity level: We specify where the entity lives, this MUST always be a single parent entity.
88* Subtodos 88* Subtodos
89 * Given by the todo itself 89 * Given by the todo itself
90 * Not necessarly owning (though often implemented as such, similar to threading) 90 * Not necessarly owning (though often implemented as such, similar to threading)
diff --git a/docs/design.md b/docs/design.md
index 772bd65..4451b49 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -40,7 +40,7 @@ Implications of the above:
40# Overview 40# Overview
41 41
42## Client API 42## Client API
43The client facing API hides all akonadi internals from the applications and emulates a unified store that provides data through a standardized interface. 43The client facing API hides all Sink internals from the applications and emulates a unified store that provides data through a standardized interface.
44This allows applications to transparently use various data sources with various data source formats. 44This allows applications to transparently use various data sources with various data source formats.
45 45
46## Resource 46## Resource
@@ -98,4 +98,4 @@ Each resource has an internal pipeline of preprocessors that can be used for tas
98* key-value store does not perform with large amounts of data 98* key-value store does not perform with large amounts of data
99* query performance is not sufficient 99* query performance is not sufficient
100* turnaround time for modifications is too high to feel responsive 100* turnaround time for modifications is too high to feel responsive
101* design turns out similarly complex as akonadi1 101* design turns out similarly complex as Akonadi
diff --git a/docs/extendingakonadi.md b/docs/extending.md
index fe38e87..fe38e87 100644
--- a/docs/extendingakonadi.md
+++ b/docs/extending.md
diff --git a/docs/resource.md b/docs/resource.md
index 0988535..defbf9a 100644
--- a/docs/resource.md
+++ b/docs/resource.md
@@ -31,7 +31,7 @@ The following kinds of preprocessors exist:
31* passive preprocessors, that extract data that is stored externally (i.e. indexers) 31* passive preprocessors, that extract data that is stored externally (i.e. indexers)
32* flag extractors, that produce data stored with the entity (spam detection) 32* flag extractors, that produce data stored with the entity (spam detection)
33 33
34Preprocessors are typically read-only, to i.e. not break signatures of emails. Extra flags that are accessible through the akonadi domain model, can therefore be stored in the local buffer of each resource. 34Preprocessors are typically read-only, to i.e. not break signatures of emails. Extra flags that are accessible through the sink domain model, can therefore be stored in the local buffer of each resource.
35 35
36## Requirements 36## Requirements
37* A preprocessor must work with batch processing. Because batch-processing is vital for efficient writing to the database, all preprocessors have to be included in the batch processing. 37* A preprocessor must work with batch processing. Because batch-processing is vital for efficient writing to the database, all preprocessors have to be included in the batch processing.
diff --git a/docs/storage.md b/docs/storage.md
index 794a739..4852131 100644
--- a/docs/storage.md
+++ b/docs/storage.md
@@ -34,7 +34,7 @@ The additional revision identifies a specific instance/version of the entity.
34 34
35Uri Scheme: 35Uri Scheme:
36``` 36```
37akonadi://resource/id:revision 37sink://resource/id:revision
38``` 38```
39 39
40## Store Entities 40## Store Entities
@@ -138,7 +138,7 @@ Resources...
138 138
139Queries... 139Queries...
140 140
141* Copy the requested property to /tmp/akonadi2/client_files/ and provide the path in the property 141* Copy the requested property to /tmp/sink/client_files/ and provide the path in the property
142* The file is guaranteed to exist for the lifetime of the query result. 142* The file is guaranteed to exist for the lifetime of the query result.
143 143
144Clients.. 144Clients..
@@ -149,7 +149,7 @@ For writing:
149 149
150Clients.. 150Clients..
151 151
152* Request a path from akonadi2 and store the file there. 152* Request a path from sink and store the file there.
153* Store the path of the written file in the property. 153* Store the path of the written file in the property.
154 154
155Resources.. 155Resources..
@@ -218,7 +218,7 @@ Other useful properties:
218* couchdb 218* couchdb
219 * MVCC concurrency 219 * MVCC concurrency
220 * document store 220 * document store
221 * not embeddable (unless we write akonadi in erlang ;) 221 * not embeddable (unless we write sink in erlang ;)
222* https://github.com/simonhf/sharedhashfile 222* https://github.com/simonhf/sharedhashfile
223 * not portable (i.e. Windows; it's a mostly-Linux thing) 223 * not portable (i.e. Windows; it's a mostly-Linux thing)
224* http://sphia.org/architecture.html 224* http://sphia.org/architecture.html
diff --git a/docs/terminology.md b/docs/terminology.md
index 9da8851..1826bec 100644
--- a/docs/terminology.md
+++ b/docs/terminology.md
@@ -1,11 +1,11 @@
1Consistent, agreed-upon terminology is key to being able to work together efficiently on a complex software project such as this, particularly as we are building on the earlier Akonadi efforts which itself has established terminology. You can find the current glossary here. 1Consistent, agreed-upon terminology is key to being able to work together efficiently on a complex software project such as this, particularly as we are building on the earlier Akonadi efforts which itself has established terminology. You can find the current glossary here.
2 2
3It is recommended to familiarize yourself with the terms before going further into the design of Akonadi-next as it will make things clearer for you and easier to ask the questions you have in a way that others will understand immediately. 3It is recommended to familiarize yourself with the terms before going further into the design of Sink as it will make things clearer for you and easier to ask the questions you have in a way that others will understand immediately.
4 4
5## Glossary of Akonadi-Next Terms 5## Glossary of Sink Terms
6* akonadi1: The current akonadi implementation that uses a central server and an SQL database 6* akonadi1: The current akonadi implementation that uses a central server and an SQL database
7* akonadi-next: This is the codename for the project. In the long run this is supposed to be folded into regular akonadi, so we will never release a product called akonadi-next. 7* Sink: This is the name for the project.
8* client: any application which accesses data using akonadi 8* client: any application which accesses data using Sink
9* entity: The atomic unit for a given type of data. An email is an entity; an email folder is an entity; a calendar event is an entity; a contact is an entity; etc. Different kinds of entities may have their own data structure, but conceptually they are equivalent in most other ways. 9* entity: The atomic unit for a given type of data. An email is an entity; an email folder is an entity; a calendar event is an entity; a contact is an entity; etc. Different kinds of entities may have their own data structure, but conceptually they are equivalent in most other ways.
10* revision: A version of the store. One entity may have multiple revisions in a store, representing (for instance) the local state and the synchronized state of the entity. 10* revision: A version of the store. One entity may have multiple revisions in a store, representing (for instance) the local state and the synchronized state of the entity.
11* source: The canonical data set, which may be a remote IMAP server, a local iCal file, a local maildir, etc. 11* source: The canonical data set, which may be a remote IMAP server, a local iCal file, a local maildir, etc.
@@ -20,6 +20,6 @@ It is recommended to familiarize yourself with the terms before going further in
20* command queue: A queue of commands kept by the synchronizer to ensure durability and, when necessary, replayability 20* command queue: A queue of commands kept by the synchronizer to ensure durability and, when necessary, replayability
21* notification: A message sent from a synchronizer to inform the client of a change in the store 21* notification: A message sent from a synchronizer to inform the client of a change in the store
22* domain object: An application domain object, i.e. an event. 22* domain object: An application domain object, i.e. an event.
23* domain type: The type of a domain object. i.e. Akonadi2::ApplicationDomain::Event 23* domain type: The type of a domain object. i.e. Sink::ApplicationDomain::Event
24* buffer: The buffers used by the resources to persist data in the datastore. 24* buffer: The buffers used by the resources to persist data in the datastore.
25* buffer type: The individual buffer types as specified by the resource. These are internal types that don't necessarily have a 1:1 mapping to the domain types, although that is the default case that the default implementations expect. 25* buffer type: The individual buffer types as specified by the resource. These are internal types that don't necessarily have a 1:1 mapping to the domain types, although that is the default case that the default implementations expect.
diff --git a/mkdocs.yml b/mkdocs.yml
index fd892f5..21f9471 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,4 +1,4 @@
1site_name: Akonadi Next 1site_name: Sink
2pages: 2pages:
3- Home: index.md 3- Home: index.md
4- Terminology: terminology.md 4- Terminology: terminology.md
@@ -7,8 +7,8 @@ pages:
7- Storage: storage.md 7- Storage: storage.md
8- Logging: logging.md 8- Logging: logging.md
9- "Client API": clientapi.md 9- "Client API": clientapi.md
10- akonadish: akonadish.md 10- sinksh: sinksh.md
11- "Application Domain Types": applicationdomaintypes.md 11- "Application Domain Types": applicationdomaintypes.md
12- "Extending Akonadi": extendingakonadi.md 12- "Extending Sink": extending.md
13- Building: building.md 13- Building: building.md
14theme: readthedocs 14theme: readthedocs