Implementation restriction on OpenActivities.

  • 1
  • Problem
  • Updated 4 years ago
  • Solved
I'm having a problem with users that don't have admin rights being able to see a skuid page. The page is for an individual record.

This is the error message I see:
There is an implementation restriction on OpenActivities. When you query this relationship, security evaluation is implemented for users who don't have administrator permissions, and only a single parent record may be evaluated. An unexpected error has occurred. Your solution provider has been notified. (skuid)

I'm not sure what's causing the problem.  We have one template field that counts the number of Open Activities related to custom object that has a detail to master relationship to the primary object on the page. However, when I remove that field from the page, we still get the same error.  

Any advice is much appreciated.


Photo of Dave Zadareky

Dave Zadareky

  • 272 Points 250 badge 2x thumb

Posted 4 years ago

  • 1
Photo of Dave Zadareky

Dave Zadareky

  • 272 Points 250 badge 2x thumb
I found a field that was in one of the Models called OpenActivities and deleted that. That allows the user to see the page.
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
OK glad you were able to fix the problem.  Below is some deeper explanation from our Lead Developer. 

------------

This is actually a fairly common error message, and you'll encounter it in weird places on various Standard objects. It only ever happens for non-Admin users, because non-Admin users' access to records is governed by the Salesforce Security Model, whereas Admins have the "View All Data" permission, which means that Salesforce ignores the Security Model completely for them when choosing which records to let Admins access. So for Salesforce's purposes, it's a lot more "expensive" to try to determine which records a non-Admin user should have access to, because Salesforce has to evaluate the whole Sharing Model for a given object when a non-Admin user runs a query on that object. Therefore Salesforce puts in these "Implementation Restrictions" that limit how many records of these Standard Objects that non-Admin users can request in a particular transaction. This makes sense for standard Objects like Task and Event for which there are often millions of records in customers' orgs, because Salesforce's Query Optimizers have to do a lot more work to try to search through these millions of records trying to find ones that a non-Admin user has access to.