Skip to content

Shared NextGen Check-in kiosk template removes areas from the template that are not present at the editing campus #6981

Description

@JDShuman

Description

We use a single NextGen Check-in "Saved Kiosk Template" named Volunteer Check-in across all of our campuses. It's edited from /nextgen-checkin/setup by picking a Campus and Kiosk, then clicking Edit on the saved template.

The Primary Areas / Secondary Areas checklist in the "Edit Saved Configuration" dialog is filtered to only show the areas that have an active group/location/schedule at the currently selected Campus — it does not show the full set of areas used by the template across all campuses. Because the template is a single record shared by name, editing and saving it from a campus that only uses a subset of the areas appears to persist only what that campus's filtered view can see, dropping the areas that campus doesn't use from the shared template — which then breaks check-in for the other campuses/locations that do rely on those areas.

Actual Behavior

On the public demo site (rock.rocksolidchurchdemo.com), this is 100% reliably reproducible end-to-end, including the actual data loss:

Campus context selected in NextGen Check-in Setup / Primary Areas shown for "Volunteer Check-in" / Secondary Areas shown:
Main Campus / Serving Team, Production Team / Check-in Test Area, Nursery/Preschool Area, Elementary Area, Jr High Area, High School Area, Services
South Campus / Production Team only / (section doesn't appear — no secondary areas available at this campus)

Confirmed reproduction of the data loss itself (this required setting up additional data on the demo site first — group types, groups, locations, and location schedules — since the demo site's default data doesn't have a second campus-scoped area to compare against; see the "Demo site setup" steps in Steps to Reproduce below):

Step A) From Main Campus, opened "Volunteer Check-in" and made sure Serving Team, Production Team, and Check-in Test Area were all checked. Saved.
Step B) Re-opened the same template from Main Campus — all three persisted as checked, confirming the save took effect.
Step C) Switched to South Campus and opened the same "Volunteer Check-in" template. Only Production Team is offered as a Primary Area — Serving Team and Check-in Test Area aren't shown as options at all (no Secondary Areas section appears), because South Campus has no locations/schedules for those areas. Clicked Save on this filtered view (no need to change the one visible checkbox).
Step D) Switched back to Main Campus and re-opened "Volunteer Check-in" — both Serving Team and Check-in Test Area are now unchecked, silently dropped by the save made from South Campus's filtered view, even though neither was touched from that screen. Production Team — present at both campuses — remained checked.

In our own environment, the practical symptom is: a volunteer at one campus/area gets "no eligible options found to check in to," even though they are active in the correct group and their schedule/location is open — because their area is no longer part of the shared template, having been silently dropped by an edit made from a different campus's kiosk setup screen.

Expected Behavior

Editing a shared NextGen Check-in kiosk template from any one campus's context should not be able to silently remove areas that other campuses/kiosks rely on. We would expect an intentional removal to carry over across the shared locations, but if the option is not even displayed to the user, it should not be "edited" by the save function.

Either: all areas relevant to the template, at any campus that uses the template, should always be shown, regardless of whether the current campus has access to the area; or: areas the current campus doesn't have access to should be hidden as they are today, but also ignored by the save function when editing from a campus that doesn't have access to them — so a save from a narrower campus view can't unset something it never displayed.

Steps to Reproduce

Demo site setup (one-time, only needed if your test instance doesn't already have a campus-scoped Serving Team structure):

The public demo site's default "Volunteer Check-in" template only had a "Serving Team" area (with an "A/V Team" child group) to work with, which wasn't enough on its own to show a campus difference. The demo site is also refreshed daily, so anything added has to be re-created to reproduce reliably — this list is that exact setup:

Setup 1) Activated the South Campus campus and location in the Settings UI (it exists but starts inactive on the demo site).
Setup 2) Added Volunteer as a new Defined Value under the Location Type defined type (Admin Tools -> Defined Types) — this location type didn't exist yet on the demo site.
Setup 3) Added named locations for Worship Center (building) -> A/V Booth (room) -> Audio (Location Type: Volunteer) under both Main Campus and South Campus — neither campus had an "Audio" (Volunteer-type) location under A/V Booth yet.
Setup 4) Added a Production Team group type as an allowed child group type under Serving Team.
Setup 5) Created two groups under Production Team: Production Volunteers - Main Campus and Production Volunteers - South Campus, each with its own campus's Audio location set as its meeting location.
Setup 6) Added group location schedules on both groups' Audio location for three service times: 9:00 AM, 10:30 AM, and 12:00 PM.

With that in place, Production Team has coverage at both campuses, while Serving Team and Check-in Test Area only have coverage at Main Campus — which is what makes the cross-campus difference visible.

Reproduction steps:

Step 1) Go to /nextgen-checkin/setup.
Step 2) Select Campus: Main Campus, then Kiosk: Main Campus: Central Kiosk.
Step 3) Under Saved Kiosk Templates, click Edit on Volunteer Check-in. Make sure Serving Team, Production Team, and Check-in Test Area are all checked, then Save.

Image

Step 4) Re-open the template at Main Campus to confirm all three areas persisted as checked.
Step 5) Change Campus to South Campus, select Kiosk: South Campus Check-in Kiosk.
Step 6) Click Edit on the same Volunteer Check-in template. Observe that only Production Team appears as a Primary Area — Serving Team is not offered as an option at all, and there is no Secondary Areas section, because South Campus doesn't have locations/schedules for those areas.

Image

Step 7) Click Save on this filtered view (no need to change the one visible checkbox).
Step 8) Switch back to Main Campus and re-open Volunteer Check-in's Edit dialog. Both Serving Team and Check-in Test Area are now unchecked, even though neither was touched from the South Campus screen. Production Team, present at both campuses, remains checked.

Image

Issue Confirmation

  • Perform a search on the Github Issues to see if your bug is already reported.
  • Reproduced the problem on a fresh install or on the demo site.

Rock Version

19.2, 19.3

Client Culture Setting

en-US

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions