Provided by: elektra-doc_0.8.14-5.1ubuntu2_all bug

NAME

       elektra-related - related configuration systems

       Settings and preferences are ubiquitous in every software. For this reason, a vast amount of software has
       emerged  on  this  topic.  Most  of  the other projects, however, do not devote their work exclusively to
       configuration.

Configuration Libraries

       We have already mentioned that Elektra provides the  features  of  a  configuration  library.  There  are
       countless  libraries  out there that parse and some even generate configuration files. But there is a big
       catch: These libraries do not provide an abstract view of configuration. They require programmers to open
       the files themselves or at least to remember the path to them. Such information is  itself  configuration
       and inherently operating system dependent. Therefore, it is not possible to give default values that just
       work.

       Another  feature  mostly  missing  in these libraries is cascading. It is not difficult to implement, but
       disturbing if it is not available at all or does not work correctly.

Augeas

       Augeas is not intended for applications themselves, so it only creates a new view to configuration  files
       which is not necessarily the same as applications see it. Additionally, Augeas has a rather poor level of
       abstraction  and  many  syntactical  details  must  be reflected in the configuration tree. Nevertheless,
       Elektra  provides  an  /src/plugins/augeas/  augeas%20plugin  which  allows  parts  of  Elektra´s  global
       configuration tree to be implemented using lenses. Lenses are a promising technology, which allow mapping
       from and to configuration files to be specified with a single program.

Uniconf

       A project that shares some of the goals with Elektra, but uses a different approach is Uniconf. Besides a
       stand-alone  library  it  supports  a  daemon  mode.  With the daemon running, it has the disadvantage of
       protocol overhead and a single point of failure. On the other hand, Uniconf can also notify  applications
       when  configuration  files  change  and  can  work  in a distributed mode. The project does not solve the
       problem of how to configure the configuration system. So we still have to pass a so-called moniker string
       that contains the knowledge where to find the configuration. The plugin system is flexible, but does  not
       depend  on  the  key  name. So it is not possible to use different plugins for different applications and
       still have a global key database.

Debconf

       Debconf is a set of Debian-tools that separates user interaction from the configuration process  for  the
       system´s  configuration  when  packages  are  installed  or  upgraded. Debconf itself does not change the
       configuration files. Instead, the administrator is asked questions  depending  on  template  files  using
       different  front ends. These answers are then cached. The configuration changes themselves are applied by
       post-install scripts of the particular package. Exactly for this  last  step  Elektra  could  yield  much
       better  results,  because  it can compare configuration on a per-key basis and thus handle conflicts in a
       much more fine-grained way.

Freedesktop.org

       The freedesktop.org initiative unifies different desktops using the X Window System in various ways.  The
       main  focus,  however, lies in KDE and Gnome integration. One of the most disturbing and still unresolved
       problems is configuration. Elektra intends to fill this gap in the future.

       Already available is the so-called XDG Base Directory Specification. Perhaps it will define file  formats
       in  the  future,  but  currently  only  the paths are specified. To do so, it introduces some environment
       variables that help to find the actual configuration. Only  if  they  are  unset  or  empty,  a  built-in
       fallback  should  be  used. If desired, elektrified applications behave in a XDG conforming way. (See the
       configuration x for the resolver /src/plugins/resolver/).

                                                    July 2017                                  ELEKTRA-RELATED()