Scout Grading
Designed to minimise the administration that accompanies running a scout troop. This includes attendance logging, automatically generated patrol grading forms & a smart patrol point calculator. Displays data in an easy to read format.
Utilises Google forms & sheets to allow for simple, UI based modification and customisation.
Written in Google Apps Script, a JavaScript platform in the cloud.
Learn more: https://developers.google.com/apps-script
Functionality
- Collect attendance data
- Assess uniform & other gradeable factors
- Calculate and award points
- Display results in an easy to read format
Workflow
Demo
All data is read from the master form as entered below. Upon submission, the necessary data ecosystem is generated by form-manager.gs
—handling additions, removals & edits to the register.
These operations execute concurrently upon submission of the master form:
- Attendance is logged to the associated spreadsheet.
- If necessary, a row is created for the member.
- Contents of the patrol specific form is generated to reflect the most recent register & the member's attendance.
Following weeks of usage the linked spreadsheet will populate as follows.
Usage
Designed to be quick and easy to use. With all additions, edits and removal of members/patrols done via a graphical interface.
Creating Patrols
A patrol is defined by a Title and description
item:
- The patrol name is set per the headers' title.
- The description can be left blank.
- Create more patrols by adding additional
Title and description
items:- Ensure each
Title and description
is followed by aMultiple choice grid
.
- Ensure each
Defining Members
The subsequent Multiple choice grid
is interpreted as the patrol itself:
- Leave the title blank.
- Each row defines a patrol member:
- The patrol member's name is set by the row's name
- To attach a rank to a patrol member, preface their name with:
PL
— Patrol LeaderAPL
— Assistant Patrol Leader
- Columns should be set to:
Present
Absent
Notified Absence
(optional)
Screenshots
Select "Add title and description" and choose a name | The subsequent item should be a "Multiple choice grid" |
Ensure "Present" & "Absent" are included as columns | The form should appear like this |
Installation
- Make a copy of each of the files within the scouts-grading G Drive directory.
- G Drive is able to "Make a copy" of all files in one operation if all 3 files are selected.
- Place the new files in a folder of their own to avoid clutter. (optional)
- When run,
form-manager.gs
will generate additional forms which are placed in the same folder as the form defined bymasterFormId
. (see below)
- When run,
- Open
Copy of scouts-grading
and navigate to File > Project properties > Script properties.- Feel free to rename the file.
- Select + Add row twice and define both
writeSheetId
andmasterFormId
. - Copy the id from
Copy of Troop Records
andCopy of Troop Register
and set the value of the properties respectively.- The id of a document is the 44 char. hash in the document's URL.
- id in bold: docs.google.com/spreadsheets/d/1HF3J1_hjian3oiD2nl1YvB6eLxw8kj1wYigKhzROZP8/edit
- The id of a document is the 44 char. hash in the document's URL.
- Open
setup.gs
from the list on the left and navigate to Run > Run function > triggerSetUp - Verify the app and grant requested permissions.
The spreadsheet defined by writeSheetId
will be populated upon the first submission of the form defined by masterFormId
.
clasp
command line tool
Clone using the Learn how to clone, pull, and push Apps Script projects on the command line using clasp.
License
The code is available under the MIT license.