summaryrefslogtreecommitdiffstats
path: root/docs/sinksh.md
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-02 16:32:07 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-02 16:32:07 +0100
commitaa731bc8de692a6d8ac9ead931f63059ec50a28e (patch)
tree9c3d532cf159a467efb78fcca7f2228a23d02d6e /docs/sinksh.md
parentc0d371aa94cbd0792686a7070107190e7d701acf (diff)
downloadsink-aa731bc8de692a6d8ac9ead931f63059ec50a28e.tar.gz
sink-aa731bc8de692a6d8ac9ead931f63059ec50a28e.zip
Moved akonadish.md to sinksh.md
Diffstat (limited to 'docs/sinksh.md')
-rw-r--r--docs/sinksh.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/docs/sinksh.md b/docs/sinksh.md
new file mode 100644
index 0000000..9884169
--- /dev/null
+++ b/docs/sinksh.md
@@ -0,0 +1,54 @@
1The sink shell is the primary interaction point from the commandline. It can be used for debugging, maintenance and scripting.
2
3The syntax is:
4 `sinksh COMMAND TYPE ...`
5
6# Commands
7
8## list
9The list command allows to execute queries and retreive results in form of lists.
10Eventually you will be able to specify which properties should be retrieved, for now it's a hardcoded list for each type. It's generally useful to check what the database contains and whether queries work.
11
12## count
13Like list, but only output the result count.
14
15## stat
16Some statistics how large the database is, how the size is distributed accross indexes, etc.
17
18## create/modify/delete
19Allows to create/modify/delete entities. Currently this is only of limited use, but works already nicely with resources. Eventually it will allow to i.e. create/modify/delete all kinds of entities such as events/mails/folders/....
20
21## clear
22Drops all caches of a resource but leaves the config intact. This is useful while developing because it i.e. allows to retry a sync, without having to configure the resource again.
23
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,
26for a maildir resource it simply means all data is indexed and becomes queriable by sink.
27
28Eventually this will allow to specify a query as well to i.e. only synchronize a specific folder.
29
30## show
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
33# Setting up a new resource instance
34sink_cmd is already the primary way how you create resource instances:
35
36 `sinksh create resource org.kde.maildir path /home/developer/maildir1`
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.
39
40 `sinksh list resource`
41
42By listing all available resources we can find the identifier of the resource that was automatically assigned.
43
44 `sinksh synchronize org.kde.maildir.instance1`
45
46This triggers the actual synchronization in the resource, and from there on the data is available.
47
48 `sinksh list folder org.kde.maildir.instance1`
49
50This will get you all folders that are in the resource.
51
52 `sinksh remove resource org.kde.maildir.instance1`
53
54And this will finally remove all traces of the resource instance.