19-Sep-2026 — site registration for groups and areas builds a finished-looking site with photos by year #20
build 959 — commit 83d2fd6
What's new
A Ramblers group or area can now ask for its own NGX site through a public registration form, and a reviewer can follow, steer and approve the build before the group is invited. A Full registration reads the group's current website, lets the group choose which pages come across, and builds a review site that already looks like NGX: the group's Ramblers logo and banner, its pages under a standard navbar, a home page with one carousel and buttons to the main areas, walk galleries filed under Photos by year and linked to the matching Walks Manager walks so they appear on a map, and its documents and committee members. A Lite registration gives the committee email and membership tools with a small public site. The group's current website is never changed. A new group never inherits a live Brevo sending key or the platform's database user, and public registration cannot be switched on until the credentials a new site needs are in place. Email Configurations that had no template can now be fixed on screen.
At a glance
- A public Register your group or area form takes a group or area from choosing Lite or Full to a review site being built
- Find pages reads the current website into a tree of new pages that the group ticks, unticks and reorders
- The import brings across words, photos, documents and committee members, tidied and laid out the NGX way
- Reviewers follow every build in one log, can stop or retry it, and approve the site before the group is invited
- Home is an introduction with one carousel, then buttons to Walks, Photos and the other main areas
- Photos are filed under a page per year, each listing its albums on a map and as buttons
- Albums are linked to the matching Walks Manager walk when the date and place leave only one candidate
- Every new site gets its group's Ramblers logo, a banner made from it, and email settings that use that banner
- Each new site gets its own database user and starts with no Brevo key
- Email Configurations with no template can be given a template or their own wording
- Sites still being prepared are left out of estate-wide deploys until they are approved
Where to find it
- Register your group or area, at /register, is the public form a group or area secretary uses
- Admin → Platform → Environment management → Site registrations turns public registration on and lists every request with its progress and build log
- Admin → Content → Content Templates holds the self-service migration templates the build uses, including the photos year and photos index layouts
- Migration Settings on a review site shows and amends the import settings chosen at registration
- The how-to pages at /how-to/group-registration, /how-to/group-registration/full, /how-to/group-registration/lite and /how-to/group-registration/after-submission explain each step to groups
Registering a group
The heading and introduction at the top of the registration form are ordinary page content at register#registration-intro, so it can be edited in place and given any row types, such as images or a carousel.
- Choose Lite or Full. Lite is email and membership tools with a small public site and does not read an existing website. Full is a complete website built from the pages the group chooses.
- Choose the Ramblers area, then the group. Leave the group empty to register the area itself; an area site is built exactly like a group site. Group short names read as words, such as "New Forest".
- Enter a committee email address and follow the confirmation link. A private return link restores the saved answers. A plan can be chosen again on a verified draft.
- For Full, enter the current website and click Find pages, then choose the pages (see below).
- Check the summary and click Confirm and build site. The group can leave the page while the review site is built.
Choosing pages for a Full site
- Find pages reads the current website into a tree with at most eight navbar sections, using the names common on NGX sites, with other top-level pages under Information
- Pages found only on another page of the old site stay under that page, and a photo gallery page becomes Photos with its galleries under it
- Tick, untick and reorder before Review, which lists only the ticked pages; clearing a section clears the pages under it, and a collapsed section stays collapsed while you work
- An upcoming walks page is left to the Walks Manager walks page, and walks programme pages are not imported
- Real pages with child pages keep their own content
- A page moved under Walks or About Us takes its own sub-pages with it, so a registration cannot be refused for pages whose parent seems to be missing
- While Find pages runs, the form shows the page it is reading and how many pages it has read and found so far, so a long search never looks stuck
What the import brings across
- The words on each ticked page, keeping their meaning and tidied for spelling, grammar and old-site clutter; tidying long pages no longer cuts them short
- Every imported page has a main heading, including the home page, which takes the group's name, with opening photos directly under it
- Each page's photos become an album directly under its main heading; runs of photos become a gallery album, a linked Flickr group becomes an album on the page that linked to it, and two or more home page photos become a carousel
- Gallery addresses are kept exactly as the old site wrote them, so each walk gallery imports its own photos
- Documents and committee members found on the old site, with source committee chairs matched to the existing Chairman role
- Full migrations keep every discovered page at its intended address and drop unused sample pages
- Linked document pages are named after their link, and document links with brackets in their address are imported
- The note saying which page of the old website a page came from is its own Migration note row, showing the label, a link to the old page and when it was imported; it is not page text, so index cards, search and the home page never pick it up
- Migration Settings → Activity shows how many pages carry a migration note and removes them all in one go, for when the site goes live
The home page
- One carousel of the old home page's photos, then the group name as the main heading and the introduction
- A row of buttons to the main areas of the site, each with a title, a short description and a photo, built only from pages the import actually found, with the description taken from that page or its first sub-page
- Buttons sit in balanced columns: four as two by two, five or six as three per row
- The carousel is a fixed 400px high and does not show its album title
- The migration note and any other photo albums are left off the home page
Photos by year and linked walks
- Walk galleries sit at Photos → year → gallery, and the Photos page lists only the year pages, newest first, without a swiper
- Each year page lists its albums on a map and as buttons, newest first
- Year pages and the Photos index are built from the Self-service photos year and Self-service photos index migration templates in Content Templates, so their wording, map and layout are changed there; the build fills in the year, the page's own path and a map centred on the group or area, and stops straight away with a clear message if a template is missing
- A gallery's date comes from its link where that carries a day, or from its title, where short month names such as Aug and Sept count
- An album is linked to a Walks Manager walk on the same day, or in the same month when it shares a place name with the walk's title or meeting place and no other walk does as well; linked albums take the walk's location on the map
- Galleries that cannot be linked are listed in the build log with the reason, such as no walks that month or two equally good matches
- Every gallery's album is subtitled with what it is, such as "Photos from our Olney walk on Sunday 23 August 2026", so its button on the year page has a real description; the page heading is not repeated with it
- Galleries with only one or two photos become albums and are filed by year like the rest
- Walks Manager history is loaded before the import, so the links are made on a first build
- The old site's list of gallery links is not imported, and photos already collected into a page's album are not collected a second time
What is left out
- Colours, fonts, the old layout, old menus and old addresses
- Header, navigation and footer text repeated across pages, header images repeated on every page, and images too small to be photos
- WordPress shortcodes, embedded frames, and links to domains that no longer exist
- Links and images pointing back at the old site unless they were imported; lone links to the old home page and the old search label are removed
- Dead links and missing images are kept or left out and logged rather than failing the build
Being gentle on the group's website
- At most two requests at a time, slower when the site responds slowly, backing off and retrying when it struggles, and stopping with a clear message if it stops responding
- Images and styles deliberately not fetched are not logged, and pages the old site no longer has are reported in plain words
Following a build
- Each request in Site registrations shows a small stepper (email confirmed, submitted, site created, walks loaded, pages imported, ready for review, group invited) with a tick for done steps, a spinner on the running step, a cross on a failed one and the current step named underneath; each step names itself in a tooltip above it, and clicking the stepper changes nothing, so a retry shows at a glance which part is being redone
- A request that has not been submitted yet can be sent a fresh confirmation and return link from Site registrations, so a group that has lost its link can carry on
- A member administrator on the registration form gets an Open Site registrations button, and Site registrations has an Open the registration form button, so either page is one click from the other
- A second import waits its turn on the integration worker, alongside uploads and exports, rather than being turned away; it can be stopped while it waits
- Progress and Site registrations share one build log that collapses repeated lines and marks only genuine failures
- Each registration keeps a history of every step with when it happened and who did it: the group's committee email, the administrator's name, or NGX for build steps; it sits under a collapsed History line below the build log with the time each step took, and a Build time column shows how long the latest build took or has taken so far
- Hide build log closes a running build's log too
- An error on any registration step is shown next to that step's buttons rather than at the top of the page
- A page whose section is missing from the list is named in the error, with what to do: click Find pages again or move it under another section
- Site registrations says it is loading rather than showing an empty list while the requests are fetched
- Progress messages, the current step and the page tree stay steady while a build is followed; only the newest progress line spins
- A reviewer can stop a queued or running build; the running job notices at its next stage and the worker cancels the import at its next step
- A failed import can be retried, and retries use the current import rules rather than those saved at submission
- A rebuild replaces the pages and albums an earlier import made
- A build that stops because its process restarted is released within five minutes, and a failure names the stage
- A group secretary sees a short plain message if a build fails; full detail stays with the reviewer
- Destroying a review site, including one with skipped steps, removes the leftover request so the group can start again
- Destroying an environment asks for its name to be typed before the Destroy Environment button works, and also deletes the site's own MongoDB Atlas database user; a shared user is kept
- System Logins in Platform Configuration Values has the same Show secret values switch as the inventory, showing every password on the tab at once
- The build log ends each stage with a line saying it is finished, such as "Pages imported: this stage is finished"
- Retry starts with a clean build log, and What went wrong only shows for a failed or broken request
- The group sees the same stepper at the top of the Progress step of the registration form; the build log detail and history stay with the reviewer
- The stepper names each step by what is happening: Waiting to create the site, Creating the site, Importing pages, Waiting for approval, and so on; a failure reads Failed while importing pages
- Buttons on kept pages that pointed at sample pages the build removed, such as Walks Information on the Walks page, are taken away with them
Reviewing and approving
Run import again on a request still in review rebuilds its content without recreating the environment
The reviewer is emailed when the review site is ready, and registration emails show the site banner from the public address
Approving sends the committee email an invitation with a link to the new site and a link to set a password
Sites still being prepared are skipped by deploy-all until the registration is approved, then included like any other site
Approved committee emails
- Approved addresses are chosen by area and group, and each person's name is kept with their address
- The list shows the area and group on one line each and the approved people as a comma-separated list of names; addresses appear only when editing
- Leaving the group empty approves people for the area's own site, shown as Whole area
- Save approval adds a new group or area and Save changes updates one being edited, each saved straight away, with Cancel to clear the form; removing an approval saves straight away too
- An address that is not a valid email is reported against its group
New-group safety
Each new site's database user is created through MongoDB Atlas; the API key goes in Environment management → Global settings → MongoDB Atlas and is listed under Shared MongoDB Atlas in Platform Configuration Values, and System logins → MongoDB Atlas gains an API keys button that opens the project's API access page
A build failure never shows a generated password
Public registration stays off until Walks Manager, MongoDB and Fly credentials are filled in
Each registration gets its own MongoDB user that can only read and write that group's database
A new site starts with no Brevo key of its own rather than the platform's, so nothing is sent or registered on the platform's Brevo account
A new site starts on the standard 512mb machine with one instance
A new site's member sync policy starts with Head office member records always applied
Email Configurations
- A configuration with no template used to show an error that could not be fixed; Email content now offers a template, Written here, or Written in the Email Composer
- Fully Automated Text Body and Member Sync Notification are not offered as wording to start from, because they are built-in processes
- The Email Configuration selector grows to use the space beside Compose email, which always stays on the same line
Migration Settings
- Content sections, Import rules and Activity are tabs, with the old website named above them
- Content sections are a tree with a one-line summary each, divided from the section being edited by a draggable splitter whose width is remembered
- Filtering a long list opens the branches that match, and choosing a section opens it in the list as well as beside it
- Content sections come from the pages chosen at registration, so they cannot be added by hand; deleting one updates the list straight away
- A migration note's date format is chosen from examples rather than typed
- Migrations are run by a registration build, so Migration Settings only shows and amends the settings; the activity log is sortable
Logo and banner
- A new environment takes its group's Ramblers logo while it is being set up
- It gets a banner made from that logo in the same style and size as existing groups' banners: 2232 by 558, the logo centred on white inside a 20px dark border
- Every email configuration is created pointing at that banner
Maps keys
- A registration build generates the site's OS Maps key through the integration worker, which signs in to the OS Data Hub with the login held in platform System Logins; it reuses a project and key that already exist, and the build log says whether the key was found or generated
- A group's own settings never receive the platform's OS Data Hub sign-in details
Also in this change
- Site registrations and every sortable table read well on a phone
- Switches look like switches, a task running every minute says so, and registration buttons stay disabled while an action is running
- Anonymous visitors to Walks Manager sites no longer trigger a leader contacts request that needs a login
- A dropped database connection while loading Walks Manager is retried
- A review subdomain whose DNS still points at an earlier app is corrected, so its certificate can issue
- Long words no longer widen a sliding index card
- A saved clean-up step whose nested row had no column no longer stops the Migration Settings screen redrawing
- The in-progress banner is a success alert, and action buttons sit on a gap row so a single button is not inset
- Content Templates loads only the fragments it lists, so it opens quickly on a large site, says so if loading fails, clears the search from the address when the filter is cleared, and uses shared-fragment, user-template and migration-template as its view values
- Scheduled Tasks filters by Walks and events, Inbox, Brevo, Platform and All, with every task in a group; Site registrations and backups sit under Platform
- Admin alert emails use the standard recipient field, so each alert recipient can have a name
- System Settings tabs use their full names and flow across two even rows
- Editing a recipient's name keeps exactly what was typed, capitals included, and the cursor stays put
- Registration action buttons sit in an even grid, and tooltips across the site now attach to the page body by default, so hovering a button can no longer reshuffle the buttons around it
How to try it out
Turn public registration on in Site registrations, open /register in a private window, and register a test group as Full. Follow the build from Site registrations, open the review site when it is ready, check its logo, banner, home page and photos by year, and the build log for which galleries were linked to walks, then approve or destroy it.