Recording history of changes

  • 0
  • 1
  • Question
  • Updated 2 years ago
  • Answered
Wondering if there is a straight forward way for recording a succession of dates that might have changed in a record, much like logged field where instead of recording the modified date, versions of date recorded.  
Photo of Arshad Khwaja

Arshad Khwaja

  • 3,142 Points 3k badge 2x thumb

Posted 2 years ago

  • 0
  • 1
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 52,786 Points 50k badge 2x thumb
The most straight forward way to do this is to have the user record the dates in a child table, and then use a reverse relationship to foot up the most recently changed date up to the Parent record.


A second method is to have a form rule that fires when the record is saved and the date has changed and it will duplicate the date field into a field which will log the history of the changes in a text field set to log changes. That format is more difficult to read, so it's probably best if that method is used only if the date history will be accessed rarely, like for an audit trail. It looks very messy if displayed in the regular form.


The second last way is to set up a Webhook.


Lastly, there are ACTIONs which can record a record when a parent record is saved and certain conditions are true. ACtions become generally available on the next release which I think is this wekeend, April 23.
(Edited)
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 27,694 Points 20k badge 2x thumb
Using script you can stuff anything you want into a multi-line text field in essence defining your own field type. So the only question is what format do you want to record your "history of changes" information in? Provide an example of some date changes.and describe the series of changes that were made.

Here I create a handy dandy chessboard field where the position of all the chessmen are stored as JSON in a multi-line text field.

https://haversineconsulting.quickbase.com/db/bmpbjbbxx?a=er&rid=2

You can also use a file attachment field to represent your custom field type. Normally the only thing you can do with a file attachment field is upload or download the file from / to your computer. However with script you can read and write a file (or create a file from scratch) to represent the state of your custom filed.

When a form opens you (1) read the file attachment field, (2) make the necessary modifications to the form to make the custom field viewable / editable to your human user in a convenient manner and (3) repackage the file attachment when the form closes if your custom field has been modified.

The rules have changed - everything is possible with QuickBase technology. Actually the rules haven't changed - this feature is used extensively in other quadrants where QuickBase technology has terraformed more rapidly than on this planet.
(Edited)
Photo of Arshad Khwaja

Arshad Khwaja

  • 3,142 Points 3k badge 2x thumb
Thanks Mark. I like the second option because it is really for recording purposes.  But how do I get the previous date value before being changed in a logged field.  
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 52,786 Points 50k badge 2x thumb
Arshad,
I tried a test of using the form rule and it would not cooperate for me.   Let me know off line which date you want logged and I will set up a ACTION to do this.  I'm looking for a reason to test ACTIONS anyways and i know you have a Beta version already active on our app.
Photo of Arshad Khwaja

Arshad Khwaja

  • 3,142 Points 3k badge 2x thumb
Thanks. Yes I will show you the form.  I am using actions quite successfully in a few tables.