Forum Discussion

JustinPauga's avatar
JustinPauga
Qrew Cadet
8 years ago

History of Changes

I am working on building a new CRM and Project management application for my company. I am pretty far along but one of the features of our old system that everyone liked and we are trying to keep is the ability to track changes to records. In our current system, there is an automated "notes" section that gets updated whenever there is a change and it lists what user did what change. I was wondering if there was a way to get this functionality in Quickbase. I have attached a screen shot of what it looks like:
  • With script it is possible to use a Text Append/Prepend Logging field to keep track of changes to other fields. Normally a logging field keeps track of changes to text input into the logging field. However, with script you can prevent human input into the logging field and instead arrange for other fields that are that are modified to be formatted and automatically inserted into the logging field.

    There is actually a demo I created of this that if you are interested I will attempt to locate.

    Found it here:

    https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&rid=305
    • JustinPauga's avatar
      JustinPauga
      Qrew Cadet
      That looks like it will accomplish what I'm trying to achieve. Just a quick question for you. If I'm reading the code right then it will log the old value and the new value for each field. If a user makes a 3rd change, will that wipe out the initial value and just set the 2nd value equal to the old value and the 3rd value equal to the new value? Or will it keep a log of all changes?
    • _anomDiebolt_'s avatar
      _anomDiebolt_
      Qrew Elite
      The current log will get overwritten with he new changes if there are multiple changes during the time the form is open. You might have to adjust the logic if a user changes the field value back to the original value so that there is no new log generated.

      This is just an example. If you wanted to you could detect a changed in a field value and use the logging field to scold the user for making a mistake or praise them correcting an error.
    • _anomDiebolt_'s avatar
      _anomDiebolt_
      Qrew Elite
      BTW, you can use a Service Worker to log any changes you make anywhere in the application. For example, you can log all changes to a form, report or web hook definition.  This is not an exaggeration - using a Service Worker is god mode for QuickBase.

      The great part is that it works in all cases not just those few cases where you have "less than 10 fields to track".

      Why bother with native Rube Goldberg Machine solutions which have arbitrary limitations and clunky setups when you can just use a Service Worker? Come on it is almost 2018!
  • Justin,
    You can do history logging natively without script.

    If there are less than 10 fields to track, I suggest making an Action to Record the changes.

    The technique is to make a Table called Change history with the fields

    Related Parent
    Field name
    Old value
    New value
    Changed by

    Make a relationship to the table you are trying to track

    Setting up an Action is similar to setting up an email Notification.

    Make an Action to Record when a certain field changes to write out a history log record. There is a limit of 10 Actions per Table.

    Give it a try to get t(e first one done and post back if you have questions. Once you have the first Action done, you can copy i5 t9 make the 2nd one.