Troubleshooting: Can't save Lightning page due to Error

PROBLEM: An existing Lightning page suddenly can’t be saved anymore.

RESOLUTION: Reduce the amount of Lightning components, especially ones containing Skuid pages.

Problem Details: The affected Lightning page, which contains Skuid page components, used to work fine, but now it can’t be saved anymore. You can open the page, you can edit it, but an error message appears if you click save: “Component ‘Skuid page’ has an invalid value for property ‘page Name’.”

Resolution Process

  1. First, I checked if there was any Skuid page component on the Lightning page with an invalid value. I checked for empty “Page Name” text input fields, but none were empty.
  2. Next, I wanted to double check if all the selected Skuid pages actually exist, so I compared the Skuid page components with the Skuid page list. None of the pages were missing though.
  3. One of the Skuid page components showed an error in the preview while editing the Lightning page, so I removed this Skuid page component and tried to save the Lightning page, but the error remained.
  4. I created a new Lightning page, placed the Skuid page component and selected one of the Skuid page which are used on the original Lightning page, to check if there was a general problem with the Skuid page component in that org, but that new Lightning page could be saved and worked fine.
  5. I double checked that Skuid API versions weren’t mixed, and only v2 pages were used. It’s important to not mix the API versions.
  6. After cloning the Lightning page for further troubleshooting, I started deleting a couple of Skuid page components one by one, however the error remained when I tried to save the Lightning page.
  7. Since there were not only Skuid page components but also a lot of other Lightning components on that page, I looked at all of their settings one after another. I found two Lightning components which displayed an error about invalid property. I removed both components and tried to save the page, but the original error remained.
  8. Since the issue seemed to have started happening after the sandbox was updated to the latest Salesforce version, I checked another sandbox with the same Skuid and Lightning page. This other org was still on the previous Salesforce version, and the issue was reproducible, so I could rule out a specific Salesforce version as the root cause (if not, I would have opened a Salesforce support case).
  9. In order to find out if the issue was related to a Lightning component limit, I started deleting Lightning Tab Set components (which contained many other Lightning components). After deleting a lot of components, I was able to save the Lightning page successfully.
  10. However, when we started adding Skuid page components back to the page, the error occurred again. We looked through the managed package debug logs: When the Lightning page fails to save, there was an Apex CPU time limit exceeded error towards the end of the save process. By now, we had our 2nd level support involved for assistance.

Outcome
Together with our engineering team we have identified an opportunity for improvement. The Skuid page component can cause the Lightning builder to fail on “Save” if there are too many page components on the page. The issue would arise once it contained circa 70 Skuid pages.

Takeaways
While the latest Skuid release contains a fix for this issue, this Lightning page’s setup wasn’t following Skuid’s best practices to begin with. Not all of these Skuid pages were visible for all users because Lightning component visibility filters on the Tab components were used. Instead of using around 70 Skuid pages on one Lightning page, we’d recommend controlling the content visibility through Page Assignments.

Furthermore, I’ve submitted this Salesforce idea because it would have been helpful for troubleshooting to see the total number of components on the Lightning page.

Documentation

Bonus: If this issue had occurred on all Lightning pages, no matter which Skuid page was selected in the Skuid page component, it could have been a permissions issue. In that case it would make sense to double check that the affected user has sufficient permissions. They should have both:

  • The “Skuid Page Builder” or “Skuid Admin” Permission Set assigned to them (this grants then “Read” permissions to the Page object)

  • “View All” permissions on the Page object (this can be assigned either in their Profile, under Object Settings > Page > “View All”, or through another Permission Set that gives them this permission).

Get help with an issue

  • Ask in the Skuid user community in the questions category.
  • If you have paid support ask your question on our support portal skuid.freshdesk.com.
  • If you’re interested in support, contact your Account Executive.