Corticon Implementation Walkthrough: Sales Content Repository

September 14, 2023 Digital Experience, Corticon

In this walkthrough, we’ll show you how to implement rules that provide salespeople with specific content depending on the context of the application they’re working in, permissions for their role and sales process workflow rules.

There are three categories of rules:

Category 1: File type rules

1. Only files with type .ppt or .pptx should be visible within the Presentations app

2. Only files tagged with “Product1” appear in the Teams app

3. Only files modified within the last week appear in recently accessed items

Category 2: Role permissions rules

1. Director level employees with role of analyst has permission to use the ad hoc reporting tool

2. Within Tenant A, users in Group B can only download assets on mobile devices

3. Within Tenant B, users in Group C can only see opportunities in the West District in the CRM

Category 3: Workflow rules

1. Every week, push reports A and B to all manager level roles in Tenant D except for those in the West Region

2. If an opportunity’s data quality index (dqi) drops below 20%, email Sales VPs a warning

3. If a question that appears in multiple RFPs is updated, retroactively update all prior RFPs the question appears in

Modeling the Group 1 (Content) Rules

1. Only files with type .ppt or .pptx should be visible within the Presentations app

2. Only files tagged with “Product1” appear in the Teams app

3. Only files modified within the last week appear in recently accessed items

Vocabulary

Rulesheet

Optimizing Rulesheet Logic: Ambiguity (Conflicts) Checker

The conflict checker shows that as currently modeled, the rule action only allows us to choose ONE application to grant access to. At this point we need to revisit the rules and ask, “What is the actual intent of these rules?”

Does rule 1 mean:

  • ppt and pptx can ONLY be accessed by Presentation?
  • Only Presentation can access ppt and pptx?
  • Presentation can ONLY access ppt and pptx?
  • Allow all accesses if the file happens to be ppt and Product1 and SPP?

Depending on how we want the rule to behave we may need to change the rulesheet. Let’s assume the intent of the rules is to permit access to all Applications for which the file meets the specified rules. This means we cannot have a single attribute for the result because a subsequent rule will override a prior rule’s result.

To correctly model this we need to introduce a new business object (the Application) and set up a relationship between the files and the applications that are allowed to access them. This will be a many-to-many relationship:

The rule sheet then needs to be changed as shown below. Within the scope section, we’ll define an alias, “app”.

When the conditions are met, a new instance of Application (given the alias within this rulesheet, "app") will be created as a child entity of File.

Testing the Rulesheet

Now, we can test specific scenarios against the rules to validate the behavior:

Modeling the Group 2 (Permissions) Rules

1. Director level employees with role of analyst has permission to use the ad hoc reporting tool

2. Within Tenant A, users in Group B can only download assets on mobile devices

3. Within Tenant B, users in Group C can only see opportunities in the West District in the CRM

Group 2 is a little more complex since we need to model the relationships between a user and:

a. The Groups in which they belong

b. The Roles’ respective permissions

c. The Tenants to which they’re assigned

Vocabulary

In this model we assume that a user may have many roles, tenants and groups:

Their permission levels are now defined in a new rulesheet:

Modeling the Group 3 (Workflow) Rules

1. Every week, push reports A and B to all manager level roles in Tenant D except for those in the West Region

2. If an opportunity’s data quality index (dqi) drops below 20%, email Sales VPs a warning

3. If a question that appears in multiple RFPs is updated, retroactively update all prior RFPs the question appears in

Group 3 could be split into three non-overlapping parts, but for now we’ll keep them together in this vocabulary:

Rulesheets

Since these three rules are unrelated to each other (except that they have something to do with Workflow), it makes the most sense to model them in separate rulesheets. In fact, if we put them all on a single sheet you can see how they are independent since none of the rules share any of the attributes:

Let’s instead split them into three sheets with their own respective test cases.

1. Every week push reports A and B to all manager level role people in Tenant D except for the West Region.

2. If an opportunity’s data quality index (dqi) drops below 20%, email Sales VPs a warning.

3. If a question that appears in multiple RFPs is updated, retroactively update all prior RFPs the question appears in.

This is just a taste of the complexity of rules that can be codelessly authored and operationalized in Corticon. To learn more or try a free evaluation, visit progress.com/corticon.

Learn More

Seth Meldon

Seth Meldon is a Pre-Sales Engineer with a primary product focus area of Progress Corticon Business Rules Engine. His work is focused on educating and demoing Corticon’s expansive functionalities, use cases, and architectural strategies to internal and external audiences. You can follow Seth on LinkedIn.

Read next A Difference in Inference: Handling Interdependencies Between Rules