Capture `History` of changes / Create Log of changes to important value of record



At times, I feel like I want to preserve history of changes to important column in a record (while coda has built-in change tracking and you can see that inside Row Activities - it is hard to query that changes or create a log of all the changes. Here’s what I use in some of my documents and has worked out really well.

Example use case here is: I have Projects and I want to make sure all changes to Project Cost for each project is captured as history.

The steps are:

  • create Projects Table

  • create Cost History Table and have following columns in it

    • Project column - lookup column to Project Table
    • Cost column - Currency column (Make this a display column)
    • Modified By
    • Modified On

Once done, go back to Project table and create following columns.

  • Current Cost column - with formula [Cost History].Filter(Project =thisRow).Sort(false, [Modified on]).Cost.First() - this will make sure you always see Current Cost shows up next to project
  • Previous Cost Values column - with formula [Cost History].Filter(Project=thisRow AND Cost!=[Current Cost]) - this will show all previous cost values
  • create a button column with following configuration

so now to update cost, users of the doc would open RowDetail with new Row and update the value - once it is done, it will reflect back in Project table as Current value.

Here’s how it will look (this one uses new layout feature we announced here)

If you want to play with this, document is here.

Hope this helps!


Log updates to a separate table
Can you create rows that retain the information pulled in at the time of creation?
How to get modified section?