SAVO evolved as a content repository for sales collateral which we make visible in a lot of our applications
Group 1: Only show content with specific types of metadata in specific applications
Group 2: Tie Permissions to Specific Business Rules
Group 3: Workflow Rules
Group 1 requires a vocabulary something like this:
Figure 1 Vocabulary for Content Rules
These rules can be represented in decision table format like this:
Figure 2 Determine Content Rule Sheet
If we now run the ambiguity checker we will find the following:
Figure 3 Ambiguity Check
This is because the way we have defined 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 do they really mean?”
Does rule 1 mean that ppt and pptx can ONLY be accessed by Presentation or does it mean ONLY Presentation can access ppt and pptx or does it mean that Presentation can ONLY access ppt and pptx.
Or should the rule 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 application 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:
Figure 4 Many to Many Relationships
The rule sheet then needs to be changed as follows:
Figure 5 Creating New Objects
With a scope section like this to define the alias “app”
Figure 6 Scope with Aliases for Collactions
And a test case might look like this:
Figure 7 Test Case for Content Rules
Group2 is a little more complex since we need to model the relationships between a User and:
Figure 8 Vocabulary for Permission Rules
In this model we make the assumption that a user may have many roles, tenants and groups
Group 3 could actually be split into three non-overlapping parts, but for now we’ll keep them all together in this vocabulary:
Figure 9 Vocabulary for Workflow Rules
Actually these three rules are unrelated to each other (except that they have something to do with Workflow) so they probably should be separate sheets.
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:
Figure 10 Workfllow Rules Combined in one Rule Sheet
So Splitting into three sheets gives us:
Figure 11 Reports Rule Sheet
Figure 12 Reports Test Case
Figure 13 Opportunities Rule Sheet
Figure 14 Opportunities Test Case
Figure 15 RFP Rule Sheet
Figure 16 RFP Test Case