Troubleshooting: Custom Field Renderer Only Works for Admins

PROBLEM: End users looking at a Field editor were not able to see a custom field renderer in action, even though Administrators could see it working as expected.

RESOLUTION: Once we discovered that multiple Field Editors were being conditionally rendered, each for specified profiles, we mades sure each version of the Field Editor was set up to utilize the custom Field Renderer.

Use cases affected: Skuid on Salesforce / Skuid Platform

Problem Details

A client had applied a custom Field Renderer to a field, but only administrators could see the results of the custom renderer. Non-admins still saw the Feld rendered with standard rendering.

Resolution Process

When viewing the page in runtime, we first looked for any JavaScript errors or warnings, which are often great clues when working with custom Field Render snippets. Looking at the browser’s developer console

  1. , we could see that there were no errors for affected users or unaffected users.

We wondered then if the render snippets were actually running. Adding a console.log();

  1. command to the custom render code allowed us to confirm that, for affected users, the render code was not being executed at all.
  2. We also confirmed that other custom render snippets were working for affected users, which allowed us to focus on details directly related to the misbehaving custom renderer.
  3. The underlying question to answer became, “Why does the custom renderer run for some users, but not others?” We asked the client this, and found that the problem wasn’t in the custom renderer at all.

Outcome

This was happening because the Skuid page was using multiple versions of the Field Editor, but only one was set up to use the custom renderer. Display logic was being used to show only one version of the component at a time, depending on the running user’s profile. Since the custom renderer was only applied to the administrator’s Field Editor, non-admins never saw the custom render snippet’s handiwork.

To fix this, we reviewed all versions of the component and applied the custom Field Renderer to several that hadn’t yet been set up to use it.

Takeaways

  1. At first, we suspected there might be a user or profile setting that non-admins didn't have, which could interfere with the custom code, or the field it uses. The Salesforce org's object, field, or system permissions, could have been relevant to the issue, but there isn't a user or profile setting in Salesforce that would prevent some users from accessing or running the inline custom render JavaScript.

It was very helpful to walk through the Skuid page with someone who was familiar with how it was built, and identify aspects of the page that would create different experiences for different users (like display logic on components, or branching logic in action sequences

  1. , for example). Understanding the idiosyncrasies of the page was key, and saved lots of time hunting for a Salesforce permission that didn’t exist.

Get help with an issue:

Ask in the Skuid user community in the

If you have paid support ask your question on our support portal