TracCloud: SAGE
From Redrock Wiki
Additional Features |
SAGE SAGE (Student Alert and Group Events) is an additional module available for the Trac System. SAGE allows your faculty members to submit referrals, progress reports, or evaluations for the students enrolled in their courses. Based on the choices made while creating the referral, an automated email could be sent out to the student's assigned advisor, a professor, or otherwise, that way you and your staff can be as proactive as possible in helping your students. You can think of SAGE like a three-step process.
Faculty View / Roster AnnotationsFaculty Members are typically the primary user-type submitting referrals, and as such, they have a streamlined view of the referral submission process. Within the faculty dashboard, you'll find their class rosters along with the referrals that have been designated as Roster Annotations (which we'll cover more later). This allows faculty to immediately access important referrals for each of their rosters. As a faculty member, let's say we wanted to submit a referral for one of our classes. We can simply click on the referral we want to submit for any given roster, and we'll be given access to a batch-referral tool. From this menu, we can click on individual students and fill out unique referrals for each without leaving this screen. Once we've filled out referrals for the specific students, we click save, and we're all set. The referral process has begun for each of these students that we filled out a referral for. If the referral is configured as a roster annotation for [X] days (we'll cover this later), we can even open this batch-referral tool later (but within the day limit) and continue where we left off. The green check-marks indicate a referral that has already been opened. Clicking it again lets us pick up right where we left off. We also have the ability to apply the same Reason/Recommendation to multiple students at once. Select Affect All Selected and Shown and check the checkboxes for each students we want to affect. Now when we make a recommendation or apply a reason to one student, it will also affect all other checked students. Students that have been affected by this approach will be designated by a ... icon as seen in the image below. As a faculty member, we can also book an appointment for the student from this screen as well (assuming our permission group allows it). This can be accomplished by clicking on the calendar icon on the right-hand side for the relevant student. Individual Student ReferralsReferrals can also be submitted individually from students' profiles. As non-faculty users don't have access to the class roster view, this will be their primary tool for submitting referrals, but faculty can of course use this method as well. New referrals can be created through the Actions button, past referrals can be viewed on the student time line. After selecting the referral type that we want to submit, we're taken to the full referral submission screen. We'll cover more on configuring this side of SAGE later in this guide. Student List Mass Referral ToolWe can also submit referrals from the student listing. This allows us to search for students enrolled in a specific course, pull up a list, or just search for a couple students manually and create referrals in bulk. This screen will operate in the same way as the faculty roster referral tool. Students are selected with the checkboxes on the right-side. ProcessedAfter a referral is marked as processed, we will see the following screen summarizing basic information about this referral, and providing a location to write additional notes about how this situation was resolved. Once saved, the final "Processed" email will be sent out (which we'll learn more about later). Admin View and SAGE ManagementFrom an admin's perspective, we can submit referrals, create new referral types, and run reports on our SAGE data. The majority of this section will be spent going over SAGE configuration. SAGE ConfigurationTo create new SAGE Referral Types, modify existing, or simply review your current configuration, go to Other > SAGE > Referral Types. This will bring you to the Referral Type Listing. To create a new Referral Type, you would click the hamburger icon (File:Hamburger.png), then select New Referral Type. But for our Example, we're going to take a look at an existing referral.
Reasons & RecommendationsReasons and Recommendations can be one of the most important aspects in creating these referrals, as these options can also dictate which emails get sent out to whom. Typically, these would be configured to allow your faculty to quickly describe where the student is struggling and what they recommend as a solution. However, since these are entirely customizable, you can ask any questions you can think of to help make the referral creation process as straightforward as possible. Click the Add Reasons / Recommendations box to add a new option. Setting a Reason/Recommendation as a "Label" will turn the field into a form of header for the following reasons, to help categorize your different options. These options can also be reorganized by dragging the hamburger icon (File:Hamburger.png) on the right-side up/down. Custom QuestionsCustom questions allow you to add additional questions to your referrals, these questions can ask whatever you'd like and can be formatted as a Pulldown, Fill-in, or Essay field. To create your custom question, click Add New Question.
Potential Email RecipientsThese are the possible recipients of alert emails relating to this referral. For example, if this referral's automated emails can be sent to students, then you will need to add students to the list, as seen in the screenshot below. The name of this field is just for reference, it's only important that the correct email tags are used.
Referral to Testing CenterThis allows you to provide faculty the ability to book appointments for students that they're creating referrals for. Typically used for Testing Centers or Lab environments, where faculty would need to book appointments on behalf of students, or assign multiple students to the same Group Availability.
From the faculty perspective, there's a Schedule icon for each student in the roster referral listing, and/or the option to select multiple students and click "Book Testing Center Appointment" to schedule a group appointment for all selected students. Automated EmailsThe Automated Emails tab allows you to create custom emails that can be sent to one or more of your Potential Email Recipients upon referral submission. Common examples might be an email that is sent to the student when a referral is created for them. Faculty or other staff might also receive different versions of the same email, or a completely different email if configured in that way. To create your first Email, click Create New Email, type in your subject line, then click Save. This will add the email to your Automated Emails listing. Click the Pencil Icon for the email you just created, and you should end up at a page like this.
One of the key elements of configuring your SAGE emails is Twig, which you can think of as a mini-programming language. Twig plays two key roles, providing tags for the information displayed, and adding logic to your email to determine what content is sent.
A full list of email tags can be found further into this guide, but to give a quick example, you could format an email as such:
This is where Twig gets slightly more complicated, but significantly more flexible. Let's say you want to add an extra sentence to your email, but only if a particular reason was selected. In that case, you could write your email like this: {% if "Poor Attendance" in Reasons %} That sentence will only be included in the email body if that Reason was selected. The extent of what Twig is capable of is outside the scope of this article, but there are many resources available online, and even a collection of common use-cases on our own Wiki. Email TagsMany of the standard email tags can be utilized in SAGE emails in the same way, but there are also a few SAGE-specific tags to take note of as well. A complete list of tags can be found in our Twig Guide. TracCloud Twig Guide
Many text fields throughout TracCloud support Twig and HTML, giving you greater control in determining what data is displayed to your students, staff, and faculty based on the context of appointments, visits, and more, as well as formatting that data to be as clear as possible. Twig will be the primary focus of this article. Twig is a template engine that serves two primary purposes in TracCloud:
Twig (and HTML) are supported in profile emails, welcome messages, email templates, appointment display, and more. Most of the examples listed in this article are for appointment emails or SAGE referrals, but the same concepts apply in all other supported fields. It's also worth keeping in mind that Twig exists outside of TracCloud and there are many resources online for how you can utilize it that will also work here (such as Symfony). This guide likely covers everything you will need, but it doesn't cover everything that Twig is capable of. HTML will also be used sparingly throughout this article, but without much explanation as it's more ubiquitous than Twig. There are many excellent resources online explaining how to use this markup language, such as W3Schools. HTML is used to adjust font sizes and colors, embed images and videos, and more. Part 1. Syntax, Terminology, and Essential KnowledgeWhen reading the wiki or talking to support, you will often see fields like Student.First_Name or Courses.Subject referred to as "Twig tags." To use another term, these are variables. They contain data, it's up to you what you do with that data through Twig. If you're at all familiar with any programming languages, then you likely already know the concepts. This article will provide you with the necessary knowledge to use Twig in TracCloud, regardless of your current knowledge level. Important: A complete list of Twig tags can be found here. Not all tags can be used in all places, but you can almost always predict what will and won't work in a given location. For example, in the Appointment Confirmation Email, you can expect to use Student, Reason, Subject, Staff tags, etc. Whereas in the Notices on KIOSK, you can only use Center tags. This is because when that message is displayed at the top of an idle kiosk, nothing ties that message to any one Student or Staff record, let alone Registrations, Reasons, etc. Whenever you're using Twig, you'll see different delimiters being used.
Here's how those would work in practice. If we sent this to a student named "John," they would receive the message on the right. Notice how the conditional text was handled, and that the comment wasn't shown. Hi {{Student.First_Name}}!
{% if Student.First_Name == 'Jane' %}
Your name is Jane.
{% else %}
Your name is not Jane.
{% endif %}
{# I never said this example would be realistic #}
Now here's a more realistic example. Hi {{Student.First_Name}},
Your appointment has been scheduled for {{Appointment.StartTime}} on {{Appointment.Day}}, {{Appointment.StartDate}} with {{Consultant.FirstLast}}.
{% if Appointment.Online == 1 %}
Click here to join your appointment: {{Appointment.OnlineLink}}.
{% endif %}
Part 2. if StatementsThe vast majority of the logic you're likely to build with Twig will be if statements. Simply, "if A, do X." You could also do "if A, do X. Otherwise if B, do Y. Otherwise if C, [...]" and so on. For a realistic example, "if the student selected the reason 'Exam Help,' then include the following paragraph" or "if the appointment is online, include the online meeting link." An if statement always begins with {% if [...] %} and ends with {% endif %}. When building emails and messages, you will be working with Twig tags (variables) in these statements. So the following... {% if 2 > 1 %}
two is greater than one!
{% endif %}
{% if 1 == 1 %}
1 is the same as 1!
{% endif %}
{% if "foo" != "bar" %}
"foo" is a different word than "bar"!
{% endif %}
...functions just like this. Once again, a list of these tags and definitions are available here. {% if Appointment.Online == 1 %}
This is an online appointment, click the following to join....
{% endif %}
{% if Reason.ReasonName == "Writing Support" %}
Please remember to upload your paper to your appointment. Here's how...
{% endif %}
You can add else and elseif statements before the endif too, to handle alternate cases easily (rather than multiple separate if...endif statements for every condition). {% if Appointment.Online == 1 %}
Join Virtually: {{Appointment.OnlineLink}}
{% elseif Appointment.Online == 2 %}
Accessing your Appointment: Login to TracCloud to view your asynchronous appointment.
{% elseif Appointment.Online == 3 %}
We will call for your phone appointment at your chosen time.
{% else %}
In-person location: {{Appointment.Location}}
{% else %}
To check multiple conditions, and and or statements can be used. {% if Reason.ReasonName == "Academic Coaching" and Student.WatchLists.wl_14 == 'true' %}
Please remember to bring XYZ to this appointment.
{% endif %}
{% if Reason.ReasonName == "Peer Tutoring" or Consultant.CustomData.cf_123 == 'true' %}
You have booked an appointment with a Peer Tutor!
{% endif %}
A list of operators can be found in part 4. Part 3. Working with Arrays>95% of Twig tags you will work with in TracCloud contain single values, but a very small number of fields are arrays containing multiple values. Most notably, SAGE reasons & recommendations and Multiple Checkbox custom fields. As an example, take Student.First_Name. This field can only contain one value at any given time. Student.First_Name = Jane, so {{Student.First_Name}} outputs Jane. But how about the Reasons field in SAGE referrals? This is an array that contains "Poor Grades" and "Acceptable Attendance" and "Lack of Focus." If we try to use {{Reasons}}, we'll get an error. That's where we have to take a slightly different approach, using the for tag. Here's how this works, with an example variable so you can see what it's working with. For each item in the "exampleField" array, it prints the item (and adds a <br> tag to insert a line break). {% set exampleField = ['a','b','c'] %}
{% for item in exampleField %}
{{item}}<br>
{% endfor %}
Now back to our SAGE example. Remember, Reasons is an array that contains ['Poor Grades','Acceptable Attendance','Lack of Focus'].
{% for item in Reasons %}
{{item}}<br>
{% endfor %}
You can also check if a value is in an array as an if statement like this. Inversely, you can do not in instead of in to check if a value is not in an array. {% if 'Poor Grades' in Reasons %}
Here are some great resources to improve your study habits...
{% endif %}
{% if "Meet with Advisor" in Recommendations %}
We recommended that you meet with your advisor, here's how to schedule...
{% endif %}
More Twig examples and tag definitions for SAGE emails can be found here. Part 4. Tips and TricksThe remainder of this article covers some extra tips and tricks, as well as unique functions that may be of use. 4.1. Special TagsTracCloud has a few special functions listed below that can be used to prevent an email from sending, CC additional recipients, automatically get special values, and more. More of these functions are available specifically for certain modules, such as SAGE Early Alerts, Success Plans, and Work Plans. Visit the emails/Twig sections of those articles to learn more. The ones listed below are available throughout TracCloud.
4.2. List of OperatorsBeyond the basics like == (equals) and != (not equals), there are plenty more operators available depending on what you want to accomplish.
4.3. FiltersFilters can be used to modify or change the data stored in variables. One of the most common examples is using the 'date' filter to modify the format of dates in emails. For example, {{Appointment.StartDT}} would return 2026-01-31 14:00:00, while {{Appointment.StartDT|date("D, F j, h:ia")}} would return "Sat, January 31, 02:00pm." (click here for a list of datetime format codes). A list of some of the supported filters and functions in TracCloud can be found below.
4.4. IndentationTwig is not indentation sensitive. Most of the examples in this article use indentation to improve readability, but it will function regardless of it. All three of the examples below will function identically.
{% if Appointment.Online == 1 %}
This is an online appointment!
{% endif %}
{% if Appointment.Online == 1 %}
This is an online appointment!
{% endif %}
{% if Appointment.Online == 1 %}This is an online appointment!{% endif %}
4.5. Streamlining Twig StatementsIf you find yourself writing something like this: {% if Reason.ReasonName == 'X' or Reason.ReasonName == 'Y' or Reason.ReasonName == 'Z' %}
Try using an array instead. Both will work, but the latter is cleaner and easier to update later. {% if Reason.ReasonName in ['X','Y','Z'] %}
If you're repeatedly checking the same condition, like this: Your {% if Appointment.Online == '1' or Appointment.CustomData.cf_123 == 'Hybrid Appt' %} online {% endif %} appointment has been scheduled for...
Location: {% if Appointment.Online == '1' or Appointment.CustomData.cf_123 == 'Hybrid Appt' %} To join, please click... {% endif %}...
Appointment policies: {% if Appointment.Online == '1' or Appointment.CustomData.cf_123 == 'Hybrid Appt' %} Please remember to... {% endif %}...
Consider setting a variable once and using that instead: {% if Appointment.Online == '1' or Appointment.CustomData.cf_123 == 'Hybrid Appt' %}
{% set online = true %}
{% else %}
{% set online = false %}
{% endif %}
Your {% if online %} online {% endif %} appointment has been scheduled for...
Location: {% if online %} To join, please click... {% endif %}...
Appointment policies: {% if online %} Please remember to... {% endif %}...
This one is more minor, but in most cases instead of writing this: {% if Appointment.Location != '' %}
You can write the following. This will return true if that field is not false, blank, or 0. {% if Appointment.Location %}
Part 5. Getting HelpIf you're a primary SysAdmin for your TracCloud instance and you need some help with Twig or HTML, feel free to reach out to us. Scroll all the way to the top of this page and click the "Support" tab to visit our helpdesk. The final two options, where ".CODE" is used, refer back to your Custom Question Code Reference. For example, if your Code Reference was "GradeQuestion1," the format of this tag would be {{Questions.GradeQuestion1}}, {{Answers.GradeQuestion1}}, etc. Group AccessIn order for staff members to view and/or edit referrals, they must be provided access in their permission group. This also gives you the ability to fine-tune what they can and can't do in relation to these referrals. Other > Other Options > Groups > [The Group you want to modify] > Admin / Modules
ReportsThere are two SAGE-specific reports available in TracCloud, each providing a different way to view your referral data. These reports can be found in the Navigation Bar, under Reports > SAGE. Other Feature TopicsCareer CenterQ2 TablesRetentionSAGE• Referrals by Student and Appointments/Visits SurveyTrac• Survey Response Rate Comparison • Unanswered Staff/Faculty Surveys Success PlansWork PlansWorkshopsSAGE Referral Snapshot
This report provides a snapshot of referrals submitted, including reason and recommendation totals and the number of students per reason/recommendation.
Other Feature TopicsCareer CenterQ2 TablesRetentionSAGE• Referrals by Student and Appointments/Visits SurveyTrac• Survey Response Rate Comparison • Unanswered Staff/Faculty Surveys Success PlansWork PlansWorkshopsSAGE Referrals by ??
This report provides a list of referrals submitted in the date range specified. The data is grouped by Referral Type by default, showing the student's name, referral date, the staff member who submitted the referral, and the reasons/recommendations selected. A limited version of this report can also be provided to faculty (via the Faculty group) named "Faculty Referrals by ??"
For information on purchasing the SAGE Module, reach out to sales@go-redrock.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||























