These articles have been prepared for schools using 25Live Pro and Publisher.
In This Article:
- How Do Rules Work?
- Building the Infrastructure for a Rules Driven Calendar Request System
- Building the Initial Question
- Building the Rules for Your Calendar Framework
- Event Form Configuration Settings
In the past, the only mechanism available to a campus that did not want to reveal their Calendar event categories to requestors was to employ the sometimes rather clunky-looking calendar requirements. There is nothing wrong with taking that approach but now that 25Live Pro has a more powerful engine that provides Rules means that we handle calendars with a bit more finesse.
How Do Rules Work?
Rules provide a method for a campus to generate a choose-your-own-adventure type approach to driving calendar requests. This allows you to simplify the number of custom attributes that will appear for users on their event form. 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?". The question will be built as an event custom attribute and attached to all of your event types in 25Live. It will be an event custom attribute of data type Boolean meaning it becomes a Yes or No answer. The rule will work 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.
Building the Initial Question
To build the initial question for your rules-based calendar request system:
- The initial question will need to be built in 25Live Pro using the System Settings → Master Definitions.
- Choose the Boolean data type from the drop-down menu and click the Create button.
This creates a new event custom attribute that you will need to name by clicking the Edit button.
Why Build it in 25Live Pro Instead of Administration Utility?
If you have worked with 25Live for a while, you know that the length of custom attributes built-in the 25Live Administration Utility is quite limiting and makes it nearly impossible to provide a real question. Unlike the Administration Utility, building the event custom attribute in 25Live Pro relaxes those limits quite a bit giving you enough room to build a meaningful question. For the purposes of building meaningful event custom attributes, you should transition immediately to building master definitions in 25Live Pro.
Modify the Name and Save your changes.
A Few Event Custom Attributes Generally Not Part of a Rules Structure
There are a small number of event custom attributes that are related to published calendars that generally 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, and
- Web Site.
Connecting 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 your academic event types like Section and Exam).
In the Administration Utility:
- Click on the Event Type Hierarchy to make modifications to the event types.
- The Manage Event Type Hierarchy group will open. Click on Browse (manage/add).
- Your entire event type hierarchy will load. Click on the cabinet for events and open the folders and event types associated.
- The list of your active event types will appear. To add the calendar-related event custom attributes to your event types, CTRL+Click to select all of the event types. Then click the Edit button.
- The list of selected event types will be displayed with a series of options to add and remove various elements.
- Locate the option labeled, Custom Attributes (ADD) and click the checkbox to open the event custom attributes.
Select your initial leading calendar question, Detail Image, Event Image, Featured Event, and Web Site custom attributes to add to your event types.
Adding Just What You Need
Do not 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.
- Click the Save Changes button to commit the modifications to all of the selected event types.
- You will receive a message when the updates are completed as to the successful modification of your events types.
- At this point, you have successfully completed your event type modifications and are ready to begin building your follow-up calendar event custom attributes.
Building Follow-up Calendar Questions
If a user answer Yes to your initial question, you will 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 drop-down list of discrete options.
What if there are instances where you want to allow a requestor to indicate a second calendar for their event to populate? 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.
Setting 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, you may do one of the following:
- Based on 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). OR
- Based on the calendar selected from the discrete options list, you may set a separate Calendar (Requirement) with notification policy going to a different user or users based on which calendar was selected by the requestor.
Building a Calendar Requirement
You may build calendar requirements in 25Live Pro now as well. You will build these new requirements in the System Settings → Master Definitions → Events → Requirements → Calendar section of 25Live Pro.
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.
Requiring 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.
To 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 drop-down 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 calendar choices.
- Save your new rule to apply it to your event forms.
Building 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 drop-down 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 be 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 on to 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.