Skip to main content

Customizing the Tour

The Tour is invoked by clicking the question mark icon in the upper right corner of GIPS. It darkens the window and highlights each control with a popup describing what it does — helping the user understand how to use GIPS.

Control names

Each control in the window has a name that uniquely identifies it:

  1. scenarios
  2. MWInjection
  3. pois
  4. map
  5. flowgates
  6. harmers

tour.json

The tour.json file determines the content of the tour, where each item is associated with a control. It has an associated JSON Schema (tour-schema.json) to make editing easier. An abbreviated example:

{
"$schema": "./tour-schema.json",
"tour": [
{
"control": "scenarios",
"content": "You will need to select a scenario from the drop-down menu."
},
{
"control": "map",
"content": "The map is interactive. As you inject MWs, the color of each location will change on the map to show its injection capability."
},
{
"control": "pois",
"content": "Use this table to help you decide which substation location to potentially inject MWs."
}
]
}

Things of note

  1. The order of the tour is determined by the order of the items in the "tour" array. To describe the map first, simply put its entry first.
  2. Controls can be duplicated — two dialogs can be displayed one after the other describing the same control.
  3. Controls with the same name do not have to be together. You can describe the flowgates, then the map, then back to the flowgates — but this can be annoying, so do not do it too often.
  4. Not every control needs to be in the tour. If the map is self-explanatory, remove all entries whose control is "map".

The tour-schema.json

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.power-gem.co/schemas/gips/tour-schema.json",
"title": "GIPS Tour Configuration",
"description": "JSON schema definition of GIPS' tour.json",
"type": "object",
"properties": {
"tour": {
"description": "The items in the tour.",
"type": "array",
"items": {
"description": "An item on the tour",
"type": "object",
"properties": {
"control": {
"description": "The name of the item on the tour.",
"enum": [
"scenarios",
"MWInjection",
"map",
"pois",
"flowgates",
"harmers"
]
},
"content": {
"description": "The text describing the control.",
"type": ["string", "array"],
"items": {"type": "string"}
}
}
}
}
}
}

This file is located in GIPS' root directory so it can be referenced from a text editor.