X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=doc%2FTODO;h=bd750c9caa4658b02848d082a08443afe115eeef;hp=8d773983a2cb247cdcb328638538a53fc9a23de5;hb=b947ef8844f090eedd50be0383abe417d910bb1a;hpb=e7fa62fc599b7583102fe48fbaad3db4f911a6da diff --git a/doc/TODO b/doc/TODO index 8d77398..bd750c9 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,21 +1,27 @@ -* When we delete a domain, do we delete all of the accounts, too? Or - just the domain? We can do this in either the runner or the plugin. - - At the moment, it's mixed. The RmRunner does it manually, but e.g. - the PostfixadminDbRm plugin also deletes the mailboxes when the - domain is deleted. - - One doesn't seem any better than the other, but maybe if you - consider that some of the plugins have no-ops for - delete_domain(). Those could be made to actually do something - (i.e. delete all matching account names). Then we could get rid of - the get_domain_accounts() or-whatever-it's-called methods. - -* PostfixadminDb can be made a plugin -- prune just won't work without - it. - -* 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. Depending on what we do in the first bullet - point, they could either return a list of names, or - NotImplementedError. +* 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. + + 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? + +* Add OpenDKIM support. + +* Write a man page. + +* Update the README. + +* Make a release. + +* 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.