Update a comment and delete a newline.
[mailshears.git] / doc / TODO
index 8d773983a2cb247cdcb328638538a53fc9a23de5..8482260c44851ba77b34342752902c5dd3d02df6 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,21 +1,29 @@
-* 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.
+* 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.
+
+* 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?
+
+* Implement "mv".
+
+  Design:
+
+  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.
+
+  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.
+
+  MAKE SURE WE DON'T OVERWRITE AN EXISTING USER!
+
+* Add convenience methods (e.g. user_exists, domain_exists) that we
+  can use in the tests to check results.
+
+* Potentially add OpenDKIM support.