Current following (aka "watching") has many problems:
- by organizing into +*watcher cards, the permissioning is very limited (hard to make it so that you can edit your own followed cards but not others')
- can't follow sets other than self and type
- groups can't currently follow cards
- there is special card_controller handling that breaks MoVE principles
- the code is pretty messy
We also want to be able to do the following (which are covered in other tickets):
- show the actual changes (not just the fact that it has changed. (I hear this a LOT)
- customize the message surrounding the change
Separately, we want folks to be able to control the frequency of their following emails (eg, in a digest).
(accounted or role)+*following cards are pointers, and items in pointers can be sets.
(accounted or role)+*following+*frequency determines frequency of emails (defaults to immediate)
- better set labels
- some way to get to frequency setting
- A+B is a child of A and B.
- A+B is a field of A (but not of B)
- A+B and A+B+C are descendants of A and B
- A+B and A+B+C are field descendants of A (but not of B)
- There should only be one email per user per card_act (as card_act is defined here: track name and type changes )
- The card that is the subject of the act should be the one mentioned in the subject of the email. Eg, if I'm watching all +B cards and you update A (A is the one "acted upon") with changes that include updates to A+B, then I should be notified, but the subject should mention that "Philipp updated A".
- The content of the email should be a collection of all followed changes. I'm using the definition of changes in that same ticket, and where a followed change includes:
- changes to a followed card (one that is a member of a set referred to in a +following card)
- changes to a "field descendant" (see above) of a followed card.