I’ve been using Coda for a couple of weeks but I believe I have a good understanding of its features and formulas, however, I am struggling to find a good method for editing lookup values, especially when they are formula-calculated.
Let’s consider a situation where I have a dashboard that summarizes and distills important information from other tables and I want to have a convenient way to modify the lookup values from the dashboard. Do I need to create a button for each separate value that I want to change? If I do, isn’t this a terrible user experience practice?
Another scenario is simply editing a formula-calculated lookup value. There is not an easy way to do that let alone the fact that it does not provide a direct link to the source value for me to jump into there for editing.
Can anyone provide some recommendations for best practices for addressing these issues? It seems like a fundamental aspect of databases is the ability to easily update information from any entry point, but editing lookup values appears to be more challenging in Coda.
On the one hand I realize that a Lookup is simply for looking something up semantically but than is there an other way of creating relationships between tables where you can edit the information from any entry point?
If I am overlooking something, please let me know.
I believe what you’re referring to is the ‘feature’ known as two-way relational database (you can find this functionality in Notion btw).
I also once struggle to understand this when I first migrated from Notion to Coda. But over time, I realize the importance of 1-way relationship and the flaw of 2-way relationship (despite its convenience). I’ll try my best to explain.
Differ to spreadsheet, database design revolves around the principle of ‘single source of truth’. And Coda designed more as database-turn-spreadsheet instead of spreadsheet-turn-database like what Nation is for example.
In databasing, it is very important and crucial to maintain data integrity from a single table to another, and push the changes one-way to prevent unauthorized alteration from multiple ‘entry points’. Every additional entry point increases the potential of the data being altered unexpectedly from different entry point. And it will be impossible to trace back which route of changes it went through. And in multi-user (collab) environment, it is very important to be able to trace back who made changes to what at any given time. So the changes must be made from the origin (source table).
In even more complex scenarios, where people use Coda to engage with external visitors, it is crucial to prevent any possibilities for visitors to have unauthorized access directly to the database and able to alter the data in it.
Moreover, a value in a column within a table, belongs to an item within that table (represented by a row, and identified by its name defined in ‘display column’. And lookup function suppose to look up (read only). Not edit. I think this is also why column with formula is not editable.
So if you’re using Coda for the simplest purposes like recording and tracking daily routines, from and for yourself, this is indeed not relevant. And Notion (in my opinion) may suit your use case better. But once you go more complex than that, for example designing a backend virtual workplace for your team, 2-way will soon be problematic.
Regarding the best practices, depends on your situation, if you want realtime changes to be reflected both ways, you can try create ‘Views of table’ instead of completely unrelated new table. You can then add more columns (and hide unnecessary ones) in the View and everything will work just fine because they’re essentially the same table.
We have a new feature called Linked Relationships that we are starting a beta on that could address this case. If you’re interested, please fill out this form and see this page for other betas that we are running.
Please note that signing up for beta access to this feature will enable it only for you and your docs in your workspace (both existing and new).