\label{doc_help_elektra-glossary_md_md_doc_help_elektra_glossary}%
\Hypertarget{doc_help_elektra-glossary_md_md_doc_help_elektra_glossary}%

\begin{DoxyItemize}
\item {\bfseries{Configuration settings}}\+: customize applications towards the users\textquotesingle{} needs. It fulfills following properties\+:
\begin{DoxyItemize}
\item It is provided by the execution environment.
\item It can be changed by the maintainer, user, or system administrator of the software.
\item It consists of a key name, a {\bfseries{configuration value}}, and potentially {\bfseries{metadata}}.
\end{DoxyItemize}
\item A {\bfseries{configuration file}}\+: is a file containing configuration settings.
\item {\bfseries{Configuration storage}}\+: makes configuration settings persistent. The application will read the configuration at every start from the configuration storage, but it is only stored if a user changes settings.
\item {\bfseries{Key databases}}\+: are used for configuration storages because of these constraints. They can do fast key lookups and the keys can be structured hierarchically by defining separators in the key names.
\item {\bfseries{Global key database}}\+: provides global access to all configuration storages of all applications in a system. Abbreviated as {\ttfamily KDB}.
\item {\bfseries{Lib\+Elektra}}\+: is a set of libraries to access configuration parameters in a global, hierarchical key database.
\item {\bfseries{Spec\+Elektra}}\+: is a \href{/home/jenkins/workspace/libelektra_master/doc/METADATA.ini}{\texttt{ specification language}} that allows us to describe the content of the global key database.
\item {\bfseries{Elektra}}\+: is a framework consisting of Lib\+Elektra, Spec\+Elektra, and a collection of tools.
\item To {\bfseries{elektrify}} an application\+: to change the application so that it uses Lib\+Elektra afterwards.
\item {\bfseries{Elektra Initiative}}\+: is a community that develops Lib\+Elektra, expands Spec\+Elektra, improves Elektra\textquotesingle{}s tooling and helps to elektrify applications.
\item {\bfseries{Option}}, more specifically {\bfseries{Command-\/line option}}\+: is a special argument passed on the command-\/line. {\bfseries{Short options}} are single characters prefixed with \textquotesingle{}-\/\textquotesingle{}; {\bfseries{Long options}} are arbitrarily long and start with \textquotesingle{}--\textquotesingle{}.
\item {\bfseries{Module}}\+: The parts Elektra is composed of, i.\+e. either lib, plugin, backend, tool.
\item {\bfseries{Class}}\+: A group of functions that logically belong together, working on the same type of objects. A library may implement several classes. E.\+g., {\ttfamily KDB}, {\ttfamily Key} and {\ttfamily Key\+Set} are the most important classes.
\item {\bfseries{Hooks}}\+: Central points in the KDB lifecycle, where specialized plugins are called. Can be used for notification and other purposes.
\end{DoxyItemize}\hypertarget{doc_help_elektra-glossary_md_autotoc_md2785}{}\doxysection{Technical Concepts}\label{doc_help_elektra-glossary_md_autotoc_md2785}

