Collaboration, primary user

Consider the following scenario

  • Alice and Bob are working on the same project called Manhattan
  • They have a shared Dropbox folder called Manhattan which they both synchronize to their laptops
  • They have both installed Visual Studio Code with the Coffee Break extension enabled
  • They both added the Manhattan folder as part of their Coffee Break workspace
  • On top of it, Alice wants her tasks synchronized to a particular project in Todoist

This is the shared notebook configuration stored in Manhattan/.vscode/settings.json

{
  "coffeebreak.mentions": {
    "Alice": {
      "fullname": "Alice Agile",
      "email": "alice.agile@example.com",
      "sync": {
        "command": "coffeebreak.todoist.sync",
        "project_id": 999999
      }
    },
    "Bob": {
      "fullname": "Robert Rich",
      "email": "robert.rich@example.com"
    },
  },
}

The notebook is filled with notes and meeting minutes. Now, obviously, Alice would like to primarily see her own tasks in the Coffee Break side panel and so would Bob. Fortunately, this is very easy to achieve with the following workspace configurations:

Alice:

{
  ...
  "coffeebreak.emails": [
    "alice.agile@example.com", ...
  ],
  ...
}

Bob:

{
  ...
  "coffeebreak.emails": [
    "robert.rich@example.com", ...
  ],
  ...
}

Since the workspace configrations are stored outside the shared notebook folder, each user can have a different one.

Coffee Break checks the email address in the mention against the list of email addresses from the workspace configuration and any mention that matches is considered to refer to the primary user.

Single user scenario

When you are the only user of the workspace or a particular folder, it would make no sense to have to mention yourself on every task. In that case, it is easier to be the owner of all unassigned tasks.

This can be achieved by adding an <unassigned> mention in the configuration (either at workspace or folder level), e.g.

...
  "coffeebreak.mentions": {
    "<unassigned>": {
      "email": "frenya@frenya.net"
    },
  }
...

Needless to say, instead of frenya@frenya.net you need to use one of the addresses listed in "coffeebreak.emails" configuration.

Note: You can also override the sync settings for unassigned tasks if needed (the same way Alice did in the scenario above).