Logging changes with autobinding fields

I have an autosave form with autobiding. The downside is I cannot log changes easily because a new database change exists each time a field is updated. For example the form will have information about the name and date of birth of the user, phone numbers, addresses etc. And if I would use the database trigger event it would create tons of logs. Is there a way to perhaps gather some log that the user recently changed some data without having a multitude of logs and kind of cluster them into a single log?

So if I change my phone number, address and date of birth, i would like to get a single “user updated personal profile” log.

Is that doable?

Yes, just don’t use autobinding and use a button to trigger workflow to make database changes. In same workflow make your log entry

1 Like

Right. But the app requestor wants autosave as priority over logging changes. So I’m kind of stuck here.

What is the point of logging changes?

Good question: it’s an application page and the application can be quite long. The client wants to monitor activity of the applicant to evaluate the likelihood of the applicant completing the application and follow up with the applicant to close the deal.

In my opinion this should be done via a ‘completeness score’ metric and not a log of changes being made.

As I understood your concept of logs of changes, you are essentially wanting to keep track of each change the user makes to their application, which could lead to a situation in which you log the fact the user changed their name 5 times.

Instead, based on the use case for the logs, you should attempt to get a sense of how much has the user filled in to lead to the idea of how likely are they to finish. This would use a ‘completeness score’ in which you attribute point values or percentage values to each input of the application, so maybe Name is 5% and address is 5% etc.

When doing this there are various ways to do it. One way is to run a workflow that will use arbitrary text with format as text operators and a convert to number operator at the end. This would be arbitrary text, then inside of that a series of format as text operators like ‘name is empty:format as text’ and if yes, put 5 and if no put 0 and then after that use the convert to number, followed by an addition operator and continue for each input until you basically have a calculation of the total points associated with all the filled in values.

1 Like

I’m unsure but could you use a database trigger for when data changes create a new log? Personally never tried with auto binding but I’d assume it works.

Thanks for the suggestion. We actually arleady implemented a completeness score. On top of that, the log could help tracking recent activity vs. idle applications.

It does work, I am just worried as to this would be a smart move. It will create tons of logs. I’m trying to think of a way to cluster changes, say if you edited 10 datapoints under a minute, a single log would be enough.

I can’t think of a stable way to do that, time based will leave potential room for errors if they leave page. Your client will have to settle for button or trigger based

Use the Built in data field of Modified Date

For something like this, what I do when the input is autobinding, and I need other actions to trigger when that input is modified, I just use the page workflow action of ‘when input value is changed’ to trigger the workflow actions I want to run…but ultimately I don’t see much value in keeping track of the changes in a log the way the OP is asking about.

1 Like

This topic was automatically closed after 70 days. New replies are no longer allowed.