If your office is using rules-based app cycles, then this article is for you. It serves as a guide for how to approach making updates on your site that have an impact on your Deployment Rules.
If you have not yet started using Deployment Rules, then we recommend that you begin with reading the Admin Console: Deployment Rules article as it discusses the mechanics of this feature along with important considerations to review before making the transition to using rules.
This article contains explanations on how you might approach the following "I Need to Do X" statements that might arise while managing updates to Deployment Rules:
- I Need to Add a Process Element to a Rule.
- I Need to Remove a Process Element from a Rule.
- I Need to Update the Condition of a Rule.
Video instruction covering these updates can be accessed at the end of this article.
Throughout this article, process elements are used synonymously with the following terms: application requirements, requirements, and content.
The Rules Engine
Before making updates, take a moment to review how the rules engine system behind Deployment Rules works.
Deployment rules are sets of conditions that, when met, trigger the action of a specific set of requirements deploying to program applications in Terra Dotta.
Example: If the program group is in Global Programs Group OR Semester Programs Group AND the term is Summer, then deploy Questionnaire X AND Learning Content Y AND Assessment Z.
How do rules actually get deployed?
A rules engine system operates behind the scenes to pick up changes to rules, cycle through relevant applications that have been impacted by those changes, and update those applications accordingly. We often reference the scheduled task that does this work. This task runs on average every 5 minutes or so; however, this time varies as it is a background process picking up changes and taking action as needed. If the task runs and picks up a changes to multiple rules that impact a large number of program applications, then it will take more time for the task to cycle through all of those applications and apply any updates versus when it runs and picks up changes to one rule impacting a smaller number of applications. The system will finish cycling through applications and making updates before the task runs again. With this in mind, the time it takes for the task to run and make updates will vary.
How do you define "relevant applications"?
The rules task is only concerned with applications in rules-based app cycles that have a closing date in the future. (After an app cycle's closing date has passed, applications in the app cycle are no longer cycled through/updated when the rules task runs. Less applications to cycle through means the task can do its job more quickly!)
When the rules task runs, it's primarily focused on two actions: changes to a rule or changes to a program.
If the task picks up changes to a rule, then the task is only going to cycle through those applications to which that rule would be deployed when the current conditions of the rule are met.
If the task picks up a change to a program, then the task is going to cycle through all the applications for that program and update those applications based on the current conditions of the rules deploying requirements to that program.
What happens when I need to update a process element?
Process elements should be updated in Content Management. After your changes are made, you will be presented with the cascade wizard to determine which rules-based app cycles you'd like to update with the new version of the process element.
For pre-existing applications, the changes will be immediately applied to active applications in app cycles to which your changes were cascaded if the process element has not yet been started or completed.
For future applications, the most current version of the process element will be created.
Is there a way to make a change to a rule and immediately update all existing applications which use that rule?
After you make a change to a deployment rule, then you have the option to navigate to Application Finder and perform the "Refresh Requirements" batch action on your desired group of applications. This action will flag the selected applications as needing to be updated. The action does not immediately refresh all of the applications. Instead, the refresh action will occur when one of the following actions subsequently takes place (whichever happens first): an admin views the application in full from Application Admin Manager, the applicant views the application from their application page, or the Application Requirements task runs.
Important Note: If you batch refreshed a group of applications and then immediately ran a report, the updated requirements would not appear unless the Application Requirements task had run or an admin had viewed all of the applications in the batch in Application Admin Manager or the applicants had viewed all of their respective application pages.
I Need to Add a Process Element to a Rule.
To add a process element to an existing rule:
1 - Review your process element in Content Management and make any edits as needed. Cascade any changes to the desired app cycle(s).
2 - Navigate to Deployment Rules. Use the search bar to locate the rule to which you would like to add your process element. Click the "edit" icon to modify the rule, add the process element in step 2.
3 - Click "Save & Close" to preserve your changes.
Next, you have two options:
Option A: Perform the "Refresh Requirements" batch action.
Navigate to Application Finder. Select the applications which should be updated with the newly deployed process element and perform the "Refresh Requirements" batch action. This option flags the selected applications as needing to be updated. The action does not immediately refresh all of the applications. The refresh action will occur when one of the following actions subsequently takes place (whichever happens first): an admin views the application in full from Application Admin Manager, the applicant views the application from their application page, or the Application Requirements task runs.
EXAMPLE: I add a requirement to Deployment Rule ABC, a pre-decision phase rule with the conditions of program group is Program Group A or Group B. I perform the batch "Refresh Requirements" action on my group of applications. The next time an applicant views their application, even if the background task has not run yet, they'll see the requirement on their application page.
Option B: Wait for the rules background task to run.
The next time the rules task runs, it will pick up the change to your rule. It will cycle through the program applications impacted by that specific rule and add the process element to all relevant applications.
EXAMPLE: I add a requirement to Deployment Rule ABC, a pre-decision phase rule with the conditions of program group is Program Group A or Group B. When the task runs, it is going to cycle through all pre-decision phase applications where the program is in Program Group A or Group B and add the process element. If an applicant views their application page before the task has run, then the requirement will not appear.
I Need to Remove a Process Element from a Rule.
To remove a process element from a rule:
1 - Navigate to Deployment Rules and take one of the following actions:
- Click on the "Filter Results" icon and search for your process element. This will display a list of all rules (in case there is more than one) where that process element is currently being used. Using this filter option is a great way to ensure you are pulling in all rules where that process element is being used. Or,
- Use the search bar to locate the rule you want to modify.
2 - Click the "edit" icon to modify the rule. Remove the process element in step 2.
3 - Click "Save & Close" to preserve your changes.
Important Note: If the process element was already started (i.e. a questionnaire's responses have been auto-saved) or completed in an application, then it will remain on the application and will not be removed. An admin would need to first unreceive the process element and then take action if removing these completed process elements was desired.
Next, you have two options:
Option A: Perform the "Refresh Requirements" batch action.
Navigate to Application Finder. Select the applications from which the process element should be removed and perform the "Refresh Requirements" batch action. This option flags the selected applications as needing to be updated. The action does not immediately refresh all of the applications. The refresh action will occur when one of the following actions subsequently takes place (whichever happens first): an admin views the application in full from Application Admin Manager, the applicant views the application from their application page, or the Application Requirements task runs.
Option B: You can wait for the rules background task to run.
The next time the rules task runs, it will pick up the change to your rule. It will cycle through the program applications impacted by that specific rule and remove the process element from all relevant applications.
I Need to Update the Condition of a Rule.
Making changes to the condition of a rule, specifically removing conditions, is not recommended. The action could result in requirements (even those that have not been completed) still appearing on applications where you no longer expect them to appear. If you must edit conditions, it's very important to understand how this action will impact existing applications.
To demonstrate, let's look at an example. I've created the following rule:
- When Program Group is GROUP A or GROUP B, deploy Questionnaire X.
This means that currently, the following is true:
- All applications for programs in Program Group A contain Questionnaire X.
- All applications for programs in Program Group B contain Questionnaire X.
Next, I remove the condition of Program Group is GROUP A from my rule, and this action triggers a change to the rule. When the rules task runs next, it picks up the change and updates only those applications impacted by this rule according to what the current rule is:
- When Program Group is GROUP B, deploy Questionnaire X.
This means that currently, the following is true:
- All applications for programs in Program Group B contain Questionnaire X.
- All applications for programs in Program Group A still contain Questionnaire X (even if that questionnaire was not yet completed). Why? Because the rules task is not looking at what conditions used to be true but are not true now. It's only looking at what conditions need to be true now for this requirement to appear on an application.
Therefore, when you remove conditions, you risk making a change that results in process elements still being displayed on some applications when you no longer want them to appear. They would display until a change took place that would prompt these applications to be updated.
If you must make a change to a condition of a rule, you need to ensure that all applicable, existing applications are updated: those to which the rule applies and those to which the rule no longer applies.
With this in mind, we recommend these steps if you need to update a condition to a rule:
1 - Navigate to Deployment Rules. Edit your existing rule to remove the unwanted condition (such as program group of GROUP A using our example above). Click "Save & Close" to preserve your changes.
2 - Navigate to Application Finder and select all applications which meet the unwanted condition of your rule that you removed in step one (such as program group of GROUP A using our example above).
3 - Perform the batch "Refresh Requirements" action on these applications. This option flags the selected applications as needing to be updated. The action does not immediately refresh all of the applications. The refresh action will occur when one of the following actions subsequently takes place (whichever happens first): an admin views the application in full from Application Admin Manager, the applicant views the application from their application page, or the Application Requirements task runs.
When the applications are refreshed, any process elements which should no longer be applicable to the application will be removed only if those process elements were not already started or completed. If, using our example, Questionnaire X had already been auto-saved or completed, then it would remain on the application and not be removed from that application in Program Group GROUP A. This means that you might have applicants in the same program/app cycle without Questionnaire X on their application and others with a completed Questionnaire X on their application.
If you require that these requirements be removed from the application, then an admin would need to first unreceive the process element (which can be done in batch using the "Edit Requirement" option in Application Finder) and then perform the batch "Refresh Requirements" action. For questionnaires that were completed, the "Erase Responses" batch action should be used as this action unreceives and completely resets a submitted questionnaire.
Video Instruction
- 00:00-08:50: Intro, Task Info, and Adding a Process Element to a Rule
- 08:50-12:10: Removing a Process Element from a Rule
- 12:10-22:35: Updating Conditions of a Rule and More Task Info