X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=doc%2FTODO;h=240adabb1aaa03fc5dde7645c947c347baea2135;hp=6aa317b72c273136cab43aa7c7b39b9b2eeeb2cd;hb=8c8de47c1e648b175032e88facf27c26a8e2e7d5;hpb=483d14dc8228a81d12fb109d3ed6510e2d2b03c1 diff --git a/doc/TODO b/doc/TODO index 6aa317b..240adab 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,8 +1,41 @@ -* 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. + +* Rename the "dovecot" plugin to "filesystem". + +* Implement moving of domains. + +* 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. + + In particular, this means that AgenDAV pruning does not work! If + a user with default preferences is deleted, we don't notice. + +* mailshears --help crashes before doing what it should just do: + + $ mailshears --help + ERROR: prune mode takes no additional arguments. + +* The "pretend mode" output is missing the destination information: + + # mailshears mv "test1@example.com" "test2@example.com" + mailshears, 2020-01-30 14:40:09 -0500 (Plugin: MvPlugin) + -------------------------------------------------------- + AgendavMv - Would move user test1@example.com (User not found) to . + DavicalMv - Would move user test1@example.com (User not found) to . + DovecotMv - Would move user test1@example.com (/var/spool/mail/vhosts/example.com/test1) to . + PostfixadminMv - Would move user test1@example.com to . + RoundcubeMv - Would move user test1@example.com (User not found) to .