-* 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.