X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=doc%2FTODO;h=37c06ce70a38d32b06c0da6f484732b4f0e17f0e;hp=6595222e8fa5b321155a84a5f131bfbd87a301d0;hb=d0bfa37fb4be739b31dd97c493764ca19a160182;hpb=5676a5aedd3cb509daf303efb543c406e39907b0 diff --git a/doc/TODO b/doc/TODO index 6595222..37c06ce 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,12 +1,29 @@ -* Error reporting sucks, and when a domain or account doesn't exist we - should be able to say so. The describe_domain/account functions - should also work better. For plugins that don't implement domains, - we can return a (count of?) list of accounts, or fall back to the - account 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. -* Rename "account" to "user" everywhere. + 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. -* Add convenience methods (e.g. user_exists, domain_exists) that we - can use in the tests to check results. +* Write a man page. + +* Update the README. + +* Make a release. + +* Should we wrap all of the connection.close() calls in "ensure"? + +* Test deletion of a user "bar" who lies in the middle of a + goto="foo,bar,baz" alias. + +* Make sure removing a domain updates the aliases table correctly. + +* Factor out all of the msg-building in e.g. MvRunner. + +* Implement moving of domains.