Cleanup intro

This commit is contained in:
Matthias Beyer 2017-08-12 21:26:02 +00:00
parent a96eb69b0f
commit 740a5dad74

View file

@ -1,20 +1,25 @@
# Introduction {#sec:introduction}
This document aims to be the user documentation for imag, the personal
This document is the user documentation for imag, the personal
information management suite for the commandline. Besides beeing a documentation,
it servey also as "roadmap" where this project should go. Parts which are not
yet implemented might be documented already, therefore. A list on what is
implemented and what is not can be found at the end of this document.
If you have any objections, suggestions for improvements, bugs, etc, please file
them in the github repository you got this documentation from.
them. A way to reach out to the imag project maintainer(s) is described in the
CONTRIBUTING file of the repository or in this document, on the appropriate
section.
## The Problem {#sec:intro:problem}
The problem "imag" wants to solve is rather simple. When the project was
The problem imag wants to solve is rather simple. When the project was
initiated, there was no PIM-Suite available which
* was for this domain of users ("power-users", "commandline users")
* uses plain text as storage format
* was scriptable
* was modular
* contained functionality to link content
The latter point is the bigger one: "imag" wants to offer the ability for users
@ -26,13 +31,14 @@ note which is linked to a contact.
## The Approach {#sec:intro:approach}
The approach "imag" takes on solving this problem is to store content in a
(per-user) global "store" and persisting content in a unified way.
Meta-Information is attached to the content which can be used to, for
example, query the store.
While content is stored in _one_ place, "imag" does not duplicate content.
"imag" does not copy or move icalendar files, emails, vcard files, music or
"store" and persisting content in a unified way.
Meta-Information is attached to the content which can be used to store
structured data.
This can be used to implement a variety of "domain modules" using the store.
While content is stored in _one_ place, imag does not duplicate content.
imag does not copy or move icalendar files, emails, vcard files, music or
movies to the store, but indexes them and stores the meta-information in the
store, making these things linkable this way.
store.
Detailed explanation on this approach follows in the chapters of this work.
@ -41,9 +47,9 @@ Detailed explanation on this approach follows in the chapters of this work.
The program is written in the Rust programming language.
The program consists of libraries which can be re-used by other projects
to implement and adapt "imag" functionality. An external program may use a
library of the "imag" distribution to store content in the store of "imag" and
make it visible to "imag" this way.
to implement and adapt imag functionality. An external program may use a
library of the imag distribution to store content in the store of imag and
make it visible to imag this way.
This is a technical detail a user does not necessarily need to know, but as imag
is intended for power-users anyways, we could say it fits here.