[Progress News] [Progress OpenEdge ABL] Corticon Implementation Walkthrough: Sales Content Repository

  • Thread starter Thread starter Seth Meldon
  • Start date Start date
Status
Not open for further replies.
S

Seth Meldon

Guest
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​


corticon-implementation-walkthrough-sales-content-repository_body-image-1.png


Rulesheet​


corticon-implementation-walkthrough-sales-content-repository_body-image-2.png


Optimizing Rulesheet Logic: Ambiguity (Conflicts) Checker

corticon-implementation-walkthrough-sales-content-repository_body-image-3.png


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:

corticon-implementation-walkthrough-sales-content-repository_body-image-4.png


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

corticon-implementation-walkthrough-sales-content-repository_body-image-5.png


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.

corticon-implementation-walkthrough-sales-content-repository_body-image-6.png


Testing the Rulesheet​


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

corticon-implementation-walkthrough-sales-content-repository_body-image-7.png


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:

corticon-implementation-walkthrough-sales-content-repository_body-image-8.png


Their permission levels are now defined in a new rulesheet:

corticon-implementation-walkthrough-sales-content-repository_body-image-9.png


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:

corticon-implementation-walkthrough-sales-content-repository_body-image-10.png


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:

corticon-implementation-walkthrough-sales-content-repository_body-image-11.png


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.

corticon-implementation-walkthrough-sales-content-repository_body-image-12.png


corticon-implementation-walkthrough-sales-content-repository_body-image-13.png


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

corticon-implementation-walkthrough-sales-content-repository_body-image-14.png


corticon-implementation-walkthrough-sales-content-repository_body-image-15.png


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

corticon-implementation-walkthrough-sales-content-repository_body-image-16.png


corticon-implementation-walkthrough-sales-content-repository_body-image-17.png


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

Continue reading...
 
Status
Not open for further replies.
Back
Top