FormulaShare V2.0 Nov '20

Major release
 

Significant functional and usability enhancements have arrived!

This version is now available to install from the AppExchange. Automatic upgrades to production orgs will take place from January 2021 unless requested otherwise. See the sections below for an overview, and check the help guide for full details.


Lightning app to simplify rule management

Until now setting up rules has involved creating custom metadata directly. This still works and will continue to be supported, but it's recommended instead to use the FormulaShare Rules tab available in Classic or Lightning app to simplify setup and make use of new features and validation:

FormulaShare Rules List
The FormulaShare app in Lightning


The rules list details configuration for each rule, together with a summary of sharing applied and recent activity. Errors or warnings related to FormulaShare setup will also be shown, for example a warning that the batch job isn't scheduled, or a link to a report showing recent batch or record failures.

Rules can be modified by clicking View / Edit in the dropdown, and the New Rule button creates (yes!) a new rule:

Create Rule


Check the guide for details of how to configure rules in this way. Clicking save on this screen automatically deploys new or changed custom metadata records to the FormulaShare Rules custom metadata type.
 

Recalculating sharing on demand

The rules list provides an option to recalculate sharing for all records of a specific object. This carries out the same process as the scheduled batch, and can be useful to ensure sharing is applied after a rule has been deployed or updated:

Recalculate sharing for object

 

Sharing of objects based on fields in related objects

A new rule option allows records to be shared to the users, roles or groups specified in a field on a related object.

Related Object Sharing
Any object with a lookup or master-detail reference to the object to share can be selected


After selecting the relationship, a specific field from the related object with the user, role or group is selected in the Share With section.

When triggers calling FormulaShare are set up on the related object, creation or update of child records will trigger sharing assessment in the parent.

 

Support for sharing accounts and their related objects (Github issue 7)

Account records can be shared now for the first time!

When account is selected as the object to share, additional options are available to also select the sharing level of related contacts, opportunities and cases:

Account sharing options
Options available will depend on the internal org-wide default settings for each object


If manual or apex sharing is already set on an account which falls within the scope of a rule, FormulaShare will check the existing contact, opportunity and case sharing against the rule defaults and apply the most permissive levels for each of these objects.

 

Logging and metrics enhancements

Previously, logging was limited to information relating to batch job assessment and held in a single object.

Logging is now extended to record level processing and much more detail is captured to record success, failure and performance logs related to both batch and trigger processing. The system of objects holding these logs is explained below:

Logging objects

 

List views of Batch Logs and Record Logs can be configured in the FormulaShare app, and details outline processing times, sharing applied and any errors encountered:

Batch Rule Detail
Batch Logs show the details related to batch job for an object and the rules applied

 

Record Log Detail
Record Logs show the trigger or batch processing carried out for a record, and the sharing inserted or removed

 

By default, Record Logs and Processed Record Shares will be kept for 8 days, and Batch Logs and Rule in Batch records kept for 365 days. These durations can be overriden in the FormulaShare Settings custom metadata.

 

FormulaShare reports and dashboards

The FormulaShare Dashboard tab included in the Lightning app gives an overview of processing, sharing applied over time, and any record level errors:

FormulaShare Dashboard

 

Clicking on each of the dashboard components allows you to explore the underlying reports.

It's also possible to view reports of recent sharing applied by each rule by clicking the dropdown against the object in the rules list:

Loading Report from Rule
Sharing created or removed in the last batch and any subsequent trigger processing will be shown

 

Minor fixes and enhancements across the package

A number of stability and performance enhancements have been made across the package, and a fix for an outstanding issue resulting in temporary removal of sharing after rule updates for standard objects has been addressed (see Github issue for further details)

 

The package is currently in beta testing with release to sandboxes planned for early October 2020, and upgrade of production orgs planned for early November