= TOOLS =


== MOUNT ==

user/dir-mountpoints:
	for mounting as non-root
	make mountpoints specific for a namespace, e.g.
	kdb mount --as-user file.x user/x
	stored in user/elektra/mountpoints
	make flag, e.g. system/elektra/security/mountpoints/user/enable
	or add list of plugins?

lazy-mount

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







== 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









== KDB ==

kdb tool should work with arrays (add_entry, remove_entry)

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

allow key array increments with kdb tool

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 pathes

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.




== GUI ==

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

web2.0:
	share elektra xml files
	web frontent to kdb with xml/generate output/paste
