In the past, the only mechanism available to a campus that didn't want to reveal their calendar event categories to requestors was to employ the (often clunky-looking) calendar requirements. There is nothing wrong with taking that approach, but now Rules can handle calendars with a bit more finesse.
How Rules Work
Rules provide a choose-your-own-adventure approach for driving calendar requests by allowing you to tailor the custom attributes that appear on users' event forms to your needs. Generally, a calendar process, driven by a robust use of rules will be kicked off with an initial question like "Do you want your event to appear on a public calendar?" and a Boolean data type, (meaning it has a Yes or No answer.) This question would be built as an event custom attribute and attached to all of your event types in 25Live, working as follows:
So now that you have a feeling for how this process will work, what infrastructure will you need to build?
Building the Infrastructure for a Rules Driven Calendar Request System
There are any number of ways you could set your structure up. However, this approach is one in actual use by a number of institutions to drive calendar selections.
1. Build the Initial Question
To build the initial question for your rules-based calendar request system:
- Navigate to the System Settings → Master Definitions in 25Live.
- Choose the Boolean data type from the dropdown menu and click the Create button.
This creates a new event custom attribute that you will need to name by clicking the Edit button.
Modify the Name and Save your changes.
Note: A Few Event Custom Attributes Are Generally Not Part of a Rules Structure
A small number of event custom attributes related to published calendars should not be part of your rules structure. Generally, when people drive their calendars with an initial question, they will require a response from all requestors and schedulers to the calendar question. Since that question is required, all of the additional event custom attributes revealed based on the initial rule will also be required. The event custom attributes that should be attached to your event types and not attached to your event rules include:
- Event Image
- Detail Image
- Featured Event
- Web Site
2. Connect the New Event Custom Attribute to Event Types
Now that you have your initial question created, you need to attach it to all of your event types (except for academic event types like Section and Exam).
- Navigate to System Settings → Master Definitions → Event Types → List. Toggle the view to List View.
- Select an Event Type from the list.
- Scroll down to Custom Attributes and click the Select Custom Attributes button to make modifications.
- Select your initial leading calendar question, Detail Image, Event Image, Featured Event, and Web Site custom attributes to add to your event types and press Done.
Tip: Add Only What You Need
Don't forget that you only need to add the initial question and the other four event custom attributes listed above if you are using rules to drive your calendar selection process. The rule structure will take care of adding any additional calendar custom attributes based on response to the first and follow-up questions.
- Save your changes.
At this point, you have successfully completed your event type modifications and are ready to begin building your follow-up calendar event custom attributes.
3. Build Follow-up Calendar Questions
If a user answers Yes to your initial question, you'll want to present them with a follow-up question that asks them to select a calendar for their event.
To add your first follow-up event custom attribute:
- In System Settings → Master Definitions, create a new custom attribute of the Text data type.
- Name it something similar to Please choose a calendar from the list.
- Click the Show button to begin setting up your list of discrete options.
- Click the Add Option button to add your first selection.
Continue adding options until you provide a complete list of possible
Notice that the list is not alphabetized? Use the Move Up and Move Down buttons to move the entries around and get them alphabetized.
- When you are satisfied, click the Save button. You have now successfully turned a Text data type field into dropdown list of discrete options.
What if there are instances where you want to allow a requestor a second calendar for their event to populate on? In that case, you could create a secondary question (data type: Boolean) that would simply ask Does your event need to appear on another calendar as well?Answering in the affirmative Yes, would reveal a second discrete list of calendar options (simply a replication of your first list in a new event custom attribute. In this case, the question following an affirmative response would be something along the lines of Please select a secondary calendar for your event.
You will also want to make sure that you use the Sort Order functionality in System Settings → Master Definitions → Event Custom Attributes to sort the questions in the order that you want them to appear. Use the drag-and-drop capability to position the questions in the right order and then click the Save Sort button to commit your changes.
You may ask as many questions related to calendars as you need. For instance, let's say you wanted to ask the requestor if they would like their event reviewed to determine if it should be a featured event, you could ask an additional question like: Would you like your event to be reviewed for becoming a featured event? This event custom attribute would use the Boolean data type.
4. Set Up Notifications
Obviously, you will need some sort of notification system working so that the person or persons responsible for reviewing all these requests will know what requestors want and can then attach the appropriate categories to those events. Using the Rules, do one of the following:
- Based on an affirmative response to the initial question, you may set a general Calendar (Requirement) with an associated notification policy to one or more users (e.g., Review Calendar Request).
- Based on the calendar selected from the discrete options list, you may set a separate Calendar (Requirement) with notification policy going to one or more other users based on which calendar was selected by the requestor.
5. Build a Calendar Requirement
You may build calendar requirements in 25Live now as well. You will build these new requirements in the System Settings → Master Definitions → Events → Requirements → Calendar section of 25Live.
Once you have created the corresponding requirements, you use the Show button to open the Notification Policy to set up a notification task for a user or a group of users for each calendar requirement that you create.
If you build separate calendar requirements for each calendar option, you may have different sets of users notified to review and set the category or resource driving the calendar. However, you do not need to attach these calendar requirements to your event types if they are part of your rules. If these are incorporated into your rules, the rule will add them to the event without the requirement needing to be automatically associated with the event type. This simplifies the event form for your requestors.
6. Require a Response to the First Question in the Rule Structure
Using this approach, you will very likely want to require all of your users to respond to the initial calendar question by making use of the Security Group options in 25Live Group Administration. You will need to visit Security Group Preferences Configuration and for each security group specify that the initial calendar question is a required response. Remember that if you take this step any custom attributes associated with the initial question drive by your rules framework will become required as well.
Building the Rules for Your Calendar Framework
Once you have all of your infrastructural elements built, you are ready to deploy rules to drive the process. Rules are built in the System Settings → Event Form Settings group.
1. Build the Initial Rule
- In System Settings → Event Form Settings, select the Rule Settings option and click the Add New Root Rule.
- The Form Rule Settings will open. Give the rule a Name that will indicate what the rule is accomplishing (e.g., Initial Calendar Question). The Operator may be left to and because you will only have one condition for this rule. But, it is possible to have multiple conditions and even nested conditions as part of a rule.
- Click the Add Condition button to open the first conditional item and make sure that the Source Type is set to Custom Attribute. From the accompanying dropdown list of custom attributes, select your initial calendar question from the list, set the Operator to equals (=) and toggle the response to Yes.
- Now, you need to select your Target Type by selecting Add Custom Attribute and clicking the Edit Targets to select the event custom attribute using the discrete list of food vendor choices.
- Save your new rule to apply it to your event forms.
2. Build Subsequent Rules
If you wanted to present a question about placing the event on a second calendar after the first calendar selection has been made, you would build the rule illustrated in the following image.
Notice that the rule relies on your calendar selection custom attribute. It basically indicates that if the choice is any of the calendar discrete options then reveal the follow-up question, "Does your event need to go on another calendar?". Since this data field is a Boolean data type, an affirmative answer will reveal a second custom attribute to collect the name of the second calendar the event should appear on. This rule would look almost identical to the very first rule in your framework (see below).
With this approach, you are slowly revealing a logical progression of follow-up questions but only if the answer to the initial calendar question was Yes. Otherwise, these fields remain hidden and do not clutter up the view of the user.
We could take this process one step further and talk about Featured Events. Obviously, you will not want to reveal your Featured Events custom attribute to your event requestors. After all, are not all events featured events? We know that not all events are truly "featured" events. In this case, we may want to give a requestor a way to indicate that they want their event to be featured. A simple rule based off the affirmative answer to our initial question will suffice to reveal this question (see below).
Setting up Rule to Set Calendar Requirements
Now that we have all the rules in place for our key questions concerning calendars, we need to automate the process of getting the Requirements (Calendar) set with notification policies. If you need only one calendar requirement for all your different calendars, you will only need one additional rule. However, if you need a calendar requirement for each calendar because different sets of users will review these requests, you will need one rule for each separate calendar and its corresponding calendar requirement.
To build a calendar requirement rule to set a single calendar requirement, you would base your rule on the initial calendar question. An affirmative answer would be used to automatically set the calendar requirement as shown in the image below.
In those cases, where you need separate calendar requirements based on each calendar selected, you will need multiple rules. Each rule will be use the two calendar choice custom attributes to set a Calendar requirement as show below.
Notice that we have added a second condition joined with an OR operator. This means that if either the first or the second calendar is set to Student Life the rule will automatically attach the Publish to Student Life Calendar notification to the event executing the notification policy tied to the requirement. You will repeat this process for each of your calendar choices. However, the requirements will not be natively associated with the event type meaning that your requestors will never see these requirements on their event forms.
Event Form Configuration Settings
You will also need to check your event form configuration settings to ensure that the custom attributes attached to the event type will display by default. To check these settings:
- Go to System Settings → Event Forms → Configure Settings and select an event form from the Select a Config to edit dropdown menu.
- Locate the Automatically Add Custom Attributes setting and make sure it is toggled to Yes.
- Finally, if you have put specific instructions for filling out the custom attributes on your event forms, use the Automatically Open Help Message and set the Custom Attributes edit to Yes so that the instructions display by default.
- When you are finished, click the Save button to save the settings for this event form. Repeat this process for each of your event forms.
Typically, the initial calendar question, Event Image, Detail Image, and Web Site event custom attributes should appear on the Requestor's event form. Approver-level users would also likely see Featured Events by default.
What If I Want A Rule to Set a Resource?
Some institutions send events to their major calendars using calendar resources. This allows them to make use of assignment policy and control based on assigning or denying of requests as to whether any given event gets onto a specific calendar. But, what if you do not want requestors to have to request the resource? Rules may also be used to add a specific resource. For instance, maybe you wanted to drive your Student Life calendar with a resource so that a task would route to the approver of that calendar for review. In this instance, your rule would be set up to add the appropriate calendar resource based on the calendar selected from the list of options on the event custom attribute. Again, this rule will be a little more complex if you are allowing them to select multiple calendars. So, let's take a look at the two approaches. If I am only allowing each event request to only select one calendar in my rules, then I would create a rule to add a Calendar - Student Life resource based on the response to the Choose a calendar question (see below).
In the case of the two calendars option that we have outlined, the rule will require to conditions with an Or operator and would like the following image.
This rule allows you to capture the Student Life choice on either the first or the second calendar selections.
If we use this approach, we would not need to set calendar requirements and would allow assignment policy and task workflow to route the request to an appropriate approver for review.
Rules give us a wealth of possibilities for structuring robust sets of questions and can be structured to be progressive in nature. You should spend the time to learn how to employ these for your calendar workflows and more.