\begin{DoxyItemize}
\item \mbox{\hyperlink{doc_help_elektra-backends_md}{Backends}}\+: A collection of {\bfseries{plugins}} to be {\bfseries{mounted}}. A {\bfseries{backend}} typically is responsible to read and write a configuration file.
\item \mbox{\hyperlink{doc_help_elektra-bootstrapping_md}{Bootstrapping}}\+: To read the mounting configuration and mount during {\ttfamily \mbox{\hyperlink{group__kdb_ga844e1299a84c3fbf1d3a905c5c893ba5}{kdb\+Open()}}}.
\item \mbox{\hyperlink{doc_help_elektra-cascading_md}{Cascading}}\+: To consider multiple places to look for a key.
\item \mbox{\hyperlink{doc_help_elektra-contracts_md}{Contracts}}\+: Contracts state the purpose, functionality and requirements of {\bfseries{plugins}}.
\item \mbox{\hyperlink{doc_help_elektra-mounting_md}{Mounting}}\+: To persistently and permanently include a {\bfseries{backend}} in the {\bfseries{global key database}}. The {\bfseries{mountpoint}} is the key where the backend is mounted to. All keys of the backend are below that key.
\item \mbox{\hyperlink{doc_KEYNAMES_md}{Key name}}\+: All keys in the KDB have a name. This name is the keys unique identifier and follows a particular structure. For more information take look at the \mbox{\hyperlink{doc_KEYNAMES_md}{keyname documentation}}.
\item \mbox{\hyperlink{doc_KEYNAMES_md}{Key name part}}\+: Key names consist of a series parts (and a namespace).
\item \mbox{\hyperlink{doc_KEYNAMES_md}{Key base name}}\+: The last part of a key name.
\item \mbox{\hyperlink{doc_KEYNAMES_md}{Key dir name}}\+: The key name obtained by omitting both namespace and base name from a key name.
\item \mbox{\hyperlink{doc_help_elektra-namespaces_md}{Namespaces}}\+: Allow us to have multiple keys for the same purpose and otherwise the same key name.
\item \mbox{\hyperlink{src_plugins_README_md}{Plugins}}\+: The unit of implementation for a feature.
\item \mbox{\hyperlink{doc_help_elektra-metadata_md}{Metadata}}\+: Allows us to describe configuration settings.
\item {\bfseries{persistent name/value/metadata}}\+: How it is actually stored, i.\+e. the state returned by and passed to the {\ttfamily storage} plugins.
\item {\bfseries{transient name/value/metadata}}\+: How it is at runtime, i.\+e. what is returned by {\ttfamily kdb\+Get} and passed to {\ttfamily kdb\+Set}.
\item {\bfseries{intermediate name/value/metadata}}\+: Any state inbetween the two.
\end{DoxyItemize}\hypertarget{doc_help_elektra-glossary_md_autotoc_md2786}{}\doxysection{Session Recording Concepts}\label{doc_help_elektra-glossary_md_autotoc_md2786}

\begin{DoxyItemize}
\item {\bfseries{recording session}}\+: A recording session is a period of time during which changes to the Key Database (KDB) are tracked and accumulated. It begins when recording starts and ends when recording stops. Throughout the recording session, all changes made to the KDB are recorded, including additions, modifications, and deletions of keys and their associated values.
\item {\bfseries{part diff}}\+: The changes made during a single {\ttfamily kdb\+Get} -\/ {\ttfamily kdb\+Set} round-\/trip.
\item {\bfseries{session diff}}\+: The changes made during the entire recording session.
\end{DoxyItemize}\hypertarget{doc_help_elektra-glossary_md_autotoc_md2787}{}\doxysection{Details}\label{doc_help_elektra-glossary_md_autotoc_md2787}

\begin{DoxyItemize}
\item Null Value\+: The absence of a value, i.\+e. {\ttfamily key\+Value (key) == NULL}.
\item {\bfseries{pop}}\+: Used in {\ttfamily \mbox{\hyperlink{group__keyset_gae42530b04defb772059de0600159cf69}{ks\+Pop()}}} and {\ttfamily KDB\+\_\+\+O\+\_\+\+POP} means to remove a key from a keyset.
\item {\bfseries{delete}}\+: or abbr. del, used in {\ttfamily \mbox{\hyperlink{group__key_ga3df95bbc2494e3e6703ece5639be5bb1}{key\+Del()}}}, {\ttfamily \mbox{\hyperlink{group__keyset_ga27e5c16473b02a422238c8d970db7ac8}{ks\+Del()}}} and {\ttfamily KDB\+\_\+\+O\+\_\+\+DEL} means to free a key or keyset. The memory can be used for something else afterwards.
\item {\bfseries{remove}}\+: Means that the key-\/value information in the physical database will be removed permanently. Also used to describe removing a particular key from a keyset. 
\end{DoxyItemize}