Record History in the front end! Yes, it's available now in the KTL

Hi everyone,

UPDATE - JULY 9, 2024:

I’m excited to announce that I’ve completed the Record History feature in KTL.

It is available in the latest prod release: KTL v0.25.7

The documentation has been completed. See here:

  1. Setting up the Recorder
    _arh Keyword Usage
    Table and Form Setup

  2. Setting up the Viewer
    _vrh Keyword Usage
    Viewer Page Setup

This powerful new capability will provide comprehensive change tracking and auditing for your Knack records.

Here are the key features:

  1. Customizable: Choose which forms and grids/search view to enable Record History for.
  2. Versatile: Supports Inline Editing
  3. Efficient: Only record changes, with before and after values logged in a single entry for all modified fields.
  4. Detailed: Entries include timestamp, user, Record ID, View ID, URLs and more.
  5. Accessible: Browse full change history globally or drill down for a specific record.
  6. Filterable: Use the Grid viewer with search and filters to easily find entries.
  7. Granular: Select which fields to always log, across all views.
  8. Comprehensive: Aiming to support Record Rules as well (pending feasibility check).
  9. Centralized: All Record History data is stored in a single table for simplicity.
  10. Exportable: Easily browse and export history data as needed.
  11. Status Tracking: Log entries for records being Added, Updated, Archived, Expired (with date), and Deleted.

This feature gives you better visibility and control over changes to your Knack records.

Let me know if you have any other questions or feedback.

Thanks,
Normand D.

Here are a few screen grabs:

In a grid, you will see a clock that can be clicked to browse all history for this specific record.

In a modal page, you’ll see the changes:

7 Likes

Awesome new KTL feature, looking forward to trying it out. Being able to see a concise record history just detailing what has changed is a real game changer. I have had so many requests over the years for a simple way of seeing who changed what and when. Thank you :pray:

Love the work on KTL! unfortunately its due to the lack of product development by knack themselves. I know that there has been a lot promised but nothing meaningful yet

1 Like

Hi @Amaan,

I understand your frustration with the slower rate of change in new features. The new team has faced significant challenges with the legacy architecture, which has impacted their progress. However, I am aware that substantial efforts are being put into developing the new builder and live app. These updates will leverage more modern and updated code libraries, enabling new features to be rolled out more efficiently.

I am a strong advocate of KTL and am continually impressed by what @NormandDefayette_CortexRD has achieved and continues to develop.

Knack remains an exceptional platform for building a wide range of applications. While progress may not match the pace of larger companies, the smaller, niche nature of Knack is a major reason why I appreciate the company and the platform.

These are just my thoughts and personal opinions.

5 Likes

Nice work @Normand_Morbern :+1:

2 Likes

Wow, this is going to saving a lot of manual work recording changes, thanks Normand!

Can anyone help me with a question please?

I have put _vhr into my grids but the little circle to see the record history is not appearing as a column in the grids?

Has anyone else got this working? is there an easy solution?

Thanks

Paul

1 Like

Thanks @PaulR for the nice comments :slight_smile:

The keyword is _vrh (View Record History).

Not _vhr.

Give it a try…

Norm

@PaulR - this may help :+1:

Setting Up KTL Record History in :stopwatch:10 Minutes

1 Like

Thanks Norm… that was a typo, I have copied the keywords from the guide and used _vrh and used this _vrh=[Hist, fa-clock-o], [filters, Developer, Administrator], [align, center] but it doesnt appear! I will have a look at Carl’s video below and see what I have missed.

1 Like

Thanks Carl - once I added myself to a role called developer the history icon started appearing, brilliant!

Paul

1 Like

Glad you got it working!

BTW, the ktlRoles option is not absolutely required. It is there to control who can use the feature.

In Carl’s example, he used this:

_vrh=[History, fa-history], [ktlRoles, Developer, Admin], [align, center]

Which means only the users with the Developer and/or Admin roles will have the keyword enabled, and all others won’t see the extra column.

But if you had this instead:

_vrh=[History, fa-history], [align, center]

Then omitting the ktlRoles option enables the feature for all users, making the extra column always visible.

Note that the ktlRoles option is supported by almost all keywords.
It all depends on your needs.

Norm

1 Like

Brilliant. thanks again Norm - what a great community!

2 Likes

I have also faced the same problem…

1 Like

Thanks for this tool. As a new user I was shocked to discover this wasn’t native functionality.

Can someone elaborate on how and why an API call is used every time this occurs?

Is there a way to manage this without triggering an API call? If it involves extra steps (e.g. configuring some record actions or tasks or something) I’m ok with it.

1 Like

Hi @kris,

Using API calls is the only way you can have a remote form view (that is not part of the current page you’re on) to submit data using Javascript.

This form becomes the “single point of entry” for all places you want record history.

There is no other way to do it, not even with record rules or anything I can imagine.

I guess you’re on the Starter plan, since you seem to be pretty concerned with API calls?
Remember that you can fine-tune your usage by limiting the amount of record history to only specific forms or account roles.

Norm

2 Likes

Hi Norm,

I’ll admit I was very green when I posted this and with a week under the belt I now have a better understanding of things and it makes more sense how this is actually working.

Thank you for your work with KTL tools, without this specific solution (and there being no native front-end record history) we would have been looking at using another platform.

The Knack team are lucky to have you supporting their community.

3 Likes

Hey Normand! Thank you SO much! KTL is a true GAME CHANGER!! I set up Record History, and I am getting history, but the Identifier field is not populating, and the History URL is not showing anything, even though I should be on a plan that has that. Here’s a short video: Record history question | Loom Any thoughts on how to fix that?

1 Like

Hi Gary,

Thanks for the nice comments :smile:

First of all, check if you have the Record History enabled in your app. You did the right test by checking directly in the Builder’s record history. If you have nothing there, the KTL feature will only follow since it’s the same link.

It’s probably off. Check it here:

About the blank Identifier field, I’d have to recreate your use case. It could be due to that funky field name. A Text Formula is usually not a problem since I use them all the time as Display Fields.

Have you tried Rec Hist with something else to see if this one is an isolated case? Or change the field name for something basic maybe?

I’ll get back to you soon.

Request: Can you create a GitHub issue please so I can keep a track of that, and others can see it too?

Norm

Hey Normand! I have enabled record history, so the History URL is now working…thank you! I deleted the Identifier field and recreated it, but now that column is no showing up at all (before it was just blank). Here’s a short video: Normand follow up | Loom and I’ll create a Github issue. Thank you again…KTL is AMAZING!