X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=doc%2FTODO;h=ed67448e08edb95bd03d65f48e956fc3fc28e140;hp=dd6db29f6879b9407badb7eb1048dcccaf65fbb8;hb=0650e11bdbd58359dbfd102093f7a263d4ef74d2;hpb=72696d3f6e95ef773af9727e9c3459b9038b0fc2 diff --git a/doc/TODO b/doc/TODO index dd6db29..ed67448 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,12 +1,25 @@ -* 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. -* Implement "mv". + 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 convenience methods (e.g. user_exists, domain_exists) that we - can use in the tests to check results. +* Add OpenDKIM support. -* Potentially 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.