
\begin{DoxyItemize}
\item {\bfseries Configurations}\+: contain user preferences or other application settings.
\item {\bfseries Configuration storage}\+: makes this information permanent. The application will read the configuration at every start, but it is only stored if a user changes settings.
\item {\bfseries Key databases}\+: are used because of these constraints. They can do fast key lookups and the keys can be structured hierarchically by defining separators in the key names. Unlike S\+Q\+L databases, the key name is the only primary key; there are no foreign keys, and no query language exists.
\item {\bfseries Global key database}\+: provides global access to all key databases of all applications in a system that wants to access a key database.
\item To {\bfseries elektrify} an application\+: to change the application so that it uses Elektra afterwards.
\end{DoxyItemize}

\subsection*{Technical Concepts}


\begin{DoxyItemize}
\item \hyperlink{md_doc_help_elektra-backends_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 \hyperlink{md_doc_help_elektra-bootstrapping_doc_help_elektra-bootstrapping_md}{Bootstrapping}\+: To read the mounting configuration and mount during {\ttfamily \hyperlink{group__kdb_ga6808defe5870f328dd17910aacbdc6ca}{kdb\+Open()}}.
\item \hyperlink{md_doc_help_elektra-cascading_doc_help_elektra-cascading_md}{Cascading}\+: To consider multiple places to look for a key.
\item \hyperlink{md_doc_help_elektra-contracts_doc_help_elektra-contracts_md}{Contracts}\+: Contracts state the purpose, functionality and requirements of {\bfseries plugins}.
\item \hyperlink{md_doc_help_elektra-mounting_doc_help_elektra-mounting_md}{Mounting}\+: To persistently and permanently include a {\bfseries backend} in the {\bfseries global key database}.
\item \hyperlink{md_doc_help_elektra-namespaces_doc_help_elektra-namespaces_md}{Namespaces}\+: Allow us to have multiple keys for the same purpose and otherwise the same key name.
\item \hyperlink{md_doc_help_elektra-plugins-framework_doc_help_elektra-plugins-framework_md}{Plugins}\+: The unit of implementation for a feature.
\end{DoxyItemize}

\subsection*{Details}


\begin{DoxyItemize}
\item \hyperlink{doc_help_elektra-sync-flag_md}{Sync Flag}\+: Marks keys that were changed and need to be written out to disc.
\item \hyperlink{md_doc_help_elektra-values_doc_help_elektra-values_md}{Null Keys, Null Values}\+: The absence of keys or values.
\item {\bfseries pop}\+: used in {\ttfamily \hyperlink{group__keyset_gae42530b04defb772059de0600159cf69}{ks\+Pop()}} and \hyperlink{group__keyset_gga98a3d6a4016c9dad9cbd1a99a9c2a45aa52fb5f2cc86773d393da62bebebf7984}{K\+D\+B\+\_\+\+O\+\_\+\+P\+O\+P} means to remove a key from a keyset.
\item {\bfseries delete}\+: or abbr. del, used in {\ttfamily \hyperlink{group__key_ga3df95bbc2494e3e6703ece5639be5bb1}{key\+Del()}}, {\ttfamily \hyperlink{group__keyset_ga27e5c16473b02a422238c8d970db7ac8}{ks\+Del()}} and \hyperlink{group__keyset_gga98a3d6a4016c9dad9cbd1a99a9c2a45aa66a5380c120f25f28f49848c4a863ead}{K\+D\+B\+\_\+\+O\+\_\+\+D\+E\+L} 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. 
\end{DoxyItemize}