SANTA CLARA, California, May 17, 2017 – Sesame Software announced today Relational Junction Release 5.8, on the Salesforce AppExchange, empowering businesses to connect with their customers, partners and employees in entirely new ways. The new solution includes features that allow recovery of non-traditional data models, including single-level and multi-level recursive relationships.

Built on the Salesforce Platform, Relational Junction Release 5.8 is currently available on the AppExchange at appexchange.salesforce.com.One of the challenges for backup and recovery of cloud data is that data models evolve over time. Traditional hierarchical data structures are becoming more recursive in nature as businesses implement data models that apply to the real world. In a hierarchical model, customer accounts have contacts and other related data. Creating or recovering this data to a system such as Salesforce that generates its own unique metadata involves pre-loading the customer account first to get the resulting record identifier, then updating the relationship field in the contact record before loading the contact. Sesame Software developed this technique in 2007 and was awarded United States Patent 8,375,010 in 2013.

The problem arises when relating objects to themselves, either directly or through multiple levels of other objects. What if customer accounts have sub-accounts for subsidiary companies? The end result of recursive or nested relationships is that recovery can become a difficult and time-consuming project. 

With the 5.8 Release of Relational Junction, Sesame Software has solved this problem. Simply by marking records at the highest level in the data tree for recovery, the new recovery procedure will search for all Salesforce data model relationships and include those objects and their related records in the recovery, with the recursive relationships handled in a second pass. The new technique no longer relies on database triggers, and can still be restarted without creating duplicate records if there are any issues during the recovery. This patent-pending feature gives Sesame a unique ability to handle what has become a commonplace data recovery situation.

To learn more, contact Sesame Software directly, or call Sesame Software at (408) 550-7999 to set up a demonstration. Salesforce, AppExchange and others are among the trademarks of Salesforce.com, inc. Salesforce, AppExchange and others are among the trademarks of Salesforce.com, Inc.

Relational Junction will work on any web application server, including WebLogic, if the app server supports Java 1.8. Nearly all of our customers use Tomcat, since it provides all the services required for the web administration without any licensing costs. Relational Junction is primarily a batch system. You can fire off jobs in the web user interface, but stopping Tomcat does not kill the jobs. It is far better to have  a dedicated server for Relational Junction, because of the batch orientation, than use a web application server with many other transactional applications running.

Yes, there is a metadata table that is populated that understands the parent-child relationships. The -recover command navigates those relationships, such that the product knows the parent objects must be restored before the children. Lookup relationships are restored before anything.

Yes, it would be naive to think otherwise. Restore has to be selective and thoughtful, otherwise you’d just be destroying current data with the backup.

There is a control field on every row of every table. For a full restore, you can set it to ‘R’ on the Account object and run a -recover command, which follows all the related records. This is the simplest case. You can also include or exclude specific fields, and reload objects in any order that you want, as long as you load the parent objects first.

We have example scripts used to condition the control flags in the records and handle the business logic in Salesforce, such as adding only one side of the SHARE relationship or excluding one of the Price, Total Amount, or Quantity fields in Opportunities and letting Salesforce calculate that other value. Salesforce is full of business rules, and some organizations create data validation rules, workflows or Apex triggers that limit the ability to simply copy data to Salesforce.

Salesforce is not like a single file where you can just set it back to yesterday’s version.  Anyone who promises a “one button restore” isn’t being realistic.

Yes, but it would be naive to think that it doesn’t require carefully though out decisions and preparations to make so the new records fit into the target org, such as

  • Is the target org empty or does it contain existing users, products, and other slowly changing data? On professional service engagements, our team has used mapping tables to marry up the business keys in the source or with the target records by their Salesforce ID in the target org. Unique business keys are required to make this work smoothly.
  • How do you want to detect and handle duplicates? If you are merging business units, how do you determine if you have a common customer and which record “wins” in that event?