FormulaShare V3 March 2023


The next major release is here! There are a few big enhancements coming in this version:

Cross-object sharing rules (Lite, Enterprise and Unlimited)

This is a big one! FormulaShare allows information from related objects to determine sharing, and we've boosted this ability in a big way.

It's now possible to share based on a field in an object connected through a series of lookups to the shared object.

Related object sharing

This opens up huge possibilities in orgs with extensive data models - see the end of synchronising fields from one object to another just for the purposes of sharing.

FormulaShare will allow for up to 5 levels of consecutive parent or child relationships, and these can be followed by up to 5 relationships in the opposite direction meaning the controlling record can be up to 10 relationships away.

Animation showing selection of a related object

Any related object sharing configured before upgrading will be converted to cross-object rules. These rules will use the new cross-object rules engine, which addresses some scalability issues and limitations which previously affected related object sharing.

As well meaning FormulaShare can now address more complex sharing requirements, this allows a simpler approach to share based on information in parent records. Until now, doing this would have meant setting up a formula field on the shared record. Now a related rule can be used instead and a formula field isn't necessarily needed. As well as being a little neater, avoiding a formula means we aren't contributing to the limit of total formula relationships on the object.


Sharing to Manager Groups and Queues (Enterprise and Unlimited)

Sharing rules based on Manager Groups are now supported!

These rules use the "Manager" lookup on the User record, and allow sharing either up or down the manager hierarchy:

Manager group sharing option

The "Managers of Users" option shares to all managers above the user, and "Users and Manager Subordinates" option shares to reports of this user, as well as the user themselves.

Both types of rules work by referencing a field which is populated with a lookup to the user which the manager group should be based on. Note that to see these options, you'll need to enable Manager Groups in the Sharing Settings setup menu:

Sharing settings option for manager groups

And if you're using Queues on standard or custom objects, it's also possible to share to these directly using the Public Groups and Queues option:

Queue sharing option

This type of sharing works in a very similar way to Public Group sharing - either the name or record id of the Queue can be added to the specified formula or text field.


Monitor rules and sharing usage (Lite, Enterprise and Unlimited)

FormulaShare now includes a Setup menu, which indicates how many standard and cross-object rules have been configured, and shows the number of share records created in the current year:

Usage screen where no limits apply

In versions of FormulaShare where usage is limited, this will indicate contributions towards limits:

Usage screen where limits do apply


Assess recursion by record (Enterprise and Unlimited)

Until now, if called multiple times in a single transaction, FormulaShare would only process sharing assessment for the first call for each object to avoid unnecessary processing in scenarios where FormulaShare is called multiple times for the same record.

There are some circumstances though where sharing assessment is needed multiple times for the same object. Examples include circumstances where different records of an object are created or updated at different times in a transaction.

FormulaShare will continue to prevent recursion, but will assess this on a more granular level:

  • Assessment for a record will be allowed provided the record with this ID hasn't previously been assessed in the same transaction
  • Assessment for records which haven't yet been inserted (i.e. new records) will always be allowed

In addition, in FormulaShare Enterprise an object setting "Allow Recursive Assessment" has been introduced which allows the strategy for recursive assessment to be defined by object:

Object settings screen showing recursion strategy

This setting makes it possible to allow recursive reassessment a specified number of times for the same record within a single transaction.

Details of how to override using settings:


Increased coverage of standard objects (Lite, Enterprise and Unlimited)

Until recently, attempting to evaluate rules for some standard objects would lead to errors, so sharing of these objects wasn't possible. Examples include the Work Order object and others from the Field Service Lightning data model, as well as some objects used in Salesforce CPQ. This issue is addressed in the latest package and sharing of these objects is now possible.