Formula Field Caching: When A Rich Text Display Lies to You
A Problem That Had Me Pulling My Hair Out In working on Version 2 of Realm Insights (one of the applications that makes up the Governance Core Apps), which is slated to release June 13, 2025, I was working on a pretty complex rich text formula field for the new Audit Logs Admin Console Connected Table enhancement. Picture this: You've built a beautiful audit dashboard in Quickbase with interactive pills that show activity counts and drill down to filtered records. Everything works perfectly... until it doesn't. I had created a sophisticated rich text formula field that displayed audit log statistics in a clean, interactive format (Governance Core Apps ↦ Realm Insights app ↦ Users table ↦ Audit Log Header). Users could adjust a "Days in the Past" filter to see activity for different time periods. The drilldown functionality worked flawlessly - click a pill showing "31" and you'd see exactly 31 matching records. But then something strange started happening. After changing the filter, the pills would still display "31" but clicking through would only show 10 actual records. The summary fields were updating correctly, the drilldown queries were working perfectly, but the visual display was frozen in time. The Maddening 1st Workaround The only way I could get the display to refresh was to: Go into the field properties Make any small edit (even just adding a space) Save the field Watch the "Refresh to Update" link appear Finally see the correct values display This worked every time, but asking users to edit field properties just to refresh a display? That's not exactly a sustainable solution. Understanding the Beast: Quickbase Formula Caching Here's what was actually happening behind the scenes: The Architecture: My rich text formula field lived in the Users table It referenced summary fields that calculated data from the Audit Logs table The filter ("Days in the Past") also lived in the Audit Logs table Summary fields like [# of Table Creates] updated correctly when filters changed But the rich text formula field had no idea its dependencies had changed The Cache Problem: User changes "Days in the Past" filter Summary fields recalculate (working correctly) Rich text formula stays cached with old values Drilldown URLs work because they use current filter state Display shows stale cached data The "edit field properties and save" trick worked because it forced Quickbase to recalculate the entire formula dependency chain from scratch. The Elegant Solution After exploring several complex approaches involving lookup fields, pipelines, and dependency triggers, the solution turned out to be beautifully simple: var text cacheBreaker = ToText(Now()); That's it. One line at the top of my rich text formula. Why This Works So Well This timestamp-based cache breaker is perfect because: Always unique - Now() gives a different value every time the formula evaluates Forces recalculation - Quickbase sees the formula dependencies have "changed" Lightweight - No complex calculations or additional fields needed Universal - Works regardless of table architecture or field relationships Future-proof - Will work even if you add more summary fields or change your data structure When to Use This Technique This cache-breaking approach is ideal when you have: Complex rich text formulas with cross-table dependencies Summary fields that update correctly but display values lag behind Interactive dashboards where real-time accuracy matters Situations where manual field editing triggers correct behavior Implementation Tips Place it early - Add the cache breaker at the very beginning of your formula Don't reference it - You don't need to use the $cacheBreaker variable anywhere else Test thoroughly - Verify both display values and drilldown functionality after implementing Document it - Leave a comment explaining why it's there for future developers The Bigger Picture This solution highlights an important principle in Quickbase development: sometimes the most elegant fix is the simplest one. While Quickbase is incredibly powerful, understanding its caching behavior can save you hours of frustration and overly complex workarounds. The next time you see formula fields that seem "stuck" displaying old values while their underlying data is correct, remember: a simple timestamp might be all you need to unstick them. Have you encountered similar caching issues in Quickbase? What solutions have worked for you? I'd love to hear about your experiences in the comments below.139Views2likes2CommentsTracking Changes
I searched prior discussions before posting this, so I apologize if it's a duplication. If it is just refer me to the prior article. Anyhow, I have a table with 45 fields, any of which could change. I'd like to keep an audit trail of changes to records for any of the previously mentioned fields. How would I set it up so I can bring awareness to which field changed and perhaps what the old value was and now the new value? I want my clients to be able to pull reports of any changes based on a particular record ID. Thanks, ------------------------------ Michael Sargent ------------------------------26Views1like5CommentsHow to see when a report was created & who created it
I am trying to see if I can find out when a report was created, & what user created it. I know that information is found at the bottom of the page in the tables, but I can't figure it out for the reports. ------------------------------ Laura Diak ------------------------------23Views1like2CommentsIs there a way to track who modified a specific field being changed?
Is there a way to track who modified a specific field being changed? I have a a check box called "Checked In". I would like to be able to see which user selected this option and when it was done so it could be referenced later if needed. There may be other changes in the form that could occur after the "check In' box was selected so i can not relay on the "last modified by" remarks on the bottom of the form to specifically provide accurate details as to who changed the specific checkbox once other fields are edited in the future.153Views1like6Comments