desktopcouch paired_server records should implement included_names as well as excluded_names
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
desktopcouch |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
At the moment a paired_server record can have an excluded_names key, to list databases that should not be replicated to this paired server.
There should also be an included_names key, with the same format, to specify a list of databases which should be replicated to this server (with all others implicitly excluded), so that it's possible to set up a paired server which only replicates one or two specific named databases (at the moment this is not possible, because newly added databases won't appear in excluded_names).
How to handle various combinations:
included_names = [], excluded_names = []
Replicate all databases to/from the paired server.
included_names = [], excluded_names = ['A','B']
Replicate all databases except A and B
included_names = ['A','B'], excluded_names = []
Replicate only A and B, and no others (if either A or B does not exist, ignore that database but proceed to replicate the other one)
included_names = ['A','B'], excluded_names = ['C','D']
Replicate only A and B, and no others. included_names takes priority if it exists and is not blank to decide whether a replication is "only some" or "all except" by default.
included_names = ['A','B'], excluded_names = ['B','C']
Replicate only A. If a database is listed in *both* included_names and excluded_names, don't replicate it (because it's better to not push some data and recover that later than the alternative).
Note that the internally excluded names, like _users and management, are never replicated regardless of the settings of either of these keys.
description: | updated |
Changed in desktopcouch: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |