Short term: * reduce namespace pollution of public functions/structures -- we need a prefix * implement the "seen" flag correctly * Finish implementing the rest of commands.c, and test * handle backing up better - if we do high-low-high priority backing up can go into an infinite loop (debconf handles this) * Perl interface module (DebConf::Client::ConfModule) for perl-based config scripts * develop regression test suite -- automated testing would be nice, and shouldn't be too difficult to do * provides ways to build a smaller cdebconf without "optional" features (for debian-installer) * i18nized messages; handle i18n-ied templates * cleaner build environment * authentication for database modules * Frontends - ncurses (in progress) - slang (may be better?) - fbdev (in progress - drow) - noninteractive (think automated installs) - how to deal with the "seen" flag? * Databases - perldb (reads debconf's Data::Dumper database) - pgsql - mysql - openldap - xml - Oracle * Better API documentation * Implement owner merging for all databases, not just rfc822db Long term: * transactions * object locking * triggers (see spec) * think about how to build a better DB layer -- consider this, if you want to have multiple clients connected to a database, there's no way right now to ensure coherency across the multiple clients. To do this properly may require a standalone server daemon that all clients talk to so that it can coordinate writes to the DB. This is also needed if we want to do caching so that clients are notified when their cache becomes stale.