X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=doc%2FTODO;h=d2d762cc3fd9e650c4f569ffea532e996221cdf9;hp=8482260c44851ba77b34342752902c5dd3d02df6;hb=08e0795d01329de098fb23d85d459d32e54f3e36;hpb=87b161fa9e10eb189b09562c423e07372d2a2a7b;ds=sidebyside diff --git a/doc/TODO b/doc/TODO index 8482260..d2d762c 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,29 +1,22 @@ -* Error reporting sucks, and when a domain or user doesn't exist we - should be able to say so. The describe_domain/user functions - should also work better. For plugins that don't implement domains, - we can return a (count of?) list of users, or fall back to the - user deletion descriptions. +* There is essentially no error handling. We report errors, but we + don't fail when we see one. The main reason for this is that we + don't know when each plugin will be run. If the first plugin + encounters an error, we could quit right there. But what if the + third one fails after the first two succeed? We would need some kind + of rollback mechanism. -* Error reporting is inconsistent. We know what goes wrong, and then - errors bubble up, but where do they get reported? Are they fatal or - informational? Do we want later plugins to run of earlier ones - failed? + For "mv", a rollback is conceivable. But with "rm", there's no going + back. Maybe relying on the user to interpret the output and go + fix stuff himself is the best we can do? -* Implement "mv". +* Add OpenDKIM support. - Design: +* Rename the "dovecot" plugin to "filesystem". - This should only work from a domain that exists in postfixadmin to a - domain that already exists in postfixadmin. If the target domain - does not exist, we should error out as soon as possible. +* Implement moving of domains. - Once we're sure that the target domain does exist, we can hand off - the "mv" operation to the plugins. Some of them might have nothing - to do -- that's fine. - - MAKE SURE WE DON'T OVERWRITE AN EXISTING USER! - -* Add convenience methods (e.g. user_exists, domain_exists) that we - can use in the tests to check results. - -* Potentially add OpenDKIM support. +* The AgenDAV "user exists" test is wonky, because there's no real + users in AgenDAV. Right now we check the "username" column in the + "prefs" table, but all of the shares (and principals?) have URLs + instead of usernames. We don't parse the URLs, and instead rely + on doing find/replace of substrings in e.g. AgendavMv.