diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2017-09-23 17:50:23 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2017-10-31 19:09:43 +0100 |
commit | eaa9ad5993b50fc28e6c79639c47d301a0610b65 (patch) | |
tree | ae11f1345d1a6a239c5df7fbd7123b6db6936e10 /doc | |
parent | 434505f1f086da7ed72b808d25da0bf894f58477 (diff) |
Add basic documentation on how the lib works
Diffstat (limited to 'doc')
-rw-r--r-- | doc/src/05100-lib-contacts.md | 47 |
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`. |