Skip to content

feat: implement page-specific interactive 'Getting started' tour#559

Open
J08nY wants to merge 2 commits intocrocs-muni:pagefrom
J08nY:feat/getting-started-tour
Open

feat: implement page-specific interactive 'Getting started' tour#559
J08nY wants to merge 2 commits intocrocs-muni:pagefrom
J08nY:feat/getting-started-tour

Conversation

@J08nY
Copy link
Member

@J08nY J08nY commented Mar 1, 2026

This pull request implements a page-specific interactive 'Getting started' tour using Driver.js.

Key Features:

  • Context-Aware: Different tour steps are defined for the home page, search pages (CC, FIPS, PP), and certificate entry pages.
  • Decentralized Configuration: Tour steps are defined directly in the Jinja templates, making it easy to maintain and update page-specific content.
  • Smart Navbar Button: The 'Tour' button in the navbar is only enabled on pages where a tour is available. It uses a Bootstrap tooltip to inform users if no tour is present on the current page.
  • Driver.js Integration: Lightweight, dependency-free library for high-quality element highlighting and popovers.
  • Auto-Trigger Support: The tour can be automatically triggered via the '?tour=start' URL parameter.

Implementation Details:

  1. Added 'driver.js' and 'driver.css' to 'static/lib/'.
  2. Created a generic tour runner in 'static/tour.js'.
  3. Defined 'window.tourSteps' in:
    • 'index.html.jinja2' (Home)
    • 'search/base.html.jinja2' (Search pages)
    • 'entry/index.html.jinja2' (Entry pages)
  4. Updated 'base.html.jinja2' with the global assets and the interactive tour button.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Implements a page-specific “Getting started” guided tour across the site using Driver.js, with per-page step definitions in Jinja templates and a global navbar “Tour” trigger.

Changes:

  • Added Driver.js (JS/CSS) to the global static library bundle and introduced a shared tour runner (static/tour.js).
  • Added a navbar “Tour” button that is enabled only when window.tourSteps is present on the page.
  • Defined window.tourSteps for home, CC/FIPS/PP search pages, and CC/FIPS/PP entry pages.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
sec_certs_page/templates/common/base.html.jinja2 Adds Driver.js assets, loads the tour runner, and introduces the navbar tour trigger UI.
sec_certs_page/static/tour.js Implements the generic tour runner (enable/disable button, start tour, URL auto-trigger).
sec_certs_page/static/lib/driver.js Adds the Driver.js library to static assets.
sec_certs_page/static/lib/driver.css Adds Driver.js styles to static assets.
sec_certs_page/templates/index.html.jinja2 Adds element IDs for targeting + defines homepage tour steps.
sec_certs_page/templates/cc/search/base.html.jinja2 Defines CC search page tour steps.
sec_certs_page/templates/fips/search/base.html.jinja2 Defines FIPS search page tour steps.
sec_certs_page/templates/pp/search/base.html.jinja2 Defines PP search page tour steps.
sec_certs_page/templates/cc/entry/index.html.jinja2 Defines CC entry page tour steps.
sec_certs_page/templates/fips/entry/index.html.jinja2 Defines FIPS entry page tour steps.
sec_certs_page/templates/pp/entry/index.html.jinja2 Defines PP entry page tour steps.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@J08nY J08nY marked this pull request as ready for review March 1, 2026 11:35
@J08nY J08nY added enhancement New feature or request web Stuff related to the web at seccerts.org labels Mar 1, 2026
@jborsky
Copy link
Collaborator

jborsky commented Mar 2, 2026

Cool! I'll look into this with Mariia in the following days so she can review it from her perspective.

@J08nY
Copy link
Member Author

J08nY commented Mar 2, 2026

It is a very rough sketch. Ideally a human will create the actual tours. I just wanted to put in the framework.
I think the search, certificate, references and compare pages deserve a tour the most. For the rest of the pages I do not think a tour makes a lot of sense. Also for the dashboard page, but that is a different beast.

@jborsky
Copy link
Collaborator

jborsky commented Mar 2, 2026

Yeah, I get it. Thanks a lot for kicking this off

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request web Stuff related to the web at seccerts.org

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants