Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tracking Field Changes

Featured Replies

I need to be able to track who changed what at what day & time. Is there an easy way to do this like a plug-in or do I have to write some way out script to do this? If I have to write a complex script, can someone please lead me in the right direction?

Thanks a bunch!

~Addam~

One way is to implement editing is by creating two additional field for each field to be edited. One is a global for temporary storage and the second contains time and date information. The operation is as follows:

1) The user selects a record and clicks an "Edit" button.

2) The "Edit" script copies all the fields contents for the record into the corresponding global fields which are displayed on a layout for editing.

3) The user edits the information in the global fields and clicks either "Cancel" or "Enter". "Cancel" just clears the globals and exits the process. "Enter" compares each global to the corresponding real field, if they are different, the real field and the corresponding Date/Time field are updated.

For each field used, you need three fields, for example:

Name

gName <--- global

NameDateTime <--- date and time of last change to "Name"

-bd

  • 1 month later...

Do these steps IN ORDER:

Create new field SERIAL (number, auto enter, strict, unique) - if you already have one, then use that one.

Create new field MATCH (calculation)

case ( isempty (field 1) or isempty (field2) or isempty (field3) or ... or ismpty (last critical field), Serial, Serial)

***** Now, create a self-join relationship based on Match ***********

For each important field you want to monitor, create a duplicate and make it a lookup (use Match relationship to point back to the original important field)

Create new field CHANGES (*unstored* calculation)

"On " & datetotext(status(currentdate)) & ", at " & timetotext(status(currtenttime)) & ", " & status(currentusername) & " changed the field " & status(currentfieldname) & " from: " &

case(

Field 1 <> Field 1_lookup, Field 1_lookup & " to: " & Field 1,

Field 2 <> Field 2_lookup, Field 2_lookup & " to: " & Field 2,

etc...)

& "P" [this is the paragraph symbol, not a the letter P]

Create new field HISTORY (text, lookup (MATCH relationship:CHANGES) )

Now go back to the CHANGES calculation and append HISTORY after the paragraph sign.

Create a new layout and put SERIAL, MATCH, CHANGES, and HISTORY fields on it. Also put a couple of the important fields and their clones on it. Watch the action as you toggle the original fields - it's easier than me explaining it.

When actually implemented everything should be hidden, because an easy workaround is to change one's Edit/Preferences/Application name to one's favorite enemy and go in and destroy data under their name. Capturing the IP address can minimize impact of that unlikely scenario, however.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.