Current Project Selector?

#1

Hey guys,

I’m trying to build a Coda doc where each user has a “current project”, which is then used in all the other tables such that we know they’re working on that project.

It’s pretty simple to create a table that has a “user column” that references the current user, and a lookup reference to a project table that they can select from, but I run into the following problems:

  1. I’d like users to be able to either select a project, or enter in a new project, into the same text area, is there a way to achieve this?
  2. When a user adds a new project, it should become their current project immediately
  3. I don’t want users to accidentally be able to add two current projects, as this would screw up the flow of the rest of the document.

Would love thoughts on how to achieve this!

Warmth,
Matt

#2

Hi Matthew,

The ability to easily add data into Coda is something we’re thinking a lot about right now, so thanks for the timely feedback. We’re working on some things that should help this scenario, but in the meantime one approach is to use a filtered table:

Instead of having a control to select the user’s project, you can have a filtered table on the membership table that shows just the user’s project memberships. In this above example, the My Project table is a view of Project Memeberships filtered to the current user.

You can’t currently prevent someone from self-assigning two projects, but you could use conditional formatting or a canvas formula to notify them visually if they do.

Then, in the rest of your section, instead of referencing a [Project Selector] control, you’d reference your [My Project] view. The first row in that view is the user’s assigned project.

It’s easy to add or change rows directly from the view, which makes this approach more flexible than the control for data-entry.

I’m not sure if this exactly fits your scenario, but there might be some ideas in this you can pull from.

Cheers
Alden

#3

That’s helpful Aiden, but I’m not sure how to reference the first row? I now Nth() can reference an item in a list, but not sure how to reference Row 1 in a view.