Skip to main content

Overview

The tour module automatically detects first-time users and launches a comprehensive introduction covering risksheet identity, grid navigation, column management, filtering, item addition, and risk tracking. Returning users can manually restart the tour at any time via a footer button or help integration.
StepTour StopDescription
1Risksheet GridIntroduction to the spreadsheet-style risk analysis view
2Column HeadersExplains column groups and severity/occurrence/detection layout
3Risk Matrix CellShows how risk levels are calculated and color-coded
4Toolbar ActionsOverview of available toolbar operations
5Filter PanelDemonstrates filtering by risk level, status, or assignee
6Add New ItemHow to create new risk items inline
7LiveDoc SyncReal-time synchronization with Polarion LiveDoc
8Export OptionsPDF and Excel export capabilities

Module Configuration

Configuration Object: window.risksheetTourConfig

Page authors can customize tour behavior by setting properties on window.risksheetTourConfig before the risksheet-tour.js script loads.
PropertyTypeDefaultDescription
tourIdstring"risksheet-intro-tour"Unique identifier for localStorage tour-completion key. Changes this to show tour again for all users (e.g., after major UI updates). Pattern: tour-seen-{tourId} stored in browser localStorage.
autoStartbooleantrueAutomatically launch intro tour for first-time users. Set false to make tour opt-in only (manual footer button click).
autoStartDelaynumber2500Milliseconds to wait after page load before auto-starting tour. Allows page rendering and Risksheet initialization to complete. Recommended: 2000–3000ms.
projectIdstring(auto-detected)Polarion project ID for constructing widget resource URLs. Auto-detected from URL path (/project/XXX/) or query parameter (?project=XXX). Override if URL detection fails.
Configuration Example:
<script>
  // Customize tour before loading risksheet-tour.js
  window.risksheetTourConfig = {
    tourId: "risksheet-intro-tour-v2",
    autoStart: true,
    autoStartDelay: 3000,
    projectId: "TestAuto2"
  };
</script>
<script src="/nextedy-automotive-safety/resources/risksheet-tour.js"></script>

Tour Sequences

Full Intro Tour (8 Steps)

