Skip to content
Permalink
Browse files

doc: integrate Goals into reading flow

  • Loading branch information...
markus2330 committed Aug 4, 2019
1 parent f472a20 commit bcf110be1fc4a32582ac843dae4bb0f2f902052a
Showing with 39 additions and 32 deletions.
  1. +25 −30 README.md
  2. +4 −0 doc/GOALS.md
  3. +3 −2 doc/README.md
  4. +7 −0 src/tools/rest-frontend/resources/structure.json.in
@@ -65,9 +65,6 @@ In case you are worried about linking to such a powerful library. The core is a
implemented in C, works cross-platform, and does not need any external dependencies. There are
[bindings](src/bindings) for other languages in case C is too low-level for you.

- [Why should I use Elektra?](doc/WHY.md)
- [Big Picture of Elektra](doc/BIGPICTURE.md)

## Contact

Do not hesitate to ask any question on
@@ -76,8 +73,6 @@ or directly to one of the [authors](doc/AUTHORS.md).

## Quickstart

If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md).

### Installation

The preferred way to install Elektra is by using packages provided for
@@ -116,30 +111,6 @@ You can read the documentation for the kdb tool, either
> Note: All these ways to read the documentation provide the same content,
> all generated from the GitHub repository.
## Goals

- Make developer's life easier by proving a well-tested mature library
instead of rolling your own configuration system for every application.
This reduces rank growth of configuration systems (including but not limited
to configuration file parsers) in our ecosystem and fosters well-maintained
plugins instead.
- Postpone configuration decisions (such as which configuration files to use)
from developers to system administrators and package maintainers to
provide an overall more consistent and user-friendly system.
(Default behavior of applications still is in control of developers,
you can even roll your own plugins to provide exactly the same behavior
as your application has now.)
- Make configuration storage more safe: avoid that applications
receive wrong or unexpected values that could lead to undefined behavior.

And in terms of quality, we want:

1. Simplicity (make configuration tasks, like access of configuration settings, simple),
2. Robustness (no undefined behavior of applications), and
3. Extensibility (gain control over configuration access)

[Read more about the goals of Elektra](doc/GOALS.md)

## Facts and Features

- Elektra uses simple key-value pairs.
@@ -186,4 +157,28 @@ coverage report](https://doc.libelektra.org/coverage/master/debian-stable-full/)

## Contributing

Take a look at [how to start](doc/IDEAS.md).
Take a look at [how to start contributing](doc/IDEAS.md).

## Goals

- Make developer's life easier by proving a well-tested mature library
instead of rolling your own configuration system for every application.
This reduces rank growth of configuration systems (including but not limited
to configuration file parsers) in our ecosystem and fosters well-maintained
plugins instead.
- Postpone configuration decisions (such as which configuration files to use)
from developers to system administrators and package maintainers to
provide an overall more consistent and user-friendly system.
(Default behavior of applications still is in control of developers,
you can even roll your own plugins to provide exactly the same behavior
as your application has now.)
- Make configuration storage more safe: avoid that applications
receive wrong or unexpected values that could lead to undefined behavior.

And in terms of quality, we want:

1. Simplicity (make configuration tasks, like access of configuration settings, simple),
2. Robustness (no undefined behavior of applications), and
3. Extensibility (gain control over configuration access)

[Continue reading about the goals of Elektra](doc/GOALS.md)
@@ -105,3 +105,7 @@ Only pay for what you need.
- Support semantics that do not fit into the KeySet (key-value pairs) with an `kdbGet()`/`kdbSet()` interface.
- Support for non-configuration issues, e.g., storing key-value data unrelated to configuration settings.
- Elektra is not a distributed CM, use Puppet, CFEngine on top or a distributed file system below Elektra.

## Further Readings

- Continue reading: [Why should I use Elektra?](doc/WHY.md)
@@ -4,10 +4,10 @@ This folder contains documentation for “Elektra – the configuration framewor

## Introductory

- [Glossary](help/elektra-glossary.md): The glossary explains common terminology used in the documentation.
- [Goals](GOALS.md): We specify the goals and target audiences for Elektra in this document.
- [Why](WHY.md): This document describes why you should use Elektra.
- [Vision](VISION.md): This document describes the vision behind Elektra.
- [Big Picture](BIGPICTURE.md): This document provides an birds eye view of Elektra and the key database (KDB).
- [Goals](GOALS.md): We specify the goals and target audiences for Elektra in this document.
- [Security](SECURITY.md): This guideline shows how Elektra handles security concerns.
- [Tutorials](tutorials): The tutorials folder provides various **user related tutorials**. If you are interested in **developer related tutorials** instead, then please take a look at the folder [dev](dev).
- [News](news): The news folder contains release notes and other recent information about Elektra.
@@ -43,3 +43,4 @@ This folder contains documentation for “Elektra – the configuration framewor
- [Decisions](decisions): If you are interested in why Elektra uses a certain technology or strategy, then please check out the documents in this folder.
- [Markdown Link Converter](markdownlinkconverter/README.md): This tool converts links in Markdown files to make them usable in our [Doxygen documentation](https://doc.libelektra.org/api/current/html).
- [Usecases](usecases): This folder contains use cases for our [snippet sharing service](https://www.libelektra.org/auth/login) and the upcoming web user interface for the KDB.
- [Glossary](help/elektra-glossary.md): The glossary explains common terminology used in the documentation.
@@ -18,6 +18,13 @@
"path": "README.md"
}
},
{
"name": "Goals",
"type": "staticfile",
"options": {
"path": "doc/GOALS.md"
}
},
{
"name": "Why Elektra?",
"type": "staticfile",

0 comments on commit bcf110b

Please sign in to comment.
You can’t perform that action at this time.