Dan's Dev Corner - September 2017
What is an Echo Ruleset?
When we were designing Echo, one of the primary goals was to build a single product that would handle a wide variety of synchronization algorithms. Both from our own experience and talking to numerous customers, it was clear that use cases were pretty different even though they all involved moving data and keeping it in sync. So, instead of trying to invent a gigantic algorithm with hundreds of parameters and options, we decided to create many different, specialized Rulesets.
A Ruleset is just an algorithm that focuses on one particular type of use case. All parameters to a Ruleset are specific to what that module needs to do and nothing extra. This approach supports the goal of being easy to understand and use, as well as the development goal of keeping the code as simple (and reliable) as possible while still getting the job done.
Another design goal of ours was to be able to use these different synchronization algorithms with pretty much any of the DM, File Sharing, and Records oriented systems that we support. To accomplish this, we use what we call an endpoint. Endpoints include OpenText eDOCS or Content Server, iManage, file systems, SharePoint, Salesforce, MS Dynamics, HighQ, and many others. The idea is that any Ruleset can work with any endpoint, supporting a wide range of specific use cases.
Another thing we’ve been finding out over time is just how many different systems customers have in use. We may start out publishing a set of documents to SharePoint as an extranet, but then end up archiving Salesforce attachments, synchronizing documents between a Legal DMS and a deal room, and so on, all with the same product.
The first 3 Rulesets we tackled were Publishing, Archiving, and Bi-Directional synchronization. Publishing is typically used for pushing things out for external consumption, Archiving usually takes information stored someplace else and brings it into the system or records, and Bi-Directional is the more traditional definition of synchronization. With the Echo framework built out, we then decided to add a records archiving Ruleset to handle saving documents and related documents stored in systems like Salesforce and MS Dynamics. Next, we added a couple more specialized Rulesets.
And now we’re in the process of adding a new “Gatekeeper” Ruleset. This one will be used to integrate with HighQ as a user-controlled bi-directional synchronization process that will be tightly integrated with the native HighQ UI. More details of this one will come shortly…