summaryrefslogtreecommitdiffstats
path: root/doc/src/05100-lib-contacts.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/05100-lib-contacts.md')
-rw-r--r--doc/src/05100-lib-contacts.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/src/05100-lib-contacts.md b/doc/src/05100-lib-contacts.md
index 4bdd5371..25e69069 100644
--- a/doc/src/05100-lib-contacts.md
+++ b/doc/src/05100-lib-contacts.md
@@ -1,2 +1,49 @@
## libimagcontacts
+The contact library basically only creates references to the actual icalendar
+and vcard files, though it also can parse (via the `vobject` crate) the
+information and return it from an entry directly.
+
+The architecture of indirections is as follows:
+
+```{.numberLines}
+
++--------------------------------+
+| |
+| Store, as ContactStore |
+| |
++----------------+---------------+
+ |
+ | Provides access to
+ |
++----------------v---------------+
+| |
+| (FileLock)Entry as Contact |
+| |
+| which is actually a: |
+| |
+| (FileLock)Entry as Ref |
+| |
++----------------+---------------+
+ |
+ | refers to
+ |
++----------------v---------------+
+| |
+| vcard file (outside store) |
+| |
++----------------+---------------+
+ |
+ | contains
+ |
++----------------v---------------+
+| |
+| vcard data |
+| |
++--------------------------------+
+
+```
+
+As the library is build upon `libimagentryref`, it does not create a new
+subcollection in the store `/contacts`, but uses the infrastructure of
+`libimagentryref` which automatically puts all references in `/ref`.