Administrator Guide
New Boston ISD
Staff Accounts
The portal is closed to the public. Every page redirects to a sign-in screen, and a form can only be submitted by a signed-in account. The one exception is the bus request form, which is published as a public link so trip sponsors can ask for a bus without an account β see The Public Bus Request Link below.
1. Create the First Account
There is no fixed or built-in email address, and no public sign-up. The first account is created on the sign-in screen itself:
- Open /login.html on the portal. While the portal has no accounts at all, it shows Set Up the Portal instead of the password form.
- Enter the email address you want to sign in with β any working mailbox, though a district address is best because password resets are sent there β choose a password of at least 8 characters, and submit.
- That account is created as the Transportation Director, and you are signed in straight away.
2. Adding Everyone Else
After the first account, staff are added by invitation from the Netlify dashboard:
- Open the project in Netlify and select Identity in the sidebar.
- Choose Invite users and enter the staff member's district email address. Several addresses can be invited at once.
- The invitation email links back to the portal, where the staff member chooses their own password and can then sign in. Their sign-in address is the address the invitation was sent to.
3. Removing Access
When a driver or staff member leaves, open Identity, select the user, and delete them. Access ends immediately β there is no shared password to change and no need to redeploy.
4. Forgotten Passwords
Staff can reset their own password with the Forgot your password? link on the sign-in screen. The reset link is emailed to the district mailbox, so no administrator action is needed.
5. Who Submitted What
Every submission carries four extra fields recorded from the signed-in session rather than typed by the submitter:
| Field | Contents |
|---|---|
submitted_by_name | Name on the account that submitted the form |
submitted_by_email | Email address of that account |
submitted_by_id | Identity user ID, stable even if the name or email changes |
submitted_at | Time the submission was accepted |
Fields such as Driver Name and Requested By are still filled in by hand, so an office can file on
someone else's behalf. Where the two disagree, the submitted_by_* fields are the reliable record.
A bus request sent through the public link has no session behind it, so it is recorded with
submitted_by_name set to Public request link (not signed in) and the other three fields
left empty. That is how to tell at a glance whether a request came from a known staff account or from the open link, and
the Requester Email and Requester Phone on the form are the contact details to use.
submitted_by_*
fields did not come through the portal. Closing that path entirely means holding submissions in the project's own
database instead of Netlify Forms, which is also what a mechanic queue and per-campus principal views would need.The Public Bus Request Link
The bus request form has its own address that opens straight to the form with no sign-in step:
| Purpose | Address to share |
|---|---|
| Bus request form, no account needed | https://your-site-address/request-bus |
Paste that address into an email, a campus newsletter, a staff handbook, or a bookmark on an office computer. It can
also be used as a desktop shortcut: open the link in a browser and drag the address bar to the desktop, or use
Save to Home Screen on a phone. /bus-request.html still works and does the same thing β
/request-bus exists only because it is shorter to type and read aloud.
Requests arrive in the same bus-request form in the Netlify Forms tab as staff requests, so any email notification already set up for that form covers them too. Nothing extra needs configuring.
Signed-in staff see no difference: opening the link while signed in still fills in their name and email address and still records the request against their account.
noindex so search engines skip it, a hidden honeypot
field and Netlify's spam filtering catch automated junk, and every submission shows whether it came from a signed-in
account. If unwanted requests ever become a problem, the link can be closed again by adding
data-auth="required" back to the <html> tag of bus-request.html and removing
'bus-request' from PUBLIC_FORMS in netlify/functions/submit-form.mts.Deployment and Notifications
1. Publish with HTTPS
Unzip the package. In Netlify, choose a manual deployment and drag the entire unzipped folder into the deployment area.
2. Confirm Form Detection
After deployment, open the Netlify project and select Forms. The forms named bus-work-order and bus-request should appear after the first deploy.
3. Add Email Notifications
Open Project configuration β Notifications β Emails and webhooks β Form submission notifications. Create email notifications for the shop and Transportation Director. Notifications can be limited to one form or applied to all forms.
4. Route Discipline Referrals to Each Principal
The discipline referral page writes each submission into a separate form per campus, so a principal only ever receives referrals for their own campus. These five forms appear in the Forms tab after the first deploy:
| Campus selected on the referral | Form name |
|---|---|
| Oakview Primary | bus-conduct-oakview-primary |
| Crestview Elementary | bus-conduct-crestview-elementary |
| New Boston Middle School | bus-conduct-middle-school |
| New Boston High School | bus-conduct-high-school |
| Fallback if JavaScript is unavailable | bus-conduct-referral |
Required one-time setup: in Notifications β Form submission notifications, add one email notification for each of the four campus forms and enter that campus principal's email address. Set each notification to that single form β do not apply it to all forms, or every principal receives every referral. Add a notification for bus-conduct-referral to the Transportation Director so an unrouted referral is never missed.
FORMS list in discipline-referral.html, add a matching hidden form to
__forms.html, redeploy, then add the email notification for the new form.5. Printable Referral in the Email
Each referral notification carries the complete referral twice, so nothing has to be re-typed at the campus:
- In the message body β the
printable_copyfield holds the full referral as readable text, including every behavior box, the offense, comments, and the signature line. - As an attachment link β the
printable_referralfield is a one-page, print-formatted file named for the referral number. Open the link in the email and print with Ctrl+P (Windows) or βP (Mac) to file a paper copy.
Both are generated in the driver's browser at the moment of submission, so no extra service or key is required. The attachment counts against the project's form file storage; each referral is only a few kilobytes.
6. Review and Export
Open the projectβs Forms tab to review submissions. Each form can be exported as CSV.
7. Install on Phones
Android users can install from Chrome. iPhone users open the site in Safari, tap Share, and select Add to Home Screen.