Team collections

While implementing tickets that are hosted by the projects they belong to (a.k.a project-hosted tickets), I asked myself: When Alice comments remotely on such a ticket, how can she address the list of people working on the project the ticket belongs to? There’s already a project team collection, and Alice can use it, but there’s a problem: It means that for every comment on every ticket, the entire project team gets notified. That can be lots of people, and not everyone wants to be notified on all tickets.

So I came up with a little idea called “ticket team”. The ticket team is a collection that contains the people in the project team, minus people who asked to be removed from the list. So for every new ticket under your project, you’re automatically in the ticket team, but if you find that you aren’t interested in that ticket, you can ask to be removed (using a Remove activity).

That was working nicely, as long as tickets were being stored alongside projects. But now we have something new: Tickets that are hosted by their author, not by the project. So the project and the ticket may be hosted on different servers. Author-hosted tickets.

I started implementing author-hosted tickets, and realized this “ticket team” thing isn’t as useful now as it used to be. For the author to maintain a correct “ticket team” collection, they need to be notified on all changes in the project team. Whenever a member is added or removed, all the remote author-hosted ticket authors need to be notified, to update their ticket team collections. So this is just extra implementation work for the ticket author side.

So I’d like to remove that “ticket team” thing, or at least, make it optional. I’m writing this here because I want to document my thoughts, and to get your feedback on this.

Proposal for addressing ticket comments:

There are two interesting collections that you can address, when you comment on a ticket:

  1. The project’s team
  2. The ticket’s followers

Idk yet if the project team is a good idea here. In the case that only the ticket’s follower collection is addressed, the project’s team members would have to make sure to automatically (or manually) follow every new ticket. So, this “ticket team” thing would be done via the ticket follower collection, which exists anyway.

I’m going to explore this further and see what happens. But basically that’s the idea for now. Just putting this here for documentation. And to confuse you with my long posts :stuck_out_tongue: