= TOOLS =


== MOUNT ==

lazy-mount (vs. directly improve all mountpoints with lazy wrapper?)

allow --no-env --no-arg --no-default arguments?

== OTHER ==

chroot
	-c option which allows you to chroot before doing operation
	-u options which allows you to switch user (by setting env internally)
	Problems:
		- already possible by chaining commands







== STATUS ==

Plugin queries by status and other metadata

evidence of plugins (architecture, compilation, tests)..




== LIBTOOLS ==

let backends to import/export

use it for import/export/convert

convert
	using proc namespace
	or get/set with root keys?

kdb-shell:
	use import/export
	automatic tests for functionality
	Examples in --help

add list-plugin functionality

add global mountpoints functionality

more testing





== NEW INTERFACES

ncurses interface
pstree like visualization

kdb-grep

interface that makes auto-completion happy





== REST-BACKEND ==

make nice interface for JWT library
make use of cachefilter plugin





== KDB ==

get size of key

generic fstab:
	allow to specify templates that are filled out by the given arguments e.g.:
	/sw/kdb/template/
	/sw/kdb/template/fstab/ZZZNewFstabName
	/sw/kdb/template/fstab/ZZZNewFstabName/device
	/sw/kdb/template/fstab/ZZZNewFstabName/dumpfreq
	/sw/kdb/template/fstab/ZZZNewFstabName/mpoint
	/sw/kdb/template/fstab/ZZZNewFstabName/options
	/sw/kdb/template/fstab/ZZZNewFstabName/passno
	/sw/kdb/template/fstab/ZZZNewFstabName/type
	allows kdb mset fstab <args> to be the same as kdb fstab

kdb tool should work with arrays (add_entry, remove_entry)
	or also kdb meta-set user/abc check/enum -a "first enum" "second enum" "third enum"
	or also kdb set user/abc -a "first array entry" "second" "third array entry"
	allow key array increments with kdb tool

easier handling for comments (special case of array), maybe with generic meta-template that supports arrays?

kdb tool should work with files (read in as value)
	kdb set user/abc -F filename.txt

cascading export, e.g. for nickel?
	+ remember what was exported

list existing plugins
	dynamically detect them when installed

kdb-export:
	in a way that it can be used as shell script to immediately
	import

kdb tool:
	allow verification of local key database by exported file
	tset (typesafe set)

export should be able to export only configuration that was changed
	suppress default config by some metadata

install config (mount+preload system config) by using meta struct

kdb tool:
	request -f for rm, mv in system/elektra




== GEN ==

install kdb gen properly
	search by default in installed paths

using python kdb for gen

array support for kdbvalue.hpp (might already work with proper type conversion)

code generator always yields LONG_MIN, LONG_MAX on any type!

cmake support for "kdb gen" (run kdb gen within cmake)

use doc/METADATA.ini to validate config files
	fix check/type vs. type and check/type/{min,max} vs. range problem

environment parsing support
static compilation model

has_ queries
(allows one to differ between default fallback and intentional set default)

type: set of enums (see libmount for options)

limit range for bool/enum

override/fallback type inference

docu
validation of schema + line info

add Args... flags to onLayerActivation

genopt.hpp + include enforcement in template_dynamic?
	use spec namespace
	generic command-line parsing
	%% context evaluation?

generator for:
	exc classes
	try catch blocks
	as keyset
	human readable text

use spec+proc namespaces

=== Validate

using kdbSet+kdbGet?
with constraint checking+solving and so on.





## HOMEPAGE ##

- show front page also without javascript







== GUI ==

support for binary keys, see #234

generic commandline arguments:
	for self configuring
	for proc namespace

dbus-listener + notify single events, maybe zeromq
	auto-completion for metadata

see above for validate


== GEN-BACKEND ==

Code generator that does what "kdb mount" does but provides a statically
compiled variant thereof.
Needed for bootstrapping.


== DBUS ==

Daemon which exports whole elektra configuration
(dbus bridge, first of so called bridges, other ideas: ldap, snmp)


= other stuff =

uninstall:
	let user find configuration of uninstalled software
upgrade
