Skip to content

Registration Modes — Configuration & QA Guide

App: Event Site (via CMS) Repos: [[event-site]], [[summit-registration-lite]] Audience: Event Operators, QA, Developers Feature Status: In QA (feature branch: feature/registration-standalone-page)


Overview

The event site supports three configurable modes for how attendees access the registration flow. Operators select the mode from the CMS under Site Settings → Registration, and the "Register" button in the site hero adapts accordingly.

Mode Behavior Use Case
STANDALONE (default) Navigates to /register showing the registration form full-page Dedicated registration landing — SEO-friendly, shareable URL
MODAL Opens the registration flow as a popup overlay on the current page Keep users engaged with marketing content; auto-open via URL hash
LINK Redirects to a configured URL (internal content page or external site) Flexible routing to custom registration pages or third-party systems

CMS Configuration

Setting the Registration Mode

  1. Navigate to Site Settings → Registration
  2. Set Registration Mode to one of: STANDALONE, MODAL, or LINK
  3. If using LINK mode, populate the Registration Link field
  4. Trigger a site rebuild — configuration changes require a rebuild to take effect

Rebuilds required

Any change made through the CMS requires a site rebuild before verifying. This applies to registration mode changes, link updates, and shortcode placements in content pages.

Used only when mode is LINK. Accepts:

  • Internal path — e.g., /custom-registration (must match an existing content page slug). Use with the <RegistrationForm /> shortcode on that page to embed the registration widget inline.
  • External URL — e.g., https://example.com/signup. The Register button becomes a full redirect.

Content Page Shortcodes

When embedding the registration form on a custom content page, add the following shortcode to the Body field of the content page:

<RegistrationForm />

The CMS editor shows a hint listing all available shortcodes under the content page Body field.


CMS Editor Hints

The following inline hints have been added to help operators configure registration correctly:

Field Hint
Marketing Page → Hero → Register Button → Display Points operators to Site Settings for registration configuration
Site Settings → Registration → Registration Mode Explains all three modes (STANDALONE / MODAL / LINK)
Site Settings → Registration → Registration Link Explains internal path vs. external URL
Content Pages → Body Lists available shortcodes including <RegistrationForm />

Mode Behaviors in Detail

STANDALONE (default)

  • Hero "Register" button navigates to /register
  • Registration form renders full-page at that route
  • getUserProfile is called after purchase completes
  • Use this mode for a dedicated, shareable registration page (e.g., for email campaigns or paid ads)
  • Hero "Register" button opens the registration popup overlay on the current page
  • User stays on the marketing content; modal can be closed and dismissed cleanly
  • Supports auto-open via URL hash: ?#registration=1 will launch the modal on page load
  • Use this mode to minimize friction for users arriving on specific landing pages
  • Hero "Register" button redirects to the URL in the Registration Link field
  • For internal paths: route to a content page that includes the <RegistrationForm /> shortcode for inline embedding
  • For external URLs: full page redirect off-site
  • Use this mode to integrate with third-party registration systems or custom-built pages

Login Button

The Login button in the site hero operates independently of the registration mode. It should function identically in all three modes — verify login flow works in STANDALONE, MODAL, and LINK configurations.


QA Test Scenarios

Preview environment: feature-registration-standalone-page--qa-fnvirtual.netlify.app CMS backend branch for this deploy: feature/registration-standalone-page

1. STANDALONE mode

  • [ ] Set Registration Mode to STANDALONE
  • [ ] Hero Register button navigates to /register
  • [ ] /register page shows the registration form full-page
  • [ ] Complete registration end-to-end: login → select ticket → payment → confirmation
  • [ ] Verify getUserProfile is called after purchase completes

2. MODAL mode

  • [ ] Set Registration Mode to MODAL
  • [ ] Hero Register button opens the registration popup overlay
  • [ ] Complete registration end-to-end inside the modal
  • [ ] Close the modal and verify it dismisses cleanly
  • [ ] Verify auto-open via URL hash (#registration=1)
  • [ ] Create a content page with <RegistrationForm /> shortcode in the Body
  • [ ] Set Registration Mode to LINK, Registration Link to the content page path
  • [ ] Hero Register button navigates to the content page
  • [ ] Registration form renders and is fully functional
  • [ ] Set Registration Mode to LINK, Registration Link to an external URL (e.g. https://example.com)
  • [ ] Hero Register button redirects to the external URL

5. Login button

  • [ ] Login button works independently in all three modes

6. CMS editor experience

  • [ ] Marketing Page → Hero → Register Button → Display shows hint pointing to Site Settings
  • [ ] Site Settings → Registration → Registration Mode shows hint explaining all three modes
  • [ ] Site Settings → Registration → Registration Link shows hint explaining internal vs external URLs
  • [ ] Content Pages → Body shows hint listing available shortcodes

Pre-Merge Checklist

Before merging the feature PR:

  • [ ] Site settings have registrationMode set to STANDALONE (the production default)
  • [ ] No content pages left behind from QA testing (clean up any pages created during verification)

  • [[event-site]] — the Gatsby-based event website shell that hosts the registration entry points
  • [[summit-registration-lite]] — the React widget that renders the actual registration flow (full-page and modal)
  • [[summit-api]] — backend API providing ticket types, orders, and user profile data
  • [[openstackid]] — OIDC identity provider for the login step