Slate Standard Tour Guide Portal

 Prerequisite Skills: Datasets, Portals, HTML editing, JavaScript, and custom SQL snippets

Slate provides a standard Tour Guide portal that can be imported using Briefcase and edited in an institution's database. This portal is configured to use dataset records for tour guide information. 

Tour Guide Portal

Important!

For the context of this article, the portal assumes that tour guides will be dataset records, not Slate users. Tour guides will be added as related records to events in Slate.

Tour Guide Dataset

If the institution already has a dataset for student volunteers or ambassadors and wishes to add tour guides to an existing dataset, records should have a custom field for role. This field can then be leveraged to restrict access to the portal if desired. Prior to building the portal, an institution must have created a custom dataset for the records that will be using the portal.

Users should also be familiar with related records in Events and Scheduler. 

Tour Events Related Records

Creating Tours


Prior to building the portal, an institution should create the appropriate event templates and events.

Events

We recommend creating a specific event template for tours.

  1. Create an event template.
  2. Create events from the template.
  3. Ensure events are saved in a folder.

Creating Tour Events

Editing the Portal Queries

Once the Tour Guide portal has been imported via Briefcase, one query will need to be rebuilt, as the dataset IDs in your institution's database will be unique. Others may need to be edited to accommodate your process.

Default: Logged in Guide

This query will need to be rebuilt: 

  1. Create a new query using Configurable Joins > Records > Name of your Custom Tour Guide Dataset base. 
  2. Add the same exports and filters displayed in the existing query from the briefcase portal.
    • email
    • first
    • last
    • GUID = @identity (this filter refers to the dataset record GUID)
  3. Add any additional exports that you'd like to use as merge fields in the Portal Views.
  4. Add any additional filters, such as an active filter or role filter if part of your process.
Default: Assigned Tours

This query will need to be edited to display the appropriate events for your process. This query uses the Configurable Joins > Form query base. By default, this query limits the results to tours with a start date greater than or equal to today's date where the logged in tour guide is a related record. If you allow these dataset records to be related records for multiple types of events, you may wish to add additional filters to limit the list of events by Template or Folder. 

There are two subquery exports of note in this query.  

    1. future: this formula subquery export will export "future" if the event is in the future. This is later used in Liquid markup to determine what actions (e.g. when a tour guide unjoins a tour) are available based on data.
    2. related_records: this formula subquery export will export a comma separated list of names of related records associated with the event. This export excludes the tour guide logged in.

Assigned Tours Query


Add any additional exports to use as merge fields in the view, as well as any additional filters to limit the results to the appropriate list of events. 

This query has a node of assigned_tours. 

Assigned Tours Node

  Tip

A node is necessary to loop through the list of results in Liquid markup in the view.

Default: Potential Tours


This query will need to be edited to display the appropriate events for your process. This query uses the Configurable Joins > Form query base. By default, this query limits the results to tours with a start date between today's date and 30 days in the future where the logged-in tour guide is not a related record. 

This query also filters by Folder and limits the number of related records for a single tour to two related records. Edit these filters as needed for your process.  For example, if you only allow one tour guide per tour, adjust the subquery filter.

Subquery Filter Limited Sign Ups

This query also contains the two subquery exports of future and related_records, as mentioned above.

This query has a node of tours, which will be leveraged in the portal view. 

Pop-Up: Tour Details

This query uses the Configurable Joins > Form query base and returns information about the selected tour in a pop-up. When clicking on a tour in the portal, whether an assigned tour or potential tour, this query will return information about the specific event. 

To limit the results of the query to the specific tour, the query has a parameter of tour_id, and the filter limits the results to the form with that GUID. 

Pop-Up Query Parameter

<param id="tour_id" type="uniqueidentifier" />

Pop-Up Filter Using Parameter

Any additional exports may be added to use as merge fields in the view, but no additional filters are needed.

There are two custom SQL queries in this portal to allow for POST methods. The POST queries are currently custom SQL and should be edited with care. Please submit a Service Desk request should you need any assistance when making changes to these queries.

POST: Join Tour

This query saves the dataset record as a related record for the selected event.

POST: Unjoin Tour

This query removes the dataset record as a related record for the selected event.
Editing the Portal Views

You may also edit the views to display any additional data points added to the queries, or remove items, or reformat in a different visual layout, etc.

Default

This view contains two tables. "Tour Guide Assignments" builds a table in static content. "Potential Tours" uses the Table Widget. As only one table widget can be used per view, this portal includes both ways of using Liquid markup and tables within a single view. 

Social media, snippets, or other information may be added as desired to the Default view.

Important!

Remember that the merge fields in the view must match the export labels in the query exactly.

Pop-Up: Tour Details
This view is used for the pop-up after clicking on a tour, either under Assigned Tour or Potential Tours. Liquid markup also conditionally displays the Sign Up or Cancel Sign Up button, depending on whether the dataset record is assigned to the event or not. Additional details may be added to this pop-up as desired.
Editing the Portal Methods
The various methods in the Tour Guide portal include GET methods, which call data from queries and display them in views, as well as POST methods, which save or remove the tour guide assignment.

Some methods have actions, while others do not. The methods without actions are called immediately upon accessing the portal.

Default

This method is connected to three queries:

  • Default: Logged in Guide
  • Default: Assigned Tours
  • Default: Potential Tours

This method has no action, as it runs immediately when the portal loads and is connected to the "Default" view.

Pop-Up: Tour Details

This method is connected to the Pop-Up: Tour Details Detail query.

This method has the action of "tour_details" and is associated with the "Pop-Up: Tour Details" view. The output type is "AJAX Popup/No Branding" to avoid duplicate branding within the pop-up.

POST Methods

The two POST methods are not associated with views, as they do not display data. Each method has a different action:

  • tour_assign
  • tour_unassign

These methods are called from the pop-up view when tour guides are joining or unjoining events. 

Testing

To test the Tour Guide portal, you will need to have an example Tour Guide dataset record. You may also wish to create several additional tour guide dataset records to test signing up for events to test the limits on sign-ups.

  Tip

Be sure you also have created events!

To view the portal, go to the internal portal URL, click "Impersonate", and select your test tour guide.

Once in the portal, ensure that you see the expected tours. Click on different tours to view the pop-up and test saving an assignment. You can always return to the Portal Editor to make any changes to the queries and views as desired.

Test the entire interview process, including:

  • Joining a tour
  • Unjoining a tour
  • Maxing out the number of related records that have signed up
  • Any communications associated with the process

If you need assistance with these items, please open a Service Desk request and detail what steps you have taken and what you would like to see/what you expect to see but do not. As always, please include screenshots and links to examples dataset records and events. 

Additional Customization

The standard Tour Guide portal can be updated in various ways, depending on an institution's process. These can include:

  • allowing tour guides to fill out event report forms
  • displaying a list of registrants for an assigned tour

  Tip

As you build out your portal, be sure to document your process so that changes from year-to-year can be made easily.

Was this article helpful?
2 out of 2 found this helpful