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.
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.
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.
Prior to building the portal, an institution should create the appropriate event templates and events.
We recommend creating a specific event template for tours.
- Create an event template.
- Create events from the template.
- Ensure events are saved in a folder.
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.
This query will need to be rebuilt:
- Create a new query using Configurable Joins > Records > Name of your Custom Tour Guide Dataset base.
- Add the same exports and filters displayed in the existing query from the briefcase portal.
- GUID = @identity (this filter refers to the dataset record GUID)
- Add any additional exports that you'd like to use as merge fields in the Portal Views.
- Add any additional filters, such as an active filter or role filter if part of your process.
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.
- 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.
- 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.
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.
A node is necessary to loop through the list of results in Liquid markup in the view.
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.
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.
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.
<param id="tour_id" type="uniqueidentifier" />
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.
This query saves the dataset record as a related record for the selected event.
This query removes the dataset record as a related record for the selected event.
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.
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.
Remember that the merge fields in the view must match the export labels in the query exactly.
Some methods have actions, while others do not. The methods without actions are called immediately upon accessing the portal.
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.
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.
The two POST methods are not associated with views, as they do not display data. Each method has a different action:
These methods are called from the pop-up view when tour guides are joining or unjoining events.
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.
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.
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
As you build out your portal, be sure to document your process so that changes from year-to-year can be made easily.