-* 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.
-* Error reporting is inconsistent. We know what goes wrong, and then
- errors bubble up, but where do they get reported? Are they fatal or
- informational? Do we want later plugins to run of earlier ones
- failed?
+ 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.
- Design:
+* Rename the "dovecot" plugin to "filesystem".
- This should only work from a domain that exists in postfixadmin to a
- domain that already exists in postfixadmin. If the target domain
- does not exist, we should error out as soon as possible.
+* Implement moving of domains.
- Once we're sure that the target domain does exist, we can hand off
- the "mv" operation to the plugins. Some of them might have nothing
- to do -- that's fine.
+* mailshears --help crashes before doing what it should just do:
- MAKE SURE WE DON'T OVERWRITE AN EXISTING USER!
+ $ mailshears --help
+ ERROR: prune mode takes no additional arguments.
-* Add convenience methods (e.g. user_exists, domain_exists) that we
- can use in the tests to check results.
+* The "pretend mode" output is missing the destination information:
-* Potentially add OpenDKIM support.
+ # mailshears mv "test1@example.com" "test2@example.com"
+ mailshears, 2020-01-30 14:40:09 -0500 (Plugin: MvPlugin)
+ --------------------------------------------------------
+ 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 .