Triggered on page load for first-time users. Comprehensive walkthrough covering the complete FMEA risksheet workflow.
Step #TitleTarget ElementKey MessageFMEA Phase
1Welcome to RisksheetRisksheet title in top panel (#nxtr-topPanel .rs-green-colored)“Risksheet is a spreadsheet-like editor for FMEA with 1:1 LiveDoc sync. Changes are bidirectionally synchronized with Polarion.”Initialization
2Risk Analysis GridMain grid (#theGrid)“Failure modes, effects, causes, and risk assessments are displayed in an Excel-like spreadsheet. Click any cell to edit directly. Familiar keyboard navigation and copy/paste work as expected.”Data Entry
3Switch Column ViewsColumns button (#btnColumns)“Use views to switch between columns, showing/hiding data for different FMEA phases: initial risk → define controls → residual risk assessment.”Navigation
4Filter Like ExcelFilter icons on column headers (.wj-elem-filter)“Click the filter icon on any column header to filter data by values, conditions, or search text—just like in Excel. No Excel installation required.”Data Analysis
5Add New ItemsAdd buttons (#btnAddLevel0, etc.)”Use the Add buttons to create new Items (requirements/functions), Failure Modes, Causes, or Tasks (risk controls). Buttons follow hierarchical levels matching FMEA structure.”Data Creation
6Pre-Mitigation Status (Traffic Light 1)Traffic light indicator (top-right overlay)“Green traffic light = pre-mitigation assessment complete (Severity, Occurrence, Detection all filled). Yellow or red indicates missing data.”Risk Assessment
7Post-Mitigation Status (Traffic Light 2)Traffic light indicator (top-right overlay)“After defining controls, reassess Occurrence and Detection. Green = post-mitigation assessment complete for all failure modes.”Control Verification
8High-Risk Tracking (Traffic Light 3)Traffic light indicator (top-right overlay)“Red traffic light = remaining high-priority risks (Action Priority ‘High’ or RPN > threshold). Green = all residual risks acceptable. Address red items before release.”Risk Acceptance

Short Tour (Help Button, 3 Steps)

Triggered when user clicks the help button (#help-tour-btn). Focused walkthrough covering only traffic light indicators and risk status.
Step #TitleTarget ElementKey Message
1Traffic Light OverviewTraffic light panel (top-right)Three lights show FMEA progress: Pre (pre-mitigation complete), Post (post-mitigation complete), High (remaining high-risk items).
2Pre/Post Mitigation StatusTraffic light panelGreen = complete, Yellow = partial, Red = incomplete or high-risk. Check fractional counts (e.g., 7/12) to see progress.
3Action RequiredTraffic light panelFocus on red lights—they indicate missing data or unacceptable residual risk. Complete assessments or add controls until lights turn green.
The help button (short tour) provides quick contextual reference for traffic lights. The footer button (full tour) provides comprehensive onboarding. Users can repeat either tour at any time.

Feature Reference

Auto-Detection and localStorage Persistence

The module automatically detects first-time users by checking browser localStorage. On first page load, if the key tour-seen-{tourId} does not exist, the tour auto-starts after autoStartDelay milliseconds. Returning users do not see the tour unless they manually restart it.
BehaviorlocalStorage KeyValueNotes
First visittour-seen-{tourId}(not set)Auto-start tour after delay
Tour completedtour-seen-{tourId}"true"Set on tour exit; persists in browser
Different browsertour-seen-{tourId}(not set)Tour shows again (per-browser tracking)
Different devicetour-seen-{tourId}(not set)Tour shows again (device-specific localStorage)
Tour state is stored per-browser, not per-user account. Users on different browsers or devices will see the tour again. Private/Incognito mode may not persist localStorage. If localStorage is disabled, the module gracefully disables persistent tracking and launches tours on every page load (unless autoStart: false).
A ”▶ Intro Tour” button is dynamically injected into the risksheet footer (#footerNextedy), positioned next to Nextedy branding. Clicking this button manually restarts the full 8-step intro tour at any time, even after the tour has been marked as completed.
<!-- Injected into page footer -->
<button id="btnRisksheetTour" class="btn btn-default">
  ▶ Intro Tour
</button>
Use Cases:
  • User wants to review tour after initial onboarding
  • Team leader demonstrates risksheet workflow to new users
  • Page updates introduce new tour content (update tourId to force re-start)

Help Button Integration

If an element with ID #help-tour-btn exists on the page, the module binds a click handler to launch the short 3-step traffic-lights tour. This provides contextual help without full onboarding.
<!-- Page should include help button; module auto-binds -->
<button id="help-tour-btn" class="btn btn-info" title="Traffic Lights Help">
  ?
</button>
The short tour is stateless—it does not check localStorage or update tour completion status. Users can click the help button as many times as needed for quick reference.

Driver.js Dynamic Loading

The module automatically loads Driver.js (required tour library) from project widget resources if not already present on the page. Both the JavaScript library and CSS stylesheet are dynamically injected.
ResourceURL PatternPurpose
Driver.js Library/nextedy-automotive-safety/resources/driver.min.jsInteractive tour overlay and step navigation
Driver.js CSS/nextedy-automotive-safety/resources/driver.min.cssStyling for tour highlights, buttons, and tooltips
Loading Behavior:
  1. Module checks if window.Driver is defined (library already loaded)
  2. If not found, fetches CSS and JS from widget resources
  3. Implements fallback polling to wait for script readiness (max 5 seconds)
  4. Logs errors if Driver.js fails to load; tour gracefully skips
Version Updates: To update Driver.js library version, replace the page attachments in the Risksheet page widget resources. The module automatically uses the newest version without code changes.

Risksheet-LiveDoc Synchronization Explanation

Tour Step 1 explains the 1:1 relationship between Risksheet and Polarion LiveDoc: every change in Risksheet is automatically synchronized to the underlying LiveDoc work items, and vice versa. diagram Key Points:
  • Changes in Risksheet appear in LiveDoc fields in real-time (no “save” button required)
  • Changes to work items in Polarion immediately reflect in Risksheet rows
  • 1:1 relationship means one Risksheet row = one work item (except multi-row failure modes with causes/effects)
  • Sync works across projects and teams—any user can edit either interface

Grid Editing Introduction

Tour Step 2 highlights the main grid (#theGrid) and explains that it is a direct-edit spreadsheet interface for failure modes, effects, causes, and risk assessments. The grid uses Wijmo FlexGrid engine for Excel-like interaction:
CapabilityBehavior
Keyboard NavigationArrow keys move between cells; Tab/Shift+Tab move horizontally; Enter moves down
Inline EditingClick any cell or press F2 to edit directly in-place; no modal dialogs
Copy/PasteCtrl+C/Ctrl+V work as expected (single cell or ranges)
Column ResizingDrag column border to resize; double-click to auto-fit
Column ReorderingDrag column header to reorder; changes persist in risksheet view config
Row GroupingFailure mode rows can have child rows (causes, effects, controls) that expand/collapse
Work Item TypesRows map to work item types: Items (requirements), Failure Modes, Causes, Effects, Tasks (risk controls)

Column Views and Progressive Workflow

Tour Step 3 introduces the Columns button (#btnColumns), which switches between predefined views showing/hiding columns for different FMEA phases:
View NameColumns ShownFMEA PhaseUse Case
Initial Risk AssessmentsystemItemId, failureMode, causes, effects, severity, occurrence, detectionIdentification & AnalysisPopulate failure modes, causes, effects, and initial risk ratings
Pre-Mitigation SummarysystemItemId, failureMode, severity, occurrence, detection, actionPriorityRisk PrioritizationIdentify high-priority items requiring controls
Controls & MitigationsystemItemId, failureMode, riskControl, controlType, controllingParameterDefine ControlsLink risk controls and document mitigation strategy
Post-Mitigation AssessmentsystemItemId, failureMode, severity, occurrenceNew, detectionNew, actionPriorityPostResidual Risk Re-assessmentVerify that controls reduce risk to acceptable levels
Full FMEA (All Columns)All columns (20+)ReferenceComprehensive view for documentation and review
Views are predefined in risksheet.json configuration and enable progressive FMEA workflow without overwhelming users with data.

Excel-Like Filtering

Tour Step 4 highlights filter icons on column headers (.wj-elem-filter). Users can filter by values, conditions, or search text using Wijmo FlexGrid’s built-in filtering:
Filter TypeDescription
Column FiltersFilter by specific column values (dropdown selection)
Text SearchFree-text search across visible columns
Quick FiltersPredefined filter presets (e.g., High Risk, My Items)
Combined FiltersStack multiple filter conditions simultaneously
Filter Types:
  • Value List: Select/deselect individual enum values (S1, S2, S3, etc.)
  • Conditions: Greater than, less than, contains, equals, etc. for numeric or text columns
  • Search: Type text to filter rows where column contains match
Use Cases:
  • Show only High action-priority failure modes: filter AP = “H”
  • Show only uncontrolled risks: filter riskControl = empty
  • Show items needing re-assessment: filter occurrenceNew = empty

Add New Items Button Hierarchy

Tour Step 5 introduces the Add buttons at the top of the risksheet (#btnAddLevel0, #btnAddLevel1, etc.). These create new work items in the FMEA hierarchy:
LevelItem TypeDescription
ParentSystem ElementTop-level grouping (e.g., Subsystem, Component)
ChildFailure Mode / HazardRisk analysis item linked to parent
GrandchildControl Measure / ActionMitigation action linked to risk item
ButtonCreatesParentFMEA Role
#btnAddLevel0Item (Requirement or Function)None (top-level)System element or design component being analyzed
#btnAddLevel1Failure ModeItemPotential failure in the system element
#btnAddLevel2aCauseFailure ModeRoot cause of failure mode
#btnAddLevel2bEffectFailure ModeConsequence/impact of failure
#btnAddLevel2cTaskFailure ModeRisk control or mitigation action
Hierarchy prevents users from creating malformed structures (e.g., Failure Modes without Items).

Integration with Velocity Pages

The tour module is embedded in Polarion wiki pages via <script> tags in page XML. Page authors configure tour behavior by setting window.risksheetTourConfig before the script loads:
<!-- In .polarion/pages/widgets/risksheet-config/page.xml -->
<ac:structured-macro ac:name="velocity">
  <ac:parameter name="script">
    <![CDATA[
    #set ( $velocityVersion = $pageService.getPageProperty("velocity-version") )
    <script>
      window.risksheetTourConfig = {
        tourId: "risksheet-intro-tour-v2",
        autoStart: true,
        autoStartDelay: 2500
      };
    </script>
    <script src="/nextedy-automotive-safety/resources/risksheet-tour.js"></script>
    ]]>
  </ac:parameter>
</ac:structured-macro>

Traffic Lights Integration

The tour references the Risksheet Traffic Lights Module, which displays real-time FMEA completion status. Tour steps 6–8 explain the three-light indicator system:
  • Pre-Mitigation Light: Green when pre-mitigation assessment (Severity, Occurrence, Detection) is complete for all failure modes
  • Post-Mitigation Light: Green when post-mitigation assessment (revised Occurrence, Detection) is complete for all items
  • High-Risk Light: Green when no unacceptable residual risks remain (Action Priority = Low/Medium only)
See Risksheet Traffic Lights Module for detailed configuration and customization.

Best Practices

After significant UI changes (new buttons, reorganized views), increment the tourId to force re-display for all users. For example, change "risksheet-intro-tour" to "risksheet-intro-tour-v2". This clears the localStorage completion flag and shows the updated tour to returning users.
Set autoStartDelay to allow the Risksheet grid to fully render before launching the tour. Recommended: 2500–3500ms. If the delay is too short, tour highlights may target incorrect elements. If too long, users may leave the page before tour starts.
The Driver.js library includes keyboard navigation (arrow keys, Enter to advance, Escape to close). Tour steps are announced via ARIA labels for screen reader users.