diff --git a/.gitignore b/.gitignore index 91f6d32..ce5e6cc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,16 @@ # Hugo resources/ public/ +public-docura/ +public/pagefind/ +hugo_stats.json +.hugo_build.lock +assets/jsconfig.json .DS_Store +# Claude memory +memory/ +MEMORY.md + # editor temp files *~ *# diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..bbcff55 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/docura"] + path = themes/docura + url = https://github.com/docura/docura diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..b4e80f1 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,115 @@ +# PROJECT KNOWLEDGE BASE + +**Generated:** 2026-07-23 +**Commit:** d8679db +**Branch:** docs/rewrite-docura + +## OVERVIEW + +Hugo (extended, 0.161.1) static docs site for ExamTools (ham radio exam platform), published at docs.exam.tools via Netlify. Docura theme as pinned git submodule; Pagefind search via npx. Content-only repo — no application code, no tests, no lint CI. + +## STRUCTURE + +``` +examtools-docs/ +├── content/docs/ # 12 sections, ~53 pages — THE PRODUCT (see content/docs/AGENTS.md) +├── content-test/ # experimental overlay, mounted BEFORE content/ in hugo.yaml +├── data/en/docs/ # sidebar.yaml — authoritative sidebar nav (manual, not generated) +├── layouts/ # theme overrides — active presentation layer (see layouts/AGENTS.md) +├── themes/docura/ # theme, git submodule — do not edit in place +├── assets/css/ # Hugo-processed custom CSS (examtools-custom.css) +├── static/img/docs/ # doc screenshots, grouped by section +├── images/ # misc/legacy images, NOT site-served doc screenshots +├── hugo.yaml # site config: theme, language, mounts, goldmark +├── netlify.toml # build/deploy config (Hugo version pin lives here) +├── view.sh # local preview script (port 1316) +├── maintainer.md # contributor + publishing workflow +└── all.md, all-2.md # stale compiled legacy docs — not built, ignore unless mining old content +``` + +## Project source + +Some users of this repo may have access to the HamStudy / ExamTools codebase; when that is the case we should use that codebase to fact check and clarify things. The most likely location if it's present would be `../hamstudy2/`. + +## Domain equivalency + +Note that the following domains are aliases to each other: + +- hamstudy.org / ham.study +- examtools.org / exam.tools + +## WHERE TO LOOK + +| Task | Location | Notes | +|------|----------|-------| +| Add/edit a doc page | `content/docs/
/.md` | then update `data/en/docs/sidebar.yaml` | +| Reorder sidebar | `data/en/docs/sidebar.yaml` | manual; not derived from front matter | +| Change homepage | `layouts/_default/home.html` | hardcoded HTML, NOT `content/_index.md` | +| Change header/footer/sidebar rendering | `layouts/partials/` | overrides Docura partials | +| Custom CSS | `assets/css/examtools-custom.css` | processed via Hugo pipes in `stylesheets.html` | +| Add screenshots | `static/img/docs/
/` | root-relative URL `/img/docs/...` in markdown | +| Update theme | `git submodule update --remote themes/docura` | commit the submodule bump | +| Publishing workflow | `maintainer.md` | PR → master → push master:release | +| Hugo version | `netlify.toml` (`HUGO_VERSION`) | minimum required version lives here | + +## CONVENTIONS + +- Sidebar nav is manually curated in `data/en/docs/sidebar.yaml` — adding a page without a sidebar entry leaves it orphaned from nav and prev/next links. +- Root `layouts/` overrides most Docura templates; theme edits happen via override files, not in `themes/docura/`. +- `content-test/` mounts ahead of `content/` — its files shadow real content; check it when build output looks wrong. +- `enableGitInfo: true` — `date`/`lastmod` come from git; never set them in front matter. +- Goldmark `unsafe: true` — raw HTML allowed in markdown. +- External links get `target="_blank"` automatically via `layouts/_default/single.html`. +- Kebab-case dirs/filenames; section landing pages are `_index.md`. + +## ANTI-PATTERNS (THIS PROJECT) + +- Do NOT edit `themes/docura/` in place — submodule; override in root `layouts/` instead. +- Do NOT add `date`/`lastmod` to front matter — git-derived. +- Do NOT rely on `content/_index.md` for the homepage — it is STALE (references `layout: hextra-home` + `hextra/*` shortcodes from a prior Hextra migration; those shortcodes do not exist). The real homepage is `layouts/_default/home.html`. +- Do NOT treat `all.md`/`all-2.md` as live docs — legacy compiled dumps; `public/` is generated, never source. +- Do NOT expect search under `hugo server` — Pagefind only exists after full build. +- No archetypes — new pages are hand-written markdown with front matter. + +## UNIQUE STYLES + +- Procedural end-user docs: numbered steps, relative internal links, descriptive alt text, root-relative image paths. +- Branch model: feature branches → PR (Netlify deploy preview) → `master`; publish = `git push origin master:release`. +- `.editorconfig`: UTF-8, LF, 2-space indent, final newline; markdown keeps trailing whitespace. + +## COMMANDS + +```bash +git submodule update --init --recursive # first-time setup +hugo server # basic dev preview +./view.sh # strict preview (:1316, no fast render, i18n warnings) +hugo --gc --minify && npx pagefind --site public # full build + search index +npx serve -l 1316 public # serve indexed build +git push origin master:release # publish to production +``` + +## SKILLS (load for agent work) + +Three project skills in `.agents/skills/` — coding agents SHOULD load them for docs/site work: + +| Skill | Source | Use for | +|-------|--------|---------| +| `documentation` | [HamStudy/documentation-skills](https://github.com/HamStudy/documentation-skills) | Organizational framework for the docs — loosely Diátaxis-based (tutorials/how-to/reference/explanation) | +| `accessible-technical-writing` | [HamStudy/documentation-skills](https://github.com/HamStudy/documentation-skills) | Writing style and patterns for clarity + accessibility | +| `hugo` | [HamStudy/gohugo-skill](https://github.com/HamStudy/gohugo-skill) | Hugo usage — templates, mounts, pipes, theme work | + +Managed via the `skills` CLI (`skills-lock.json` pins versions): + +```bash +npx skills add hamstudy/documentation-skills # add/update the docs skills +npx skills add hamstudy/gohugo-skill # add/update the hugo skill +npx skills experimental_install # restore all skills from skills-lock.json +npx skills update -p # update project skills to latest +``` + +## NOTES + +- No lint, link-checker, or test suite — Netlify build success + deploy-preview eyeball is the only validation. +- `go.mod` exists only for Hugo module deps (theme transitive); no Go code. +- Node 20 needed only for Pagefind/serve via npx; no `package.json`. +- Search unavailable in `hugo server`; test search only via full build + `npx pagefind --site public`. diff --git a/README.md b/README.md index 1357bcd..af47b5e 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,13 @@ -**For Examtools documentation contributors and maintainers see [maintainer.md](maintainer.md).** +# ExamTools Documentation -Following is the default wowchemy README: +Source for the [ExamTools documentation site](https://docs.exam.tools/) — the end-user reference for [ExamTools by SignalStuff](https://exam.tools/), the modern platform for administering amateur radio license exams. - +## Tech stack -# Book Template for [Wowchemy Website Builder](https://wowchemy.com) +- **[Hugo](https://gohugo.io/)** (extended) — static site generator +- **[Docura](https://github.com/docura/docura)** — theme (git submodule at `themes/docura`) +- **[Netlify](https://netlify.com/)** — hosting and deploy previews -The **Book Template** empowers you to create **product documentation**, **digital books**, **personal notes**, and **knowledge bases**. +## Contributing -[Check out the latest demo](https://book-starter.netlify.app/) of what you'll get in less than 10 minutes, or [view the showcase](https://wowchemy.com/user-stories/). - -[**Wowchemy**](https://github.com/wowchemy/wowchemy-hugo-modules) makes it easy to create a beautiful website for free using Markdown, Jupyter, or RStudio. Customize anything on your site with widgets, themes, and language packs. - -- 👉 [**Get Started**](https://wowchemy.com/docs/install/) -- 📚 [View the **documentation**](https://wowchemy.com/docs/) -- 💬 [Chat with the **Wowchemy community**](https://discord.gg/z8wNYzb) or [**Hugo community**](https://discourse.gohugo.io) -- 🐦 Twitter: [@wowchemy](https://twitter.com/wowchemy) [@GeorgeCushen](https://twitter.com/GeorgeCushen) [#MadeWithWowchemy](https://twitter.com/search?q=(%23MadeWithWowchemy%20OR%20%23MadeWithAcademic)&src=typed_query) -- 💡 [Request a **feature** or report a **bug** for _Wowchemy_](https://github.com/wowchemy/wowchemy-hugo-modules/issues) -- ⬆️ **Updating Wowchemy?** View the [Update Guide](https://wowchemy.com/docs/update/) and [Release Notes](https://wowchemy.com/updates/) - -## Crowd-funded open-source software - -To help us develop this template and software sustainably under the MIT license, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship. - -### [❤️ Click here to unlock rewards with sponsorship](https://wowchemy.com/plans/) - - - - +See [maintainer.md](maintainer.md) for setup instructions, the editing workflow, front matter reference, and publishing steps. diff --git a/assets/css/examtools-custom.css b/assets/css/examtools-custom.css new file mode 100644 index 0000000..817eaba --- /dev/null +++ b/assets/css/examtools-custom.css @@ -0,0 +1,285 @@ +/* ExamTools brand overrides for Docura */ + +:root { + --et-gold: #c79100; + --et-blue: #0099ff; + --et-blue-dark: #007acc; + --et-navy: #0d1b2a; + --et-navy-mid: #1a2f46; + + --color-anchor: #0099ff; + --color-hover: #007acc; + + /* Light-mode: off-white base reduces glare on doc pages */ + --background: #f6f8fa; + + /* Article lift — shown in light mode, suppressed in dark/night */ + --et-article-bg: rgba(255, 255, 255, 0.82); + --et-article-shadow: 0 1px 6px rgba(0, 0, 0, 0.07), 0 0 0 1px rgba(0, 0, 0, 0.04); +} + +:root[data-color="dark"], +:root[data-color="night"] { + --et-article-bg: transparent; + --et-article-shadow: none; +} + +/* ── Site header: dark navy on all pages ──────────────────── */ + +#site-header { + background: var(--et-navy); + border-bottom: 1px solid rgba(255, 255, 255, 0.08); +} + +#site-header-brand a { + color: #ffffff; + padding: 10px 16px; + display: flex; + align-items: center; +} + +.et-header-logo { + height: 30px; + /* Invert the near-black text to white; gold converts to a bright yellow — close enough */ + filter: brightness(0) invert(1) sepia(1) saturate(2) hue-rotate(5deg); + display: block; +} + +#site-header-menu a { + color: rgba(255, 255, 255, 0.8); +} + +#site-header-menu a:hover, +#site-header-menu a:focus, +#site-header-menu a.active { + color: #ffffff; + border-bottom-color: var(--et-gold); +} + +#site-header-controls button, +#site-header-controls a { + color: rgba(255, 255, 255, 0.75); +} + +#site-header-controls .icon { + filter: brightness(0) invert(1) opacity(0.75); +} + +/* Keep dropdown menus readable */ +#site-header .dropdown-menu { + background: #132338; + border: 1px solid rgba(255, 255, 255, 0.12); +} + +#site-header .dropdown-menu a, +#site-header .dropdown-menu button { + color: rgba(255, 255, 255, 0.85); +} + +#site-header .dropdown-menu a:hover, +#site-header .dropdown-menu button:hover { + background: rgba(255, 255, 255, 0.08); + color: #ffffff; +} + +/* ── Subtle watermark on inner doc pages ──────────────────── */ + +body::before { + content: ""; + background-image: url("/img/sandcastle-drawing.svg"); + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + opacity: 0.018; + filter: saturate(0.1) contrast(0.4); + position: fixed; + top: 0; left: 0; right: 0; bottom: 0; + z-index: -1; + pointer-events: none; +} + +/* ── Home page cover ──────────────────────────────────────── */ + +.cover { + min-height: calc(100svh - var(--site-header-height, 48px)); + padding: 60px 20px; + + /* Dark navy gradient behind the SVG background */ + background: var(--et-navy); + position: relative; + overflow: hidden; + color: #e8edf2 !important; + + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +/* Exam classroom SVG at low opacity — the "from exam.tools" imagery */ +.cover::before { + content: ""; + position: absolute; + inset: 0; + background: url("/img/classExam2.svg") center/55% no-repeat; + opacity: 0.05; + z-index: 0; + pointer-events: none; +} + +/* Gradient vignette so edges fade to navy */ +.cover::after { + content: ""; + position: absolute; + inset: 0; + background: radial-gradient(ellipse at center, transparent 30%, var(--et-navy) 80%); + z-index: 0; + pointer-events: none; +} + +/* All direct cover children float above the pseudo-elements */ +.cover > * { + position: relative; + z-index: 1; +} + +.cover h1 { + font-family: var(--font-family), sans-serif; + font-size: 2.75em; + font-weight: 700; + letter-spacing: -0.01em; + color: #ffffff; + margin-bottom: 0.3em; + text-align: center; +} + +.cover h2 { + font-family: var(--font-family), sans-serif; + font-size: 1.15em; + font-weight: 400; + color: rgba(255, 255, 255, 0.65); + margin-bottom: 2.75rem; + text-align: center; + max-width: 540px; +} + +/* Callout cards */ +.et-callouts { + display: flex; + gap: 1.25rem; + flex-wrap: wrap; + justify-content: center; + margin-bottom: 2.5rem; + width: 100%; + max-width: 860px; +} + +.et-callout { + flex: 1 1 240px; + max-width: 260px; + background: rgba(8, 20, 34, 0.85); + border: 1px solid rgba(255, 255, 255, 0.22); + border-top: 3px solid var(--et-gold); + border-radius: 10px; + padding: 1.5rem 1.25rem; + text-decoration: none !important; + color: #e8edf2 !important; + transition: background 0.18s, border-color 0.18s, transform 0.15s; + display: flex; + flex-direction: column; + gap: 0.4rem; + backdrop-filter: blur(8px); + -webkit-backdrop-filter: blur(8px); +} + +.et-callout:hover { + background: rgba(0, 55, 115, 0.88); + border-color: rgba(0, 153, 255, 0.60); + transform: translateY(-3px); +} + +.et-callout-label { + font-size: 0.68rem; + font-weight: 700; + letter-spacing: 0.12em; + text-transform: uppercase; + color: var(--et-gold); +} + +.et-callout-title { + font-size: 1.05rem; + font-weight: 600; + color: #ffffff; + line-height: 1.3; +} + +.et-callout-desc { + font-size: 0.875rem; + color: #8aabb0; + line-height: 1.5; + flex: 1; +} + +.et-callout-arrow { + margin-top: 0.75rem; + font-size: 0.85rem; + color: var(--et-blue); + font-weight: 500; +} + +/* Browse all link */ +.et-browse-all { + font-size: 0.95rem; + color: rgba(255, 255, 255, 0.55) !important; + text-decoration: none; + transition: color 0.15s; +} + +.et-browse-all:hover { + color: rgba(255, 255, 255, 0.9) !important; +} + +/* Responsive */ +@media (max-width: 640px) { + .cover h1 { font-size: 2em; } + .cover h2 { font-size: 1em; } + .et-callouts { gap: 1rem; } + .et-callout { max-width: 100%; } + .cover::before { background-size: 90%; } +} + +/* ── Inner doc pages: article lift (light mode only) ─────── */ + +#article { + background: var(--et-article-bg); + box-shadow: var(--et-article-shadow); +} + +/* ── Inner doc pages: article title weight ────────────────── */ + +#article-header { + font-weight: 600; +} + +/* ── Inner doc pages: blockquote gold accent ──────────────── */ + +#article-content blockquote { + border-left-color: var(--et-gold); +} + +/* ── Inner doc pages: sidebar section labels ──────────────── */ + +.sidebar-section { + font-size: 0.7rem; + letter-spacing: 0.1em; + text-transform: uppercase; + color: var(--et-gold); +} + +/* ── Brand link colors in dark and night modes ────────────── */ + +:root[data-color="dark"], +:root[data-color="night"] { + --color-anchor: var(--et-blue); + --color-hover: var(--et-blue-dark); +} diff --git a/assets/images/icon-pack/.gitkeep b/assets/images/icon-pack/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/config/_default/config.toml b/config/_default/config.toml deleted file mode 100644 index db7880b..0000000 --- a/config/_default/config.toml +++ /dev/null @@ -1,117 +0,0 @@ -# Configuration of Hugo -# Guide: https://sourcethemes.com/academic/docs/get-started/ -# Hugo Documentation: https://gohugo.io/getting-started/configuration/#all-configuration-settings -# -# This file is formatted using TOML syntax - learn more at https://learnxinyminutes.com/docs/toml/ -# Each configuration section is defined by a name in square brackets (e.g. `[outputs]`). - -# Title of your site -title = "ExamTools | Documentation" - -# The URL of your site. -# End your URL with a `/` trailing slash, e.g. `https://example.com/`. -baseurl = "/" - -# Enter a copyright notice to display in the site footer. -# To display a copyright symbol, type `©`. For current year, type `{year}`. -copyright = "" - -############################ -## Advanced options below ## -############################ - -# Get last modified date for content from Git? -enableGitInfo = true - -# Default language to use (if you setup multilingual support) -defaultContentLanguage = "en" -hasCJKLanguage = false # Set `true` for Chinese/Japanese/Korean languages. -defaultContentLanguageInSubdir = false -removePathAccents = true # Workaround for https://github.com/gohugoio/hugo/issues/5687 - -summaryLength = 30 # Listing summary length in words. Also, see `abstract_length` in `params.toml`. -paginate = 10 # Number of items per page in paginated lists. -enableEmoji = true -enableRobotsTXT = true -footnotereturnlinkcontents = "^" -ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "_files$", "_cache$"] - -# Workaround Hugo publishing taxonomy URLs as plurals - consistently use singular across Academic. -[permalinks] - authors = "/author/:slug/" - tags = "/tag/:slug/" - categories = "/category/:slug/" - publication_types = "/publication-type/:slug/" - -[outputs] - home = [ "HTML", "RSS", "JSON", "WebAppManifest" ] - section = [ "HTML", "RSS" ] - -[mediaTypes."application/manifest+json"] - suffixes = ["webmanifest"] - -[outputFormats.WebAppManifest] - mediaType = "application/manifest+json" - rel = "manifest" - -# Configure the Markdown renderer. -[markup] - defaultMarkdownHandler = "goldmark" - [markup.goldmark] - [markup.goldmark.renderer] - unsafe = true # Enable user to embed HTML snippets in Markdown content. - [markup.highlight] - codeFences = false # Disable Hugo's code highlighter as it conflicts with Academic's highligher. - [markup.tableOfContents] - startLevel = 2 - endLevel = 3 - -[imaging] - resampleFilter = "lanczos" - quality = 75 - anchor = "smart" # Anchor for cropping. Options include Smart and Center. - -# Taxonomies. -[taxonomies] - tag = "tags" - category = "categories" - publication_type = "publication_types" - author = "authors" - -# Related content. -[related] - threshold = 80.0 - includeNewer = true - toLower = true - - [[related.indices]] - name = "title" - weight = 60.0 - - [[related.indices]] - name = "summary" - weight = 50.0 - - [[related.indices]] - name = "tags" - weight = 80.0 - - [[related.indices]] - name = "categories" - weight = 70.0 - - [[related.indices]] - name = "authors" - weight = 20.0 - -# Install Wowchemy -[module] - [[module.imports]] - path = "github.com/wowchemy/wowchemy-hugo-modules/wowchemy" - -# use the lastmod date from git unless explicitly overridden -[frontmatter] - date = ["date", "publishDate", "lastmod", ":git"] - lastmod = [":git", "lastmod", "date", "publishDate"] - publishDate = ["publishDate", "date"] - expiryDate = ["expiryDate"] diff --git a/config/_default/languages.toml b/config/_default/languages.toml deleted file mode 100644 index f7c6da6..0000000 --- a/config/_default/languages.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Languages -# Create a `[X]` block for each language you want, where X is the language ID. -# Refer to https://sourcethemes.com/academic/docs/language/ - -# Configure the English version of the site. -[en] - languageCode = "en-us" - # contentDir = "content/en" # Uncomment for multi-lingual sites, and move English content into `en` sub-folder. - -# Uncomment the lines below to configure your website in a second language. -#[zh] -# languageCode = "zh-Hans" -# contentDir = "content/zh" -# title = "Chinese website title..." -# [zh.params] -# description = "Site description in Chinese..." -# [[zh.menu.main]] -# name = "Wo" -# url = "#about" -# weight = 1 diff --git a/config/_default/menus.toml b/config/_default/menus.toml deleted file mode 100644 index a5725f7..0000000 --- a/config/_default/menus.toml +++ /dev/null @@ -1,14 +0,0 @@ -# Navigation Links -# To link a homepage widget, specify the URL as a hash `#` followed by the filename of the -# desired widget in your `content/home/` folder. -# The weight parameter defines the order that the links will appear in. - -[[main]] - name = "ExamTools" - url = "https://exam.tools" - weight = 1 - -[[main]] - name = "Docs" - url = "https://docs.exam.tools/" - weight = 10 diff --git a/config/_default/params.toml b/config/_default/params.toml deleted file mode 100644 index 8266d98..0000000 --- a/config/_default/params.toml +++ /dev/null @@ -1,212 +0,0 @@ -# SITE SETUP -# Guide: https://sourcethemes.com/academic/docs/get-started/ -# Documentation: https://sourcethemes.com/academic/docs/ -# -# This file is formatted using TOML syntax - learn more at https://learnxinyminutes.com/docs/toml/ -# Each configuration section is defined by a name in square brackets (e.g. `[search]`). - -############################ -## Theme -############################ - -# Choose a theme. -# Latest themes (may require updating): https://sourcethemes.com/academic/themes/ -# Browse built-in themes in `themes/academic/data/themes/` -# Browse user installed themes in `data/themes/` -theme = "minimal" - -# Enable users to switch between day and night mode? -day_night = true - -# Override the theme's font set (optional). -# Latest font sets (may require updating): https://sourcethemes.com/academic/themes/ -# Browse built-in font sets in `themes/academic/data/fonts/` -# Browse user installed font sets in `data/fonts/` -font = "" - -# Choose a font size. -# Sizes: XS (extra small), S (small), M (medium), L (large - DEFAULT), XL (extra large) -font_size = "M" - -############################ -## Basic Info -############################ - -# Website type -# Improve how search engines understand your site. -# For personal sites, choose "Person". -# For organizations and projects, choose from https://schema.org/Organization#subtypes -# E.g. Person, Organization, LocalBusiness, Project, EducationalOrganization -site_type = "EducationalOrganization" - -# Local business type (optional) -# If you entered "LocalBusiness" above, choose the type of business from https://schema.org/LocalBusiness#subtypes -local_business_type = "" - -# Organization name (optional) -# Enter an organization or project name. Defaults to the site title from `config.toml`. -org_name = "ExamTools by SignalStuff" - -# Description for social sharing and search engines. If undefined, superuser role is used in place. -description = "Modernizing Amateur Radio License Exams -- Documentation" - -############################ -## Site Features -############################ - -# Enable source code highlighting? true/false -# Documentation: https://sourcethemes.com/academic/docs/writing-markdown-latex/#highlighting-options -highlight = false -# highlight_languages = ["r"] # Add support for highlighting additional languages -# highlight_style = "github" # For supported styles, see https://cdnjs.com/libraries/highlight.js/ - -# Enable LaTeX math rendering? true/false -# If false, you can enable math on a per page basis as needed. -math = true - -# Enable diagram rendering? true/false -# If false, you can enable diagrams on a per page basis as needed. -diagram = true - -# Privacy pack -# Show a cookie consent message to visitors -# Anonymize IP in Google Analytics (if enabled) -privacy_pack = true - -# Enable visitors to edit pages? -# `repo` defines the repository URL. `editable` defines which page types can be edited. -edit_page = {repo_url = "https://github.com/hamstudy/examtools-docs", content_dir = "content/", repo_branch = "master", editable = {book = true}} - -# Show related content at the bottom of pages? -show_related = {book = true} - -############################ -## Social -############################ - -# Default image for social sharing and search engines. Place image in `static/media/` folder and specify image name here. -sharing_image = "" - -# Twitter username (without @). Used when a visitor shares your site on Twitter. -twitter = "" - -############################ -## Regional Settings -############################ - -# Date and time format (refer to https://sourcethemes.com/academic/docs/customization/#date-format ) -# Examples: "Mon, Jan 2, 2006" or "2006-01-02" -date_format = "Jan 2, 2006" -# Examples: "3:04 pm" or "15:04" -time_format = "15:04" - -############################ -## Advanced -############################ - -# Main menu alignment (l = left, c = center, r = right) and logo options. -main_menu = {align = "l", show_logo = true, highlight_active_link = true, show_language = false} - -# Show estimated reading time for posts? (true/false) -reading_time = true - -# Display next/previous section pager? (true/false) -section_pager = false -docs_section_pager = true # Display pager in Docs layout (e.g. tutorials)? - -# Enable in-built social sharing buttons? (true/false) -sharing = true - -# Show a copyright license from creativecommons.org in the site footer? -# Page specific copyright licenses are also possible by adding this option to a page's front matter. -copyright_license = {enable = false, allow_derivatives = false, share_alike = true, allow_commercial = false, notice = "This work is licensed under {license}"} - -# Abstract length (characters) in the Compact and Portfolio Card list views. Also, see `summaryLength` in `config.toml`. -abstract_length = 135 - -# Load JS plugins -# E.g. To load `/assets/js/custom.js`, set `plugins_js = ["custom"]`. -plugins_js = [] - -############################ -## Comments -############################ -[comments] - # Comment provider: - # 0: Disabled - # 1: Disqus (https://disqus.com) - # 2: Commento (https://commento.io) - engine = 0 - - # Which page types are commentable? - commentable = {book = false} - - # Configuration of Disqus. - [comments.disqus] - shortname = "" # Paste the shortname from your Disqus dashboard. - show_count = true # Show comment count in page header? (true/false) - - # Configuration of Commento. - [comments.commento] - # If self-hosting Commento, enter its URL here (e.g. "https://commento.?.com"), otherwise leave empty. - url = "" - -############################ -## Search -############################ -[search] - # Search provider: - # 0: No search engine - # 1: Academic (built-in) - # 2: Algolia (https://www.algolia.com) - engine = 1 - - # Configuration of Algolia search engine. - # Paste the values from your Algolia dashboard. - [search.algolia] - app_id = "" - api_key = "" - index_name = "" - show_logo = false - -############################ -## Maps -############################ -[map] - # To show your address on a map in the Contact widget, enter your latitude and longitude (above) - # and choose a map provider below. - # - # To use Google Maps, set `engine` to 1 and enter your API key that can be obtained here: - # https://developers.google.com/maps/documentation/javascript/get-api-key - # To use OpenStreetMap tiles, set `engine` to 2. - # To use OpenStreetMap on a high traffic site, set `engine` to 3 and enter your API key that can be obtained here: - # https://www.mapbox.com/studio/account/tokens - # - # Map provider: - # 0: No map - # 1: Google Maps - # 2: OpenStreetMap (Mapnik) - # 3: OpenStreetMap (Mapbox) - engine = 0 - api_key = "" - zoom = 15 - -############################ -## Marketing -############################ -[marketing] - google_analytics = "" - google_tag_manager = "" - -############################ -## Content Management System -############################ -[cms] - # See https://sourcethemes.com/academic/docs/install/#install-with-web-browser - netlify_cms = true - -############################ -## Icon Pack Extensions -############################ -[icon.pack] - ai = false # Academicons icon pack https://jpswalsh.github.io/academicons/ diff --git a/content-test/_index.md b/content-test/_index.md new file mode 100644 index 0000000..c98c816 --- /dev/null +++ b/content-test/_index.md @@ -0,0 +1,9 @@ +--- +title: ExamTools Documentation +--- + +ExamTools is the modern platform for administering amateur radio license exams. Whether you are a new volunteer examiner or an experienced team lead, start here. + +- [New Volunteer Examiner? Start here →](docs/getting-started/new-ve-quickstart) +- [Setting up a Team? Start here →](docs/getting-started/new-team-lead-quickstart) +- [Browse all docs →](docs) diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..3492671 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,46 @@ +--- +title: ExamTools Documentation +layout: hextra-home +--- + +{{< hextra/hero-badge >}} + Free, open documentation +{{< /hextra/hero-badge >}} + +
+{{< hextra/hero-headline >}} + Run better ham radio exams with confidence +{{< /hextra/hero-headline >}} +
+ +
+{{< hextra/hero-subtitle >}} + ExamTools is the modern platform for administering amateur radio license exams. + Whether you are a new volunteer examiner or an experienced team lead, start here. +{{< /hextra/hero-subtitle >}} +
+ +
+{{< hextra/hero-button text="New Volunteer Examiner?" link="docs/getting-started/new-ve-quickstart" >}} +{{< hextra/hero-button text="Setting up a Team?" link="docs/getting-started/new-team-lead-quickstart" style="secondary" >}} +
+ +
+{{< hextra/feature-grid >}} + {{< hextra/feature-card + title="Get set up fast" + subtitle="Create your account, add your signature, and be ready to proctor exams in under 15 minutes." + link="docs/getting-started/new-ve-quickstart" + >}} + {{< hextra/feature-card + title="Run a session" + subtitle="Step-by-step guides for every part of exam day — from opening the session to submitting results." + link="docs/exam-day" + >}} + {{< hextra/feature-card + title="Paper exams" + subtitle="Generate, print, grade, and enter results for paper-based exam sessions." + link="docs/paper-exams" + >}} +{{< /hextra/feature-grid >}} +
diff --git a/content/docs/3rdParty/_index.md b/content/docs/3rdParty/_index.md deleted file mode 100644 index 077aa3d..0000000 --- a/content/docs/3rdParty/_index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Third Party Tools, Tips and Tricks -summary: Some useful hints about using common third party tools with ExamTools -weight: 40 -icon: book -icon_pack: fas -draft: true - -# Page metadata. -title: Third Party Tools, Tips and Tricks -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -ExamTools works great for what it does, but extending your testing abilities with third party tools is a requirement for most fully-remote session. Here are some tips, tricks, and best practices to help you along the way. diff --git a/content/docs/3rdParty/discord.md b/content/docs/3rdParty/discord.md deleted file mode 100644 index 365ce69..0000000 --- a/content/docs/3rdParty/discord.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Setting up and using Discord for exam team communications -linktitle: Setting up and using Discord for exam team communications -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 20 -draft: true ---- -## Coming Soon - -### Header 3 -#### Header 4 - -*** -* This is -* An unordered - * List - * Here ---- - -1. This is -2. An ordered - 1. Listing - 2. of some -3. Stuff - -___ - -[This is a link to Discord](http://discord.com) - -https://www.markdownguide.org/basic-syntax/ diff --git a/content/docs/3rdParty/slack.md b/content/docs/3rdParty/slack.md deleted file mode 100644 index 70dd1c5..0000000 --- a/content/docs/3rdParty/slack.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Setting up and using Slack for exam team communications -linktitle: Setting up and using Slack for exam team communications -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 30 -draft: true ---- -## Coming Soon diff --git a/content/docs/3rdParty/zoom.md b/content/docs/3rdParty/zoom.md deleted file mode 100644 index e1d4d1e..0000000 --- a/content/docs/3rdParty/zoom.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Setting up and using Zoom Videoconferencing for Fully Remote exams -linktitle: Setting up and using Zoom Videoconferencing for Fully Remote exams -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 10 -draft: true ---- -## Coming Soon diff --git a/content/docs/AGENTS.md b/content/docs/AGENTS.md new file mode 100644 index 0000000..7138d53 --- /dev/null +++ b/content/docs/AGENTS.md @@ -0,0 +1,37 @@ +# CONTENT — content/docs/ + +## OVERVIEW + +The actual documentation: 12 sections, ~53 markdown pages. Everything else in the repo exists to render this. + +## SECTIONS + +`getting-started` · `account-setup` · `teams` · `sessions` · `exam-day` · `paper-exams` · `remote-exams` · `sandbox` · `reference` · `troubleshooting` · `applicants` · `about` (+ `faq.md` at this level) + +Sidebar order is NOT derived from here — it lives in `data/en/docs/sidebar.yaml`. + +## WHERE TO LOOK + +| Task | Location | +|------|----------| +| Section landing page | `
/_index.md` | +| Individual guide | `
/.md` | +| Screenshots for a page | `static/img/docs/
/` | + +## CONVENTIONS + +- Required front matter: `title` + `weight` only. Lower `weight` sorts first within a section. `draft: true` hides a page. Nothing else needed. +- Every new page ALSO needs an entry in `data/en/docs/sidebar.yaml` (`title` + trailing-slash URL) or it is unreachable from nav and prev/next links. +- Screenshots: root-relative paths — `![Descriptive alt text](/img/docs/
/.png)`. +- Internal links: relative to the docs tree (e.g. `(../sessions/create-session)`), no trailing slash needed in links. +- Style: procedural, numbered steps, second person ("you"), task-oriented titles ("Create a Session", not "Session Creation"). +- Raw HTML allowed (Goldmark `unsafe: true`); used sparingly for callouts/tables. +- External links open in new tabs automatically — do not add `target="_blank"` by hand. + +## ANTI-PATTERNS + +- Do NOT set `date` or `lastmod` — git-derived via `enableGitInfo`. +- Do NOT add a page without a sidebar.yaml entry. +- Do NOT hotlink product UI screenshots from outside `static/img/docs/`. +- Do NOT document unshipped features on `master` — use `draft: true` or keep on the branch (deploy previews build with `--buildFuture`). +- Product rules documented in these pages (e.g. "never remove a VE who authorized exams", "answer keys must stay secure") are USER-FACING product behavior — preserve them when editing; they are not style guidance. diff --git a/content/docs/_index.md b/content/docs/_index.md index 890cc06..afddb3a 100644 --- a/content/docs/_index.md +++ b/content/docs/_index.md @@ -1,43 +1,13 @@ --- -title: ExamTools Documentation -type: book +title: Documentation +weight: 1 --- -## **General Information** -* ### [About ExamTools by SignalStuff]({{}}) -* ### [ExamTools for Volunteer Examiners]({{}}) - * #### [Websites in the ExamTools Ecosystem]({{}}) - * #### [Exam Flow and Overview in ExamTools]({{}}) - * #### [VE Roles and Permissions in an ExamTools session]({{}}) - * #### [Get Help with ExamTools]({{}}) - * #### [Get Started with ExamTools]({{}}) - * #### [Supported Browsers & Devices]({{}}) -* ### [Volunteer Examiners]({{}}) - * #### [How ExamTools Works]({{}}) - * #### [VE Overview and Training Videos]({{}}) - * #### [Create an ExamTools Account]({{}}) - * #### [Create an ExamTools Sandbox Account]({{}}) - * #### [Add a Signature to your Profile]({{}}) - * #### [Add Additional VEC Accreditation]({{}}) - * #### [Change your Callsign]({{}}) -* ### [Team Leads or Session Managers]({{}}) - * #### [Become a Team Lead in ExamTools]({{}}) - * #### [Create and Edit Team Accounts in ExamTools]({{}}) - * #### [Create and Edit Sessions in ExamTools]({{< relref "cve/cveCreateSession.md" >}}) - * #### [Edit the VE List in ExamTools]({{< relref "cve/cveVEList.md" >}}) - * #### [In-Person Exams with ExamTools]({{< relref "cve/cveIn-PersonExamProcess.md" >}}) - * #### [Print and Grade Hard Copy Exams in ExamTools]({{< relref "cve/printedExamCreation.md" >}}) - * #### [Zoom for Online Exams]({{< relref "cve/Zoom.md" >}}) - * #### [Sandbox Exams and Dummy VEs]({{< relref "cve/cveSandboxDummies.md" >}}) +Welcome to the ExamTools documentation. Use the sidebar to navigate, or choose a starting point below. -

-## **VEC Specific Information** -* ### [ARRL-VEC FAQ's]({{}}) - * #### [Sample ARRL VE Session Checklist]({{}}) - * #### [Sample ARRL VE Greeter Script]({{}}) -* ### [W5YI-VEC CVE FAQ's]({{}}) - * #### [W5YI VE FAQ's]({{}}) - * #### [Sample W5YI VE Session Checklist]({{}}) - * #### [Sample W5YI VE Greeter Script]({{}}) +## Where do you want to start? -

+- **[New Volunteer Examiner?](getting-started/new-ve-quickstart)** — Create your account and get ready to proctor in 15 minutes. +- **[Setting up a team or session?](getting-started/new-team-lead-quickstart)** — Get team lead access, create a team, and schedule your first session. +- **[Running a session today?](exam-day)** — Jump straight to the exam day guides. +- **[Need to print paper exams?](paper-exams)** — Generate, print, and grade paper-based exams. diff --git a/content/docs/about/_index.md b/content/docs/about/_index.md index 798909b..b23719f 100644 --- a/content/docs/about/_index.md +++ b/content/docs/about/_index.md @@ -1,30 +1,6 @@ --- -# Title, summary, and page position. -linktitle: About ExamTools by SignalStuff -summary: About ExamTools by SignalStuff -weight: 05 -icon: book -icon_pack: fas - -# Page metadata. -title: General Info -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. +title: About ExamTools +weight: 9 --- -## About - -Just over a decade ago, Richard Bateman KD7BBC saw the need to begin improving and modernizing the way Amateur Radio exams are administered. At that time he and a close-knit team of volunteers began developing and hosting web and computer based software applications that aim to improve how people study for, take, and administer Amateur Radio license exams. The results of this labor turned into two tools: -* For candidates, [HamStudy](http://ham.study) is a program that aids in studying for upcoming tests by using intelligent flash card study and practice tests, as well as maintains a listing of upcoming exam sessions. It can be used at no charge in an exclusively web based format, or as a mobile device application. While primarily used to study for US based Amateur Radio exams, [HamStudy](http://ham.study) can also be used for many FCC commercial elements, as well as Amateur Radio exams in several other countries. -* For volunteer examiners, [ExamTools](http://exam.tools) is a web-based software package that allows for administering and grading exams via computer or paper, and digital signing of all forms including NCVEC Form 605 and all Certificates of Successful Completion. It can be used to generate randomized exams for Amateur Radio Element 2 (*Technician*), Element 3 (*General*), and Element 4 (*Amateur Extra*). -These projects are funded primarily through proceeds from [SignalStuff](http://signalstuff.com), an antenna design and development company Richard started which is known for its highly acclaimed Signal Stick handheld radio antennas, with additional support from [Icom America](https://www.icomamerica.com/). - -The COVID-19 pandemic seriously restricted the ability to hold in-person amateur radio license testing beginning in the Spring of 2020. To address the continuing demand for license testing, a Fully-Remote Working Group representing several VECs was formed. The working goal of this group was to determine how to implement and proctor remote exams while remaining in full compliance with Part 97 requirements and VEC-specific policies. ***The very first fully-remote exam session was held as a proof of concept on March 26, 2020 using Tier 1 of the ExamTools software***. Though the session was successful, the process was cumbersome, required remote access to the candidate's computer by VEs, and third party digital signature tools for all paperwork. To improve the workflow and operation of remote testing, ExamTools Tier 2 was developed and released on May 26, 2020, - -Several VEC organizations are actively using ExamTools at this time for both in person and fully remote exams. From March 26th until December 1st, 2020 ExamTools has been used to administer tests for: -* **In-Person**: 1,100 candidates taking 1,600 elements -* **Fully Remote**: 9,000 candidates taking 10,000 elements - -ExamTools is being improved further based on input from active VEs and the support of a committed team of volunteers that assist Richard in design, development, testing, documentation and training. Future enhancements of ExamTools could integrate features such as digital payment, video conferencing and VE chat functionality which are currently performed using stand-alone applications. ExamTools has provided a world-class computer-based fully-remote testing environment that is efficient and scalable to support the continued growth of the amateur radio community. - -If you are a Volunteer Examiner and would like to learn more about how ExamTools works in a typical exam session, please read the [ExamTools Overview](../general/). +- **[About ExamTools](about-examtools)** — The history and mission of the ExamTools platform. diff --git a/content/docs/about/about-examtools.md b/content/docs/about/about-examtools.md new file mode 100644 index 0000000..64296e0 --- /dev/null +++ b/content/docs/about/about-examtools.md @@ -0,0 +1,32 @@ +--- +title: About ExamTools +weight: 1 +--- + +Just over a decade ago, Richard Bateman KD7BBC saw the need to improve and modernize how amateur radio exams are administered. He and a close-knit team of volunteers began developing web and computer-based software with that goal. The result was two tools: + +- **[HamStudy](https://ham.study)** — A study platform for exam candidates. Uses intelligent flashcard study and practice tests. Available free on the web and as a mobile app. Covers US amateur radio exams, several FCC commercial elements, and amateur radio exams in other countries. +- **[ExamTools](https://exam.tools)** — A platform for volunteer examiners. Supports administering and grading exams by computer or paper, and digital signing of all forms including NCVEC Form 605 and Certificates of Successful Completion. + +Both projects are funded primarily through proceeds from [SignalStuff](https://signalstuff.com), Richard's antenna design company, with additional support from [Icom America](https://www.icomamerica.com/). + +## Remote exams and COVID-19 + +The COVID-19 pandemic halted in-person amateur radio license testing in spring 2020. In response, a Fully-Remote Working Group representing several VECs was formed to determine how to implement remote proctoring while remaining in full compliance with Part 97 requirements and VEC-specific policies. + +The first fully-remote exam session was held on **March 26, 2020** as a proof of concept. The session was successful but the process was cumbersome, requiring remote access to the candidate's computer and third-party digital signature tools. ExamTools Tier 2 — with a fully integrated remote exam and digital signature workflow — was released on May 26, 2020. + +From March 26 through December 1, 2020, ExamTools administered exams for over 1,100 in-person candidates and 9,000 fully-remote candidates. + +## Today + +Several VEC organizations actively use ExamTools for both in-person and fully-remote exam sessions. ExamTools continues to be developed and improved based on input from active VEs and a team of volunteers who assist with design, development, testing, documentation, and training. + +## Contributing to the docs + +The documentation source is on GitHub at [github.com/HamStudy/examtools-docs](https://github.com/HamStudy/examtools-docs). Corrections and improvements are welcome via pull request — see [maintainer.md](https://github.com/HamStudy/examtools-docs/blob/master/maintainer.md) for instructions. + +## Get help + +- [Troubleshooting →](../troubleshooting) +- [Get help →](../troubleshooting/get-help) diff --git a/content/docs/about/verification-faq.md b/content/docs/about/verification-faq.md deleted file mode 100644 index 3b851b0..0000000 --- a/content/docs/about/verification-faq.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Call Sign Verification FAQ -summary: Frequently Asked Questions about Call Sign Verification -weight: 05 -icon: book -icon_pack: fas - -# Page metadata. -title: Call Sign Verification FAQ -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Verification requirement: - -In late 2022, all Volunteer Examiners were required to verify their call sign. Hopefully, -we can resolve your questions about the process here. - -## Basic process - -The basic process to verify your call sign is to upload the PDF of your official license copy from -the [ULS License Manager](https://wireless2.fcc.gov/UlsEntry/licManager/login.jsp). This is seen as proof that you own (or at least have a large amount of control of) that -call sign. You also sign a legally binding form when you submit it indicating that you really are -the owner of that call sign. While it's unlikely it would ever have to go to court, falsifying that form -would legally constitute forgery. - -### Q: Why do I need to verify my call sign? - -A: As more people use ExamTools we want to do a little more to ensure that nobody is misrepresenting -themselves or using the system as someone that they aren't. You wouldn't want someone else to create -an account with your call sign, would you? This is our "good faith" effort to solve that problem. - -### Q: Isn't this a VEC problem? Why do you care? - -A: Actually the VEC has nothing to do with the verification itself. The VEC determines e.g. if -KD7BBC can be accredited as a Volunteer Examiner -- the intent of this process is to determine if -the person who created an account and indicated that their call sign is "KD7BBC" really does own -that call sign. - -Of course, once the call sign associated with your ExamTools user account is verified, the software automatically links any VEC credentials (including Team Lead permissions for some) and makes them available to you to use. For most, the VEC data synced with ExamTools controls the addition or removal of accreditations which greatly simplifies the process. - - -### Q: I have a paper copy of my license, why can't I just scan it? - -A: We aren't trying to prove that you have a copy of the license. We aren't trying to prove that -the license is valid, or that it has been issued -- all of those things are easily proven by doing -a lookup on the ULS. What we want is evidence that you can access the ULS account for that call sign, -which is required to download the Official Copy PDF. If it has been modified in any way then we can't -tell if you falsified it. - -### Q: Why can't I just upload the Reference Copy? - -A: The reference copy doesn't tell us anything that we can't find from looking in the ULS ourselves. -See the previous question. - -### Q: Doesn't it need to be signed to be valid? - -A: No, if the document has been modified in any way it no longer serves as evidence that you can -access the ULS account for your call sign. See the previous few questions. - -### Q: Couldn't someone just as easily make a fake PDF that looks like it? - -A: Yes, it's possible to make a fake; that said, we've established a number of digital markers that -the FCC leaves that we can look at which have nothing to do with how the document looks and can in -most cases tell us if it's a legitimate document after a very cursory glance. Would it still be -possible to fake? Yes, but not easy. - -### Q: I don't want to do this, can't we do it another way? - -A: We are totally open to suggestions, but also constrained by time. This is a standard way that many -systems use for verifying call sign ownership. If you think you have a better way we welcome the -suggestion. Here are the problems it needs to solve: - -* Provide reasonably certain evidence that you have control and ownership of the license which can't - be easily faked by someone with five minutes and a Photoshop-like tool. -* Not expose any more information than is actually required to the ExamTools system. - -### Q: I'm still not willing to do this. What are my options? - -If with all of that you are still not willing to do it then that is your choice; we will miss you. - - -## Timeline - -### Q: When will verification become required? - -A: Team leads were first required to verify their accounts much sooner than regular VEs. As of August 2023, we are still in a phase where all new accounts are required to verify their call sign to be activated and others are nagged incessantly. We'll crank the -nagging up until most have done it and then warn anyone who still hasn't done it by email with specific -deadlines before we shut anything off. - -The rough expectation is that the final "requirement" will not be enforced until later -- it will depend on how things go. - - -## Still have questions? - -If you still have significant concerns you may reach out to us on the Discord server or -- if you must -- email Richard directly at signalstuff.com. diff --git a/content/docs/account-setup/_index.md b/content/docs/account-setup/_index.md new file mode 100644 index 0000000..18e5775 --- /dev/null +++ b/content/docs/account-setup/_index.md @@ -0,0 +1,11 @@ +--- +title: Account Setup +weight: 2 +--- + +One-time tasks to get your ExamTools account ready before your first session. + +- **[Create your account](create-account)** — Create your account at exam.tools and verify your callsign. +- **[Confirm your VEC accreditation](add-vec-accreditation)** — Understand how VEC accreditation syncs automatically and how to confirm it is showing on your profile. +- **[Add your signature](add-signature)** — Set up the digital signature used on NCVEC Form 605 and certificates. +- **[Change your callsign](callsign-change)** — What to expect and what to do when you receive a new callsign. diff --git a/content/docs/account-setup/add-signature.md b/content/docs/account-setup/add-signature.md new file mode 100644 index 0000000..15028d1 --- /dev/null +++ b/content/docs/account-setup/add-signature.md @@ -0,0 +1,45 @@ +--- +title: Add Your Signature +weight: 3 +--- + +ExamTools uses a saved digital signature for NCVEC Form 605 and exam pass certificates. You need to set this up before you can sign anything during a session. + +> **Pro tip:** A smartphone or tablet gives the best-looking results since you can sign with your finger naturally. + +## Prerequisites + +- A verified [ExamTools account](create-account) + +## Steps + +1. Go to [exam.tools](https://exam.tools) and sign in under **Assist with an Exam**. + +2. Click **Profile** in the upper left navigation. + +3. Find the **Saved Signature** section on your profile page and expand it. + + ![ExamTools Profile page showing the Saved Signature section expanded with a signature preview and a New Signature button](/img/docs/account-setup/profile-saved-signature.png) + +4. Click **New Signature**. A white box labeled **Sign Here** will appear. + +5. Use your mouse, trackpad, or touchscreen to draw your signature in the box. Sign the same way you would sign a paper form — this signature appears on official FCC documents. + + ![New Signature dialog showing a drawing canvas with a Sign Here watermark, a Clear Signature button, and Cancel/Save actions](/img/docs/account-setup/profile-signature-canvas.png) + +6. Click **Save**. + +## Verify + +Your signature preview appears in the **Saved Signature** section of your profile. Confirm it looks the way you intend before joining a session. + +## Updating your signature + +Return to your profile at any time, expand **Saved Signature**, and click **New Signature** to draw a new one. The updated signature will be used on all future documents. + +> Updating your signature does not change signatures already applied to past sessions. + +## Next steps + +- [Return to the new VE quickstart →](../getting-started/new-ve-quickstart) +- [Learn what happens on exam day →](../exam-day) diff --git a/content/docs/account-setup/add-vec-accreditation.md b/content/docs/account-setup/add-vec-accreditation.md new file mode 100644 index 0000000..bd786da --- /dev/null +++ b/content/docs/account-setup/add-vec-accreditation.md @@ -0,0 +1,45 @@ +--- +title: Confirm Your VEC Accreditation +weight: 2 +--- + +VEC accreditation in ExamTools is automatic — you do not add it yourself. Your VEC maintains a list that ExamTools syncs with. This page explains how that process works and how to confirm your accreditation is showing correctly. + +## How it works + +Once your VEC officially confirms your accreditation, they add you to their list. ExamTools reads VEC records every 4 hours, but VECs update on their own schedule. Allow up to 24–48 hours after your VEC confirms your accreditation before expecting it to appear. + +## Confirm your accreditation is active + +1. Sign in to [exam.tools](https://exam.tools) under **Assist with an Exam**. + +2. Go to your **Profile** (upper left navigation). + +3. Scroll down to **Volunteer Examiner Credentials** and click the arrow on the right to expand it. + + ![ExamTools Profile page showing the Call sign section with a verified callsign, and below it the Volunteer Examiner Credentials and Saved Signature sections collapsed with expand arrows](/img/docs/account-setup/profile-vec-credentials-collapsed.png) + +4. Your accreditation should appear here, listing your VEC and whether you hold **Volunteer Examiner** or **Team Lead** status. + + ![ExamTools Profile page showing the Volunteer Examiner Credentials section expanded, listing multiple VEC accreditations with credential type (Team Lead or Volunteer Examiner) beside each](/img/docs/account-setup/profile-vec-credentials-expanded.png) + +5. Let your team lead know your accreditation is showing correctly and you are ready to participate in sessions. + +## If your accreditation is not showing + +- Confirm your VEC has officially processed your accreditation on their end. +- If it has been more than 48 hours since your VEC confirmed, contact your VEC directly. +- ExamTools syncs automatically — ExamTools staff does not need to be contacted for a normal accreditation sync. + +## Adding accreditation from a second VEC + +If you become accredited with an additional VEC after your initial setup, the same automatic process applies. Your new VEC adds you to their list, ExamTools syncs, and the new credential appears under **Volunteer Examiner Credentials** in your profile. No action is needed in ExamTools itself. + +## Verify + +Your profile shows your VEC name and your credential type (Volunteer Examiner or Team Lead) under **Volunteer Examiner Credentials**. + +## Next steps + +- [Add your signature →](add-signature) +- [Return to the new VE quickstart →](../getting-started/new-ve-quickstart) diff --git a/content/docs/account-setup/callsign-change.md b/content/docs/account-setup/callsign-change.md new file mode 100644 index 0000000..8c87f32 --- /dev/null +++ b/content/docs/account-setup/callsign-change.md @@ -0,0 +1,39 @@ +--- +title: Change Your Callsign +weight: 4 +--- + +If you receive a new callsign, ExamTools updates automatically. You do not need to create a new account. + +## Steps + +1. After the FCC grants your new callsign, notify your team lead(s) and all VECs with which you are accredited. + +2. ExamTools syncs with the FCC and your VECs automatically. You do not need to contact ExamTools staff. + +3. Confirm your callsign has updated in your profile on both your production and sandbox accounts (if you have one). + + ![ExamTools Profile page showing a verified callsign under Call sign and the Volunteer Examiner Credentials section expanded with VEC accreditations listed](/img/docs/account-setup/profile-vec-credentials-expanded.png) + +## What to expect during the transition + +Your account may behave inconsistently for a few days while the callsign transitions: + +- It may continue to work briefly under your old callsign. +- It may stop working while your old accreditation is removed. +- It will resume working once your new callsign accreditation is added. + +**Do not use your account or sign paperwork while it is still showing your old callsign.** Wait until the transition is complete. + +The delay is often on the VEC side. Expect the process to take a few days to a week. + +## Additional notes + +- Do not create a new account. Multiple accounts cause problems and delays. +- If a team lead clones a past session, your old callsign may reappear. Have them delete you from that session and add you back under your new callsign. +- You may not be able to participate in exam sessions until the account update is complete. Check with your team lead. +- All your accreditations will appear under **Volunteer Examiner Credentials** in your profile once updated. + +## Related guides + +- [Confirm your VEC accreditation →](add-vec-accreditation) diff --git a/content/docs/account-setup/create-account.md b/content/docs/account-setup/create-account.md new file mode 100644 index 0000000..fb63cf2 --- /dev/null +++ b/content/docs/account-setup/create-account.md @@ -0,0 +1,108 @@ +--- +title: Create Your Account +weight: 1 +--- + +This guide walks through creating a production ExamTools account and getting your callsign verified. You need to complete this before you can sign forms digitally or participate in computer-based sessions. + +> **Do you need an account?** VEs who will only sign paper forms with a pen do not need an ExamTools account. You only need one if you will be signing forms digitally, proctoring computer-based exams, or running sessions as someone with team lead credentials. When in doubt, ask your team lead. + +> **Setting up a sandbox account?** Follow the same steps, but substitute [examtools.dev](https://examtools.dev) for every [exam.tools](https://exam.tools) URL. A sandbox account is separate from your production account and requires its own registration and callsign verification. + +## Prerequisites + +- Your FCC callsign (you must already be a licensed amateur radio operator) +- Access to the FCC Universal Licensing System (ULS) with your FCC username and password + +## Part 1: Create the account + +1. Go to [exam.tools](https://exam.tools). + + > If you already have a HamStudy account, skip to step 4 — ExamTools and HamStudy share the same login system, so your existing credentials work on both sites. + +2. Click **Sign Up** and fill in the registration form: + + - **Username** — your login name. Using your callsign is strongly recommended; it makes it easy for team leads to find and add you to sessions. + - **Email address** — used for account confirmation and notifications. + - **Password** — choose a strong, unique password. You will enter it when signing forms and grading exams, so make it something you can type quickly under mild pressure. + +3. Check your email for a confirmation message from ExamTools. Click the confirmation link, or enter the confirmation code if the form prompts for it. + + > **Don't see the email?** Check your spam or junk folder. + +4. Sign in at [exam.tools](https://exam.tools) using the button labeled **Assist with an Exam** or **Assist with or Manage Exams**. + + ![ExamTools homepage showing three options: Take an exam (for applicants), Assist with or Manage exams (for VEs with a Sign In button), and VE Documentation](/img/docs/account-setup/homepage-sign-in.png) + +5. After signing in, the page shows instructions for verifying your account. Click **Profile** in the upper left navigation to continue. + + ![ExamTools Getting Started page after first sign-in, showing the Profile link in the left navigation and a welcome message prompting callsign verification](/img/docs/account-setup/dashboard-getting-started.png) + +--- + +## Part 2: Verify your callsign + +Callsign verification is required for all ExamTools accounts. It establishes that the person who created the account actually owns the callsign they registered with. + +The process requires downloading your **Official License Copy** PDF from the FCC ULS — not a scan, not a photo, and not the Reference Copy. The Official Copy contains digital markers that ExamTools uses to validate authenticity. + +### Get your Official License Copy from the FCC + +Follow the [FCC's guide to downloading your Official Copy](https://fccprod.servicenowservices.com/wireless?id=kb_article_view_public&sysparm_article=KB0017039&sys_kb_id=ccd5b0b61bd0a110fdb72f41f54bcb26&spa=1). You need the **Official Copy** specifically — not the Reference Copy, and not a scan or photo of your paper license. + +> **Official Copy vs. Reference Copy:** Both are available from the FCC ULS, but only the Official Copy contains the embedded digital certificate that ExamTools validates against. The Reference Copy looks similar but will be rejected. + +### Submit the verification request in ExamTools + +1. On your ExamTools **Profile** page, find the **Call sign** section and click **Verify Now**. + + ![ExamTools Profile page showing the Call sign section with a "Your call sign has not been verified" message and a Verify Now button](/img/docs/account-setup/profile-verify-callsign.png) + +2. In the dialog that opens, upload the Official Copy PDF you downloaded from the FCC. + + ![ExamTools Verify Call Sign dialog showing the upload field, affirmation text, signature area, and Submit Request button](/img/docs/account-setup/profile-verify-callsign-dialog.png) + +3. Read and sign the verification form. By signing, you are declaring under penalty of law that you are the owner of this callsign. Falsifying this form constitutes forgery. + +4. Click **Submit Request**. + +--- + +## Part 3: Wait for confirmation + +Account verification is reviewed manually and **can take up to 24 hours**. You will receive an email from ExamTools when your account has been verified. + +You can still explore ExamTools while you wait, but you will not be able to join sessions or sign forms until verification is complete. + +--- + +## After verification + +Once you receive the confirmation email: + +- Your VEC credentials will automatically appear in your profile under **Volunteer Examiner Credentials** once your VEC syncs (see [Confirm your VEC accreditation →](add-vec-accreditation)) +- Let your team lead know you are set up and ready to participate in sessions + +--- + +## Troubleshooting + +**Confirmation email never arrived** +Check your spam folder first. If it isn't there after a few minutes, try creating the account again with the same email address — the system will re-send the confirmation. + +**Verification took longer than 24 hours** +Verification is done manually and occasionally takes longer during busy periods. If it has been more than 48 hours with no response, reach out through the [ExamTools support channel](../troubleshooting/get-help). + +**"Official Copy" rejected or callsign not recognized** +Make sure you uploaded the Official Copy and not the Reference Copy. Both are PDFs available from the ULS, but only the Official Copy has the embedded certificate. If you recently upgraded your license, there may be a short delay before the new license is available as an Official Copy in the ULS. + +**Wrong callsign registered** +If you entered the wrong callsign during sign-up, update it on your Profile page before submitting a verification request. Submitting a verification for a callsign you do not hold will be rejected. + +--- + +## Next steps + +- [Confirm your VEC accreditation →](add-vec-accreditation) +- [Add your signature →](add-signature) +- [Why is verification required? →](../faq#why-do-i-have-to-verify-my-callsign) diff --git a/content/docs/applicants/_index.md b/content/docs/applicants/_index.md new file mode 100644 index 0000000..71ea3ab --- /dev/null +++ b/content/docs/applicants/_index.md @@ -0,0 +1,10 @@ +--- +title: For Applicants +weight: 10 +--- + +This documentation is written for Volunteer Examiners. If you are an applicant looking to take a ham radio exam, the best place to start is the team running your session. + +- **Looking for an exam session?** Find upcoming sessions at [ham.study/sessions](https://ham.study/sessions). +- **Questions about your exam?** Contact the VE team you registered with. Their contact information is in the session confirmation you received when you registered. +- **Questions about your license after the exam?** Visit the [FCC Universal Licensing System](https://www.fcc.gov/uls) to check your application status. diff --git a/content/docs/applicants/applicant-guide.md b/content/docs/applicants/applicant-guide.md new file mode 100644 index 0000000..9d48d21 --- /dev/null +++ b/content/docs/applicants/applicant-guide.md @@ -0,0 +1,79 @@ +--- +title: Applicant Reference +weight: 1 +--- + +This page covers the parts of ExamTools that applicants interact with directly: finding a session, registering, entering your PIN, and using the online exam interface. + +**For anything not covered here — timing, location, what to bring, results, paperwork — contact the VE team running your session.** Their contact information is in the confirmation email you received when you registered. Every team runs their sessions differently, and only they can answer questions specific to your exam. + +--- + +## Finding a session + +Upcoming exam sessions are listed at [ham.study/sessions](https://ham.study/sessions). You can filter by date, location, and session type (in-person or remote). + +Each listing shows the hosting team's contact information. If you have questions before registering, reach out to them directly. + +--- + +## Registering + +Click **Register** on the session listing that works for you. You will typically be asked for: + +- Your name +- Your mailing address +- Your FRN (FCC Registration Number) — required if you already hold a license +- Your current callsign, if you have one + +After registering you will receive a confirmation email. That email contains the team's contact information — save it, as it is your primary point of contact for anything related to your session. + +> If you need to cancel or have questions about your registration, contact the team directly using the information in your confirmation email. ExamTools support cannot modify session registrations on a team's behalf. + +--- + +## Your exam PIN + +A PIN is a short numeric code that connects you to your specific exam in the ExamTools system. + +**How you get it:** Your PIN is provided by a Volunteer Examiner at your session, either in person or via the session's communication channel. It is not sent in advance. + +**How you use it:** When you open the exam interface, you will be prompted to enter your PIN before the exam loads. Type it exactly as given and press **Enter** or tap **Submit**. + +**If your PIN doesn't work:** +- Double-check the digits — PINs are case-insensitive but must be entered accurately +- Ask a VE to confirm the PIN or issue a new one +- Make sure you are on the correct exam URL for your session + +--- + +## The exam interface + +The ExamTools exam interface runs in a web browser — no app installation required. + +**Navigating questions:** +- Questions are displayed one at a time +- Use **Previous** and **Next** to move through the exam +- Your answers are saved automatically as you go + +**Reviewing and submitting:** +- You can revisit any question before submitting +- When you are satisfied with your answers, click **Submit Exam** +- You will be asked to confirm before the exam is finalized + +**After you submit:** +A summary screen shows your responses. Your VEs will review the result and inform you whether you passed. Do not close the browser until a VE has confirmed they have your results. + +--- + +## After the exam + +If you pass, your VEs will complete the application paperwork and submit it to the FCC. Processing time at the FCC varies — you can check your application status at any time at [fcc.gov/uls](https://www.fcc.gov/uls). + +For questions about your application status or when your callsign will appear in the FCC database, contact your VE team or the VEC they operate under. + +--- + +## Still have questions? + +Contact the VE team you registered with. They are your best resource for anything related to your specific session. diff --git a/content/docs/arrl/_index.md b/content/docs/arrl/_index.md deleted file mode 100644 index 876ecda..0000000 --- a/content/docs/arrl/_index.md +++ /dev/null @@ -1,256 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: Frequently Asked Questions for ARRL VE Team Lead -linktitle: ARRL Team Lead FAQ -type: book -# date: 2020-09-13T15:51:12-04:00 -lastmod: 2025-05-20T11:05:00-04:00 -featured: false -draft: false -weight: 40 -icon: book -icon_pack: fas ---- - -![ARRL The National Association for Amateur Radio](images/logo.jpg) - -## How can a Volunteer Examiner (VE) join existing teams using ExamTools (ET)? - -Go into the `#arrl` channel in [Discord]({{< relref "../general/gethelp/" >}}) and volunteer. Several team leads monitor the channel and welcome new team members. Also, check in your area for a local VE team. - -## I am already using ExamTools with another VEC. How do I get added as an ARRL VE? - -Active VEs are listed on http://www.arrl.org/ve-session-counts. VEs can view their accreditations in ExamTools under their Profile found in the upper left corner when logged into ExamTools. - -If not accredited, then go to http://www.arrl.org/become-an-arrl-ve to apply. Once a VE is listed on http://www.arrl.org/ve-session-counts pages, ExamTools will sync and update the profile. Team leads will not be able to add VEs to the exam session until they have a verified ExamTools account and are accredited. - -## Is there a checklist of what my VE team needs to do to get started with ExamTools? - -* Team lead confirms lead status in ExamTools. If a team member needs lead status, email to VEC@arrl.org requesting permission to use ExamTools. If there is more than one lead, each VE will need to request permission. -* Make sure all your VEs have registered for an ExamTools Account and have verified by uploading an official copy of their current license. -* Decide on a video-platform for team training (and remote testing, if you'll be offering it). Most use Zoom. -* Familiarize your team with ExamTools by training in the sandbox, which requires another account on the dev server. -* Visit remote teams, which are already skilled in the use of ExamTools. Ask to be mentored. -* Create one Team Account in ExamTools. -* Email VEC@arrl.org informing them of your team lead’s call sign (or call signs, if more than one) and your ExamTools Team Identifier (Team ID). -* Create a session for your exam. An exam session can be used for multiple candidates, even if they tested one at a time in series. -* Review the Volunteer Examiner information on the ARRL website. http://www.arrl.org/volunteer-examiners -* Set up a method of payment or you can accept cash the day of for in-person exams. -* Print exams and answer sheets, if doing in-person. -* Purchase or borrow tablets or computers for in-person electronic exams. - - -## Is there a procedure for verifying that ARRL is good with us doing online exams? - -Receipt of instructions via email from Maria is the approval for ExamTools and video-supervised sessions. -Teams can apply for permission by contacting the VEC, but be aware of these requirements before you apply: - -_ARRL VE teams must meet the following criteria and adhere to the -following rules/policies to participate in the Video sessions -program. Long-standing, well-established teams with a history of -adhering to the highest degree of examination integrity, and that -consistently submit accurate exam documents consistent with ARRL VEC -standards will be selected to participate._ - -The team should follow up with the VEC when ready to go live to -receive the confidential session document upload -instructions. However, they may be able to get -the upload instructions from their ET mentor or another trained team. - -Make sure the VE Team Lead does the following: -* Has permissions from the ARRL VEC to perform the duties of the team lead for the team. - This will result in your ExamTools profile being upgraded from VE to Team Lead (Session Manager). -* Sign up for the VE Discord chat: https://discord.gg/CsKrBmA -* Read through the ExamTools [Team Lead Documentation]({{< relref "../cve/" >}}) and ask questions in the Discord `#arrl` channel. -* Register in the sandbox at http://hamstudy.dev/ and then login at https://beta.examtools.dev/ with your - team members. DO NOT use a Facebook or Google login: Make a "real" user. - There's more info in [getting an exam.tools and sandbox account]({{< relref "../ve/getexamtoolsaccount/" >}}) -* Volunteer in the Discord `#arrl` channel to help out with another team's ARRL VEC session so you get - to see the exam process in action. - -## How do I collect candidate exam fee payments? - -ExamTools does not provide for any payment processing. You will need to sign up with an online payment system to accept credit and debit cards or payment transfers and maintain an accounting of payments collected. - -Many teams use the registration confirmation email "Note to applicant" field found in the session listing to include additional info (i.e. payment information, Zoom meeting invite and other exam details) in the registration confirmation email which ExamTools sends to the applicant or may send a separate email with this information. Teams typically use online payment processors like Venmo, -PayPal, Square, Zelle, Apple Pay, Google Pay, etc. Locate the candidate's email address -from the MANAGE dropdown `Edit Applicant` on the candidate in the session. - -## Can I get reimbursed for expenses like Zoom Pro and PayPal transaction fees? - -Yes. Simply keep records of your "necessary and prudent" expenses required to run the exam session and retain up to seven dollars per applicant. You may keep all five dollars from a youth exam. -Remember the [limit](http://www.arrl.org/arrl-vec-exam-fees) -of up to seven dollars per candidate. For a monthly fee -like that of Zoom Pro, prorate it over several exam sessions if the -expense exceeds the per candidate limit for a single session. See -Retaining A Portion of the Fees on page 61 of the VE Manual for -complete rules and record-keeping requirements. - - -## What if a registered candidate fails to pay the fee? - -It is entirely possible that some candidates will register for a -session, then will not pay nor respond to your attempts to contact them. The registration email may have gone to their spam folder. Try phoning or texting, but if you decide that you need to cancel their -registration, remove them using the MANAGE dropdown `Delete Applicant` on the candidate. This frees up the exam slot for -someone else. - -## What happens when a prepaid candidate cancels or doesn't show up? - -You should refund the fee if you can. This is easy to do with most -online payment systems. Also don't forget to remove them from the -ExamTools roster before submitting the test session package to the -VEC. You do this by deleting them using the MANAGE dropdown `Delete Applicant` on the candidate before -Finalizing the session. See the next question if your team policy is -to retain fees for no-shows. - -## How are retained fees for pre-registered no-shows handled? - -The no-show candidate fees can be listed separately in "other fees collected" -or all test fees could be added together. VE teams are -allowed to retain up to seven dollars per candidate for reasonable expenses -including the no-shows. No-show candidates whose fees are not refunded should remain on the applicant list and a note should be included -explaining the additional fee. Candidates that give the team ample -time to schedule another candidate in their vacated time slot should -be refunded. See above. See page 61 of the VE Manual for complete -rules and record-keeping requirements for retained fees. - -## How do I send the exam fees to the VEC? - -The team has three choices: Phone and pay with credit card per session, keep a credit card on file, or mail in a check. - -The VE team may keep a credit card on file with the VEC department to pay for the exam session fees. Contact -the VEC to make arrangements. Do not email your credit card information. - -When sending checks for exam fees by mail, teams should please -include the test date and location and the VE team leader’s name, call sign, and contact information for reference so ARRL can match it to the -session. - -The ARRL VEC's mailing address is: - -``` -ARRL/VEC -225 MAIN ST -NEWINGTON CT 06111-9825 -``` - -## Can I charge more (or less) than the fifteen-dollar ARRL VEC fee? - -No. The only exception is the five dollars collected for exams administered to youths. - -FCC Rules require VEC organizations to agree to assure that, for any -examination, every examinee qualified under these rules is registered -without regard to race, sex, religion, national origin or membership -(or lack thereof) in any amateur service organization. - -The ARRL exam fee cannot be increased, reduced, or waived; the fee is -to be applied uniformly throughout the calendar year to ensure every -candidate is treated equally and without discrimination. - -The exam fee cannot be increased for a particular group of -candidates. Therefore, teams should hold back a portion of each exam fee to offset a credit card company’s payment fee. The exam fee -should not be increased to offset the credit card fees. Additionally, teams should not accept a donation to cover the credit card fee. - -## A candidate cancelled and told us to keep the fee as a donation. What do I do? - -Return it. - -Donations/solicitations are not allowed. - -FCC Rule: Administering VE requirements: - -_§97.509 (e) No VE may administer or certify any examination by -fraudulent means or for monetary or other consideration including -reimbursement in any amount in excess of that permitted. Violation of -this provision may result in the revocation of the grant of the VE's -amateur station license and the suspension of the grant of the VE's -amateur operator license._ - -Soliciting, asking for donations, or offering free material to -candidates would have the appearance of impropriety. - -This is to ensure the integrity of the examination process. - -## Can my VE team or club solicit donations in conjunction with our VE activities? - -No. (See above) - -## How should I prepare my session to upload to the VEC? - -Upload the VEC ARCHIVE (includes PDF of Final Forms and JSON) from ExamTools. Any [Youth Grant Reimbursement Forms](https://www.arrl.org/youth-licensing-grant-program), CSCEs, or other documentation should be selected and loaded at the same time, but not included in the VEC ARCHIVE. Leave the VEC ARCHIVE zipped. Do *not* submit an ARRL Test Session Report when using ExamTools. Everything the VEC needs is in the VEC ARCHIVE. - The following is a screen shot of the upload page: - -![ARRL/VEC Upload](./images/upload.png) - - -## Can EBF files be uploaded to ARRL/VEC? - -Instead of an EBF file, the ARRL VEC uses the JSON file, which is already included in the VEC ARCHIVE. (See above) - -## Do we still have to provide FCC license copies in the uploaded package? CSCEs? - -License copies are not needed. Include a copy of only -the front of any pending CSCEs. But do an [FRN lookup](https://wireless2.fcc.gov/UlsApp/UlsSearch/searchLicense.jsp) ahead of the -exam. Odds are the 605 for which the CSCE is for will already have -been acted upon by the time the exam session happens. - -## How do I process a "paper upgrade" with or without an exam? - -The candidate registers for the exam session and provides proof of any element credit. -Consult the [ARRL Exam Element Credit Information](http://www.arrl.org/exam-element-credit) for what is acceptable proof. - -Enter the credit(s) using the ExamTools MANAGE dropdown `Add Credit` for the candidate. In the case of expired Amateur Extra, make sure to give both Element 3 and Element 4 credit. - -* If the candidate has no current license they need to take the Element 2 exam. Upon passing, the candidate does the usual signature process. - -* If the candidate already has a current license and thus is not taking an actual exam, change the candidate Status from `registered` or `seen` to `ready to sign`. The candidate logs into the session using the team identifier and their pin and is presented with the usual signature process. - -After the three assigned VEs and the candidate have all signed, the candidate is Marked Complete and ExamTools generates the proper forms reflecting these credits. - -Submit the proof documents for the candidate together with the VEC ARCHIVE at the end of the session. - -## What do we sign when a candidate fails? How do we prove the failed exam happened? - -There is nothing to sign. Proof of failure is displayed in the Applicant List and the session manifest. The candidate's results sheet showing a failing score is included in the VEC ARCHIVE. - -In traditional in-person exams, the candidate usually fills out the -[NCVEC QUICK-FORM 605 APPLICATION](https://www.arrl.org/files/file/VEs/NCVEC_Form_605_July_2022_INTERACTIVE.pdf) in advance of the exam in order to streamline the process at the -end of the session and so the VEs can confirm candidate identity -matches their photo ID. In that case, it is common practice to either -return the unsigned 605 to the candidate [per 97.509(i)] or to send it -to the VEC, possibly signed but with the NO NEW LICENSE OR UPGRADE WAS -EARNED box checked. - -However, it is acceptable for a candidate to only fill out -their 605 after successful completion of the exam element(s) and then -the VEs sign it and send it to the VEC [97.509(l)]. - -ExamTools implements this practice by not generating a 605 (and CSCE) -until after the candidate's new license or upgrade is earned and the -candidate is Finalized. The information typically found on the 605 -and/or candidate roster for traditional exam sessions is collected at -the point of candidate registration in Hamstudy.org -[97.17(b)(1): "...The VEs may collect all necessary information -in any manner of their choosing, including creating their own forms."] - -## Can answers be provided to candidates? - -Yes, answers can be shared from all online ExamTools exams which are -randomly generated; examinees won't be retested with the exact -same question set. However, do not provide answers to reusable -in-person exams that are scored with blue overlay grading templates. - -## Where do I find the ARRL forms, exam booklets and blank answer sheets which work with the blue overlay templates? - -ExamTools only provides the exams keyed to the templates. Everything else comes from the ARRL VEC. Check out https://www.arrl.org/resources-for-ves and email the ARRL VEC for anything else you might need for your session. - -Teams using GradeCam will only need to print GradeCam exams and bubble answer sheets. ExamTools takes care of all the paperwork. Teams submit the VEC ARCHIVE to the portal when done. That is it! - -## How do we get our sessions listed on the HamStudy website? We aren't doing online exams. - -Create a session in ExamTools and adjust the setting to allow for online registration or not. It is up to the team. They don't have to use it for testing, but can use it for registration or to create a listing where candidates contact the team directly to sign up. - -## How long does it take for the ARRL VEC to process my uploaded session and for my candidates to get their licenses? - -It may take two to three days, sometimes longer, if there are problems at the FCC. ExamTools sessions are often processed on the first business day following a submission. Candidates (new licensees only) may pay their thirty-five dollar application fee by logging into CORES once they have a pending application with the FCC. They will be unable to pay before then. Candidates should use a computer and not a cell phone or tablet to pay. There is a history of problems with payments made on mobile devices. If they pay before 6pm Eastern, they most likely will receive their FCC license over night. The candidate must pay within ten calendar days of their application being processed at the FCC. If they do not, the application will be dismissed and the candidate will have to ask the VEC for the application to be resubmitted. They should expect two emails from the FCC. The first one requests payment linking to CORES and the other includes the new license when granted or upgraded. Candidates who do not get these emails need to still log into CORES to pay and should not wait more than a few days. Then, log into the License Manager to export a copy of their official license. Candidates who are upgrading do not have to pay an application fee to the FCC. Their applications are usually processed all the way through when received at the FCC and typically should see their upgrades within an hour. - diff --git a/content/docs/arrl/checklist.md b/content/docs/arrl/checklist.md deleted file mode 100644 index c446369..0000000 --- a/content/docs/arrl/checklist.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: CUARC VEC Session Checklist -linktitle: Sample ARRL VE Session Checklist -type: book -lastmod: 2025-05-16T17:05:00 -featured: false -draft: false -weight: 5 - ---- -_The following was the Columbia University ARC VE Team Checklist as of May 16, 2025. -The team has since implemented some automation scripts. Some updates have been made here -to reflect changed practices. Use this just to get an idea of the manual effort required._ - -## Overview of tools we use - -We use the following tools: -* ExamTools of course. -* Zoom Pro to run the session. -* Google Drive to: - * retain session records. - * Google Sheets for record keeping. - * Gmail to process email to/from candidates. -* Venmo and PayPal to collect exam fees. -* My bank account to send e-checks to the ARRL/VEC. - -## Creating a New Session - -* Clone an existing exam session in examtools and update date, confirm max number of candidates is 4 -and mark session unlisted. -* Update exams spreadsheet with date, VEs #1,2,3, CVE and any guest/trainee VEs. -* When we have enough VEs, turn the column green in the spreadsheet and add those VEs to the calendar event -and examtools session VE roster. -* Make a new folder under Google Drive `Online` folder named `YYYYMMDD`. -* If there are any special handling candidates (e.g. need rescheduling), -send them the unlisted hamstudy session link(s) before publishing. -* Publish the session in hamstudy by removing the unlisted flag. - -## Check for candidate registrations -* Look at https://exam.tools/ve/sessions and check sessions counts. If there are changes: -* Look at Manifest for each session, view individual candidate details and ... -* Paste name & PIN into appropriate cell (date/time slot) in exams spreadsheet. - * Tack on callsign (if any) and exam elements they want to take. - * As examinees pay their fee, percolate them up in the spreadsheet - first-paid first-scheduled. - * Set cell fill color to red. -* Email boilerplate `Confirmed Hamstudy registration: next steps` - * Reset cell fill color. -* Examtools: Export Applicant List CSV and append to `candidates` tab of spreadsheet. - -## Wait for candidate payment -* Get payment confirmation from Venmo or Paypal. - * If PayPal charged a fee, add the fee to the reimbursement sheet. - * Set cell fill color to yellow. -* If a candidate responds with a CSCE, upload it. - * Check ULS to see if no longer needed. If still needed, you'll want to merge it into the session report, below. -* If candidates don't respond with payment within 24 hours, cancel them: - * delete from examtools Old Manifest (trash can icon). - * remove from schedule spreadsheet. -* Email `03Zoom Invite` after updating date, time slot and examtools URL with PIN appended - * Set cell fill color to green. - -## During session -* Start Zoom meeting. -* Examtools: Start session. -* For each candidate - * CVE co-owner/VE admin assigns 3 VEs to each candidate - * Follow [greeter script]({{< relref "greeter-script.md" >}}). - * Admit candidate, run exam(s), get examinee signature, etc. - * VE's sign successful candidates. - * CVE Finalizes candidate. -* CVE Finalize session. - -## After session -### Email CSCEs to each successful candidate -* Examtools: Open each candidate, Print Forms/CSCE and download using default name: Applicant #### _ name _csce. -* Email these to candidates using `04CSCE` template. - -### Create VEC upload package: -* Examtools: Download VEC Archive retaining default name: `ExamSession_W2AEE_YYYYMMDD_HHMM_arrl.zip` -* Cut a check for the session fee amount to ARRL/VEC and record the check number. -* Go to ARRL upload page and select two files for uploading: - 1. VEC Archive (`ExamSession_W2AEE_YYYYMMDD_HHMM_arrl.zip`) - 2. For each candidate, *only* any pending CSCEs (rarely happens). - - Then upload them and print/Save as PDF the upload "receipt" as `YYYYMMDD-ARRL VEC File Uploads.pdf`. -* Upload files to `Online/YYYYMMDD`: - * `ExamSession_W2AEE_YYYYMMDD_HHMM_arrl.zip` - * `YYYYMMDD-ARRL VEC File Uploads.pdf` - * pending CSCEs if any. - -## Post session – callsign lookups -* Email call signs or upgrade completion notifications. - * Do ULS Search by FRN of each successful candidate in spreadsheet candidates tab. - * Send email template `05Callsign` with callsign as link to ULS listing. - - -## Examples - -### Master Schedule spreadsheet - -![Master Schedule Spreadsheet](../images/schedule.png) - -### Expense Tracking spreadsheet - -![Expense Tracking Spreadsheet](../images/expenses.png) - -## Email templates - -### Confirmed Hamstudy registration: next steps - -![Invoice Email](../images/invoice.png) - -### Zoom invitation - -![Zoom invite](../images/invite.png) diff --git a/content/docs/arrl/greeter-script.md b/content/docs/arrl/greeter-script.md deleted file mode 100644 index 2dcb013..0000000 --- a/content/docs/arrl/greeter-script.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: CUARC VEC Greeter Script -linktitle: Sample ARRL VE Greeter Script -type: book -# date: 2020-10-19T00:00:00 -lastmod: 2023-03-28T16:38:00 -featured: false -draft: false -weight: 10 - ---- -CUARC VE Greeter Script -v3.0 03/28/2023 - - -_CVE: make sure Zoom is in Gallery view_ - -_CVE: make sure Security/Allow participants to share screen is enabled._ - -_CVE: set examtools session to In Progress_ - -_CVE: queue up recorded greeting in QuickTime Player_ - -Hello and welcome to our Amateur Radio exam session. [Roundtable VE introductions – name, callsign, location]. - -_play recorded greeting – Share QT window w/audio_ - -**BEGIN Recorded Video Script** - -We ask that you please bear with us as we refine the process for -performing a fully-remote proctored exam. The process may seem onerous -and somewhat invasive. It may seem like we suspect that each candidate -might try to cheat. The CUARC VE team did not come up with the -complete process and requirements, but we have a liability to uphold -the trust put in us. - - -Before we begin, some additional reminders: -1. Make sure you have your photo ID handy. -2. Ensure you are 100% focused during the entire exam session. -3. Any distractions or anomalies could be cause to void the exam at the sole discretion of the VE Team. Anomalies include, but are not limited to: - 1. Notable distraction by you, such as eyes not remaining on the exam and/or wandering around the room, or any noises. - 2. Your appearing to reference or use unauthorized materials (e.g. looking at cell phone, even just the lock screen, changing windows on computer, etc.) - 3. Another person entering the exam space (on camera, physically, or audibly). - 4. Your getting up or leaving the room during the exam. -4. Once you start the exam, the Volunteer Examiners will all turn off their video and audio so as to not distract you – but we’ll be listening and watching. Please leave your audio and video on. Give us a shout if you need anything and when you are ready for grading click the "grade exam" button and let us know you are ready. -5. Make sure to answer all the questions: Only correct answers add points; incorrect answers don't subtract, so it's best to guess rather than leave an answer blank. Good luck with the exam - - -Please respond to the next questions, and, if you don’t agree or can't comply, we'll end this now and refund your fee. - -**END Recorded Video Script** - -* Are you 18 years of age or over? - * No, Under 13: Did parent send in COPPA form? - * No: Under 18: must have parent/guardian give permission and they must remain in the room to chaperone. -* Please confirm your name and hold up your photo ID to the camera -* Please connect to the Zoom session with your second device now. -* Please show us around the room: - * do a 360 of the room - * show us the ceiling, floor, wall behind the computer - * desk with laptop/desktop - * anything up your sleeves? - * under the laptop, mouse, mousepad, keyboard - * no papers or anything on the desk - * Optional: One blank piece of paper and pen or pencil for doing calculations. - * Optional: Calculator (if not using built-in OS calculator) - * show that it is cleared of any functions -* Please position your second device to the side so we can see your hands on the keyboard, computer display, etc. It needs to be stable enough to remain there for the entire session. It should also be fully charged or plugged in so it doesn’t run out of battery. -* Now share your complete desktop in Zoom. - * iOS (iPad) alternative: Click Share and select `Website URL` rather than `Screen` and enter exam.tools URL. - Example screen shots: - 1. [click `Share Screen`](../images/iOS-zoom-share.png) - 2. [select `Website URL`](../images/iOS-zoom-website.jpeg) -* Go to the desktop settings and show us there are no other displays attached. - * Mac OS: System Preferences/Displays - * Windows: Right click on the desktop… -* Show us that you have no apps open other than the browser with a single tab and the calculator app open next to it. -* Make sure to close any applications like email and messaging apps that might cause a pop-up during the exam. -* Now please click on https://exam.tools/portal/applicant/N2YGK/#### replacing XXXX with your PIN. - * _CVE makes sure VEs are assigned to the candidate_ - * _CVE approves starting candidate._ -* Have you used hamstudy.org to practice? - * No - give quick tutorial -* If you need to look away, move around, etc. please inform us first. Just shout out and we'll unmute and respond shortly. We'll all be turning off our video and audio but will be watching and listening. -* _CVE approves starting test._ -* … exam ... -* Now please click on grade your exam - * VEs turn on video. - * _CVE approves grading._ -* If the candidate passes: Congratulations, are you ready to try the next element? - * If so, rinse and repeat. - * If not, click Sign Out. -* If the candidate fails: Sorry, looks like you need to study a bit more. Seeya. -* If the candidate passes and is DONE: OK, we'll be submitting your results to the ARRL/VEC and you should expect to receive a CSCE from me via email soon. Your results should show up on the FCC website within a day or two and you should expect an email notification. -* Do you have any questions or feedback about the exam session? -* Thanks and congratulations. Please consider joining the ARRL if you’re not already a member. -* _CVE disconnects the candidate._ diff --git a/content/docs/arrl/images/expenses.png b/content/docs/arrl/images/expenses.png deleted file mode 100644 index 355ebf1..0000000 Binary files a/content/docs/arrl/images/expenses.png and /dev/null differ diff --git a/content/docs/arrl/images/iOS-zoom-share.png b/content/docs/arrl/images/iOS-zoom-share.png deleted file mode 100644 index 7702911..0000000 Binary files a/content/docs/arrl/images/iOS-zoom-share.png and /dev/null differ diff --git a/content/docs/arrl/images/iOS-zoom-website.jpeg b/content/docs/arrl/images/iOS-zoom-website.jpeg deleted file mode 100644 index 0e7fe60..0000000 Binary files a/content/docs/arrl/images/iOS-zoom-website.jpeg and /dev/null differ diff --git a/content/docs/arrl/images/invite.png b/content/docs/arrl/images/invite.png deleted file mode 100644 index 5c178a5..0000000 Binary files a/content/docs/arrl/images/invite.png and /dev/null differ diff --git a/content/docs/arrl/images/invoice.png b/content/docs/arrl/images/invoice.png deleted file mode 100644 index d438fd7..0000000 Binary files a/content/docs/arrl/images/invoice.png and /dev/null differ diff --git a/content/docs/arrl/images/logo.jpg b/content/docs/arrl/images/logo.jpg deleted file mode 100644 index 990b699..0000000 Binary files a/content/docs/arrl/images/logo.jpg and /dev/null differ diff --git a/content/docs/arrl/images/schedule.png b/content/docs/arrl/images/schedule.png deleted file mode 100644 index df02148..0000000 Binary files a/content/docs/arrl/images/schedule.png and /dev/null differ diff --git a/content/docs/arrl/images/test-report.png b/content/docs/arrl/images/test-report.png deleted file mode 100644 index c0f4d62..0000000 Binary files a/content/docs/arrl/images/test-report.png and /dev/null differ diff --git a/content/docs/arrl/images/upload-finder.png b/content/docs/arrl/images/upload-finder.png deleted file mode 100644 index f030f7d..0000000 Binary files a/content/docs/arrl/images/upload-finder.png and /dev/null differ diff --git a/content/docs/arrl/images/upload.png b/content/docs/arrl/images/upload.png deleted file mode 100644 index 98ba46e..0000000 Binary files a/content/docs/arrl/images/upload.png and /dev/null differ diff --git a/content/docs/cve/Zoom.md b/content/docs/cve/Zoom.md deleted file mode 100644 index bec6c5c..0000000 --- a/content/docs/cve/Zoom.md +++ /dev/null @@ -1,229 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: How to Use Zoom for Online Exams -summary: Instructions on how to configure and use Zoom for basic single-room exam sessions. -weight: 80 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: How to Use Zoom for Online Exams -type: book # Do not modify. ---- - -## Overview of Using Zoom - -[Zoom](https://zoom.us) is by far the most popular video conferencing software used for running online ExamTools sessions. Its many features can be quite daunting to set up and use to run an exam session. There are two basic ways Zoom is used: single- and multi-room (i.e. breakout rooms). -Think of single-room sessions like small in-person VE exams with 4 or 5 VEs and a handful of candidates -and multi-room sessions as what you might see at a large hamfest. - -## Single-Room Zoom - -Many teams run small exam sessions with a half-a-dozen VEs and applicants and sequentially test one applicant at a time. -This is the simplest way to use Zoom and is **highly recommended** for new teams to start out with. Even this _single-room_ -model has a lot of moving parts that you'll need to master in order to run a successful VE session. - -In this model, the VEs use the main room to administer the exam. All VE introductions, applicant pre-checking, testing process, etc. are done in the main room while the waiting room serves as a holding pen for applicants. - -The single room model is a good starting point. As your team becomes comfortable with Zoom and ExamTools, you may want to explore the use of breakout rooms which will allow you at least the use of an additional room for testing, if you want to keep it separate from main. - -## Multi-Room (Breakout Rooms) Zoom - -Some teams use a _multi-room_ approach, with dozens to hundreds of VEs and applicants in a single session that still allows for a VE to applicant radio of 4:1. Multi-room Zoom is described further toward the bottom of this page. - -## Get a Zoom Pro Account - -Zoom [pricing](https://zoom.us/pricing) varies from free to a couple of hundred dollars. A free Zoom account, limited -to 40 minutes, is not recommended as you don't want to rush or have your Zoom session end during an exam. - -The recommended version, at least for smaller teams, is Zoom Pro. Zoom Pro meetings can have up to 100 participants and meetings -are not time-limited. Per [FCC Rule §97.527](https://www.law.cornell.edu/cfr/text/47/97.527) use of Zoom to run your exam sessions -is considered one of the "out-of-pocket expenses incurred in preparing, processing, administering, or coordinating an examination for an amateur -operator license." You'll just need to make sure to comply with your VEC's policy for retaining fees and will likely have to prorate -your recovery of the Zoom cost over several applicants and/or sessions. - -Your single Zoom Pro license only permits one meeting at a time. In practice this should be fine if you are the team lead. Only you need to -pay for the Zoom Pro license. Your VEs and candidates are guests and do not pay. - -## Establish a non-Zoom means of communicating among VEs - -We strongly recommend against using Zoom Chat for VEs to chat amongst themselves. Find another (free) chat tool such as Slack, -Discord, Google Chat, Hamshack Hotline (IP Phone), etc. There is a risk that the VEs will chat with the applicant by mistake. - -## Zoom Account Settings - -Zoom has a large number of optional settings -- and they keep changing as Zoom continuously develops new features. -Following are some recommended settings for a single-room session. Note that you set these at https://zoom.us -- not in the Zoom desktop app. - -## Personal/Profile - -[Personal/Profile](https://zoom.us/profile) settings: - -- You can make your display name different from your first/last name. For example, put your first name and call sign in your display name. - -- Consider setting an appropriate profile photo. This will be displayed - when you turn your camera off. Leaving it blank will show your display name. The admin of the Zoom account can disable to ability to display profile photos, if desired. - -Other personal profile settings include your time zone and confirm that it is correct. - -## Personal/Settings - -In [Personal/Settings](https://zoom.us/profile/setting) set these: - -**Security:** - -- Waiting Room enabled. - -- Waiting Room Options: Everyone will go in the waiting room. - -- Waiting Room Options: Customize waiting room and add some help text for people in the waiting room. Something like this: - - ``` - Your session host will let you in shortly. - If there is a problem, text ‪(123) 456-7890‬ or email ve@example.com. - ``` - -- Embed passcode in invite link for one-click join enabled. - -**Host Key** You can also turn off your waiting room in order to use a Host Key to claim Zoom Host. Then enable to waiting room. This allows VEs and maybe even applicants to join the meeting before the host arrives. One of the admin VEs or alternate lead can claim host and start to get organized. This best models the parking lot before the exam where you are waiting for the person with the keys to arrive to unlock the door. - -**Video in Waiting Room:** Some teams now play a video for the applicants to watch while in the waiting room. - -**In Meeting (Basic):** - -- Chat enabled. (See more about pros and cons of enabling chat, [below](#zoom-chat).) - -- Sound notification when someone joins or leaves -- Play sound for everyone. Or disable it. - -- Co-host enabled. - -- Screen sharing enabled. - -- Who can share? All Participants. - -- Allow removed participants to rejoin enabled. - -- Allow participants to rename themselves enabled. - - -## Create a Zoom Session - -In [Personal/Meetings](https://zoom.us/meeting) settings click [Schedule a Meeting](https://zoom.us/meeting/schedule) and set these: - -- Select `Recurring meeting` with `Recurrence: no fixed time`. - -- Set a pass code. - -- Enable Waiting Room. - -- Video off for host and participant. This is the initial value. We want no surprises when some connects from the waiting room. - -- Meeting options: `Allow participants to join anytime` and `Mute participants upon entry`. - - -## Running the Exam Session with Zoom - -1. Log in to the desktop Zoom app and start the session you defined above. - -2. Click on the Participants button which will bring up the Participant list on the right-hand side. - ![Zoom Participants](../images/zoom_participants.png) - -3. Wait for your VEs and applicants to start showing up. Since you've allowed "join before host", they may already be there in the waiting room (or in main if you have turned off your waiting room and are using a Host Key). - This is what the waiting room looks like when it's been customized with a text message and icon image: - ![Zoom Waiting Room](../images/zoom_waiting_room.png) - -4. One-by-one admit your VEs from the Waiting Room. Be aware that the waiting room only displays a small number of names. You may have to scroll up and down. - -5. Designate one or two as co-hosts by clicking on their name and selecting the Make Co-Host option. - Think of a co-host as Alternate NCS in case your Zoom session fails. You can alternatively make all of the VEs or just room leads Co-Hosts. If a VE is not a co-host, you will need to move them. Otherwise, as a co-host, they can move themselves - - 6. Make sure all your VEs have a good video presence and background -- either real or using a Zoom Virtual Background. - We want our applicants to experience a friendly, positive, apolitical image of our VE team, our VEC, and the - Amateur Radio Service. VEs enter their Zoom display name to include their call sign (or you can do it for them). Let them try to change it themselves. Many want to learn and don't really appreciate being moved around and being renamed in Zoom. - -7. Once all your VEs are present, admit your first applicant. - Make sure to set Side-by-Side Gallery mode so you can see all the VE and applicant video angles. - ![Zoom Waiting Room](../images/zoom_gallery_mode.png) - -8. After introductions, checking candidate ID, and so on, have the applicant share their complete desktop, - make sure you are ready to start the exam, and then have them enter http://exam.tools in their browser. - Depending on the number of VEs, you may need to slide the bar between the shared desktop and video - windows so as to see all the video views. - ![Zoom Side-by-Side Gallery](../images/zoom_all_views.png) - -9. If your team requires or needs two devices (cameras), the candidate joins the second device with **audio not connected**. Otherwise you will likely get audio feedback from the speaker - of the second device to the microphone of the applicant's main computer. In Zoom for iOS (and likely other versions) - have the applicant click on `... More` near the bottom right and then `Disconnect Audio`. - See [screenshots](#zoom-second-device-audio-feedback), below. - -10. Before you approve the applicant to start their exam, have all the VEs mute their audio and either turn off their video or leave it on depending on your team. The applicant's audio and video should always be kept on. The applicant should be in view at all times. If they drift out of view, the lead should ask the applicant to adjust their camera. Generally, all VEs should be visible and videos should all come back on before exam is graded. - - ## Breakout Rooms - -When you are ready to run a larger session, breakout rooms will allow you to run multiple exams at the same time in different rooms. It highly recommended that you have someone who is very familiar with how Zoom breakout rooms work to assist you with your exams in the beginning. The VEs will need to be trained as well unless they are coming from other teams who use breakout rooms. You can either invite VEs and applicants to join rooms or make some or all of them co-hosts. The applicants will always be invited or moved to a breakout room, but co-hosts can move themselves. They also can close all the breakout rooms. The red button should be discussed and everyone be told not to press it. Even if you do not want to run multiple exams at the same time, this feature would allow a team to run exams in another room which would leave main free to bring applicants in from the waiting room to prep for the exam and provide a location to visit with completed applicants. - - -## Tips and Tricks - -You will invariably run into some issues. Here is the (beginning of) a list of Tips and Tricks: - -## Zoom Chat - -Use Zoom chat only to send messages to `Everybody` which includes all the VEs and the current applicant. This can be -useful if, for example, the applicant is unable to hear you. Do not use Zoom chat to talk among the VEs -- this can -be distracting to the applicant. Some teams disable Zoom Chat to prevent this. - -You can also use Zoom Chat to send a message to `Everybody in the Waiting Room`. You can use this to drop in -helpful status updates if your session is running behind schedule, for instance. Be careful when you send these messages -as: - -1. everyone in the waiting room will receive the message. Avoid sharing applicant names, etc. - -2. you might inadvertently send the message to everyone in the meeting instead. - -## Unknown Person in the Waiting Room - -While in the Waiting Room, a person is unable to change their display name, but you can rename them if you figure it out. If you aren't sure, then you'll need to admit them and see who they are. They can't fix it until they've been admitted to the main room. - -## Wrong person admitted from the Waiting Room - -You can send them back to the Waiting Room by selecting `Put in Waiting Room`. - -## Applicant has difficulty or forgets to leave Zoom session - -You can remove the applicant but make sure to uncheck the box to Report to Zoom -- that's for reporting Zoom bombers -and other inappropriate behavior. You can alternatively just put them back in the waiting room. -![Zoom Remove](../images/zoom_remove.png) - -## PC Camera is too blurry to read photo ID - -Frequently desktop/laptop cameras don't focus well on photo IDs. Try using a second device (phone) camera. -Having a second camera can be helpful, even if it isn't required, for room scans, IDs, and just feeling comfortable testing an applicant in a challenging environment. Most people who have a laptop computer with a camera also own a Zoom-capable phone. - -## Zoom Second Device Audio Feedback - -When using a second device (usually a phone), applicants frequently connect audio, which leads to audio feedback -from the speaker of the phone into the microphone of the main computer. Have the applicant click on `... More` -near the bottom right and then `Disconnect Audio`. - -![Zoom iOS More...](../images/zoom_ios_ellipsis.png) - -![Zoom iOS Disconnect Audio](../images/zoom_ios_disconnect_audio.png) - -## Recording with Zoom -The ARRL/VEC and others have asked that we not record candidate sessions. If you choose to record, be certain to *never record personally-identifiable information (PII)* such as photo ID and only record if the applicant has given explicit permission to do so. -If you need to record, you have the option of pausing or stopping the video. The paused video recording will result in one mp4 file. If you stop and start recording, then you'll get multiple mp4 files. - - ![Zoom Record to Computer](../images/zoom_record_to_computer.png) - -When the Zoom meeting ends or the participant who recorded exits, Zoom will start rendering the saved video - into an mp4 file. When it's done, a file browser will pop up with several files offered. You might only want to retain - the mp4 file. You can upload and store the rendered recorded video to Google Drive (mp4's do not count against your storage quota) or your favorite cloud storage (i.e. Drop Box). - - ![Zoom zoom_0.mp4 file](../images/zoom_0_mp4.png) - - - - diff --git a/content/docs/cve/_index.md b/content/docs/cve/_index.md deleted file mode 100644 index 6d067c3..0000000 --- a/content/docs/cve/_index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Team Leads -summary: Learn how to use ExamTools for Team Leads. -weight: 30 -icon: book -icon_pack: fas - -# Page metadata. -title: Team Leads -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -Following are instructions for tasks most commonly performed by Team Leads. - -* [Become a Team Lead in ExamTools]({{}}) -* [Create and Edit Team Accounts in ExamToosl]({{}}) -* [Create and Edit Sessions in ExamTools]({{< relref "cveCreateSession.md" >}}) -* [Edit the VE List in ExamTools]({{< relref "cveVEList.md" >}}) -* [In-Person Exams with ExamTools]({{< relref "cveIn-PersonExamProcess.md" >}}) -* [Print and Grade Hard Copy Exams in ExamTools]({{< relref "printedExamCreation.md" >}}) -* [Zoom for Online Exams]({{< relref "Zoom.md" >}}) -* [Sandbox Exams and Dummy VEs]({{< relref "cveSandboxDummies.md" >}}) diff --git a/content/docs/cve/cveCreateSession.md b/content/docs/cve/cveCreateSession.md deleted file mode 100644 index 73797b1..0000000 --- a/content/docs/cve/cveCreateSession.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Create and Edit Sessions in ExamTools -summary: Step-by-step instructions on how to create sessions, edit them after creation, and make any needed changes. -weight: 30 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Create and Edit Sessions in ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## To Add a Session to HamStudy - -Detailed instructions to schedule an exam session in the ExamTools software are written below. You may also watch [this video](https://www.youtube.com/watch?v=vyoIsFpNkZ8&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=3) for a walk-through. - -* Login to **[ExamTools](https://exam.tools)** by clicking on [SIGN IN] under Assist with or Manage Exams. - -* In the second window **Log in as a Volunteer Examiner**, enter your **Username or email** and **Password**. - -* **ExamTools (ET)** should open in the **[Session List](https://exam.tools/ve/sessions)**. - -* On the left navigation, click on **Manage Sessions**. - -* **[Upcoming Sessions](https://exam.tools/admin/sessions)** should display at top. - -* On the far right of the title header row, click on **[Add new](https://exam.tools/admin/newSession)**. - -* The **Add Session** window should display. - -* **Event name (summary)**: Enter your session title to display in HamStudy listing. You may want to include time and time zone, in-person or remote/online information as well. - -* **VEC**: Select the VEC organization which is associated with this exam. - -* **Session Type**: Select Online Session or In-Person Session from the radio buttons. - -* If you select In-Person Session, a **Location** field will appear. Enter the street address of the exam session venue. Once entered, a preview of a map will pop up. The map will also be visible on HamStudy. [More info about Session Locations]({{}}) - -* **Time zone**: Select your time zone from the dropdown list. - -* **Date and time**: Enter the date and time which your applicants should expect the exam to begin. - -* **Maximum number of applicants** *(0 for unlimited)*: Enter the number of applicants you would like to limit the session to. If you are just using ET for scheduling, then just leave this blank. - -* **Duration in minutes**: Enter the number of minutes you expect the session to last (i.e. a two-hour exam would be 120 mins). - -* **Fee amount**: Enter the amount for your exams as directed by your VEC. You can add payment information, terms and info about waived fees in the session description in Other Notes field farther down in the form. - -* **ExamTools Features Desired**: From the dropdown, select one from the following list. By default Schedule only is selected. - - * [Schedule, Registration, and Exams] - Your exam will appear on the schedule, registration will be enabled, and users will be assigned a PIN which they will receive in their email. Use this option if you plan to do remote or in-person exams in ET. - - * [Schedule and Registration] - Your exam will appear on the schedule and online registration will be enabled, but users will not receive a PIN. Use this option if you plan to use a method other than ET to test applicants. - - * [Schedule only] - Your exam will appear on the schedule and online registration will be disabled. Use this option for listing your in-person, walk-up exam or if you are going to be registering applicants in another manner. Add registration information to the session description in the Other Notes field. - -* Options: - * Pre-registration required - * Do not list on HamStudy.org – Hide your session and do not display on HamStudy. Especially helpful, if you want to work on your session listing ahead of time and aren’t quite ready for applicants or want to share a private link to a certain population for whom the session has been scheduled. (i.e. Local radio club or college course) The session is still accessible online, but the applicant will need a private link to view. When you are ready to list your session on HamStudy, return to the session in ET and uncheck the box and it will appear in the HamStudy list of [Upcoming test sessions](https://ham.study/sessions). - * Receive notification on applicant signup - If this box is selected, a New Applicant Registration notice will be sent to the email listed in the Contact Name and Email field. This email will include the following applicant information: Name, License Class, FRN, Address, Email, Phone Number and the date/time of the session in which applicant registered. - -* Toggle the ExamTools Features Desired dropdown back to Choose… in order to add or remove a check mark for Schedule only and edit the options above. You will see the Schedule only description in the blue box, if your listing is set to not display. In that case, you will need to go back to Choose... to remove the Do not list on HamStudy.org selection. - - * **Schedule only** - Your exam will not appear on the schedule and online registration will be disabled. - - Select the Schedule only and Do not list on HamStudy.org combo before you are ready for the public to view your session and register. You may do this to proof-read it, experiment with formatting or share it with your VE team using the private link before it goes live. - - * **Contact Name and Email** - This field will include the Session Manager's email address by default, but may be changed to a preferred email address as long as the formatting is maintained. ET uses this email for notification and does not appear in your session listing online. If you want your email to be posted, added it to the Other Notes below. - - * **Other Notes** *[(markdown enabled)](https://markdownguide.org)*: Add your session description here. Add any additional information which wasn’t included in the rest of the listing. For remote sessions, you may want to include the time and time zone again, links to instructions, how to pay, and contact information. Using markdown, you can style your listing using headers and bullets, include pictures and logos, links and more. Images must be hosted on another server. - -* Review your listing and click [Save] when done. - -## To View Your Session on HamStudy - -* To view your listing on the web, navigate to the **Session List** and click on the session which you are interested in. - -* At the end of the title for the session look for a small link icon: - -* Click on the icon and the link to your session on HamStudy will automatically copy to your clipboard. You should be able to open a browser window and paste the url in and the address bar and hit enter. Send the link to others or posted to another website to advertise your session. - -* Search for your session by clicking on the **Find a Session** from the right side navigation on [HamStudy](https://ham.study). If the session is not hidden, then it should come up. Find all your sessions by adding your call sign to the end of the following link: https://ham.study/sessions/yourcallsign. Use this URL to link to all your sessions live on HamStudy. Include it in the session description or share in email. This link will not include hidden sessions. - -## To Edit an Existing Session - -* Return to **Manage Sessions** and click on **Edit Schedule** to update or change your listing. Do this within the session from the **Current or Session List**. Open your session. Along the top of the window, look for a button for **EDIT SCHEDULE**. This button will take you to the Edit Session window where you can make changes to your exam. diff --git a/content/docs/cve/cveIn-PersonExamProcess.md b/content/docs/cve/cveIn-PersonExamProcess.md deleted file mode 100644 index 7415345..0000000 --- a/content/docs/cve/cveIn-PersonExamProcess.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: In-Person Exams with ExamTools -summary: Step-by-step instructions on how to use ExamTools for paper or computer based in-person exams. -weight: 50 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: In-Person Exams with ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## In-Person Exams with ExamTools -For more complete instructions, please contact your VEC for documentation and guidance. We strongly recommend that you shadow other team leads and participate in several sessions before starting to run your own. You are encouraged to have an experienced team lead and experienced VEs join your first few sessions to help out. Initial sessions are recommended to be only one or two applicants until you're comfortable with the whole process. Participation in remote online exams is the perfect place to learn how ExamTools works. - -## Prepare for In-Person Exam: - - * Session Manager (SM) [creates a session]({{}}) on ExamTools (ET). - * Session Manager [prints paper exams]({{}}) for use with GradeCam. Exams printed for use with templates will not work with GradeCam. However, you may use the Record External Exam feature under Manage to add exams which were graded without the use of ET. - * Session Manager or team members prepare computers or tablets for applicant use or applicants will be notified what kind of devices are allowed. - * SM (owner) or co-owner [adds participating Volunteer Examiners (VEs)]({{}}) to the exam session. - -## Applicant Registration: - -1. PRE-REGISTER: Direct applicants to pre-register (and pay online) before the exam by using the link on [HamStudy](https://ham.study). The session listing may be public or private. A public session will be listed on HamStudy and anyone may register for the exam. A private session will not be listed on HamStudy and applicants will need to be sent the link to the session listing in order to view and register. The SM marks the *Do not post on HamStudy.org* checkbox option. Once a session has been listed publicly, applicants may able to navigate back to it even after the session listing is edited to hide it on HamStudy. -2. WALK-INS or SAME DAY REGISTRATION: If you allow walk-ins on the day of the exam, assign a VE to help applicants register in two ways. - -- On [https://ham.study](https://ham.study/), direct applicants to use their own device (a smartphone or tablet) or one provided by a VE to register. Applicants will receive a registration email which includes their pin and allows them to confirm their information. -- In ExamTools, a VE can register applicants using the **Add Applicant** feature located in the upper right corner of the applicants list. Applicants added in this manner will not receive a registration email. -![Add Applicant Icon](../images/addApplicant.png) - -A VE should confirm FRNs and call signs on the ULS. Although ExamTools does have some automatic lookup features, all information should be confirmed by a real person. All applicants need a FRN to register on ExamTools. The FCC requires an email address which will used to contact the applicants about their license application. The applicant may need to log in to CORES to pay (within ten calendar days) or License Manager obtain a copy of their license, if they do not receive emails from the FCC. - -Since ExamTools registers the applicant electronically, the 605 may not be required for in-person, but the applicant still will need to bring identification. - -## Paper or Device? - -- Paper exam booklets and answer sheets must be printed from ET by a SM. The paper exams are reusable, printed with or without figures, randomly generated and have unique test ID numbers. Font size is adjustable. Should be printed on white paper as some people have problems with reading on colored paper. Select exams to be graded by GradeCam. [Instructions on Printing Exams for GradeCam]({{}}) Check with your VEC to find out if they may print or reimburse you for the exams. Suggestion: Use brightly colored folders or cover sheets to keep track of exams and elements. -- Paper and grading templates provided to stocked teams may be used with ExamTools. Check with your VEC to see to what the procedure is for accepting ExamTools exports for these types of sessions. Supplemental files (i.e answer sheets) may be required. -- Devices (computers, tablets, smartphones) may be owned by the applicants, VEs, team or VEC. The ET process is nearly identical to a remote session. Devices may or may not be reimbursable by your VEC. -- Exam results may be shared depending on your VEC's policy. Exam results are found on the Applicant Tab under PRINT FORMS in the expanded view of the applicant. On devices, exam results may be shared as each exam is randomly generated. When exams are graded by GradeCam, ET results may or may not be shared depending on the number of versions of the paper exam you have and if the exam is to be reused. It would always be safe to provide the question pool number (i.e. T6A07) to the applicant. - -## Check in Applicants: - -Change the applicant status from Registered to Seen in ExamTools to indicate that the applicant has checked in and is testing. The applicant will move to the top of the applicant list depending on how it is sorted. During the check-in process, you may: - -- Check ID and collect any fee from applicants. -- Use a paper roster provided to you by your VEC to track payment and ID check or download an applicant list from ExamTools and add columns for both. Defer to your VEC for direction. -- Confirm any CSCE and add credit. -- Confirm any existing license (current or expired). - -## Start Exam: - -- SM should click the **Start Session** button located in the upper right corner of the session. Only the co-owners can see it. - -## To Test with Paper: - -Provide each applicant with an exam, a bubble answer sheet, pencil/pen and calculator, if needed. The applicant may choose to use the front and back of the answer sheet for scratch paper given they do not write in the box or backside of the box or the team can provide the applicant with a blank sheet. - -IMPORTANT NOTE: Answer sheets can be prefilled with the exam's Test ID number and the Applicant Pin. The answer sheet for the Tech and General are the same with 35 bubbles, but the Extra answer sheet has 50 bubbles. A new 35/50 question combo form is now available for download along with all supplemental resources in ExamTools under Generate Exam. - -A VE may seat the applicant and give instructions on what to do when they have completed their exam. - -Suggestion: Provide each applicant with an instruction or exam cover sheet to provide directions for the exam and what to do to have the exam scored. - -## To Test with a Device: - -Provide each applicant with a sheet of blank paper, a pencil/pen and calculator, if needed. Inspect the device as you would for remote testing. The applicant needs only a web browser open and should be instructed to remain on that page only. Settings, profiles, and/or apps (i.e. Fully Kiosk) maybe used to secure VE team owned devices. - -The applicant should go to [https://exam.tools](https://exam.tools/) and join the session with the team identifier and the applicant pin. A VE will need to authorize at points during the exam as they would during a remote exam. - -## During Exam: - -For both paper and device testing, VEs should be assigned to monitor the applicants. Walk around behind the applicants with devices, make sure that they stay on the exam page and provide assistance when needed. VEs will need to assign themselves or a VE Admin or higher can assign Certifying VEs to each applicant. This can be done during or after the exam is graded as ExamTools is flexible on when the VEs are assigned. Defer to the team lead's instructions. - -The team should determine how they want the applicants to signal when they are done with the exam. For an exam taken on a device, the applicant can hit the grade exam button. For those who are using paper, they may need to raise their hand or bring their exam and materials to a specific table to be graded. All materials, pencil and calculators should be collected from the applicants. - -## Grading Exams: - -For applicants using a device, they can proceed through the exam process as if they are being tested online. - -For paper exams, use GradeCam to grade the exam. Navigate to the -Session Detail page, and click the GradeCam button. VE will be -prompted to choose the camera to use to scan. Center the filled out -answer sheet within the camera window, and the software will grade -the exam automatically. If ET cannot clearly determined which answer -was selected, the VE will be prompted to visually confirm the answer. -This can occur when an applicant does not cleanly erase a previous -answer when changing it. Any device with a camera (tablet, cell phone, or computer) may be used for scoring. -The SM and the rest of the VE team may want to practice this and test out different devices in the -[SandBox]({{}}) before your session. - -## To Add a Score from a Non-ExamTools Exam: - -A VE team may use existing exam booklets and scoring templates which were provided to them as a stocked team, if desired. Go to the applicant record and use the Record External Exam feature under Manage to add the element, score and any notes for the exam. Teams choosing this method should check with their VEC and confirm what additional documentation (i.e. original answer sheets) should be provided beyond the documents which ET exports. - -## Viewing 605 and Draft CSCE: - -All applicants should be able to sign in or remain signed in using their own device (a smart phone) or one (a tablet, iPad, computer) provided to them to view their score, finish and sign forms (view 605/CSCE and create an electronic signature). For paper exam applicants, you can skip right to the 605/CSCE and signature by changing the applicant status to Ready to Sign in ET. - -## Official Certificate of Successful Completion: - -Once the applicant and three Certifying VEs have all signed, a co-owner should **Mark Complete** the applicant and **send the CSCE**. The applicant should check their email which they used to register and confirm that they received the CSCE. Only the co-owners have the ability to mark applicants complete, but any VE may send the CSCE. The Mark Complete button displays to co-owners in the expanded view of the applicant. All three VEs must sign before the Mark Complete button becomes active. Once the applicant has been marked complete, they will drop to the bottom of the applicant list. A VE can then click on the up arrow displaying just to the right of the applicant's pin to send the CSCE. - -## Applicants Who Did Not Pass: - -Will not receive anything unless the team would like to either print or email the applicants the 605 from ET. Depending on the team's point of view, returning the 605 is completely unnecessary as the applicant did not provide a 605 when registering. One common practice for the three certifying VEs is to remain assigned to the non-passing applicant. Although ExamTools will allow VEs to sign a 605 on which NO NEW LICENSE OR UPGRADE WAS EARNED most all teams do not sign and some do not even keep VEs assigned for failed applicants. Check with your VEC for direction. - -## Closing the Session: - -* The SM cleans up the manifest, will remove any non-participating VEs and add any that did participate. Optionally, remove applicants who did not show. Then, clicks **Finalize Session**. -* Session Manager submits session docs (EXPORT>VEC Archive) to the Volunteer Examiner Coordinator (VEC) along with any other requested documentation (i.e. expense report, CSCEs, etc). A few VECs have an upload portal to submit the session documents and do not require the materials to be mailed back. - -## VEC Upload, Licenses and Upgrades: - -Once the VEC has uploaded the batch file from the session, the FCC will start the process of reviewing the applications, sending out emails with information to pay and issuing call signs. Once this happens, the applicant should receive an email from ExamTools and the FCC, if everything goes well with the EBF upload. Once an applicant has paid or for upgrades, the email from the FCC comes overnight with a link to the official license. The applicant should download the license from the link and save it in a place where they can find it again. They may choose to print out a copy and keep it with their radio. If they do not get an email, they will need to go to the License Manager and download a copy. - -Those who upgraded can use their existing call sign appended with /AG (General) or /AE (Extra) to immediately start using their new privileges. Those who do not have a license will need to wait until their call sign appears in the ULS. Occasionally, applicants need to wait an additional day or two while their application is in review. - -The FCC issues call signs Tuesday through Saturday in the early morning. Weekend and holiday uploads are not processed until the next business day. - -## Flow of Applicants through Exam Site: - -Tables should be set up to allow a logical flow through each station. This is an example below. - -1. Registration -2. Payment of fee (if not free) -3. Check-in/Present ID -4. Receive Exam -5. Take Exam -6. Return Exam -7. Grade Exam (VEs sign/SM marks complete/send CSCE) -8. Receive CSCE - -## Applicant Email Address: - -All applicants are required to provide an email address on all applications. The licensees will receive an electronic issuance of an official copy of their licenses upon application grant. Certain email preferences and email services may potentially block or filter incoming email attachments. Applicants should set their email preferences to allow incoming email from authorizations@fcc.gov before their applications are submitted. - -If no email notification is received, the licensees will need to login to ULS and download their authorizations, as no paper copies are distributed. The instructions for downloading an authorization can be found at: [https://www.fcc.gov/support/universal-licensing-system-uls-resources/how-obtain-official-authorizations-uls](https://www.fcc.gov/support/universal-licensing-system-uls-resources/how-obtain-official-authorizations-uls). Email questions about this process to [ulsebf@fcc.gov](mailto:ulsebf@fcc.gov). - -## Basic Qualification Question: - -If an applicant answers Yes to this question not only should the SM confirm that the answer is correct, but also make it clear that there are additional steps to their application with the FCC. Providing the application file number and the instructions on the back of the 605 may be needed. This may be the first time the applicant has applied for an amateur radio license and may need a little extra explanation. ExamTools does provide instructions when the applicants register, but the information is currently **not** included with the session information notification email when they register. diff --git a/content/docs/cve/cveNewTeamLead.md b/content/docs/cve/cveNewTeamLead.md deleted file mode 100644 index 0ea3009..0000000 --- a/content/docs/cve/cveNewTeamLead.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Become a Team Lead in ExamTools -summary: Suggested steps to become Team Lead approved by your VEC in ExamTools -weight: 15 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Become a Team Lead in ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Before getting started - -Confirm your Team Lead status in ExamTools. Login to http://exam.tools, go to your Profile (upper left on the navigation), and then expand Volunteer Examiner Credentials. You must have Team Lead associated with the VEC under which you plan to run exam sessions. If you only see Volunteer Examiner, please reach out to your VEC to get permission to run exams as a Team Lead with ExamTools. Most VECs will update ExamTools automatically and you should only have to wait for the new permissions to sync within a few hours of being approved. - -Now that you are a new VE Team Lead looking to get started with ExamTools, here are our recommended steps: - -## For in-person paper template graded sessions -* Read through this documentation, including the [Getting Started guide]({{}}) and [Print and Grade Hard Copy Exams]({{}}) pages. - -## For GradeCam, computer-based, or fully remote sessions -* Read through this documentation and watch the videos provided. -* Get yourself setup in the [**Sandbox**]({{}}) environment by following [these instructions]({{}}) - * Optional: Set up two or more of your more experienced VEs who you would like to bring along on this journey using the same steps. If you do not have VEs who can train with you in the sandbox environment, you can use [ dummy VEs ]({{}}) referenced in the instructions. -* Set up sample sessions and practice registering candidates, running the exam, and get yourself comfortable with the ExamTools. -* Ask in the appropriate VEC channel on the Discord to shadow another team already running live exams. -* Still not VE Team Lead? If you are ready to run real exams in the [production environment]({{}}), get explicit permission from your VEC to run fully-remote or in-person exams using ExamTools. -* At this point you will need to get all VEs on your team set up in the [production environment]({{}}) to assist with your exams. Have them follow [these instructions]({{}}) for the live environment. -* Create your first real exam session in the [production environment]({{}}) and run your session! -* For in-person sessions using GradeCam or devices, check out [In-Person Exams with ExamTools]({{}}) documentation. - -At any time, use the Discord [[invite link](https://discord.gg/EhrMdWstgJ)] to ask questions or ping Experienced Support for any specific or urgent needs. We’re all here to help each other out and expand testing for everyone! diff --git a/content/docs/cve/cveSandboxDummies.md b/content/docs/cve/cveSandboxDummies.md deleted file mode 100644 index 15c6177..0000000 --- a/content/docs/cve/cveSandboxDummies.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Sandbox Exams and Dummy VEs -summary: Instructions on how to use Dummy VEs for Practice Exams. -weight: 90 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Sandbox Exams and Dummy VEs -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Sandbox/Training Environment - -For training purposes, use the ExamTools (ET) sandbox environment at https://examtools.dev. Training sessions which are created in the sandbox will be found on https://hamstudy.dev. To get started, checkout the instructions on [how to create a team]({{}}) and [how to create a session]({{}}) in ExamTools. You may want to reference the [in-person exam instructions]({{}}) for how you may want to register your applicants and run your training session. - -## Sandbox ExamTools Accounts: - -Volunteer Examiners (VEs) who want access to the sandbox will need to register for a [sandbox ET account](/docs/ve/getsandboxaccount) even if they already have a [production ET account](/docs/ve/getexamtoolsaccount). Team leads will need to request [session manager permissions]({{}}) be added to their sandbox account in order to create a team and run training exam sessions. All features available in production can be tested out and mastered in the sandbox before a live session is scheduled. - -## Fake Applicants: - -Use hamstudy.dev to register fake applicants for your training session and experience what an applicant would experience. Alternatively, practice registering applicants in ExamTools, if you allow walk-in applicants at your exam session. Click the **Add Applicant** button in the upper right (opposite the sort order selector) of the applicant list. To create your own fake applicant, enter ten zeros (0000000000) in the FRN field or use a real FRN or call sign to automatically lookup the record from the ULS. -To populate the fields with a fake applicant's information, look to the upper right corner of the dialog box and click on the **Action** dropdown. Then, select **Create Fake**. - -## Dummy VEs: - -If you do not have enough real VEs to train with, you can use dummy VEs. Dummy VEs can only be used with assigning to an applicant and signing; they use a special callsign format like E92USR -- E means "Extra class" (and G means “General”), 92 can be any 2 digit number, and USR is just a common suffix eg. G23USR, E12USR, etc. - -The password for each dummy VE is passwordNN where NN is the number, so for E46USR, the password is password46. If you put in the wrong password, ET will prompt with a hint. - -## Rules for Dummies: - -* Use E or G for the license class prefix. -* The two digits can range from 01-99. -* Suffix should always be USR (user). E01ABC is not a valid dummy VE. -* You cannot login to ET with a dummy account. - -If you use a “T” as a prefix, you will get the tech error and you will not be able to use the dummy VE. If you try to add someone who does not hold a General or Extra class license, you will get the same error in production. - -## Creating a Dummy VE: - -Add a dummy VE as you would a VE in a live session. - -## Using the Dummy VE: - -Click the **Assign VE** button and select the VE who you want to sign from the dropdown. Once the exam is complete, hover over the **Manage VE Signatures** icon, select the VE who you want to sign again and enter in the password. - -## Acing the Exam: - -A VE will need to log in at https://examtools.dev as an applicant using another browser window or device to use for the training exam session. Once you've started the exam, use the equal symbol (=) on your keyboard to answer the question correctly and advance to the next question. Or answer each question on your own and see how you do! diff --git a/content/docs/cve/cveSessionLocation.md b/content/docs/cve/cveSessionLocation.md deleted file mode 100644 index 6d462b0..0000000 --- a/content/docs/cve/cveSessionLocation.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Create Session Locations in ExamTools -summary: Information on naming locations, using GPS coordinates and entering foreign addresses. -weight: 22 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Session Locations in ExamTools -# date: "2023-08-01T00:00:00Z" -type: book # Do not modify. ---- - -## Intro: - -ExamTools uses the selected location of the exam as the location in the final session documents. For remote exams, only the city, state and zip will be required on the session schedule page. Please confirm with your VEC, if you are unsure what address to use for your session. - -## Warning: - -Once you enter an address, you will not have ability to edit or delete it. ExamTools Support can edit addresses on a case-by-case basis for the time being. - -## Create Specific Display Names: - -Use a specific location name as a display name. If you have more than one team lead and/or test location under the same team identifier, create display names that make sense to you and your session schedulers. *Home, church, fire station, library, etc.* are common names. Choose a proper name or descriptive phrase instead. - -Good examples: - -* WM7X home (remote) -* Kearney Mesa Rec Center (in-person) -* Carmel Mountain Public Library (in-person) - -## Non-US Exam Locations for In-person Exams: - -For non-US locations, enter the state as DX and the zip as 00000. Enter both the city and country in the city field. Fill in the rest of the address fields as best as you can. - -An example of a remote/online exam location: - -* City: Sidney, Australia -* State: DX -* Zip: 00000 - -## Advanced Entry: GPS Coordinates - -This method is intended for those in unusual situations (i.e. desert, undeveloped area without street address) and requires manual entry of GPS coordinates. You will need the latitude and longitude. Use real values in decimals. - -Look it up at [https://www.itilog.com/](https://www.itilog.com/) - -If your address can be found in a Google Maps, please use Simple Entry instead. diff --git a/content/docs/cve/cveTeams.md b/content/docs/cve/cveTeams.md deleted file mode 100644 index b828b87..0000000 --- a/content/docs/cve/cveTeams.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Create and Edit Team Accounts in ExamTools -summary: Instructions on how to use Team Accounts for Session Management Volunteer Examineers. -weight: 20 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Team Accounts for Session Management -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Introduction - -The primary purpose of a "team account" in ExamTools is to designate ownership of a Volunteer Examiner (VE) team. It's purely an administrative entity. Team accounts can have a name, contact email, website and generally include the owner, co-owner and a few VEs who are part of the management of the team. It is completely unnecessary to add every Volunteer Examiner (VE) who may attended attend an exam to the ExamTools "team account". Only VE's with team lead permissions from their VEC will be able to create a team in ExamTools. Most VEC will update ExamTools automatically with your lead status. If you do not see lead permissions and expect to, please reach out to your VEC to confirm your current status as a lead. - -## Create a New Team Account - -- Click on **Team Accounts** on the left navigation in ExamTools. -- Click on **+ New Team Account** in the middle upper area below the ExamTools page header. -- **New Team Account** window should pop-up with four fields for you to define. -- **Team Identifier** (Team ID) - A team is identified on the schedule by a "team identifier" which starts with a letter, is 3-10 characters long, and can contain letters, numbers, and hyphens. Any single word, call sign or acronym can be used to uniquely identify the team. ex. SDHC, NT3ST-R, etc. Enter the call sign of the session manager, if you are not planning on having a team ID. -- **Team Name** - the team’s name or group associated with the team account -- **Contact E-mail Address** - a valid email address associated with the administrator (owner) of the team -- **VEC** (Which of your VEC credentials should this team be allowed to use to schedule exams?) - Select an available VEC from the drop-down menu. The individual setting up the account will have the option of selecting from the VECs for which they are a session manager/team lead/liaison in ExamTools. Select all that apply to this account. -- When done, click **Save** to exit. - -## Team Accounts: To edit or view team accounts - - * Within **Team Accounts**, locate the account you wish to view and click on the **Manage Account** button which will allow you to view all the fields and setting for the account. - * **Team Identifier:** - Used by the applicants to login and join the exam; also used in permalinks for the session and the team on HamStudy. - * **Team Name:** - Displays along with the team identifier in the session listing on HamStudy. - * **Contact E-mail Address:** - Should contain a valid email address for the administrator(s) of the account. - * **Team Website:** - Enter the url (i.e. http://…) for the website for the club or group associated with this team account. Leave blank if you do not have one. - * **My team permissions:** - The personal permissions settings for the team account you are viewing. (not editable and set by the owner/co-owner of the session) - * **Delegated Privileges:** (In order to list sessions for a given VEC one or more VEs who are at least co-owners must delegate their team lead permissions to the team. Note that sessions must still have a valid team lead assigned from the team, but anyone with Scheduling permissions may schedule sessions for any VEC for which the team has delegated permissions.) - Only those with session manager permissions in ExamTools will see VECs in the Delegate Privileges list. Select the VEC for which you would like the team schedulers to be able to create sessions for. If selected, the VEC will display below the feature. - - ## Add, Edit, and Delete Administrators - - * **Administrators:** - A list of those VEs who are part of your team management. This list does not include every one of your VEs, but rather those few who assist with the scheduling, coordinating and running of the sessions. - * Click on the **+ INVITE** next to **Administrator:** to add administrators who will need to accept your invitation. - * Use the **Edit** (pencil and paper icon) or **Delete** (trash can icon) to manage admins on the list. - * Click **Edit**, to **Change team admin permissions**. - * The team admin's *call sign and license class* will display along with the **Name:** which may use the Display Name from the VE's Profile, if entered. - * **Credentials:** - Displays how many VECs the admin is accredited with. - * **Permissions** (select from the drop down) - Choose from *Owner, Co-owner, Schedule, Print Exams* - * You can have one or more Owners who are co-equal -- this means that any of them can even remove the others from the team account. Because of this, most teams will want to just have a single Owner who is the primary person responsible and then add others as "co-owners". A co-owner can do anything an owner can except add or remove other owners or co-owners. Selecting schedule will allow that member to create and edit sessions for the team. Those VEs with the Print Exams permission can generate and print exams. - * Click **Cancel**, if you want to discard changes or **Save** when editing is complete. - * If you would like to return to the list of team accounts, click the **back arrow** in the upper left corner under **Manage Team Account**. - - Administrators can see the team account sessions in the **Session List** even if they have not been added to the session as a VE. If you are a co-owner or owner you can join the session and add VEs. - - Regular VEs who do not have administrative duties would normally not be part of the team account. One of the owners or co-owners of the team will need to add not only themselves, but also attending VEs to each exam session. diff --git a/content/docs/cve/cveVEList.md b/content/docs/cve/cveVEList.md deleted file mode 100644 index 3080816..0000000 --- a/content/docs/cve/cveVEList.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Edit the VE List in an ExamTools Session -summary: Step-by-step instructions on how to add, remove and change session permissions of a Volunteer Examiner in ExamTools. -weight: 40 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Edit the VE List in an ExamTools Session -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Add a Volunteer Examiner (VE) to an Exam Session - -You must be a co-owner to add VEs to a session. Add VEs to the manifest at any time until the exam is finalized. - -* Login to **[ExamTools](https://exam.tools)** by clicking on [SIGN IN] under **Assist with or Manage Exams**. - -* In the second window **Log in as a Volunteer Examiner**, enter your **Username or email** and **Password**. Click the box next to *I accept the Privacy Policy...* and then [LOG IN]. - -* **ExamTools (ET)** should open in the **[Session List](https://exam.tools/ve/sessions)**. - -To add a VE to an exam session, select a session from the **Session List**. - -By default, the Applicant tab is active. Click on the Volunteer Examiner tab to the left of the active tab. At the top of the VE page, located and click the button **+ ADD VES**. - -**Required on a New Session Listing:** If you see "You are not part of this session" on a gold alert ribbon when you first access the session listing, make sure to click the **JOIN** button from the Applicant Tab. Next, click on the Volunteer Examiner tab. If fail to join the session, you will see that the session has 0 VEs and a blue box with "No Volunteer Examiners have been added to the session". Return back to the gold ribbon on the Applicant Tab and click the **JOIN** button. Then, click on the Volunteer Examiner tab. You must then change your permissions to co-owner in order to add the rest of your team. - -The **Add Volunteer Examiners** window should popup with a field in the upper right corner **VE call sign (enter to add)**. - -Type in the call sign of the VE who you would like to add. Hit **Enter** on your keyboard and then click **SAVE** on your screen. To add more than one VE, just keep entering call signs and enter until you have added all your VEs, then click **SAVE** to add them to the session all at once. ExamTools will not add a VE more than once even if you add them again. - -VEs need to have an ExamTools account with VE Documents for the same -VEC as the session is associated with. If you are presented with an -UNREGISTERED to the right of the VE, the VE does not have what they need to be added to your -session. New to ExamTools VEs will need -[to create an ExamTools account]({{}}). -VEs who have volunteered with a different VEC using ET may need -[to add additional VEC accreditation]({{}}) -to their existing account. - -## Setting VE Permissions: - -You have three different levels of permissions which you can sign to -VEs. Volunteer Examiner, VE Admin and Co-Owner are explained on the -[VE Roles and Permissions in an ExamTools Session]({{}}) -page. The team lead needs to have Co-Owner permissions to run the session. - -From the dropdown located on the right side of the VE's name, select the role at which you want the VE to participate in the session with. The Volunteer Examiner setting by default will allow VEs to authorize and certify exams and under **MANAGE**, view applicant information. - -## How to Remove a VE from an Exam Session: - -Look for an **x** in a small solid circle located to the right of the VE within the VE list. Clicking on the x will result in a popup **"Are you sure you want to remove *VE Name (Call Sign)* from the session?"** Select **YES**. Do not remove VEs who are currently assigned to an applicant or have authorized exams. This may break something in your session. diff --git a/content/docs/cve/images/addApplicant.png b/content/docs/cve/images/addApplicant.png deleted file mode 100644 index 4d698e8..0000000 Binary files a/content/docs/cve/images/addApplicant.png and /dev/null differ diff --git a/content/docs/cve/images/generateExams.png b/content/docs/cve/images/generateExams.png deleted file mode 100644 index 6b097d1..0000000 Binary files a/content/docs/cve/images/generateExams.png and /dev/null differ diff --git a/content/docs/cve/images/manualGradingOptions.png b/content/docs/cve/images/manualGradingOptions.png deleted file mode 100644 index 590fec1..0000000 Binary files a/content/docs/cve/images/manualGradingOptions.png and /dev/null differ diff --git a/content/docs/cve/images/predeterminedKeyOptions.png b/content/docs/cve/images/predeterminedKeyOptions.png deleted file mode 100644 index 86e72a4..0000000 Binary files a/content/docs/cve/images/predeterminedKeyOptions.png and /dev/null differ diff --git a/content/docs/cve/images/scanWithGradecamOptions.png b/content/docs/cve/images/scanWithGradecamOptions.png deleted file mode 100644 index 2a1a06e..0000000 Binary files a/content/docs/cve/images/scanWithGradecamOptions.png and /dev/null differ diff --git a/content/docs/cve/images/supplementalResources.png b/content/docs/cve/images/supplementalResources.png deleted file mode 100644 index 51d7965..0000000 Binary files a/content/docs/cve/images/supplementalResources.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_0_mp4.png b/content/docs/cve/images/zoom_0_mp4.png deleted file mode 100644 index 409a60c..0000000 Binary files a/content/docs/cve/images/zoom_0_mp4.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_all_views.png b/content/docs/cve/images/zoom_all_views.png deleted file mode 100644 index da0f427..0000000 Binary files a/content/docs/cve/images/zoom_all_views.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_gallery_mode.png b/content/docs/cve/images/zoom_gallery_mode.png deleted file mode 100644 index e932f26..0000000 Binary files a/content/docs/cve/images/zoom_gallery_mode.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_ios_disconnect_audio.png b/content/docs/cve/images/zoom_ios_disconnect_audio.png deleted file mode 100644 index dbf99bf..0000000 Binary files a/content/docs/cve/images/zoom_ios_disconnect_audio.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_ios_ellipsis.png b/content/docs/cve/images/zoom_ios_ellipsis.png deleted file mode 100644 index 9c612d1..0000000 Binary files a/content/docs/cve/images/zoom_ios_ellipsis.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_participants.png b/content/docs/cve/images/zoom_participants.png deleted file mode 100644 index ce2612e..0000000 Binary files a/content/docs/cve/images/zoom_participants.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_record_to_computer.png b/content/docs/cve/images/zoom_record_to_computer.png deleted file mode 100644 index 2f300f7..0000000 Binary files a/content/docs/cve/images/zoom_record_to_computer.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_remove.png b/content/docs/cve/images/zoom_remove.png deleted file mode 100644 index 43c6b4c..0000000 Binary files a/content/docs/cve/images/zoom_remove.png and /dev/null differ diff --git a/content/docs/cve/images/zoom_waiting_room.png b/content/docs/cve/images/zoom_waiting_room.png deleted file mode 100644 index 400d63d..0000000 Binary files a/content/docs/cve/images/zoom_waiting_room.png and /dev/null differ diff --git a/content/docs/cve/printedExamCreation.md b/content/docs/cve/printedExamCreation.md deleted file mode 100644 index d19f6d8..0000000 --- a/content/docs/cve/printedExamCreation.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Print and Grade Hard Copy Exams in ExamTools -summary: Instructions on how to print and grade hard copy exams for manual grading, GradeCam grading, and use with VEC Answer Keys -weight: 60 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Print and Grade Hard Copy Exams in ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Required to Print Exams - -To generate and print exams in ExamTools, you must have team lead permissions or be a Volunteer Examiner (VE) on a team with Print Exam permissions. Some teams leads may need to contact their VEC to update their status. Make sure to check out the [New Team Lead Information]({{}}), if you do not see Answer Keys and Generate Exam in the left navigation of ExamTools. - -## Printing Exam Sheets for Manually Graded Exams - -Follow these instructions to print out randomly generated exams for use with a manual grading key: - -* Log into [ExamTools](https://exam.tools) using your user name and password -* On the left navigation bar, click **Generate Exam** -![Generate Exams](../images/generateExams.png) - -* The default selection is **Manual Grading**, indicated by a grey highlight. -* Follow the option selections for the exams that you wish to generate - * ***Text Size*** - Choose the size of your text printing. Available selections are *Miniscule*, *Tiny*, *Small*, *Regular*, *Large*, *Huge*, or *Ridiculous* - * ***Question Pool*** - Choose the question pool for which you wish to generate exams. Available selections include current US Amateur Radio exams, several FCC Commercial Elements, and Canadian 2014 Basic and Advanced Qualifications in either English or French Canadian - * ***Language*** - Choose the language to generate exams. Available selections are *English* or *(Spanish not available for all question pools)* - * ***Number of Exams to Create*** - Choose how many unique exam sheets to generate. *Use the slider to select a number between 1 and 50* - * ***Omit questions with figures*** - Toggle on to generate exams that do not use questions containing figures suitable for administering to visually challenged candidates. *Default is off (include figures)* -* Click **Generate** - You will have a PDF file generated that includes answer keys, blank answer sheets, and exam booklets in the quantity of exams chosen in the previous step. You may print off as many copies as you need. The exam number is printed on page 1 in the upper right hand corner as well as in the footer of every page. This number is used to determine which grading key to use. - -* To grade these exams, each VE will compare the candidate's filled-out answer sheet against the grading key generated in the prior step. This candidate will then require a CSCE and Form 605 filled out and signed by hand. Alternatively, if the applicant has been registered into ExamTools, VEs may record the score into ExamTools by following [To Add a Score from a Non-ExamTools Exam:](cvein-personexamprocess/#to-add-a-score-from-a-non-examtools-exam.md) instructions. -![Manual Grading Options](../images/manualGradingOptions.png) - - - -## Printing Exam Sheets for Pre-Determined (VEC) Keys - -Follow these instructions to print out randomly generated exams for use with a pre-determined (VEC) grading key - -* Log into [ExamTools](https://exam.tools) using your user name and password -* On the left navigation bar, click **Generate Exam** -![Generate Exams](../images/generateExams.png) - -* The default selection is **Manual Grading**, indicated by a grey highlight. Click on **Pre-Determined Key** -* Follow the option selections for the exams that you wish to generate - * ***Choose Answer Key(s)*** - Choose the grading template that you are using. Includes pre-determined VEC-Specific grading templates such as ARRL: 1-1 through ARRL: 9-4. Multiple selections are allowed. - * ***Text Size*** - Choose the size of your text printing. Available selections are *Miniscule*, *Tiny*, *Small*, *Regular*, *Large*, *Huge*, or *Ridiculous* - * ***Question Pool*** - Choose the question pool for which you wish to generate exams. Available selections include current US Amateur Radio exams, several FCC Commercial Elements, and Canadian 2014 Basic and Advanced Qualifications in either English or French Canadian - * ***Language*** - Choose the language to generate exams. Available selections are *English* or *(Spanish not available for all question pools)* - * ***Number of Exams to Create*** - Choose how many unique exam sheets to generate. *Use the slider to select a number between 1 and 50* - * ***Omit questions with figures*** - Toggle on to generate exams that do not use questions containing figures suitable for administering to visually challenged candidates. *Default is off (include figures)* -* Click **Generate** - You will have a PDF file generated that includes exam sheets in the quantity of exams chosen in the previous step. You may print off as many copies as you need. The answer key to use for grading each exam is printed on page 1 in the upper right hand corner as well as in the footer of every page - -* To grade these exams, each VE will compare the candidate's filled-out answer sheet against the appropriate grading key provided by your VEC. This candidate will then require a CSCE and Form 605 filled out and signed by hand -![Pre-Determined Key Options](../images/predeterminedKeyOptions.png) - - - -## Printing Exam Sheets to Scan with GradeCam(tm) - -Follow these instructions to print out randomly generated exams for scanning with GradeCam(tm) software, which is accessible via the ExamTools website on any internet-connected device with a camera. - -* Log into [ExamTools](https://exam.tools) software using your user name and password -* On the left hand navigation bar, click **Generate Exam** -![Generate Exams](../images/generateExams.png) - -* The default selection is **Manual Grading**, indicated by a grey highlight. Click on **Scan with GradeCam(tm)** -* Follow the option selections for the exams that you wish to generate - * ***Text Size*** - Choose the size of your text printing. Available selections are *Miniscule*, *Tiny*, *Small*, *Regular*, *Large*, *Huge*, or *Ridiculous* - * ***Question Pool*** - Choose the question pool for which you wish to generate exams. Available selections include current US Amateur Radio exams, several FCC Commercial Elements, and Canadian 2014 Basic and Advanced Qualifications in either English or French Canadian - * ***Language*** - Choose the language to generate exams. Available selections are *English* or *(Spanish not available for all question pools)* - * ***Number of Exams to Create*** - Choose how many unique exam sheets to generate. *Use the slider to select a number between 1 and 50* - * ***Print Answer Keys?*** - Choose to generate hard-copy answer keys for your exams *Default is off* - * ***Omit questions with figures*** - Toggle on to generate exams that do not use questions containing figures suitable for administering to visually challenged candidates. *Default is off (include figures)* -* Click **Generate** - You will have a PDF file generated that includes exam sheets for the number of exams chosen in the previous step, and optionally bubble forms for GradeCam scanning. The exam number to write into the answer sheet is printed on page 1 in the upper right hand corner as well as in the footer of every page - -* To grade these exams, navigate to the Session Detail page, and click the **GradeCam** button. You will be prompted to choose the camera to use to scan. Center the filled out answer sheet within the camera window, and the software will grade your exam automatically. This candidate may then proceed through digital CSCE, Form 605, and electronic VEC submission steps -![Scan with GradeCam(tm) Options](../images/scanWithGradecamOptions.png) - - - -## Supplemental Resources - -These supplemental resources are for use with generated exams - -* ***Bubble forms*** for GradeCam (camera-based) scanning - these are blank fill-in-the-bubble forms to be used by candidates to answer questions on exams to be graded using GradeCam software -* ***Figures*** which go with exams - These are the labeled figures to be provided to candidates taking generated exams. Update: The figures are now included with the question referencing it in the printed exam booklet. -![Supplemental Resources](../images/supplementalResources.png) diff --git a/content/docs/cve/process-tips/_index.md b/content/docs/cve/process-tips/_index.md deleted file mode 100644 index f09dc53..0000000 --- a/content/docs/cve/process-tips/_index.md +++ /dev/null @@ -1,257 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: Process Tips -linktitle: Process Tips -type: book -# date: 2020-09-16T00:00:00 -lastmod: 2020-09-16T00:00:00 -featured: false -draft: true ---- - -## Process Tip #2: Web Site Decoder - -There are a LOT of websites! Here's the decoder to help you figure out where you want to be: - -* PRODUCTION ENVIRONMENT (real sessions, no playing around here): - * https://hamstudy.org/ - Production Website for creating real accounts - * https://examtools.org/ - Legacy Production Website for creating/accessing real test sessions - * https://exam.tools/ or https://beta.examtools.org/ - Tier 2 Production Website for creating/accessing real test sessions - -* SANDBOX/DEVELOPMENT ENVIRONMENT (use for any training purposes, runs on its own database to avoid any issues with the production environment): - * https://hamstudy.dev/ - Sandbox environment for creating test accounts - * https://examtools.dev/ - Legacy Sandbox environment for creating/accessing sandbox test sessions for training/practice/learning - * https://beta.examtools.dev/ - Tier 2 Sandbox environment for creating/accessing sandbox test sessions for training/practice/learning - -* ALPHA - * https://alpha.exam.tools/ - used by a small group of dev ops; do not use unless you have explicit knowledge of what is happening there. - -## Process Tip #3: Getting Started Guide - -Here is the [DRAFT "ExamTools Beta Tier 2 Getting Started Guide"](https://bit.ly/2YJqb2p). -Note that this is a living document and is actively being updated to help -guide you through using the new Tier 2 Software. - -## Process Tip #4: VE Registration Form - -VE Team Leads - We made [this Google Form](https://forms.gle/cD9fTqv5ognik6XC9) -for you to share with the VEs you are on-boarding into the Tier 2 software. Go ahead and send them -this link as it will give them the instructions to walk through in -order for Experienced Support to give them permission to be added to -sessions. We'll be processing the submissions to there as we are able, -but ping Experienced Support if you need any expedited. Thanks! - -VE Team Lead - make sure you fill this out yourself, even if you were -setup to use Tier 1, since we need to add the permissions for your VEC -in the new system. - -If you would like access to the sandbox / testing platform, fill out -[this form](https://forms.gle/NiAeLFpX7R7E7NZC9) and Experienced Support will get you added. - - -## Process Tip #5: Setting the VE Number - -In Tier 2 we don't (yet) have a way to edit the VE number but you can -edit it in Tier 1/Legacy, so if you have a VE who doesn't have a VE -number you can open T1 (https://examtools.org/) and add them to the -session then edit the number and save it. That will save in Tier 2 as -well. We hope to get those importing automatically in the future for -all participating VECs. - -(VE Numbers are used by some VECs but not others.) - -## Process Tip #6: Process Flowchart - -Nick N1CCK and Marcel AI6MS just made a overview of the -[ExamTools Tier 2 Process Flowchart](https://bit.ly/3etpqkQ) which should help those folks -trying to understand how to use the system. Please check it out and -play with the sandbox beta at https://beta.examtools.dev/ - - -## Process Tip #7: Roles - -Here’s a [brief overview of the roles](https://1drv.ms/w/s!Aqg8Vopj2nblhgsJVq8k7yBxhTDk?e=BdXeMm) -within a session, and what each role is currently allowed to do. - -## Process Tip #8: Want a Feature? - -For feature requests on ExamTools, please visit -https://features.examtools.org/. You can add your own, or vote for -existing requests - -## Process Tip #9: Participating VECs - -As of 2020-05-03, we are only aware of the following VECs doing fully-remote testing: - -1. GLAARG VEC - Sign up to be a VE with them here: https://glaarg.org/glaarg-forms/ and ask how to get a session approved. -2. W5YI VEC - Contact your CVE to get involved. -3. ARRL VEC - Contact the ARRL/VEC office for more information, visit the #arrl channel, and read - [this FAQ]({{< relref "../arrl" >}}). - -Note 1: You must get explicit approvals from your VEC to administer -fully-remote exams. DO NOT try to do this otherwise, or your session -will likely be rejected/invalidated. - -Note 2: Anchorage ARC VEC continues to do [Proctored Remote Testing](https://kl7aa.org/vec/remote-testing/). - -## Process Tip #10: How to Run Single & Multi-Room Exams - -Here's a nice [step-by-step guide](https://bit.ly/2Bp7NE6) for VEs to use as a reference for how -to run both single-room AND multi-room exam sessions. Special thanks -to Sarah N6OPE for putting this together for GLAARG sessions. Feel -free to use/modify for your teams. (Also note that some of these -nuances are already fixed or being improved in the tool since writing, -so as with all documentation, will be getting updates as the software -matures). - -## Process Tip #11: More Tips for Multi-Room Exam Sessions - -We worked with the VE Team from GLAARG to put together a DRAFT -document with some -[tips and procedures](https://docs.google.com/document/d/1R0Z2DPbaCFeOSwUJnRnQdWe5S7BOLOCrR7QV75IrRTw/edit?usp=sharing) -for running a multi-exam-room session using breakout-rooms in Zoom. Check out: - -(This document is open for commenting so we can get more tips from other -teams as well). Special thanks to Norm K6YXH, Loyal, Jonah KJ0NAH, -Grant W4KEK, Lucky225, and Nick N1CCK for -helping put this together! - -## Process Tip #12: More Tips for Running Exams Simulatneously - -From Todd N7TMS who has been running some W5YI sessions wrote up -this little flow for how he's running remote sessions. Similar to how -GLAARG is doing it too. See below: - -There is a lot of chatter about waiting rooms, texting when ready, -shared Google Sheets, etc. We run three exams simultaneously. I -stagger the Zoom appointments -- three every 20 minutes. - -When candidates join, they are automatically placed in the Zoom -waiting room. I serve as the host. I bring a candidate into the -"lobby", connect their second device, check that their technology is -functioning adequately, review the rules and regulations, and answer -any questions they have about the process. I also change their screen -name to be their first name and HamStudy PIN. (e.g. Todd 1234) - -I have a second device joined to the meeting ... in my case, an -iPad. I assign the iPad to one of the breakout rooms. On my computer, -I can "move" the iPad from room to room. I keep my microphone and -camera muted on the iPad so that I do not interrupt the room as I move -around. This way, I can keep an eye on what is happening in each of -the rooms. - -When a room is available, I unmute my mic and camera, move the -candidate to the room, introduce them to the VE team and then mute my -mic and camera as the VEs proceed with the exam. - -## Process Tip #13: Zoom Pin Video - -From Rick WM6M If you're using Zoom: "when asking the applicant -to show his/her room and ID, click on the applicant's ellipsis (those -three dots) and select "Pin Video". That will make him full screen -regardless of who is speaking while you check the room and ID." One -other suggestion is to put the candidate's screen and video in "split" -mode to see both larger when you are observing as the VE during the -exam - -## Process Tip #14: Hybrid In-Person Exams - -Courtesy of Nick AA0NM: "So this is the down and dirty [draft of our process](https://bit.ly/2AXUgDl) -(still being refined) that we will be testing out next week -based on how things went this week (and some wishful thinking that a -couple of the suggests we made will be in place). Remember we are -running hybrid in person sessions with computer and paper exams. -Suggestions welcome: - -## Process Tip #15: Markdown for Other Notes - -Courtesy of Grant W4KEK: Wanting to know more about what you -can put in your Other Notes box when creating a session? Examtools -uses a format called Markdown, it can do a whole lot, to see some of -the things it can do take a look though -https://www.markdowntutorial.com/ - -##Process Tip #16: Pre-Check Breakout Room Script - -Here's a nice little ["Pre-Check Script"](https://bit.ly/3130hJH) that was made by Connor KD9LSV, -one of the VEs with GLAARG. It's a nice reference -for those groups using a separate pre-check room in Zoom for -candidates before sending them to the Exam Breakout Room. - - -## Process Tip #17: Discord for Dummies - -Here's a ["Discord for Dummies" user guide](https://bit.ly/2ZJAswO) that was put together by -Sarah N6OPE to share with any VEs new to Discord that need a simple -into: - -Here's a [2nd document](https://bit.ly/3cdUpRy) as well added on 5/16/20: - - -## Process Tip #18: Steps for New Team Lead - -If you are a new VE Team Lead looking to get started with ExamTools, here are our recommended steps: - -1. Read through all the FAQs and watch all the videos - -2. Get yourself setup in the Sandbox environment using section “How to create a sandbox account” from the guide listed in FAQ #3) - -3. Optional: Set up 2 or more of your more experienced VEs that you would like to bring along on this journey using the same guide - 3a. If you do not have VEs that can train with you in the sandbox environment, you can use dummy VEs referenced in the instructions. - -4. Setup sample sessions and practice registering candidates, running the exam, and getting yourself comfortable with the ExamTools system. - -5. Ask in the appropriate VEC channel on the Discord to shadow another team already running live exams - -6. VE Team Lead - Once you are ready to run real exams in the production environment, get explicit permission from your VEC to run fully-remote or in-person exams using ExamTools and send the confirmation of your approval to verifications@examtools.org - -7. At this point you’ll need to get all VEs on your team set up in the production environment to assist with your exams. Send them the sign up form from FAQ #4 to get them registered with ExamTools and configured to help with your session. - -8. Create your first real exam session in the production environment and run your session! - -9. At any time, use the Discord to ask questions or ping Experienced Support for any specific or urgent needs. We’re all here to help each other out and expand testing for everyone! - -## Do Not Share Passwords - -From the man, Richard KD7BBC - not a tip, but vital, so I am putting it here so that it does not get lost: - -Do not share your password with your team lead. If you have passwords -belonging to your VEs please ask them to reset them. That password -essentially acts as a digital signature -- if you are signing for your -VEs, even just by putting in their password, you are literally forging -their signature. - -Do not share your password. Do not let people share their password -with you. If there are significant issues with people understanding -how things work let me know what they are and we'll try to minimize -them, but please please please do not share passwords. This has -already caused an issue where someone who probably didn't intend to do -anything wrong is under investigation because they are suspected of -forging someone else's signature and the issue could quite literally -put our ability to do digital signatures at risk. - -Please. - - -If anyone is unsure of how to reset a password, send them to -https://ham.study/reset HamStudy.org: Reset your password - -## COPPA - -ExamTools User Please note that all COPPA forms should be sent to -coppa@examtools.org and not to support@examtools.org -- it's not -catestrophic if it goes to the wrong place as they both get to me, but -they get filtered to a different place which makes it harder for me to -verify things if there are questions. - -Also note that those instructions and the most up to date version of -the coppa form can be found on the first page of registration. - -## Process Tip #19: VE got a new Vanity call sign? - -Direct the VE to https://ham.study/profile and have them login with -their examtools login, and update that callsign to their new one. - -Ping Experienced Support after setting up the callsign, and -we should be able to do a ULS refresh on examtools. diff --git a/content/docs/exam-day/_index.md b/content/docs/exam-day/_index.md new file mode 100644 index 0000000..4d416fe --- /dev/null +++ b/content/docs/exam-day/_index.md @@ -0,0 +1,14 @@ +--- +title: Exam Day +weight: 5 +--- + +Step-by-step guides for running a session from start to finish. + +- **[Start the session](open-session)** — Start the session so applicants can sign in. +- **[Check in applicants](check-in-applicants)** — Verify identity and add applicants to the active session. +- **[Give the exam](give-exam)** — Administer a computer-based exam: authorize start, monitor progress, and grade. +- **[Complete an applicant](complete-applicant)** — Collect signatures on Form 605 and CSCE, mark the applicant complete, and email their CSCE. +- **[Finalize the session](close-session)** — Lock results and close the session. + +> **GradeCam or paper exams?** See the [Paper Exams](../paper-exams) section. Sessions can mix computer and GradeCam exams — even for the same applicant. diff --git a/content/docs/exam-day/check-in-applicants.md b/content/docs/exam-day/check-in-applicants.md new file mode 100644 index 0000000..ad387eb --- /dev/null +++ b/content/docs/exam-day/check-in-applicants.md @@ -0,0 +1,91 @@ +--- +title: Check In Applicants +weight: 2 +--- + +Applicants connect to the session using their PIN and submit a join request. VEs confirm the applicant's identity and approve them to proceed. + +This process applies to all exam types. The timing differs: + +- **Computer exam** — the applicant connects before taking their exam. +- **GradeCam (paper exam)** — the VE grades the paper answer sheet first; the applicant connects afterward to sign their forms. The answer sheet includes the applicant's PIN, so grading attaches automatically to the correct record. + +A session can include both types, and an individual applicant can take one element on a device and another on paper. + +## Prerequisites + +- The session has been [started](open-session) and is in **In progress** status +- Applicants registered for the session (pre-registered online) or ready to be added as walk-ins + +## How applicants connect + +Pre-registered applicants received a session PIN in their confirmation email. On exam day they: + +1. Navigate to [exam.tools](https://exam.tools) and sign in with their PIN. +2. Click **Join Session** to request entry. + +When an applicant submits a join request, a red badge appears on the applicant list in the session view showing the number of pending actions. + +--- + +## Authorize a join request + +1. In the session view, click the red pending-actions badge on the applicant list — or expand the individual applicant row. + + ![Applicant list showing an applicant row with a red pending-action badge indicating a join request is waiting for approval](/img/docs/sessions/session-check-in-badge.png) + +2. A dialog appears: + + **Allow to join?** + > *"This applicant would like to join the session. Before approving please verify their ID according to VEC instructions."* + +3. Confirm that the person requesting to join is the applicant on record, following your VEC's identity verification instructions. + +4. Click **Approve** to let the applicant in, or **Reject** to deny them. + +After approval, the applicant's status changes from **Registered** to **Seen**. + +--- + +## Assign VEs to the applicant + +After approving the applicant, assign at least three VEs. FCC rules require a minimum of three VEs to be assigned to each applicant during their exam. + +- Any VE can click **Assign to me** in the expanded applicant row to self-assign. +- Ve Admins and Co-Owners can assign any VE using the **Assign VE** dropdown. + +The VE count badge on the applicant row turns amber when fewer than three VEs are assigned. + +--- + +## Add a walk-in applicant + +If an applicant did not pre-register, they can be added in one of two ways: + +**Option A (preferred) — Self-registration via the session link** + +Share the session's registration link with the applicant. They complete registration on their own device, receive a confirmation email with their PIN, and then sign in as normal. The registration link is available by clicking the link icon next to the session title at the top of the session view. + +**Option B — Manual addition by a Co-Owner** + +You should generally avoid this option - there are legal ambiguities around adding someone into the database without their consent. At the very least, before adding the applicant manually, make sure they have agreed to the Privacy Policy. If the applicant is under 13, make sure they have submitted the required COPPA form. Regular registration handles both requirements. + +While we generally only recommend using this option in the Sandbox (for experimentation), if you judge it is needed here is how you do it: + +1. Click the **Add Applicant** icon (person with a plus) in the applicant toolbar. +2. Fill in their information — FRN or callsign, name, and the elements they are testing for. +3. Click **Save**. The applicant is added to the list and issued a PIN. +4. Give the applicant their PIN so they can sign in and submit a join request. + +--- + +## Verify + +A checked-in applicant shows status **Seen** in the applicant list with at least one VE assigned (amber badge) or three VEs assigned (badge turns normal). + +## Next steps + +Proceed based on the exam format for each applicant: + +- **Computer exam:** [Give the exam →](give-exam) +- **GradeCam (paper exam):** [Grade with GradeCam →](../paper-exams/run-paper-exam-day) diff --git a/content/docs/exam-day/close-session.md b/content/docs/exam-day/close-session.md new file mode 100644 index 0000000..c3635b8 --- /dev/null +++ b/content/docs/exam-day/close-session.md @@ -0,0 +1,102 @@ +--- +title: Finalize the Session +weight: 5 +--- + +After all applicants are marked complete, a Co-Owner finalizes the session by entering their ExamTools password. Finalization locks the session and prevents further changes. + +## Prerequisites + +- All applicants have status **Finalized** (see [Complete an Applicant →](complete-applicant)) +- You have **Co-Owner** session permissions + +> **Applicants who are not finalized will block finalization.** The system will reject finalization if any applicant has a passing score on a non-voided exam without being completed. + +--- + +## Finalize the session + +1. In the session view, click **Finalize Session**. + + ![Session header showing the date, session title, and Finalize Session button in the top right](/img/docs/sessions/session-finalize-button.png) + + A confirmation dialog appears: + + > *"Are you sure you want to finalize this session? Once finalized no more changes can be made. Before you finalize the session, make sure you have reviewed and completed any applicants with passing scores on any exams."* + +2. Click **Review Forms** to preview the signed session paperwork as a PDF before proceeding. + + ![Finalize Session dialog showing the warning text, Review Forms button, Password field, and Complete button](/img/docs/sessions/session-finalize-dialog.png) + +3. Enter your ExamTools password when prompted: + + > *"When you have reviewed the paperwork a final time please enter the password for [your username] to finalize and close the exam session."* + +4. Click **Complete**. + +The session status changes to **Closed**. + +--- + +## Unfinalize a session + +If you need to make changes after finalization, a Co-Owner can reopen the session. + +1. Click **Unfinalize Session** in the session view. + +2. A confirmation dialog appears: + + > *"Are you sure you want to reopen this session? This can be dangerous and makes it very easy to put data into an inconsistent state. Only proceed if you know what you are doing!"* + +3. Confirm to reopen. No password is required. + +The session returns to **In progress** status. + +--- + +## Download session files + +After finalization, use the **Print** and **Download** menus in the session view to retrieve forms and export files. + +![Session view showing the Download menu open with export options including VEC Archive, Laurel SessionManager, W5YI, JSON export, EBF File, Applicant List, and Applicant JSON](/img/docs/sessions/session-download-menu.png) + +Some items are only available once the session is closed. + +### Print menu + +PDF documents for review, filing, or submission: + +| Item | Contents | +|------|----------| +| **Final forms** | All signed final session forms in a single PDF — the primary document package for VEC submission | +| **Signed forms** | Signed forms only (excludes unsigned or voided documents) | +| **All forms** | Every form generated for the session, regardless of status | +| **Session Manifest** | Summary listing of all applicants and their exam results | +| **Form 605** | FCC Form 605 for each applicant | +| **CSCE** | Certificate of Successful Completion for each applicant who passed | +| **Results** | Exam scores and pass/fail outcomes | + +### Download menu + +Export files for submission to your VEC or import into external systems: + +| Item | Format | Description | +|------|--------|-------------| +| **VEC Archive** | ZIP | Complete session package for VECs that accept electronic archives — requires finalized session | +| **EBF File** | EBF | Electronic Blue Form for VECs that use this format — requires finalized session | +| **W5YI** | CSV | Export for W5YI VEC submission — requires finalized session | +| **Laurel SessionManager** | CSV | Import file for Laurel VEC SessionManager | +| **Applicant List** | CSV | Basic applicant information for your own records | +| **JSON export** | JSON | Full session data export | + +> **Which format does your VEC require?** Consult your VEC's guidance. Most VECs accept either the VEC Archive or a VEC-specific format (EBF, W5YI, Laurel). The VEC Archive and VEC-specific exports are only available after the session is finalized. + +--- + +## Verify + +The session status shows **Closed** in the sessions list after finalization. + +## Next steps + +- [Return to your sessions list →](../sessions/) diff --git a/content/docs/exam-day/complete-applicant.md b/content/docs/exam-day/complete-applicant.md new file mode 100644 index 0000000..d78b9d7 --- /dev/null +++ b/content/docs/exam-day/complete-applicant.md @@ -0,0 +1,117 @@ +--- +title: Complete an Applicant +weight: 4 +--- + +After all of an applicant's exams are complete, the applicant and each assigned VE sign the NCVEC Form 605 and CSCE. Once all signatures are collected, the applicant is marked complete and their CSCE can be emailed to them. + +## Prerequisites + +- The applicant's exams are all graded or voided +- The applicant is in **Ready to sign** status + +> **GradeCam applicants:** Applicants who took a paper exam graded with GradeCam have not yet signed into ExamTools. Before they can sign their forms, they must connect to the session with their PIN and have a VE approve their join request — the same process described in [Check In Applicants](check-in-applicants). Direct them to sign in with their PIN once grading is complete. + +--- + +## Applicant signs + +The applicant signs from their portal. After clicking **Finish and Sign Forms** from their dashboard, they are taken to the signing page. + +### Review the documents + +Two preview buttons let the applicant review their forms before signing: + +- **Review Quick-form 605** — opens the Form 605 as a PDF +- **Review CSCE** — opens the CSCE as a PDF (for applicants who passed) + +![Applicant signing page showing the applicant identity card, Review Quick-form 605 and Review CSCE buttons, and the certification and signature area below](/img/docs/sessions/session-signing-page.png) + +### Sign + +In the certification box, the applicant: + +1. Reads the certifications listed under **"By signing below, you certify and acknowledge that:"** +2. Types their legal name in the name field +3. Draws their signature in the signature pad +4. Clicks **Sign Documents** (disabled until both the name and a signature are provided) + +![Certification box showing the certification text, Full Name of signer field, signature pad with Sign Here placeholder, and Clear Signature and Sign Documents buttons](/img/docs/sessions/session-signing-cert.png) + +A final confirmation appears: + +> *"Have you verified everything? Once past this step you cannot go back."* + +Buttons: **Finish Session** (proceed) / **Cancel** (return). + +The **Clear Signature** button erases the signature pad if the applicant wants to redraw. + +Confirming signs both Form 605 and the CSCE in one step. + +--- + +## VE signatures + +Each assigned VE signs from the session view. Three VE signatures are required before the applicant can be marked complete. + +![Expanded applicant row showing STATUS: SIGNED with signature indicator badge, action buttons, and Exam History showing a passing score](/img/docs/sessions/session-signing-indicator.png) + +The **signature indicator** (file-signature icon with a badge showing the count of signatures collected) is visible on each applicant row. The tooltip reads **"Click to manage signatures"** when the applicant has already signed, or **"Manage VE signatures after applicant signs"** when they have not. + +Click the signature indicator to open the list of assigned VEs. Each VE shows either a **Sign** button or a **Signed** badge. + +### Signing dialog + +Clicking **Sign** next to a VE opens the signing dialog: + +**Title:** "Are you ready to sign the 605 and CSCE?" + +The dialog includes a statement that the signing VE certifies compliance with Part 97 and VEC instructions, and that the documents have been reviewed. It also states: *"This constitutes a legally binding signature on both documents."* + +Two tabs offer signature options: + +- **Use Saved Signature** — applies the VE's signature already on file +- **Use New Signature** — draw a new signature in the pad; an option to **Save as default signature** saves it for future use + +![VE signing dialog titled "Are you ready to sign the 605 and CSCE?" showing the certification statement, Use Saved Signature and Use New Signature tabs, and a Password field](/img/docs/sessions/session-ve-sign-dialog.png) + +A **Password** field is required regardless of which tab is used. + +Click **Sign** to submit. The VE's entry in the list updates to **Signed**. + +--- + +## Mark Complete + +Once the applicant has signed and all required VEs have signed, the **Mark Complete** button becomes active in the expanded applicant row. Requires **Co-Owner** session permissions. Click it to finalize the applicant record. + +Finalizing locks the record and changes the applicant's status to **Finalized**. This is required for every applicant before the session itself can be finalized. + +See [Managing applicants →](../sessions/managing-applicants#mark-complete) for prerequisites and details. + +--- + +## Email the CSCE + +After the applicant is finalized, Ve Admins and Co-Owners can email the CSCE to the applicant directly from ExamTools. + +In the expanded applicant row, open the **Manage** menu and select **Email CSCE**. + +- If the CSCE has not yet been sent, a confirmation appears: *"Do you want to email the applicant their CSCE form as a PDF?"* +- If the CSCE has already been sent once: *"Do you want to email the applicant their CSCE again? You have already done so."* +- If it has been sent multiple times, the confirmation shows how many times it has already been sent. + +The CSCE is only available to email if the applicant passed at least one element. + +--- + +## Verify + +The applicant's row shows status **Signed** after all required signatures are collected, and **Finalized** after Mark Complete is clicked. + +The signature badge on the applicant row shows the current count of VE signatures (turns amber when under 3). + +## Next steps + +- [Complete the next applicant →](complete-applicant) +- [Finalize the session when all applicants are complete →](close-session) diff --git a/content/docs/exam-day/give-exam.md b/content/docs/exam-day/give-exam.md new file mode 100644 index 0000000..ff29c46 --- /dev/null +++ b/content/docs/exam-day/give-exam.md @@ -0,0 +1,115 @@ +--- +title: Give the Exam +weight: 3 +--- + +Exams in ExamTools can be given in two ways: + +- **On a device (computer-based)** — The applicant takes the exam on their own device through the ExamTools applicant portal. The rest of this page covers this workflow. +- **On paper, graded with GradeCam** — The applicant answers a printed bubble sheet. A VE scans it with a device camera to grade it automatically. See the [Paper Exams](../paper-exams) section for this workflow. + +Both methods can be used in the same session, and an individual applicant can take different elements by different methods. + +## Prerequisites + +- An active session (status: **In progress**) +- The applicant [checked in](check-in-applicants) and at least three VEs assigned to them + +## Share the applicant login link (optional) + +If the applicant needs a direct URL to sign in — common in remote sessions — click the applicant's **PIN badge** in the session view. A menu appears with the option **Copy Applicant Login Link**. This copies the applicant's personal portal URL to your clipboard. + +![PIN badge menu open showing Copy Applicant Login Link, Copy Applicant Name, and Copy Applicant Summary options](/img/docs/sessions/session-pin-menu.png) + +--- + +## Authorize the exam start + +The applicant requests to start their exam from their portal. When they do, a red pending-action badge appears on the applicant list. + +1. Click the badge or expand the applicant row to respond. + +2. A dialog appears: + + **Start Element _n_ exam?** + > *"Is everything ready? This applicant is ready to begin their exam! Please make sure everything is prepared and all Volunteer Examiners are ready before approving their request."* + +3. Click **Approve**. The exam begins on the applicant's device. + +--- + +## The applicant's exam interface + +![Applicant exam interface showing the toolbar with skipped-question chips and remaining count, question cards with lettered answer choices, and a figure-based question](/img/docs/sessions/session-exam-interface.png) + +Once the exam starts, the applicant sees a scrollable page with all questions displayed as individual cards. Each card shows: + +- The question number (e.g., **1/35**) +- The question text +- A figure, if the question requires one — the applicant can click the figure to expand it full-screen +- Lettered answer choices (**A**, **B**, **C**, **D**) displayed as a list; the applicant clicks a choice to select it + +**Navigation:** + +- Questions that have not been answered yet appear as numbered chips in the toolbar at the top of the page. Clicking a chip scrolls directly to that question. +- A **_n_ remaining** button at the bottom of the page scrolls to the next unanswered question. +- A scientific **calculator** is available at any time via the calculator icon in the toolbar. + +**Submitting the exam:** + +- A **Grade Exam** button appears at the bottom of the question list and in the top-right of the toolbar once all questions are answered. + + ![Grade exam dialog showing applicant identity information and username/password fields for VE authorization](/img/docs/sessions/session-grade-exam.png) + +- If there are unanswered questions, the button reads **Stop and Grade Exam** and clicking it prompts a confirmation: *"You have not answered all questions; any question which is not answered will be marked wrong. Are you sure you want to stop the exam?"* +- After the applicant clicks **Grade Exam** (or confirms early submission), they see a waiting screen while the VE authorizes grading. + +--- + +## Exam progress in the session view + +While the exam is in progress, the element chip on the applicant row in the session view updates in real time, showing questions answered out of the total (e.g., "In Progress (18 / 35)"). + +--- + +## Authorize grading + +When the applicant submits their exam, a **Grade Exam** pending-action badge appears in the session view. + +1. Click the badge to open the grading dialog. + +2. A dialog appears: + + **Grade exam?** + > *"Please enter your username and password to grade the exam."* + +3. Enter your ExamTools username and password and confirm. + +The exam is graded immediately. The result — **Pass** or **Fail** with the score — appears on the applicant row automatically. + +--- + +## After grading + +The applicant's portal switches to the **Exam Results** tab, showing **"You passed!"** or **"You did not pass."** with the score (correct / total). + +Depending on the applicant's situation, one or both of the following buttons appear: + +**"Start [Element name] exam"** (e.g., "Start General exam") +Appears when the applicant is eligible to attempt the next element up in the license hierarchy. Clicking it sends a new Start Exam request to the VEs — follow the same authorize-start and authorize-grade steps for each additional element. + +**"Finish and Sign Forms"** +Appears when the applicant has passed at least one element during this session. Clicking it shows a confirmation: + +> *"Are you sure? Once past this point you cannot return and take more exams during this exam session."* + +Buttons: **Finish and Sign** (proceed) / **Cancel** (return). + +When the applicant confirms, they advance to the form-signing flow. + +--- + +## Next steps + +- [Complete the applicant →](complete-applicant) +- [Check in the next applicant →](check-in-applicants) diff --git a/content/docs/exam-day/open-session.md b/content/docs/exam-day/open-session.md new file mode 100644 index 0000000..3c8519f --- /dev/null +++ b/content/docs/exam-day/open-session.md @@ -0,0 +1,58 @@ +--- +title: Start the Session +weight: 1 +--- + +Starting the session allows applicants to sign in and begin their exams. Do this on exam day once your VEs are ready. + +## Prerequisites + +- A [scheduled session](../sessions/create-session) in **Pending** status for today +- VEs [added to the session](../sessions/add-ves-to-session) in advance +- **Co-Owner** session permissions (required to start the session) + +## Steps + +1. Sign in to [exam.tools](https://exam.tools) and click **Session List** in the left navigation. + +2. Find today's session and click it to open the session view. + +3. Click **Start Session** in the top-right area of the session header. + + ![Session header showing the date, session title, and Start Session button in the top right](/img/docs/sessions/session-open-start.png) + +4. A confirmation dialog appears: + + > *"Are you sure you want to start the session? Once started you can't return to pending status and applicants will be able to sign in until you close the test session. Please also review the session documents using the button above and ensure that everything is correct."* + + Review the session documents if you haven't already, then confirm to proceed. + +## "You are not part of this session" alert + +If you are a Co-Owner who is not currently in the session's VE list, a yellow warning appears in the applicants tab: + +**"You are not part of this session."** + +This happens when a team member with Co-Owner permissions opens the session but was not added to the session's VE roster. Click the **Join** button in the alert to add yourself to the session. The Join button only appears if you have a callsign set on your ExamTools account. + +--- + +## What VEs see before the session starts + +VEs who are in the session's VE list but do not have Co-Owner permissions see this message in the applicants tab until the session is started: + +> *"The session has not yet been started. Applicants will be able to sign in after the team lead has started the exam."* + +--- + +## Verify + +After starting: + +- The session status changes to **In progress** in your session list. +- The **Start Session** button is replaced by **Finalize Session**. +- Applicants can now sign in using their session PIN. + +## Next steps + +- [Check in applicants →](check-in-applicants) diff --git a/content/docs/faq.md b/content/docs/faq.md new file mode 100644 index 0000000..55db73d --- /dev/null +++ b/content/docs/faq.md @@ -0,0 +1,183 @@ +--- +title: Frequently Asked Questions +weight: 10 +--- + +## Account and verification + +### Why do I have to verify my callsign? + +As more people use ExamTools, we want to make sure nobody is misrepresenting themselves or using the system under a callsign they don't own. You wouldn't want someone to create an account claiming your callsign. Callsign verification is our good-faith effort to solve that problem. + +**The process:** Download the Official Copy PDF of your license from the [FCC ULS License Manager](https://wireless2.fcc.gov/UlsEntry/licManager/login.jsp) and upload it to ExamTools. You also sign a legally binding form declaring you are the owner of that callsign. Falsifying that form legally constitutes forgery. + +The Official Copy PDF works as proof of ownership because downloading it requires access to the ULS account for that callsign. + +**Why can't I just scan my paper license?** +A paper scan doesn't prove you can access the ULS account for the callsign. ExamTools isn't trying to prove the license is valid — that can be looked up in the ULS directly. What matters is evidence that you control the ULS account, which is required to download the Official Copy. + +**Why can't I upload the Reference Copy?** +The Reference Copy doesn't tell us anything that can't be found by looking up the callsign in the ULS. Only the Official Copy provides the digital markers ExamTools checks for authenticity. + +**Can I just add a signature to make the PDF valid?** +No. If the document has been modified in any way, it no longer serves as evidence of ULS access. Submit the file exactly as downloaded — do not modify, sign, or print-and-scan it. + +**Couldn't someone fake the PDF?** +It's possible to fake a document, but ExamTools looks at digital markers the FCC embeds in the file that have nothing to do with how it looks visually. These markers can detect most fakes without difficulty. + +**What if I'm not willing to do this?** +Verification is required for all accounts that will sign forms, proctor exams, or access session management features. VEs who will only sign paper forms with a pen do not need an ExamTools account at all. + +**What happens after verification?** +Once your callsign is verified, ExamTools automatically links any VEC accreditations associated with your callsign — including team lead credentials for some VECs — and makes them available in your profile. + +--- + +### Do I need an ExamTools account if I'm only signing paper forms? + +No. If you will participate as a VE by signing paper forms with a physical pen — and will not use the ExamTools system to sign electronically, proctor online exams, or manage sessions — you do not need an ExamTools account. + +You **do** need an ExamTools account if you: +- Sign electronic forms through ExamTools +- Proctor or supervise online exams +- Create or manage sessions or the team account + +If you're not sure how your team runs sessions, ask your team lead. + +--- + +### What's the difference between "team lead" status and "owner" or "co-owner" permissions on a team? + +They are two different things that are easy to conflate. + +**Team lead** is a VEC credential that authorizes you to run exam sessions under that VEC. It is granted by your VEC and appears in ExamTools under **Volunteer Examiner Credentials** in your profile. It is not something you set up inside ExamTools. + +**Owner** and **Co-owner** are ExamTools permission levels that control what you can do within a specific team account — creating sessions, managing administrators, editing team settings. These are assigned by the person who set up the team. + +You can have one without the other: + +- A VE with team lead credentials but no team account needs to either create a team or be given permissions on an existing one. +- An administrator with owner or co-owner permissions but no team lead credentials can manage the team and sessions but cannot be the team lead listed on a session. + +For a team to be able to schedule sessions, at least one owner or co-owner must also hold team lead credentials *and* delegate them to the team. See [Teams Overview →](teams/teams-overview#delegated-privileges). + +--- + +## VEC accreditation + +### My VEC credentials aren't showing up in my profile. What do I do? + +Check your profile under **Volunteer Examiner Credentials**. If your accreditation doesn't appear after your callsign is verified, contact your VEC directly — ExamTools receives accreditation data from VECs automatically, and if yours is missing, the VEC needs to update their records. + +See [Confirm your VEC accreditation →](account-setup/add-vec-accreditation) + +### How long does it take for my VEC credentials to appear? + +The sync is automatic — you do not need to do anything in ExamTools. ExamTools reads VEC records every 4 hours, but VECs update their records on their own schedule. Allow up to 24–48 hours from the time your VEC confirms your accreditation before expecting it to appear. + +If your credentials haven't appeared after 48 hours, confirm with your VEC that they have officially processed your accreditation on their end. If they confirm it's been submitted and it's still missing, contact ExamTools support via the [Discord server](troubleshooting/get-help). + +--- + +## Teams + +### What is the "delegate" step, and why do I need it? + +Delegating credentials is a one-time setup step that links your team lead authority to a specific team account. Without it, the team cannot schedule sessions for that VEC — even if the team has administrators who hold team lead credentials. + +This step is required because team lead credentials belong to you personally, not to the team. ExamTools requires you to explicitly authorize the team to use your credentials when scheduling sessions under your VEC. + +**Who does it:** An owner or co-owner of the team who holds team lead credentials for the relevant VEC. + +**Where:** Open the team's **Manage Account** page. Find the **Delegated Privileges** section and click the pencil (edit) icon. + +**When:** Once at initial team setup. Repeat if you add a new VEC to the team later. + +After delegation, any administrator with **Schedule** permissions can create sessions for that VEC — they do not need to hold team lead credentials themselves. Sessions still need a valid team lead assigned, but that person does not need to be the one who delegated. + +See [Create a team → Delegate your VEC credentials →](teams/create-team#delegate-your-vec-credentials) + +--- + +## Sessions + +### Can I add a VE to a session after it has started? + +Yes. VEs can be added to an active session at any time until the session is finalized. + +### What does "NOT REGISTERED" mean next to a callsign when adding VEs? + +It means the VE cannot participate in sessions under this team's VEC. The most common causes are: + +- They don't have an ExamTools account yet — they need to [create one](account-setup/create-account) +- Their callsign is not verified in ExamTools +- Their VEC accreditation doesn't match the VEC associated with this session — they need to [confirm their VEC accreditation](account-setup/add-vec-accreditation) + +### What's the difference between session status and applicant status? + +ExamTools has two parallel status systems. It helps to keep them distinct. + +**Session status** describes the overall state of the exam event: + +| Status | Meaning | +|--------|---------| +| **Pending** | Created and configured, not yet started | +| **In progress** | Actively running — VEs and applicants can participate | +| **Closed** | Finalized; results are locked and ready to submit to the VEC | + +**Applicant status** describes each individual applicant's progress within the session: + +| Status | Meaning | +|--------|---------| +| **Registered** | Registered but hasn't connected to the session yet | +| **Seen** | Connected and active in the session | +| **Ready to sign** | Exam complete and graded; waiting for applicant and VE signatures | +| **Signed** | All required signatures collected | +| **Finalized** | Applicant record locked and complete | + +The session cannot be finalized (moved to **Closed**) until every applicant is in **Finalized** status. Finalizing the session and finalizing individual applicants are separate steps — you work through each applicant first, then close the session. + +### Why can't I finalize the session when some applicants are still "Ready to sign"? + +Applicants in **Ready to sign** status have completed their exam but the signing workflow is not finished — the applicant hasn't signed their forms, the required VE signatures haven't been collected, or both. Each applicant must reach **Finalized** status individually before the session can be closed. + +For each applicant still in **Ready to sign** or **Signed** status: + +1. Confirm the applicant has signed their Form 605 and CSCE from their portal +2. Confirm three VEs have signed from the session view +3. Click **Mark Complete** in the expanded applicant row + +Once every applicant shows **Finalized**, the **Finalize Session** button will proceed without error. + +See [Complete an applicant →](exam-day/complete-applicant) + +### What does "You are not part of this session" mean? + +This alert appears in the Applicants tab when you open a session you have Co-Owner team permissions on, but you were not added to the session's VE roster. + +This is expected behavior — team owners and co-owners can open and manage sessions without being listed as active VEs. The warning exists to remind you that you are not currently logged as a VE for this session. + +**If you intend to proctor:** Click the **Join** button that appears in the alert to add yourself to the VE list. The Join button is only available if you have a callsign set on your ExamTools account. + +**If you are managing administratively only** (monitoring progress, managing applicant records, finalizing): you can proceed without joining. + +### What happens if I finalize a session by mistake? Can I reopen it? + +Yes. On the session page, click **Unfinalize Session**. The session returns to **In progress** status. + +ExamTools shows a warning because reopening is not a routine operation — it is intended for cases where a genuine error needs to be corrected. The warning language is intentionally cautious. + +If you need to make changes after reopening: +- **Session-level corrections** (export a different format, add a missing applicant): proceed normally once the session is back in progress. +- **Corrections to an individual applicant record**: use **Manage → Re-open** on that applicant. Re-opening clears all signatures for that applicant, which must be collected again before the applicant can be finalized a second time. + +See [Finalize the session → Unfinalize a session →](exam-day/close-session#unfinalize-a-session) + +--- + +## Related guides + +- [Create an account →](account-setup/create-account) +- [Confirm your VEC accreditation →](account-setup/add-vec-accreditation) +- [Roles and permissions reference →](reference/roles-and-permissions) +- [Troubleshooting →](troubleshooting/account-issues) diff --git a/content/docs/general/_index.md b/content/docs/general/_index.md deleted file mode 100644 index 46e8ebf..0000000 --- a/content/docs/general/_index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: ExamTools Overview -summary: Overview of ExamTools for Volunteer Examiners -weight: 10 -icon: book -icon_pack: fas - -# Page metadata. -title: ExamTools Overview -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## ExamTools Overview - -Below are links that will give you an overview of ExamTools and how it is designed to administer Amateur Radio License exams, either in person on paper or computer, or fully remotely via video conferencing software. While the general requirements as dictated by Part 97 remain the same for each type of exam, the details of how each type of session is administered can vary based on the needs of the exam team. - -
-* #### [Websites in the ExamTools Ecosystem]({{}}) -* #### [Exam Flow and Overview in ExamTools]({{}}) -* #### [VE Roles and Permissions in an ExamTools session]({{}}) -* #### [Where to Get Help with ExamTools]({{}}) -* #### [What do I need to do to get started using ExamTools]({{}}) -* #### [Supported Browsers and Devices]({{}}) diff --git a/content/docs/general/getHelp.md b/content/docs/general/getHelp.md deleted file mode 100644 index 01323c0..0000000 --- a/content/docs/general/getHelp.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Where to Get Help with ExamTools -weight: 40 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Where to Get Help with ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -ExamTools is still a maturing software base. While Volunteer Examiners have been giving exams for over 30 years, ExamTools in it's current form has only been operational since early in 2020. Understandably, it is still going through active development and upgrades by Richard Bateman, KD7BBC. Should you run into a bug in the software, need some training help, or simply have a question, there are several ways to reach out. - -## Via Discord -SignalStuff maintains the Amateur Radio Volunteer Examiners of America server on Discord, an internet chat platform. Here you can find conversation and tips about exam sessions, several methods of proctoring Amateur Radio exams including using ExamTools for both fully remote and in-person exams, and of course a bit of ham ragchew. In addition to an experienced user base, there is also Experienced Support who are trained and knowledgeable about the platform and its functions. You can join the server by clicking [this invite link](https://discord.gg/EhrMdWstgJ). If you need quick support, this is the best avenue. - -## Via email -You can email your request to support@examtools.org. Should you take this route, please provide a detailed description of the issue, including -* A link to the session or module being impacted -* What you were doing before the issue came up -* What you expected to happen -* What actually happened (or did not happen) -* Any error messages that may have popped up diff --git a/content/docs/general/gettingStarted.md b/content/docs/general/gettingStarted.md deleted file mode 100644 index 8ea917e..0000000 --- a/content/docs/general/gettingStarted.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Getting Started with ExamTools -weight: 50 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Getting Started with ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- -
-This is a brief overview of the several different styles of exam session that can be managed by ExamTools. In order to know what your first steps in this system should be, verify what type of exam session your team will be running, and follow the steps listed accordingly. Remember that every VE team operates differently, so if you have any questions you should consult your Team Lead for more details. -
-
- -## Who needs an account with ExamTools for each session type - -| Exam Type | Grading Type | Signatures Applied | Candidates require ExamTools registration | VEs require ExamTools Account | Team Leads require ExamTools account | -|-----------------------------|--------------------------------------------------------------------|-------------------------------------|-------------------------------------------|-------------------------------------------|--------------------------------------| -| Paper – Randomly Generated or VEC grading key | Paper using ExamTools grading Key or VEC grading key | Pen and paper or digital signature | Paper Signatures: no -- Digital Signatures – yes | Paper Signatures: no -- Digital Signatures – yes | Yes | -| Paper – GradeCam Graded | Bubble-style answer sheet scanned by smartphone or computer camera | Pen and paper or digital signatures | Yes | Paper Signatures: no -- Digital Signatures – yes | Yes | -| Computer-Based In Person | Automatic grading by ExamTools within the software | Pen and paper or digital signatures | Yes | Paper Signatures: no -- Digital Signatures – yes | Yes | -| Computer-Based Fully Remote | Automatic grading by ExamTools within the software | Digital signatures | Yes | Yes | Yes | - - -### Getting Started as a VE in a paper-based session using ExamTools exams and paper keys -As a session Volunteer Examiner using paper exams generated by ExamTools that are graded using hard copy test keys, *you will not need to do anything with the ExamTools software*. Your team lead or designated admin will be logging into the software to print exams and keys either prior to the session or on-demand as candidates register. All paperwork (including Form 605 and CSCEs) is hard copy. You will be filling them out and sign via pen and paper. -
-### Getting Started as a VE in a paper-based session using ExamTools exams and VEC standardized grading keys -As a session Volunteer Examiner using paper exams generated by ExamTools that are graded using a VEC standardized grading key, *you will not need to do anything with the EamTools software*. Your team lead or designated admin will be logging into the software to print exams and keys either prior to the session or on-demand as candidates register. All paperwork (including Form 605 and CSCEs) is hard copy. You will be filling them out and sign via pen and paper. -
-### Getting Started as a VE using paper-based exams and digital signatures -In order to perform digital signatures on paperwork in ExamTools, you will need to have a verified account on the system and be assigned to the session. This will enable you to - -* Log into an exam session -* Select the applicant who has earned exam credit -* Apply your signature digitally to all documentation - -The paperwork can then be printed for signing by the applicant, or digitally signed and emailed. - -To sign up for an ExamTools account, follow [this walkthrough]({{}}). To apply signatures on a live test, you will need to set up an account in the [production system]({{}}) by following the first section of the walkthrough. *If your team trains Volunteer Examiners in the [Sandbox environment]({{}}) prior to performing live exams, you may also need to follow the steps listed under "Follow these steps to create an account for use with ExamTools Sandbox / Training Environment." Your team lead will be able to guide you more in that regard.* - -### Getting Started as a Volunteer Examiner using paper-based exams and GradeCam grading -The GradeCam grading software integrated into ExamTools allows for an applicant to be digitally registered onto the session roster and have their tests graded quickly and easily by using a standard smartphone or computer webcam. After grading is complete, the paperwork for successful candidates can be signed digitally or by printing out hard copy of the forms and signing in the traditional manner. VEs who are grading or signing digitally must have accounts with the ExamTools software. Any VEs who will be signing manually do not require an account. Having an account and being assigned to the session will enable you to - -* Log into an exam session -* Select the applicant who has earned exam credit -* Apply your signature digitally to all documentation - -The paperwork can then be printed for signing by the applicant, or digitally signed and emailed. - -To sign up for an ExamTools account, follow [this walkthrough]({{}}). To apply signatures on a live test, you will need to set up an account in the [production system]({{}}) by following the first section of the walkthrough. *If your team trains Volunteer Examiners in the [Sandbox environment]({{}}) prior to performing live exams, you may also need to follow the steps listed under "Follow these steps to create an account for use with ExamTools Sandbox / Training Environment." Your team lead will be able to guide you more in that regard.* - -### Getting Started as a Volunteer Examiner in a computer-based session -Many volunteer examiner teams allow candidates to take their license exam on a computer or tablet. This style of test can be used both in-person or fully remote via video conferencing solutions. If the exam is given in person, any combination of digital and paper signatures may be used. Fully-remote exams necessitate the use of digital signatures to avoid the need to scan or snail mail hard copy forms. Any actions taken by a VE in this style testing are logged and signed by the software, and so require the VEs to have an account in the system. Having an account and being assigned to the session will enable you to - -* Log into an exam session -* Select the applicant who has earned exam credit -* Apply your signature digitally to all documentation - -The paperwork can then be printed for signing by the applicant, or digitally signed and emailed. - -To sign up for an ExamTools account, follow [this walkthrough]({{}}). To apply signatures on a live test, you will need to set up an account in the [production system]({{}}) by following the first section of the walkthrough. *If your team trains Volunteer Examiners in the [Sandbox environment]({{}}) prior to performing live exams, you may also need to follow the steps listed under "Follow these steps to create an account for use with ExamTools Sandbox / Training Environment." Your team lead will be able to guide you more in that regard.* - -### Getting Started as a Team Lead printing paper Exams -In order to print paper exams in ExamTools, at least one member of your team must be confirmed as a Team Lead. If paper grading and signatures are to be used, no other VEs will be required to have an account. You can sign up for an account and be granted Team Lead status by doing the following: -* [Sign up for an ExamTools account]({{}}) -* [Notify ExamTools of your Team Lead status]({{}}) -* [Review the steps to print paper exams]({{}}) - -### Getting Started as a Team Lead running computer-based sessions -In order to run computer-based testing sessions, you must be confirmed as a Team Lead to create and manage sessions. Each Volunteer Examiner on your team that will be performing grading or signing actions will also need to have an account set up in ExamTools as indicated above. You can sign up for an account and be granted Team Lead status by doing the following: -* [Sign up for an ExamTools account]({{}}) -* [Notify ExamTools of your Team Lead status]({{}}) -* [Review the steps to create and manage computer based sessions]({{}}) -### Getting Started as a Team Lead running fully-remote Sessions -In order to run fully-remote testing sessions, you must be confirmed as a Team Lead to create and manage sessions. Each Volunteer Examiner on your team that will be performing grading or signing actions will also need to have an account set up in ExamTools as indicated above. You can sign up for an account and be granted Team Lead status by doing the following: -* [Sign up for an ExamTools account]({{}}) -* [Notify ExamTools of your Team Lead status]({{}}) -* [Review the steps to create and manage computer based sessions]({{}}) diff --git a/content/docs/general/overviewFlowchart.md b/content/docs/general/overviewFlowchart.md deleted file mode 100644 index 594264b..0000000 --- a/content/docs/general/overviewFlowchart.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Exam Flow and Overview in ExamTools -weight: 25 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Exam Flow and Overview in ExamTools -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - - - -Below is a table showing the role of each person in a typical ExamTools Exam Session using computer-based testing. - -| | **Candidate** | **VE Team Lead** | **VE Team Member** | -|------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| **Creating Session** | | Does this at http://exam.tools - Assign VEs to the manifest (at any time before the exam). These VE Team members need to have accounts. - Invite button can be used for this. | Verify account at http://exam.tools is valid - Work with VE Team Lead to ensure you have the right account permissions in the system to be assigned as a VE for that VEC's session. | -| **Signing up for session** | Go to http://ham.study/sessions - Sign up, get or enter FRN - Gets Candidate PIN | | | -| **Starting Session** | | Change session to "In Progress" at http://exam.tools - Verify all VE Team Members are added to the mainfest - Assign VE Admins (if needed) to assist with VE Team Lead responsibilities | Log into http://exam.tools and go to current session dashboard | -| **Before Exam** | Go to http://exam.tools - Click "Join Exam Session" button - Enter Session Callsign and Candidate PIN - Candidate will then be left at the "VE Verification Screen" - Once they have been verified, they will review the 605 | | Any of the 3 VE Team Members that are assigned to the specific candidate can "Authorize" the candidate to join the session. - This authorization can be performed in one of two ways: 1) by typing the VE Callsign and password on the candidate's computer (for In-Person Sessions) or 2) by clicking the button on the session dashboard | -| **Starting the Exam** | Candidate then requests to start the exam. | | VE Team Member can authorize an exam to start - This authorization can be performed in one of two ways: 1) by typing the VE Callsign and password on the candidate's computer (for In-Person Sessions) or 2) by clicking the button on the session dashboard | -| **During Exam** | Candidate takes the exam | | Three VEs should be monitoring the exam in progress. | -| **Finishing Exam** | Candidate clicks "Grade Exam" and waits for authorization | | VE Team Member can authorize to grade the exam - This authorization can be performed in one of two ways: 1) by typing the VE Callsign and password on the candidate's computer (for In-Person Sessions) or 2) by entering your VE password in the dashboard | -| **After Exam** | Candidate is given the option to take the next exam level or retake the current exam if failed. - Upon receiving a passing score, the candidate reviews the 605 and CSCE forms, then signs forms digitally. - Confirmation screen is shown | | At this point, the 3 VE members assigned to the candidate can sign that candidate's paperwork digitally from their dashboard. - Once all signatures are collected the candidate will show as a green logo with the #3 next to it, showing completion. | -| **Closing out Session** | | VE Team Lead goes through each candidate and verifies completeness - Print all session documents - Download EBF file - Submit digital files to VEC | | diff --git a/content/docs/general/sessionRolesPermissions.md b/content/docs/general/sessionRolesPermissions.md deleted file mode 100644 index 8ee9e9c..0000000 --- a/content/docs/general/sessionRolesPermissions.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: VE Roles and Permissions in an ExamTools session -weight: 30 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: VE Roles and Permissions in an ExamTools session -#date: "2012-12-11T00:00:00Z" -type: book # Do not modify. ---- - -ExamTools allows for the owner of a session to assign roles and permissions to each VE attending. These range from the Session Owner to monitoring Volunteer Examiners. - -* **Owner**: This is the ExamTools user that creates a session. They are responsible for managing the details of the session itself, including starting, changing, and finalizing the session. - - * **Co-Owner (Team Lead)**: A VE that has been explicitly authorized by the owner of the session to act with full permissions on their behalf. - -* **VE Administrator**: A more experienced VE Team Member that is typically a capable decision maker. They are able to help VE Team Members be assigned correctly, and manage the candidate information. - -* **VE Team Member**: VEs that are monitoring exams and signing forms. - -| **Action Item** | **Owner** | **Co-Owner (Team Lead)** | **VE Administrator** | **VE Team Member** | -|---------------------------------------|--------|-----------------------|-------------------|-----------------| -| Create Session | Yes |   |   |   | -| Edit session | Yes | Yes |   |   | -| Start Session | Yes | Yes |   |   | -| Add VEs to session | Yes | Yes |   |   | -| Change VE permissions within session | Yes | Yes |   |   | -| Assign other VEs to candidate | Yes | Yes | Yes |   | -| Unassign other VEs from a candidate | Yes | Yes | Yes |   | -| Edit candidate information | Yes | Yes | Yes  |   | -| Void Candidate Exam | Yes | Yes | Yes | | -| Evict Candidate from Session | Yes | Yes | Yes | | -| Self Assign to candidate | Yes | Yes | Yes | Yes | -| Self unassign from a candidate | Yes | Yes | Yes | Yes | -| Authorize candidate to join session | Yes | Yes | Yes | Yes | -| Authorize candidate to begin testing | Yes | Yes | Yes | Yes | -| Authorize grading of exam | Yes | Yes | Yes | Yes | -| Sign as responsible VE | Yes | Yes | Yes | Yes | -| Finalize Candidate | Yes | Yes |   |   | -| Finalize Session | Yes | Yes |   |   | diff --git a/content/docs/general/supportedBrowsers.md b/content/docs/general/supportedBrowsers.md deleted file mode 100644 index da5e8f9..0000000 --- a/content/docs/general/supportedBrowsers.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: ExamTools Supported Browsers & Devices -summary: Supported Browsers for ExamTools -weight: 70 -icon: book -icon_pack: fas -draft: False - -# Page metadata. -title: ExamTools Supported Browsers & Devices -type: book # Do not modify. ---- - -## ExamTools Supported Browsers & Devices -ExamTools is officially supported on the current version of the Chrome web browser. Chrome or common derivitaves will run on most modern desktop operating systems, including Windows 10, MacOS, and most mainstream Linux distributions. -
-
-## Community Verified Browsers & Devices -The ExamTools community is working to test models and versions of various tablets and other devices to verify functionality. As these devices are tested, they will be added to the list below. **It is important to note that these browsers and devices are not officially supported**; while efforts to maintain compatibility with browsers written in the past 7 years will be made, some features may not work. Please verify prior to using any devices in a live session. - -If you have tested a device and would like to submit it to our list, please submit a pull request to these documents on GitHub, join the [Amateur Radio Examiners of America Discord server](https://discord.gg/JN2MdF6QUq), or send an email to examtools@n1cck.us with the following information: - -- Device Name -- Device Model -- Device OS Version -- Browser Name -- Browser Version -- Support for Fully Kiosk software -- Notes about ExamTools functionality -- Device notes -- ExamTools version tested \ No newline at end of file diff --git a/content/docs/general/websiteDecoder.md b/content/docs/general/websiteDecoder.md deleted file mode 100644 index aec75e2..0000000 --- a/content/docs/general/websiteDecoder.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Websites in the ExamTools Ecosystem -weight: 20 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: Here are the primary websites and their uses in the ExamTools Ecosystem -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Websites -There are many websites in the ExamTools environment. They are broken into three primary categories -* **Production Environment** - Use these websites for live test sessions that are intended to be submitted to your VEC. -* **Sandbox / Training Environment** - For training new VEs or troubleshooting and experimenting with known and suspected issues. This environment runs on a database that is isolated from production. You will need a separate login to use this site. -* **Development** - Both the Production and Sandbox / Training Environments have development stages. These sites are used for testing new features and bugfixes. In all cases, expect unexpected results. - - - - - -| **Environment** | **URL** | **Description** | -|--------------------------|---------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Production | https://ham.study OR https://hamstudy.org | Production website for creating accounts | -| Production | https://exam.tools OR https://examtools.org | Production website for creating and accessing real test sessions | -| Sandbox | https://hamstudy.dev | Sandbox environment for creating test accounts | -| Sandbox | https://examtools.dev OR https://sandbox.examtools.org | Sandbox environment for creating and accessing sandbox test sessions for training/practice/learning | -| Development - Production | https://beta.exam.tools | Generally stable environment with new features. May produce unexpected results | -| Development - Production | https://alpha.exam.tools | Bleeding edge environment used by a small group of dev ops; do not use unless you have explicit knowledge of what is happening there. Expect the unexpected. If you are interested in troubleshooting, you should join the development and testing Discord server for more information | -| Requests | https://features.exam.tools | Website for viewing existing feature requests, voting for ones you find most useful, and requesting new features | -| Documentation | https://docs.exam.tools | Instructional website containing user guide and instructions for the ExamTools system -| diff --git a/content/docs/getting-started/_index.md b/content/docs/getting-started/_index.md new file mode 100644 index 0000000..464c832 --- /dev/null +++ b/content/docs/getting-started/_index.md @@ -0,0 +1,10 @@ +--- +title: Getting Started +weight: 1 +--- + +New to ExamTools? Start here. + +- **[What is ExamTools?](what-is-examtools)** — An overview of the platform, key concepts, and the roles people play in a session. +- **[New Volunteer Examiner quickstart](new-ve-quickstart)** — Create your account, add your VEC accreditation, and set up your signature in about 15 minutes. +- **[New team lead quickstart](new-team-lead-quickstart)** — Get team lead access, create a team, and schedule your first exam session. diff --git a/content/docs/getting-started/new-team-lead-quickstart.md b/content/docs/getting-started/new-team-lead-quickstart.md new file mode 100644 index 0000000..3d16a1e --- /dev/null +++ b/content/docs/getting-started/new-team-lead-quickstart.md @@ -0,0 +1,43 @@ +--- +title: New Team Lead Quickstart +weight: 3 +--- + +This guide is for a VE who has been granted team lead (CVE) privileges and needs to get a team and their first session set up in ExamTools. + +## Prerequisites + +- A completed [VE account setup](new-ve-quickstart) (account, VEC accreditation, and signature) +- Team lead privileges granted by your VEC — see [Become a team lead](../teams/become-team-lead) + +## Step 1: Create your team + +A team is the organizational unit in ExamTools. All sessions you run will be associated with your team. + +[Create a team →](../teams/create-team) + +## Step 2: Create your first session + +[Create a session →](../sessions/create-session) + +Fill in the date, location (or video platform for remote sessions), and the license elements you will be offering. + +## Step 3: Add VEs to the session + +From within the session, add the VEs who will proctor on exam day. You need at least three VEs present to administer exams (FCC minimum). + +[Add VEs to a session →](../sessions/add-ves-to-session) + +## Verify you're ready + +Before your exam day, confirm that: + +- Your team appears in **Team Accounts** in the left navigation +- Your session appears in your session list with the correct date and details +- At least three VEs are added to your session (the FCC minimum for administering exams) + +## Next steps + +- [Run the session on exam day →](../exam-day) +- [Print paper exams →](../paper-exams) +- [Understand roles and permissions →](../reference/roles-and-permissions) diff --git a/content/docs/getting-started/new-ve-quickstart.md b/content/docs/getting-started/new-ve-quickstart.md new file mode 100644 index 0000000..d77c68a --- /dev/null +++ b/content/docs/getting-started/new-ve-quickstart.md @@ -0,0 +1,53 @@ +--- +title: New VE Quickstart +weight: 2 +--- + +This guide gets a brand-new Volunteer Examiner set up in ExamTools. By the end you will have an account, your VEC accreditation confirmed, and your signature profile ready — everything needed to join a session and start proctoring. + +## Prerequisites + +Before you start, make sure you have: + +- Your FCC callsign (you must already be a licensed amateur radio operator) +- A device with a modern web browser ([supported browsers](../reference/environments#supported-browsers)) + +## Step 1: Create your account + +[Create your ExamTools account →](../account-setup/create-account) + +## Step 2: Verify your callsign + +Callsign verification is required before you can join sessions or sign forms. You will need your Official License Copy PDF from the FCC ULS. + +[Verify your callsign →](../account-setup/create-account#part-2-verify-your-callsign) + +## Step 3: Confirm your VEC accreditation + +Your VEC accreditation appears automatically on your profile once your VEC processes it — you do not add it yourself. This step confirms it is showing correctly before your first session. + +[Confirm your VEC accreditation →](../account-setup/add-vec-accreditation) + +## Step 4: Add your signature + +ExamTools uses a digital signature for NCVEC Form 605 and exam certificates. You need to set this up before you can sign anything in a session. + +[Add your signature profile →](../account-setup/add-signature) + +## Verify you're ready + +After completing these steps, visit your profile at [exam.tools/me](https://exam.tools/me). You should see: + +- Your callsign and name displayed correctly +- Your VEC accreditation listed +- A signature preview + +![ExamTools Profile page showing a verified callsign, Volunteer Examiner Credentials expanded with VEC accreditations and credential types listed, and a Saved Signature section — the complete ready-to-participate state](/img/docs/account-setup/profile-ready-state.png) + +If all three are present, you're ready to join a session. + +## Next steps + +- **Tell your team lead you're set up.** They will add you to upcoming sessions. +- [Learn what happens on exam day →](../exam-day) +- [Explore the sandbox environment →](../reference/environments#production-vs-sandbox) diff --git a/content/docs/getting-started/what-is-examtools.md b/content/docs/getting-started/what-is-examtools.md new file mode 100644 index 0000000..e7998bf --- /dev/null +++ b/content/docs/getting-started/what-is-examtools.md @@ -0,0 +1,55 @@ +--- +title: What is ExamTools? +weight: 1 +aliases: + - /docs/general/ +--- + +ExamTools is a web-based platform for administering amateur radio license exams. It supports the full exam lifecycle — from scheduling a session and registering applicants to proctoring exams, signing forms, and submitting results to your VEC. + +## Who uses ExamTools? + +ExamTools has three main user types: + +| Role | Who they are | What they do | +|------|-------------|--------------| +| **Volunteer Examiner (VE)** | An accredited amateur radio operator credentialed to give exams | Proctor exams, witness signatures, sign NCVEC Form 605 | +| **Team Lead** | A VE who holds team lead credentials from their VEC (some VECs call this a CVE) — this is a VEC-granted accreditation, not an ExamTools permission level | Create and manage exam teams, designate the responsible lead for each session, submit results to the VEC | +| **Applicant** | A person taking a license exam | Register for a session, take the exam, receive results | + +> **Team lead vs. session permissions:** Team lead is a VEC credential, not an ExamTools role. People with team lead credentials typically hold Owner or Co-owner permissions on their ExamTools team account — but not always. These are separate concepts throughout ExamTools. + +Most VEs start as regular VE team members and may eventually take on team lead responsibilities through their VEC. + +## In-person vs. remote sessions + +ExamTools supports both in-person and remote (online-supervised) exam sessions. The platform works the same way for both — the difference is where the applicant physically sits and how VEs verify their identity. Steps that differ between the two are called out in the relevant guides. + +## The two environments + +ExamTools has two separate environments: + +| Environment | URL | Purpose | +|-------------|-----|---------| +| **Production** | [exam.tools](https://exam.tools) | Real exams with real applicants | +| **Sandbox** | [examtools.dev](https://examtools.dev) | Practice and training — no real exams | + +If you are setting up for the first time or training new VEs, use the sandbox. Everything works the same, but no real license data is created or submitted. + +## Key concepts + +**Session** — A scheduled exam event. One session can have multiple applicants testing for different license elements (Technician, General, Extra). + +**Team** — An administrative account in ExamTools used to organize sessions and manage scheduling privileges. Teams correspond roughly to a local club or VEC affiliate. All sessions are scheduled under a team. + +**VEC (Volunteer Examiner Coordinator)** — A national organization that accredits VEs and receives exam results. ExamTools is VEC-agnostic and works with multiple VECs. See the [FCC list of VECs](https://www.fcc.gov/wireless/bureau-divisions/mobility-division/amateur-radio-service/volunteer-examiner-coordinators). + +**Element** — The level of exam being administered: Element 2 (Technician), Element 3 (General), or Element 4 (Amateur Extra). + +**NCVEC Form 605** — The official FCC application form that applicants and VEs sign during an exam session. + +## Next steps + +- [New VE? Start here →](new-ve-quickstart) +- [Setting up a team? Start here →](new-team-lead-quickstart) +- [Full glossary →](../reference/glossary) diff --git a/content/docs/paper-exams/_index.md b/content/docs/paper-exams/_index.md new file mode 100644 index 0000000..e9bf7a4 --- /dev/null +++ b/content/docs/paper-exams/_index.md @@ -0,0 +1,13 @@ +--- +title: Paper Exams +weight: 6 +--- + +ExamTools can generate printed paper exams that you administer on-site. Results are recorded automatically (GradeCam) or entered manually after grading. + +- **[Paper exams overview](paper-exams-overview)** — When and why to use paper exams, and how the two grading methods differ. +- **[Generate and print](generate-and-print)** — Create the exam PDFs and bubble forms, then print them. +- **[Run a paper exam session](run-paper-exam-day)** — Exam day workflow when using printed exams. +- **[Grade with GradeCam](grade-with-gradecam)** — Scan bubble forms with a device camera; ExamTools grades automatically. +- **[Grade manually](grade-manually)** — Compare answer sheets to the answer key by hand. +- **[Record paper exam results](enter-paper-results)** — Enter scores into ExamTools after manual grading. diff --git a/content/docs/paper-exams/enter-paper-results.md b/content/docs/paper-exams/enter-paper-results.md new file mode 100644 index 0000000..c336cb6 --- /dev/null +++ b/content/docs/paper-exams/enter-paper-results.md @@ -0,0 +1,39 @@ +--- +title: Record Paper Exam Results +weight: 6 +--- + +This step is only needed when using ExamTools for applicant management and digital signatures after a manually graded exam. If your session uses paper CSCEs and paper Form 605s submitted to the VEC traditionally, you do not need to record results in ExamTools. + +GradeCam exams are recorded automatically during scanning — this step does not apply to them. + +## Prerequisites + +- Graded answer sheets with scores +- An [open session](../exam-day/open-session) with the applicant [checked in](../exam-day/check-in-applicants) + +## Steps + +1. In the session view, expand the applicant's row and open the **Manage** menu. + +2. Select **Record External Exam**. + +3. In the dialog: + - Select the **exam element** the applicant tested for. + - Enter the **score** (number of correct answers). + - Optionally enter an **Exam Identifier** and any notes for your records. + +4. Click **Record exam**. ExamTools calculates the pass/fail result and attaches it to the applicant's record. + +> ExamTools will remind you that you need to provide evidence of this exam when submitting to your VEC. + +## Verify + +The applicant's row in the session view shows a **Pass** or **Fail** result for the element. + +## Next steps + +After results are recorded, the applicant connects with their PIN to sign their forms: + +- [Complete the applicant →](../exam-day/complete-applicant) +- [Finalize the session →](../exam-day/close-session) diff --git a/content/docs/paper-exams/generate-and-print.md b/content/docs/paper-exams/generate-and-print.md new file mode 100644 index 0000000..5509580 --- /dev/null +++ b/content/docs/paper-exams/generate-and-print.md @@ -0,0 +1,77 @@ +--- +title: Generate and Print Exams +weight: 2 +--- + +Exam PDFs are generated from the **Generate Exams** page, accessible from the sidebar. This is separate from the session view and can be done before exam day. + +## Generate the exams + +1. Click **Generate Exams** in the sidebar. + +2. Select a **grading method** using the buttons at the top: + + ![Generate Exams page showing Manual Grading, Pre-determined Key, and Scan with GradeCam method tabs above the exam generation options form](/img/docs/paper-exams/paper-generate-page.png) + + - **Manual Grading** — produces an exam booklet and a separate answer key PDF for hand grading + - **Pre-determined Key** — generates exams based on a fixed answer key you select + - **Scan with GradeCam™** — produces an exam booklet; bubble forms for scanning are downloaded separately (see below) + +3. Select the **Question Pool** for the license element you are testing. + +4. Set the **number of exams** to generate (up to 50). + + Exam booklets can be reused across applicants as long as applicants do not write in them. Generate as many booklet variations as you want applicants testing concurrently — not necessarily one per applicant. For GradeCam sessions, print enough bubble forms for every applicant plus a few extras, since bubble forms cannot be reused. + +5. Adjust any other options as needed: + - **Text Size** — controls the font size in the printed booklet + - **Print answer keys?** — (GradeCam only) includes answer keys in the output + - **Omit questions with figures** — excludes questions that require a diagram + - **Output Format** — PDF (default) or TEXT (ZIP) + + ![Exam generation options showing Text Size dropdown, Question Pool selector, number of exams slider, Omit questions with figures toggle, and PDF/Text output format buttons](/img/docs/paper-exams/paper-generate-options.png) + +6. Click **Generate**. ExamTools builds a unique, randomized exam for each copy and downloads the file. + +> **Keep the answer key secure.** Do not distribute it before or during the exam. + +--- + +## GradeCam bubble forms + +GradeCam requires a separate bubble form for each applicant — this is the sheet the applicant marks their answers on and the camera reads. Bubble forms are **not** included in the exam booklet PDF; they are downloaded separately. + +On the Generate Exams page, scroll to **Supplemental resources** and download the appropriate bubble form: + +- **35-question form** — for Technician and General exams +- **50-question form** — for Amateur Extra exams +- **35/50 combo form** — works for all elements + +Print one bubble form per applicant (plus extras). Bubble forms are not pre-assigned to applicants — the applicant fills in their own **Applicant ID** (their PIN) and **Exam ID** (from their booklet) by bubbling the digits, and also bubbles the element (T, G, or E). + +![GradeCam bubble form showing Applicant Name, Applicant ID, and Exam ID fields at the top, element bubbles (T/G/E), and numbered answer bubble rows 1–50](/img/docs/paper-exams/paper-gradecam-form.png) + +GradeCam reads these bubbled fields to identify the applicant and score the exam against the correct answer key. + +--- + +## Print the exams + +1. Print at **actual size** — do not scale to fit. Scaling distorts GradeCam bubble grids. +2. Use standard 8.5" × 11" letter paper. +3. Print bubble forms on separate pages from the exam booklets. + +--- + +## Verify + +Before exam day, check a printed copy: + +- Text is fully legible and not cut off at the margins +- GradeCam bubble grids are clear and undistorted + +## Next steps + +- [Run a paper exam session →](run-paper-exam-day) +- [Grade with GradeCam →](grade-with-gradecam) +- [Grade manually →](grade-manually) diff --git a/content/docs/paper-exams/grade-manually.md b/content/docs/paper-exams/grade-manually.md new file mode 100644 index 0000000..350c099 --- /dev/null +++ b/content/docs/paper-exams/grade-manually.md @@ -0,0 +1,34 @@ +--- +title: Grade Manually +weight: 5 +--- + +Manual grading uses the answer key PDF to score each applicant's answer sheet by hand. + +## Prerequisites + +- Completed answer sheets from a [paper exam session](run-paper-exam-day) +- The answer key PDF downloaded when you [generated the exams](generate-and-print) + +## Steps + +1. Print the answer key or open it on a device. + +2. For each applicant's answer sheet: + - Match the exam number on the answer sheet to the same exam number in the answer key. + - Compare each answer on the sheet to the key and count the correct answers. + - Record the score. + +3. Determine pass or fail using the passing thresholds: + + | Element | Questions | Required to pass | + |---------|-----------|-----------------| + | Technician (Element 2) | 35 | 26 | + | General (Element 3) | 35 | 26 | + | Amateur Extra (Element 4) | 50 | 37 | + +## Next steps + +Enter the scores into ExamTools: + +- [Record paper exam results →](enter-paper-results) diff --git a/content/docs/paper-exams/grade-with-gradecam.md b/content/docs/paper-exams/grade-with-gradecam.md new file mode 100644 index 0000000..b37cc31 --- /dev/null +++ b/content/docs/paper-exams/grade-with-gradecam.md @@ -0,0 +1,57 @@ +--- +title: Grade with GradeCam +weight: 4 +--- + +GradeCam is a bubble-sheet scanning tool built into ExamTools. A VE holds a completed bubble form up to a device camera; ExamTools reads the answers, grades the exam, and attaches the result to the applicant's record automatically. No separate score-entry step is needed. + +## Prerequisites + +- Completed bubble forms from the paper exam session +- A device with a camera (phone, tablet, or laptop webcam) +- Bubble forms printed using the GradeCam option from [Generate and Print](generate-and-print) + +## Open the GradeCam scanner + +Open your session, then click **GradeCam** in the session toolbar. The scanner opens in a new browser tab. Allow camera access when prompted. + +![Session header showing the GradeCam, Download, Print, and overflow buttons in the toolbar](/img/docs/paper-exams/paper-gradecam-toolbar.png) + +## Scan each bubble form + +1. Hold the completed bubble form flat in front of the camera. Keep it well-lit and fully in frame. + +2. GradeCam reads the **Applicant ID** (PIN) and **Exam ID** bubbled by the applicant and matches the scan to the correct applicant record. If the PIN cannot be read, a **Select applicant** dialog appears — select the correct applicant from the list. + +3. If ExamTools cannot determine the exam element from the bubbled element field, a **Which element is this scan for?** dialog appears — select the correct element. + +4. If the Exam ID cannot be read, an **Enter the Exam ID** prompt appears — enter the 5-digit ID from the exam booklet the applicant used. + +5. If any answers are ambiguous, a **Validate scan** dialog appears showing those questions. Select the correct answer for each and click **Accept**. + +6. A preview dialog titled **Answer Sheet Scanned** appears showing the applicant name, Exam ID, element, and all answers. Review the answers, then click **Grade Scan**. + +7. The **Exam Results** dialog shows the outcome — **Passed!** or **Did not pass** — with the score and a list of any missed questions. Click **Close**. + +The result is now recorded on the applicant's record in the session. Repeat for each applicant's bubble form. + +--- + +## Troubleshooting + +**GradeCam isn't reading the bubble form:** +- Confirm the form was printed at actual size (not scaled to fit) +- Improve lighting — avoid glare or shadows across the bubble grid +- Hold the form flat and still + +**The wrong applicant was matched:** +- GradeCam matches the scan using the Applicant ID bubbled on the form — verify the applicant bubbled their correct PIN +- If the wrong applicant was selected in the manual override dialog, cancel and restart the scan + +--- + +## Next steps + +After all scans are complete, each applicant connects with their PIN to sign their forms: + +- [Complete the applicant →](../exam-day/complete-applicant) diff --git a/content/docs/paper-exams/paper-exams-overview.md b/content/docs/paper-exams/paper-exams-overview.md new file mode 100644 index 0000000..324febb --- /dev/null +++ b/content/docs/paper-exams/paper-exams-overview.md @@ -0,0 +1,52 @@ +--- +title: Paper Exams Overview +weight: 1 +aliases: + - /docs/cve/cvein-personexamprocess/ +--- + +ExamTools can generate randomized paper exams for any license element. Each exam is unique — questions are drawn from the FCC question pool and arranged in a different order for every copy. + +## When to use paper exams + +Paper exams are appropriate when: + +- Applicants do not have access to a device during the session +- Your location has unreliable internet connectivity +- Your VEC or session policy requires paper exams +- You are running a backup paper exam alongside a computer exam session + +## Grading methods + +ExamTools supports two ways to grade a paper exam: + +**GradeCam (camera scanning)** +A VE opens the GradeCam scanner from the session view and holds the completed bubble form up to a device camera. ExamTools reads the answers and grades the exam automatically. The result is attached to the applicant's record immediately — no separate entry step is needed. + +**Manual grading** +A VE compares the applicant's answer sheet against the printed answer key and counts the correct answers. Scores can optionally be entered into ExamTools to use the digital signature workflow, but most manual grading sessions do not — results are recorded on paper and submitted to the VEC traditionally. + +A session can use either method, or a mix of both. + +## What you need + +- A computer with internet access to generate exam PDFs — this can be done before exam day +- A printer for letter-size pages +- Printed exam booklets and, for GradeCam, the matching bubble forms (downloaded separately) +- For GradeCam: a device with a camera to run the scanner +- For manual grading: the printed answer key + +## How paper exams fit into a session + +ExamTools can be used at different levels of involvement for paper-based sessions: + +**Full ExamTools session** — Create and manage the session in ExamTools, check in applicants, use GradeCam to grade and record results automatically, then use the digital signature workflow for Form 605 and CSCE. This follows the same session structure as computer exams — create, open, check in applicants, grade, sign forms, finalize. + +**Exam generation only** — Use ExamTools solely to generate and print exam booklets, then administer the session traditionally with paper forms, paper CSCEs, and manual VEC submission. No ExamTools session or applicant management is needed. + +Sessions that use ExamTools for management can mix paper and computer exams — even for the same applicant across different elements. + +## Related guides + +- [Generate and print exams →](generate-and-print) +- [Run a paper exam session →](run-paper-exam-day) diff --git a/content/docs/paper-exams/run-paper-exam-day.md b/content/docs/paper-exams/run-paper-exam-day.md new file mode 100644 index 0000000..b67c876 --- /dev/null +++ b/content/docs/paper-exams/run-paper-exam-day.md @@ -0,0 +1,40 @@ +--- +title: Run a Paper Exam Session +weight: 3 +--- + +The session setup steps — starting the session, checking in applicants — are identical to computer exams. The difference begins when it is time to administer the test. + +## Prerequisites + +- Printed exam booklets from [Generate and Print](generate-and-print) +- For GradeCam: printed bubble forms (one per applicant) +- For manual grading: printed answer key +- An [open session](../exam-day/open-session) with applicants [checked in](../exam-day/check-in-applicants) + +## Administer the exam + +1. Hand each applicant a printed exam booklet and, for GradeCam sessions, the matching bubble form. The exam ID on the booklet and bubble form must match. + +2. Instruct the applicant to: + - Write their name on the answer sheet or bubble form + - Mark only one answer per question + - Not mark in the exam booklet + +3. When the applicant finishes, collect the booklet and answer sheet together. + +> Keep the exam booklet and bubble form together until grading is complete — the exam ID on both must match for accurate grading. + +## Grade the exams + +Choose your grading method: + +- [Grade with GradeCam →](grade-with-gradecam) — scan the bubble form with a device camera; ExamTools grades automatically +- [Grade manually →](grade-manually) — compare the answer sheet to the printed key and record the score + +## After grading + +After results are recorded, the applicant connects to ExamTools with their PIN to sign their forms. The session then continues exactly like a computer exam session: + +- [Complete the applicant →](../exam-day/complete-applicant) +- [Finalize the session →](../exam-day/close-session) diff --git a/content/docs/reference/_index.md b/content/docs/reference/_index.md new file mode 100644 index 0000000..13a3f04 --- /dev/null +++ b/content/docs/reference/_index.md @@ -0,0 +1,10 @@ +--- +title: Reference +weight: 11 +--- + +Lookup reference for ExamTools. + +- **[Roles and permissions](roles-and-permissions)** — Complete table of what each role can do. +- **[Environments](environments)** — Production and sandbox URLs, and supported browsers. +- **[Glossary](glossary)** — Definitions for terms used throughout these docs. diff --git a/content/docs/reference/environments.md b/content/docs/reference/environments.md new file mode 100644 index 0000000..c448a46 --- /dev/null +++ b/content/docs/reference/environments.md @@ -0,0 +1,42 @@ +--- +title: Environments and URLs +weight: 2 +--- + +The ExamTools ecosystem spans several websites across three environments. Use production for real exam sessions, sandbox for training and practice. + +## Environment overview + +| Environment | URL | Purpose | +|-------------|-----|---------| +| **Production** | [exam.tools](https://exam.tools) or [examtools.org](https://examtools.org) | Create and access real exam sessions | +| **Sandbox** | [examtools.dev](https://examtools.dev) or [sandbox.examtools.org](https://sandbox.examtools.org) | Create and access sandbox sessions for training and practice | +| **Development** | [beta.exam.tools](https://beta.exam.tools) | Generally stable environment with new features — may produce unexpected results | +| **Development** | [alpha.exam.tools](https://alpha.exam.tools) | Bleeding-edge environment used by a small group of developers. Do not use unless you know what you are doing. | +| **Feature Requests** | [features.exam.tools](https://features.exam.tools) | View, vote on, and submit feature requests | +| **Documentation** | [docs.exam.tools](https://docs.exam.tools) | This site | + +## Production vs. sandbox + +The sandbox environment is a completely separate system with its own database. A login from production does not work in the sandbox and vice versa — you need a separate account for each. + +Use the sandbox to: +- Learn the platform before your first real session +- Train new VEs without affecting real applicants or license records +- Test workflows and troubleshoot issues safely + +Nothing in the sandbox is ever submitted to the FCC or any VEC. + +## Supported browsers + +ExamTools is **officially supported on Chrome** and common Chrome-based browsers (Edge, Brave, etc.) on Windows 10, macOS, and mainstream Linux distributions. + +Other browsers are community-tested but not officially supported. Some features may not work in non-Chrome browsers. Verify any non-Chrome browser works correctly before using it in a live session. + +Internet Explorer is not supported. + +## Related guides + +- [New VE quickstart →](../getting-started/new-ve-quickstart) +- [Run a training session →](../sandbox/training-session) +- [Glossary →](glossary) diff --git a/content/docs/reference/glossary.md b/content/docs/reference/glossary.md new file mode 100644 index 0000000..7fbefaa --- /dev/null +++ b/content/docs/reference/glossary.md @@ -0,0 +1,56 @@ +--- +title: Glossary +weight: 3 +--- + +**Applicant / Candidate** — A person taking an amateur radio license exam. + +**Co-Owner** — A VE explicitly authorized by the session owner to act with full session management permissions. See also: *Owner*, *Team Lead*, *Roles and Permissions*. + +**CSCE (Certificate of Successful Completion of Examination)** — The certificate issued to an applicant who passes an exam element. Signed by the VEs and the applicant. + +**CVE (Certified Volunteer Examiner)** — Term used by some VECs for a VE who holds team lead credentials. This is a VEC accreditation — not an ExamTools role. Not all VECs use the CVE designation. See also: *Team Lead*. + +**Element** — The specific exam being administered. Element 2 = Technician, Element 3 = General, Element 4 = Amateur Extra. + +**ExamTools** — The web-based platform for administering amateur radio license exams. Available at [exam.tools](https://exam.tools). Developed and maintained by Richard Bateman KD7BBC and funded through [SignalStuff](https://signalstuff.com). + +**FCC** — Federal Communications Commission; the US agency that issues amateur radio licenses. + +**Form 605 (NCVEC Form 605)** — The official FCC application form completed by every applicant at an exam session. Must be signed by the applicant and at least three VEs. + +**FRN (FCC Registration Number)** — A unique identifier assigned by the FCC to every person or entity registered with them. Applicants with no existing callsign are looked up by FRN. + +**GradeCam** — A bubble-sheet scanning tool integrated into ExamTools. Uses a device camera to read completed answer sheets and score them automatically. + +**HamStudy** — The amateur radio study platform at hamstudy.org. ExamTools uses the same account system as HamStudy — one login works for both. + +**NCVEC** — National Conference of Volunteer Examiner Coordinators; the body that creates and maintains the FCC amateur radio question pools and NCVEC Form 605. + +**Owner** — The ExamTools user who created a session. Has full control over session settings, VE roles, and session lifecycle. See [Roles and Permissions →](roles-and-permissions). + +**Production** — The live environment at [exam.tools](https://exam.tools), used for real exam sessions that are submitted to a VEC. + +**Sandbox** — The training environment at [examtools.dev](https://examtools.dev) or [sandbox.examtools.org](https://sandbox.examtools.org). Uses a completely separate database from production. Requires a separate account created directly on the sandbox site. + +**Session** — A scheduled exam event in ExamTools. One session can include multiple applicants testing for different license elements. + +**SignalStuff** — The antenna company founded by Richard Bateman KD7BBC that funds ExamTools development. + +**Team** — An administrative account in ExamTools used to organize sessions and manage scheduling privileges. All sessions are associated with a team. + +**Team identifier** — A short unique code (3–10 characters) assigned to a team when it is created. Appears in session listings and applicant-facing registration pages. + +**Team Lead** — A VE who holds team lead credentials from their VEC, authorizing them to run exam sessions and manage teams. This is a VEC-granted accreditation, not an ExamTools permission level. People with team lead credentials typically (but not always) hold Owner or Co-owner team permissions in ExamTools. Some VECs call this a CVE. See also: *CVE*, *Owner*, *Co-Owner*. + +**ULS (Universal Licensing System)** — The FCC's database of amateur radio licensees. ExamTools uses it to look up applicant and VE callsign information. + +**VE (Volunteer Examiner)** — An accredited amateur radio operator qualified to administer amateur radio license exams. + +**Ve Admin** — A session permission level in ExamTools. A Ve Admin can assign and unassign VEs to applicants, edit candidate information, set applicant status, and evict applicants. Label shown in the session VE permission dropdown. See [Roles and Permissions →](roles-and-permissions). + +**VEC (Volunteer Examiner Coordinator)** — A national organization that accredits VEs and receives exam results. ExamTools is VEC-agnostic and works with multiple VECs. See the [FCC list of VECs](https://www.fcc.gov/wireless/bureau-divisions/mobility-division/amateur-radio-service/volunteer-examiner-coordinators). + +**Volunteer Examiner** — The base session permission level in ExamTools. Can sign forms, authorize candidates, and self-assign to applicants. Label shown in the session VE permission dropdown. See also: *VE*. See [Roles and Permissions →](roles-and-permissions). + + diff --git a/content/docs/reference/roles-and-permissions.md b/content/docs/reference/roles-and-permissions.md new file mode 100644 index 0000000..89a9076 --- /dev/null +++ b/content/docs/reference/roles-and-permissions.md @@ -0,0 +1,71 @@ +--- +title: Roles and Permissions +weight: 1 +--- + +ExamTools has two separate permission systems: **team permissions** that control what someone can do in the team account, and **session permissions** that control what a VE can do within a specific session. + +--- + +## Team permissions + +Team permissions are set on individual team administrators and control their access to the team account. These are assigned when inviting someone to the team's **Administrators** list. + +| Action | Owner | Co-owner | Schedule | Print Exams | +|--------|:-----:|:--------:|:--------:|:-----------:| +| Edit team settings (name, email, website) | ✓ | ✓ | | | +| Add and remove owners and co-owners | ✓ | | | | +| Invite and manage other team administrators | ✓ | ✓ | | | +| Delegate VEC credentials to the team | ✓ | ✓ | | | +| Create and edit sessions | ✓ | ✓ | ✓ | | +| Generate and print paper exams | ✓ | ✓ | | ✓ | + +**Owner** — Full control. Can add and remove any administrator including other owners. Most teams have a single owner. + +**Co-owner** — Can do everything an owner can, except add or remove other owners or co-owners. + +**Schedule** — Can create and edit sessions for the team. Cannot change team settings or manage other administrators. + +**Print Exams** — Can generate and print paper exams. Cannot create sessions or change team settings. + +--- + +## Session permissions + +Session permissions are assigned to each VE when they are added to a session. They control what that VE can do during the active session. + +| Action | Owner | Co-Owner | Ve Admin | Volunteer Examiner | +|--------|:-----:|:--------:|:--------:|:------------------:| +| Create session | ✓ | | | | +| Edit session | ✓ | ✓ | | | +| Start session | ✓ | ✓ | | | +| Add VEs to session | ✓ | ✓ | | | +| Change VE permissions within session | ✓ | ✓ | | | +| Assign other VEs to an applicant | ✓ | ✓ | ✓ | | +| Unassign other VEs from an applicant | ✓ | ✓ | ✓ | | +| Edit applicant information | ✓ | ✓ | ✓ | | +| Void applicant exam | ✓ | ✓ | ✓ | | +| Evict applicant from session | ✓ | ✓ | ✓ | | +| Self-assign to an applicant | ✓ | ✓ | ✓ | ✓ | +| Self-unassign from an applicant | ✓ | ✓ | ✓ | ✓ | +| Authorize applicant to join session | ✓ | ✓ | ✓ | ✓ | +| Authorize applicant to begin testing | ✓ | ✓ | ✓ | ✓ | +| Authorize grading of exam | ✓ | ✓ | ✓ | ✓ | +| Sign as responsible VE | ✓ | ✓ | ✓ | ✓ | +| Finalize applicant | ✓ | ✓ | | | +| Finalize session | ✓ | ✓ | | | + +**Owner** — The user who created the session. Has full control including starting and finalizing. + +**Co-Owner** — Explicitly authorized by the owner to act with full management permissions. The person running the session day-to-day typically holds this role. + +**Ve Admin** — Can manage applicant information, assign/unassign VEs to applicants, set applicant status, and evict applicants. + +**Volunteer Examiner** — The default role. Can sign forms, authorize candidates, and self-assign to applicants. + +> **Note:** A VE's session role is independent of their team permission level. Someone with only **Schedule** team permissions can be assigned **Co-Owner** for a specific session, and vice versa. + +## Related guides + +- [Manage team administrators →](../teams/manage-team-admins) +- [Managing VEs →](../sessions/add-ves-to-session) diff --git a/content/docs/remote-exams/_index.md b/content/docs/remote-exams/_index.md new file mode 100644 index 0000000..5bb7e60 --- /dev/null +++ b/content/docs/remote-exams/_index.md @@ -0,0 +1,8 @@ +--- +title: Remote Exams +weight: 7 +--- + +ExamTools supports remote (online-supervised) exam sessions. This section covers what changes when running an exam remotely vs. in person. + +- **[Remote exam differences](remote-differences)** — What changes between in-person and remote sessions, and what stays the same. diff --git a/content/docs/remote-exams/remote-differences.md b/content/docs/remote-exams/remote-differences.md new file mode 100644 index 0000000..8a5ac87 --- /dev/null +++ b/content/docs/remote-exams/remote-differences.md @@ -0,0 +1,46 @@ +--- +title: Remote Exam Differences +weight: 1 +--- + +ExamTools works the same way for both in-person and remote sessions. The platform mechanics — creating a session, checking in applicants, proctoring, signing forms, and submitting results — are identical. The differences are in how VEs observe applicants and how applicants connect. + +## What changes for remote sessions + +| Step | In-person | Remote | +|------|-----------|--------| +| **Session type** | In-person | Online / Remote | +| **VE location** | All VEs and applicants at the same physical location | VEs and applicants connect from separate locations via video | +| **Identity verification** | VE checks government-issued ID in person | Applicant holds ID up to camera; VE verifies over video | +| **Session location** | Physical address of the exam site | City/state/zip of the team lead — a physical address is still required for FCC reporting | +| **Applicant monitoring** | Visual observation in the room | Applicant shares screen; VE watches via video call | +| **Form signing** | Applicant and VEs sign on a shared or nearby device | Each party signs on their own device via the ExamTools link | + +## What does not change + +- Session creation and configuration +- Applicant check-in and element selection +- The exam itself (same question pool, same interface) +- Pass/fail thresholds +- Form 605 and CSCE signing workflow +- VEC submission + +## VE requirements for remote sessions + +Your VEC may have specific requirements for remote exam supervision — minimum number of VEs, recording policies, waiting room procedures, etc. Consult your VEC's guidance before running your first remote session. + +## External tooling + +ExamTools does not provide video conferencing, chat programs, or payment processing. Teams are responsible for arranging these independently per their VEC's requirements. + +- **Video conferencing** — Required for applicant monitoring and identity verification. Share the meeting link with applicants directly; there is no video meeting URL field in ExamTools. +- **Applicant communication** — Pre-session coordination (instructions, reminders, meeting links) is handled outside ExamTools by the team. +- **Payment** — If your VEC permits collecting a fee, that is handled outside ExamTools through a channel of the team's choosing. + +> **Tip:** Set up a waiting room on your video platform so VEs can admit applicants one at a time and verify identity before the exam begins. + +## Related guides + +- [Configure a session →](../sessions/configure-session) +- [Open a session →](../exam-day/open-session) +- [Give the exam →](../exam-day/give-exam) diff --git a/content/docs/sandbox/_index.md b/content/docs/sandbox/_index.md new file mode 100644 index 0000000..11867ba --- /dev/null +++ b/content/docs/sandbox/_index.md @@ -0,0 +1,8 @@ +--- +title: Sandbox and Training +weight: 8 +--- + +The ExamTools sandbox is a separate environment for training and practice. It is identical to production, but nothing in it is ever submitted to the FCC or any VEC. + +- **[Run a training session](training-session)** — Use fake applicants and dummy VEs to practice the full exam workflow without affecting any real records. diff --git a/content/docs/sandbox/training-session.md b/content/docs/sandbox/training-session.md new file mode 100644 index 0000000..3dd3c2e --- /dev/null +++ b/content/docs/sandbox/training-session.md @@ -0,0 +1,105 @@ +--- +title: Run a Training Session +weight: 1 +--- + +Use the sandbox to practice the full exam workflow — create a team, run a session, check in applicants, give exams, and sign forms — without affecting any real applicant records or submitting anything to a VEC. + +## Prerequisites + +- A sandbox account at [examtools.dev](https://examtools.dev) — separate from your production account; [create one the same way](../account-setup/create-account), substituting examtools.dev for every exam.tools URL +- Session manager permissions on your sandbox account: + - **If you are already a team lead in production**, your session manager permissions carry over to the sandbox automatically — no extra step needed. + - **If you are not a team lead in production**, contact ExamTools support to have session manager permissions added to your sandbox account manually. + +## Set up the session + +Create a team and session in the sandbox exactly as you would in production. Sandbox sessions appear at [hamstudy.dev](https://hamstudy.dev) rather than ham.study. + +See [Create a team →](../teams/create-team) and [Create a session →](../sessions/create-session). + +--- + +## Add fake applicants + +You have two options for adding test applicants: + +**Option 1 — Register via hamstudy.dev** + +Have someone register as an applicant at [hamstudy.dev](https://hamstudy.dev). This simulates the full applicant self-registration experience. + +**Option 2 — Add a walk-in applicant manually** + +1. In your session, click **Add Applicant** in the upper right of the applicant list. +2. Enter ten zeros (`0000000000`) in the **FRN** field, or enter a real FRN or callsign to pull the record from ULS. +3. To populate the fields with randomly generated fake data, open the **Action** dropdown in the upper right of the dialog and select **Create Fake**. +4. Complete the rest of the check-in as normal. + +--- + +## Use dummy VEs + +If you do not have enough real VEs available for a training session, use dummy VEs. A dummy VE is a built-in test account that can be assigned to applicants and used to sign forms. + +### Dummy VE callsign format + +Dummy VE callsigns follow this pattern: **`[E or G][01–99]USR`** + +| Part | Meaning | Examples | +|------|---------|---------| +| `E` or `G` | License class — Extra or General | `E`, `G` | +| `01`–`99` | Any two-digit number | `12`, `46`, `99` | +| `USR` | Fixed suffix (always USR) | `USR` | + +Valid examples: `E12USR`, `G46USR`, `E99USR` + +> **Do not use `T` as the prefix.** A Technician prefix triggers an error and the dummy VE cannot be used. You cannot add someone who does not hold a General or Extra class license — the same rule applies to dummy VEs. + +### Dummy VE password + +The password for each dummy VE is `password` followed by the two-digit number: + +| Callsign | Password | +|----------|----------| +| `E12USR` | `password12` | +| `G46USR` | `password46` | +| `E99USR` | `password99` | + +If you enter the wrong password, ExamTools shows a hint. + +> Dummy VEs cannot be used to log in to ExamTools — they can only be assigned to applicants and used to sign forms during a session. + +### Add a dummy VE to an applicant + +Add a dummy VE exactly as you would add a real VE: click **Assign VE** and select the dummy VE from the dropdown. + +To sign as the dummy VE after an exam is complete, hover over the **Manage VE Signatures** icon, select the dummy VE from the list, and enter its password. When the signing dialog opens, select **Use New Signature** and draw a signature — dummy VEs have no stored signature on file. + +--- + +## Take a practice exam + +A VE can log in to [examtools.dev](https://examtools.dev) as an applicant in a separate browser window or on a separate device to simulate the full applicant experience. + +Once the exam starts, press **=** (equals) on the keyboard to answer the current question correctly and advance to the next one. Repeat to move through the entire exam quickly, or answer questions manually to practice at normal pace. + +--- + +## What looks different in the sandbox + +A few things behave differently in the sandbox by design — these are not errors: + +- **Sandcastle watermark on PDFs** — All generated exam forms (605, CSCE, results) display a sandcastle graphic to make it obvious the documents are not real. +- **`[SandBox/Dev]:` email prefix** — Every email sent from the sandbox has this prefix in the subject line, including account confirmation and CSCE delivery emails. +- **CSCE verification URL** — The verification link printed on sandbox CSCEs points to `beta.examtools.dev` instead of `exam.tools`. + +--- + +## Verify + +A completed training session looks identical to a production session — applicants show as Finalized, forms are signed, and the session can be closed. Nothing is transmitted to any VEC or the FCC. + +## Next steps + +- [Run a real in-person session →](../exam-day/) +- [Reference: Environments and URLs →](../reference/environments) diff --git a/content/docs/sessions/_index.md b/content/docs/sessions/_index.md new file mode 100644 index 0000000..b3b9a6d --- /dev/null +++ b/content/docs/sessions/_index.md @@ -0,0 +1,13 @@ +--- +title: Sessions +weight: 4 +--- + +A session is a scheduled exam event. This section covers creating and configuring sessions before exam day. + +- **[Sessions overview](sessions-overview)** — The session lifecycle and key settings. +- **[Create a session](create-session)** — Schedule a new exam session. +- **[Configure a session](configure-session)** — Edit location, notes, and other settings after creation. +- **[Managing VEs in a session](add-ves-to-session)** — Add, configure, and remove VEs in a specific session. +- **[Clone a session](clone-session)** — Create a new session based on the settings of a previous one. +- **[Managing applicants](managing-applicants)** — Add, monitor, and take action on applicants during a session. diff --git a/content/docs/sessions/add-ves-to-session.md b/content/docs/sessions/add-ves-to-session.md new file mode 100644 index 0000000..f7206f4 --- /dev/null +++ b/content/docs/sessions/add-ves-to-session.md @@ -0,0 +1,64 @@ +--- +title: Managing VEs in a Session +weight: 5 +--- + +VEs are added to individual sessions, not to the team account. You can add VEs at any time until the session is finalized. + +> **Important:** VEs added to a session appear on the official session manifest submitted to the VEC. Only add VEs who are physically present at the session and should receive credit for participating. Do not add VEs as placeholders or for administrative convenience if they will not actually be there. + +## Prerequisites + +- A session where you are the owner or co-owner +- The VEs you are adding must have an ExamTools account with VE accreditation from the same VEC as the session + +## Steps + +1. Go to **Manage Sessions** and open the session. + +2. Click the **Volunteer Examiner** tab (to the left of the active Applicants tab). + +3. Click **+ ADD VES**. + + ![Session Volunteer Examiners tab showing a list of VEs with their session roles and a + ADD VES button](/img/docs/sessions/session-ve-list.png) + +4. The **Add Volunteer Examiners** window appears. In the **VE call sign (enter to add)** field, type a callsign and press **Enter**. Repeat for each VE you want to add. + + ![Add Volunteer Examiners dialog showing a VE entry with callsign input field, a listed VE, and Cancel and Save buttons](/img/docs/sessions/session-add-ve-dialog.png) + + If you see **NOT REGISTERED** next to a callsign, that VE does not have what they need to join the session: + - No ExamTools account → they need to [create one](../account-setup/create-account) + - Wrong VEC accreditation → they need to [confirm their VEC accreditation](../account-setup/add-vec-accreditation) + +5. When you have added all your VEs, click **SAVE**. + +## Set VE permissions in the session + +After adding VEs, set each person's role using the dropdown next to their name: + +| Role | Use when | +|------|----------| +| **Volunteer Examiner** | Default role — can authorize and certify exams, sign forms, and view applicant information | +| **Ve Admin** | More experienced VE who can also manage applicant information and assign other VEs to applicants | +| **Co-Owner** | Trusted lead who needs full session management permissions | + +The VE managing the session on exam day must have **Co-Owner** session permissions. + +## Joining a session you own + +If you are the team owner and see *"You are not part of this session"* on a yellow alert ribbon when you first open a session, click the **JOIN** button on the Applicants tab. Then go to the Volunteer Examiner tab and change your own permissions to Co-owner. + +## Remove a VE from the session + +Click the **×** next to the VE's name in the Volunteer Examiner tab and confirm. + +> Do not remove VEs who are currently assigned to an applicant or have already authorized exams. This may cause problems with your session. + +## Verify + +The Volunteer Examiner tab shows all added VEs with their callsigns and permission levels. Confirm you have at least three VEs before starting the session (FCC minimum). + +## Related guides + +- [Manage team administrators →](../teams/manage-team-admins) +- [Roles and permissions reference →](../reference/roles-and-permissions) diff --git a/content/docs/sessions/clone-session.md b/content/docs/sessions/clone-session.md new file mode 100644 index 0000000..9b6a91c --- /dev/null +++ b/content/docs/sessions/clone-session.md @@ -0,0 +1,41 @@ +--- +title: Clone a Session +weight: 4 +--- + +Cloning copies the settings of an existing session into a new one with a new date. This is the fastest way to schedule recurring sessions — all the team, VEC, team lead, registration, and location settings carry over automatically. + +## Prerequisites + +- At least one existing session to clone from +- Owner, Co-owner, or Schedule permissions on the team + +## Steps + +1. Sign in to [exam.tools](https://exam.tools) and click **Session List** in the left navigation. + +2. Find the session you want to clone and open it. + +3. Click **Clone session schedule** (available from within the session view or session list menu). + + ![Session list showing a session row with the overflow menu open and a Clone option visible](/img/docs/sessions/session-clone-session.png) + +4. The session form opens pre-filled with the original session's settings. The form title reads **Clone session**. + +5. Update the **Start date** and **Start time** for the new session. + +6. Review all other settings and adjust anything that has changed — location, event name, team lead, registration options, etc. + +7. **Clone VE list?** — A toggle appears asking whether to copy the VE assignments from the original session to the new one. Choose **Yes** to carry them over, or **No** to start with an empty VE list. + +8. Click **Save**. + +## Verify + +The new session appears in **Session List** with status **Pending** and the new date. Confirm the team, VEC, and event name are correct. + +## Related guides + +- [Create a session from scratch →](create-session) +- [Configure a session →](configure-session) +- [Managing VEs →](add-ves-to-session) diff --git a/content/docs/sessions/configure-session.md b/content/docs/sessions/configure-session.md new file mode 100644 index 0000000..9978267 --- /dev/null +++ b/content/docs/sessions/configure-session.md @@ -0,0 +1,46 @@ +--- +title: Configure a Session +weight: 3 +--- + +After creating a session, you can edit any of its settings until the session is finalized. The same form used to create the session is used to edit it. + +## Open a session for editing + +1. Sign in to [exam.tools](https://exam.tools) and click **Session List** in the left navigation. + +2. Click on the session you want to edit to open it. + +3. Click **EDIT SCHEDULE** near the top of the session view. + + ![Session view showing the session header with the overflow menu open revealing Edit Schedule and Old Manifest options](/img/docs/sessions/session-edit-schedule.png) + +4. The session form opens with the current settings loaded. Make your changes and click **Save**. + +## Common configuration tasks + +### Set the session to visible + +If you created the session as **Hidden**, change **Listing Visibility** to **Visible** when you are ready for applicants to see and register. + +### Update the location + +Change the selected location in the **Locations** section. If the location you need does not exist yet, click **Add location...** to add one to your team. See [Edit team settings →](../teams/edit-team#manage-saved-locations). + +### Change the session notes + +Click **Edit** in the **Publicly visible notes** section to open the markdown editor. These notes appear on the HamStudy listing page. Include exam rules, payment information, and contact details. + +### Change the registration cap + +In the **Registration options** section, adjust **Maximum number of Participants** or set it to unlimited. + +### Change email notifications + +In the exam elements section, update **Receive email notifications on applicant registration?** and the notification address if needed. + +## Related guides + +- [Create a session →](create-session) +- [Clone a session →](clone-session) +- [Managing VEs →](add-ves-to-session) diff --git a/content/docs/sessions/create-session.md b/content/docs/sessions/create-session.md new file mode 100644 index 0000000..c805442 --- /dev/null +++ b/content/docs/sessions/create-session.md @@ -0,0 +1,160 @@ +--- +title: Create a Session +weight: 2 +--- + +Schedule a new exam session for your team in ExamTools. + +## Prerequisites + +- A team account where you have **Owner**, **Co-owner**, or **Schedule** permissions +- At least one owner or co-owner has [delegated VEC credentials](../teams/create-team#delegate-your-vec-credentials) to the team for the VEC you want to schedule under + +## Steps + +1. Sign in to [exam.tools](https://exam.tools) and click **Session List** in the left navigation. + +2. Click **New session** (top right of the session list). + + ![ExamTools Session List page showing upcoming sessions with EDIT SCHEDULE buttons and a + New Session button in the upper right](/img/docs/sessions/session-list.png) + +3. The session creation form opens in several sections. Complete them in order — some sections only appear after earlier choices are made. + + ![Session creation form showing the General session information section with Team, VEC, Team Lead, Event Name, Session Identifier, and Session Type fields](/img/docs/sessions/session-create-general.png) + +--- + +### General session information *(required)* + +**Team** *(required)* — Select the team this session will be scheduled under. Only teams where you have scheduling permissions appear here. + +**VEC** *(required)* — Select the VEC that will receive this session's results. Only VECs for which the team has delegated credentials appear here. If the VEC you need is missing, a team owner or co-owner must [delegate credentials](../teams/create-team#delegate-your-vec-credentials) first. + +**Team Lead** *(required)* — Select the VE who will be the responsible team lead for this session. The dropdown shows team members who hold team lead credentials from the selected VEC. + +**Event Name** *(required, minimum 6 characters)* — The session title shown on HamStudy. Keep it short — the team name, date, time, and session type all appear separately on the listing. You do not need to repeat them here. + +**Session Identifier** *(optional)* — An external ID used by some VECs (such as GLAARG) to track sessions. Leave blank unless your VEC requires it. + +**Session Type** *(required)* — Choose **In-person** or **Online / Remote**. + +--- + +### Registration options *(required)* + +**Use ExamTools Registration?** + +| Choice | Effect | +|--------|--------| +| **Yes** | Applicants can register via a public link; session appears in the public [HamStudy session listings](https://ham.study/sessions) | +| **No** | You manage registration yourself; optionally provide an external link or contact email | + +**If you choose Yes:** + +- **Use ExamTools for grading or paperwork?** *(required)* — Set to **Yes** if you will use ExamTools to administer computer-based exams or handle digital paperwork. When set to Yes, ExamTools issues each applicant a PIN they use to sign in. Set to **No** if you want the public listing and registration but will administer and grade exams outside of ExamTools. + +- **Walk-ins allowed?** *(in-person sessions only)* — An informational flag shown on the HamStudy listing. Does not technically restrict anyone from registering. + +- **Maximum number of Participants** — Set a cap on pre-registrations, or select **No limit**. The system enforces this best-effort; two simultaneous registrations near the limit may both succeed. + +**If you choose No:** + +- **Registration Method** — Choose how applicants register: + - **None** — No self-registration; walk-up or manual only. + - **External Link** — The HamStudy listing shows a registration button pointing to the URL you enter in the **Registration link** field. + - **Email Link** — The HamStudy listing shows a contact email. Enter the **Registration Contact: Name** and **Registration Contact: Email Address** in the fields that appear. + +--- + +### Schedule *(required)* + +**Listing Visibility** *(appears only when using ExamTools Registration)* — Controls whether the session appears in the [public HamStudy session listings](https://ham.study/sessions). + +- **Visible** — Session appears in the public listings and applicants can find and register for it. +- **Hidden** — Session is removed from the public listings. The registration link still works and the session remains fully accessible to VEs in their dashboard; only the public listing is suppressed. Use this while you are still configuring a session you are not ready to advertise. + +**Start date** *(required)* — Date of the exam session. Click the calendar icon to use a date picker. + +**Start time** *(required)* — Applicant-facing start time. Use the clock icon for a touch-friendly picker, or type directly in 12-hour (`10:00 am`) or 24-hour (`10:00`) format. + +**Duration (minutes)** *(optional)* — Informational only; displayed on the HamStudy listing to help applicants plan. A two-hour session is 120. + +> **Time zone:** The current time zone is shown in the **Schedule** section header as a clickable button. Click it to change the time zone for this session. + +--- + +### Locations *(required)* + +Select a saved location from your team's location dropdown. If no locations exist yet, or the location you need is not listed, click **Add location...** to add one now. + +![Session Locations section showing a saved location selected from a dropdown with the address displayed, and an Add Location button](/img/docs/sessions/session-create-locations.png) + +Locations added here are saved to the team and available for future sessions. + +- **In-person sessions:** The full street address appears in session documents and on HamStudy. +- **Remote sessions:** Only city, state, and zip are required; the VEC uses this for record-keeping. + +See [Edit team settings →](../teams/edit-team#manage-saved-locations) for details on managing saved locations. + +--- + +### Exam elements and notifications + +**All exam elements offered?** — Checked by default. Uncheck to restrict the session to specific elements: Element 2 (Technician), Element 3 (General), Element 4 (Amateur Extra). + +**Examination Fee** — Pre-populated with your VEC's standard fee when one is set. The field is read-only for VECs with a fixed fee. Some VECs allow you to adjust this. + +**Receive email notifications on applicant registration?** — Choose how to handle notification emails when someone registers: +- **Team default** — Uses the notification setting configured on the team account +- **Yes** — Sends a notification to the email address(es) you specify in the **Email address for notifications** field +- **No** — No registration notifications + +--- + +### Session notes *(optional)* + +**Publicly visible notes** — Markdown-enabled text that appears on your HamStudy session listing page. Visible to anyone who views the session, including people who have not registered. Include exam rules, payment instructions, location details, and a way to contact you. + +**Notes for applicant (email)** *(appears only when using ExamTools Registration)* — Markdown-enabled text that is emailed to applicants when they register. This text is private — it is not shown publicly on the listing. + +When an applicant registers (with ExamTools Registration and PIN issuance enabled), they receive a confirmation email containing: +- Their session **PIN** (required to sign in on exam day) +- The **Notes for applicant (email)** text, if you have filled it in. If that field is empty, the **Publicly visible notes** are sent instead. + +--- + +## Validation and errors + +Before saving, ExamTools checks that required fields are filled. If anything is missing, a warning alert appears above the Save button listing what needs to be addressed: + +![Session creation form showing an orange validation warning alert above the Save button listing required items that must be addressed before saving](/img/docs/sessions/session-create-validation.png) + +| Warning | What to fix | +|---------|-------------| +| Session Type | Choose **In-person** or **Online / Remote** | +| Session Date and Time | Enter a valid date and time | +| Session Location | Select or add a location in the Locations section | +| Fix Invalid Fields | One or more fields has a format error (check for red field hints) | +| Notification Recipients | You selected **Yes** for notifications but have not added any email addresses | + +Individual required fields show a red error message beneath them when the form is submitted with that field empty or invalid (e.g., Event Name too short, invalid time format). + +The **Save** button is disabled until all required items are resolved. + +--- + +## Save the session + +Click **Save** at the bottom of the page. The session is created with status **Pending** and appears in your session list. + +## Verify + +Confirm the session appears in **Session List** with the correct team, VEC, date, and event name. Click the session to review all settings. + +To get the public registration link or share the session listing with applicants, open the session and click the **link icon** next to the session title at the top of the page. This copies the registration URL to your clipboard. You can paste it into emails, your club website, or anywhere else applicants should find it. + +## Next steps + +- [Configure or edit the session →](configure-session) +- [Managing VEs →](add-ves-to-session) +- [Clone a session for next time →](clone-session) diff --git a/content/docs/sessions/managing-applicants.md b/content/docs/sessions/managing-applicants.md new file mode 100644 index 0000000..8657727 --- /dev/null +++ b/content/docs/sessions/managing-applicants.md @@ -0,0 +1,217 @@ +--- +title: Managing Applicants +weight: 6 +--- + +Applicants can be added and managed from the **Applicants** tab of the session view. Most actions are available both before the session starts and while it is running, as long as the applicant has not been individually finalized. + +## Applicant list + +The applicant list shows every registered applicant as a row. Each row displays: + +- **PIN** — The applicant's session PIN; color indicates connection status +- **VE count badge** — How many VEs are assigned (turns amber when under 3) +- **Applicant name and callsign/FRN** +- **Exam element chips** — One chip per element being attempted, showing pass/fail/in-progress state +- **Signature indicator** — Shows how many assigned VEs have signed + +Click a row to expand it and see all available actions for that applicant. + +![Session Applicants tab showing an expanded applicant row with Assign to Me, Manage, Status, and Print Forms action buttons visible](/img/docs/sessions/session-applicant-list.png) + +### Sorting the list + +Click the sort icon in the applicant toolbar to change the sort order. Options include: + +- Seen, Last/First name +- Seen, PIN +- Seen, Created +- Last/First name (unsorted by status) +- PIN +- Created + +The "Seen" prefix groups applicants who have connected to the session ahead of those who have not. + +--- + +## Applicant statuses + +| Status | Meaning | +|--------|---------| +| **Registered** | Applicant has registered but has not yet connected to the session | +| **Seen** | Applicant has connected; session is in progress | +| **Ready to sign** | Exam is complete and graded; waiting for VE signatures | +| **Signed** | All required signatures collected | +| **Finalized** | Applicant record is locked and complete | + +Ve Admins can manually change an applicant's status using the **Status** button in the expanded applicant row. + +--- + +## Add an applicant manually + +Whenever possible, ask the applicant to register through [HamStudy](https://hamstudy.org/sessions). You can also share the session's registration link by clicking the link icon next to the session title at the top of the session view. + +A Co-Owner can add an applicant manually when special circumstances make regular registration impractical. Before adding the applicant, make sure they have agreed to the Privacy Policy. If the applicant is under 13, make sure they have submitted the required COPPA form. + +1. Click the **Add Applicant** icon (person with a plus) in the applicant toolbar. +2. Fill in the applicant's information (FRN or callsign, name, elements desired). + + ![New Applicant form showing fields for license status, FRN, applicant identity, address, contact information, and exam element options](/img/docs/sessions/session-add-applicant.png) + +3. Click **Save**. The applicant appears in the list and receives a PIN if PIN issuance is enabled. + +--- + +## VE assignment + +FCC rules require at least three VEs to be assigned to each applicant during their exam. Each VE on the session can self-assign and self-unassign using the **Assign to me** / **Unassign** buttons. Ve Admins and Co-Owners can assign or unassign any VE using the **Assign VE** / **Unassign VE** dropdowns. + +--- + +## Actions on an expanded applicant + +Expand an applicant row to see all available actions. Which buttons appear depends on your session role and the applicant's current state. + +### Authorize actions + +VEs respond to applicant requests directly from the session view. When an applicant requests permission to join, start an exam, or have their exam graded, a pending-action badge appears on the applicant list. Click the badge to respond. + +| Action request | What it means | +|----------------|--------------| +| **Join Session** | Applicant is asking to enter the session | +| **Start Exam** | Applicant is asking to begin their exam | +| **Grade Exam** | Exam is complete; applicant is requesting grading | + +### Manage menu + +The **Manage** button (person with edit icon) opens a dropdown with the following options depending on role and applicant state: + +![Expanded applicant row with the Manage dropdown open showing Edit Applicant, Delete Applicant, Move to another session, Add Credit, and Record External Exam options](/img/docs/sessions/session-manage-dropdown.png) + +| Action | Available when | Who can | +|--------|---------------|---------| +| **Edit Applicant** | Session not finalized; applicant not finalized | Ve Admin or higher | +| **View Applicant** | Anytime | All VEs (read-only) | +| **Re-open** | Applicant is finalized | Co-Owner | +| **Delete Applicant** | Session not finalized | Co-Owner | +| **Email CSCE** | Applicant is finalized and passed | Ve Admin or higher | +| **Move to another session** | Session not finalized | Co-Owner | +| **Add Credit** | Session not finalized | Co-Owner | +| **Record External Exam** | Session not finalized | Co-Owner | +| **Evict Applicant** | Applicant is connected | Ve Admin or higher | + +--- + +### Edit / View Applicant + +**Edit Applicant** is available at any point before the applicant is finalized — including before the session has started, during the session, and until the individual applicant record is marked complete. Once finalized, the record becomes read-only (use **Re-open** to unlock it). + +The dialog includes editable fields for name, FRN, callsign, address, license class, email, phone, and felony status, plus exam preference options: + +- **Restrict question selection to:** — Limits the exam to questions without figures (accessibility option; Co-Owner only) +- **Preferred Language** — Changes the exam language if supported by the VEC + +!["Warning: Signatures will be Cleared" dialog explaining that changes to applicant information will remove existing signatures, with Cancel and Continue buttons](/img/docs/sessions/session-signatures-warning.png) + +> **Warning: editing applicant information clears signatures.** If the applicant or any VE has already signed the Form 605 and you change any personal information field (name, address, FRN, callsign, license class, contact info, or felony status), ExamTools will warn you: *"Making changes to the applicant's information will remove the existing signatures on the 605 form. If you continue, both the applicant and the Volunteer Examiners (VEs) will need to provide new signatures."* You must confirm before the save proceeds. The application title for this dialog is **"Warning: Signatures will be Cleared"**. + +--- + +### Delete Applicant + +Permanently removes the applicant from the session. Requires confirmation showing the applicant's name, FRN, and callsign. Cannot be undone. + +--- + +### Move to another session + +Transfers the applicant to a different session. The destination session is selected from a dropdown showing sessions associated with your teams within the next 6 months. The current session is excluded from the list. + +Constraints: +- The source applicant must not be finalized +- The source session must not be finalized +- The destination session must be a different session from the current one +- The destination session must be within the next 6 months + +> If the applicant has any signatures on their record, moving them to another session will require those signatures to be collected again in the new session. + +--- + +### Re-open (unfinalize applicant) + +Unlocks a finalized applicant record so corrections can be made. Requires the Co-Owner's password. + +![Re-open session confirmation dialog warning that reopening can lead to data inconsistency, with Cancel and OK buttons](/img/docs/sessions/session-reopen-warning.png) + +**Use with caution.** ExamTools warns: *"This application has already been finalized; re-opening it is the equivalent of tearing up the existing CSCE and 605 forms in order to make additional changes — except that copies may have already been made. This could result in incorrect signed documentation being present outside of the system."* A full audit of this action is saved and can be reviewed by the VEC. + +After re-opening, all signatures are cleared and must be collected again before the applicant can be finalized a second time. + +--- + +### Email CSCE + +Emails the applicant's Certificate of Successful Completion of Examination as a PDF. Available after the applicant's record is finalized and they have passed at least one element. ExamTools asks for confirmation if the CSCE has already been emailed. + +--- + +### Add Credit / Record External Exam + +Used in specific workflows to credit an applicant for passing an element outside the current session. Use only if directed by your VEC. + +--- + +### Evict Applicant + +Forcibly disconnects the applicant from the session. They can reconnect unless the session is stopped. Use if an applicant is unresponsive or needs to be removed from an active connection. + +--- + +### Status menu + +The **Status** button shows the applicant's current status and opens a dropdown to manually set it. Available to Ve Admins and Co-Owners while the session is active. + +--- + +### Mark Complete + +The **Mark Complete** button finalizes the applicant's record. This locks their data and marks them as done. Required for each applicant before the session itself can be finalized. + +![Completed applicant row highlighted in green showing STATUS: FINALIZED, Manage and Print Forms buttons, and Exam History with a passing score](/img/docs/sessions/session-applicant-complete.png) + +Prerequisites for marking complete: +- All exams are graded (or voided) +- The applicant has signed their Form 605 and CSCE +- All required VEs have signed + +--- + +### Void / Restore exam + +Within the expanded applicant row, each exam result has an overflow menu. Ve Admins can: + +- **Void Exam** — Invalidates the exam result. Requires selecting a reason from a dropdown (e.g., "Courtesy retry for examinee," "Correcting a mistake by VE"). The reason appears in the session report. +- **Restore Exam** — Reverses a void and restores the original result. + +--- + +### Print Forms + +The **Print Forms** button opens a dropdown to print or view the applicant's forms (Form 605, CSCE, etc.) as PDFs in a new tab. + +--- + +## After session finalization + +Once the session is finalized, the applicant list becomes read-only. You can still: + +- **Email CSCE** to applicants who passed +- **Re-open** individual applicants if a correction is needed (Co-Owner; use with care — requires password and voids all signatures) +- **View** applicant information + +## Related guides + +- [Managing VEs →](add-ves-to-session) +- [Start a session on exam day →](../exam-day/open-session) +- [Finalize a session →](../exam-day/close-session) diff --git a/content/docs/sessions/sessions-overview.md b/content/docs/sessions/sessions-overview.md new file mode 100644 index 0000000..9c3d17a --- /dev/null +++ b/content/docs/sessions/sessions-overview.md @@ -0,0 +1,47 @@ +--- +title: Sessions Overview +weight: 1 +--- + +A **session** in ExamTools is a scheduled exam event where one or more applicants test for an amateur radio license. + +## Session lifecycle + +1. **Create session** — Schedule the event, set the team, VEC, team lead, and registration options +2. **Configure settings** — Add location, set visibility, finalize notes +3. **Add VEs** — Assign the VEs who will be working the session +4. **Start session** — On exam day, click **Start Session** to open for applicants +5. **Check in applicants** — Authorize applicants to join and begin testing +6. **Administer exams** — VEs proctor and sign; applicants complete their element(s) +7. **Finalize session** — Review all results, then click **Finalize Session** (requires team lead password) +8. **Submit to VEC** — Export session documents and deliver to your VEC + +## Session types + +ExamTools uses the same session structure for both in-person and remote (online-supervised) exams. The mechanics are identical — what changes is where the applicant sits and how VEs verify their identity. Steps that differ are called out in the relevant guides. + +## Key session settings + +| Setting | What it controls | +|---------|-----------------| +| **Session date and time** | When the session is scheduled | +| **Location** | Physical address (in-person) or video platform link (remote) | +| **Elements offered** | Which license exams will be available (Tech, General, Extra) | +| **Public registration** | Whether applicants can pre-register via a public link | +| **VE assignments** | Which VEs from your roster are assigned to this session | + +## Session status + +Sessions move through the following states: + +| Status | Meaning | +|--------|---------| +| **Pending** | Created and configured, not yet started | +| **In progress** | Actively running — VEs and applicants can join | +| **Closed** | Session finalized; results ready to submit to the VEC | + +## Related tasks + +- [Create a session →](create-session) +- [Configure a session →](configure-session) +- [Start a session on exam day →](../exam-day/open-session) diff --git a/content/docs/teams/_index.md b/content/docs/teams/_index.md new file mode 100644 index 0000000..e267a46 --- /dev/null +++ b/content/docs/teams/_index.md @@ -0,0 +1,12 @@ +--- +title: Teams +weight: 3 +--- + +A team account in ExamTools is the administrative home for your VE group. All sessions are scheduled under a team, and team accounts control who has scheduling and management privileges. + +- **[Teams overview](teams-overview)** — What team accounts are, how the admin roles work, and how teams relate to VECs. +- **[Become a team lead](become-team-lead)** — How to confirm you have team lead credentials and what to do if you don't. +- **[Create a team](create-team)** — Set up a new team account in ExamTools. +- **[Manage team administrators](manage-team-admins)** — Invite and manage the VEs who have administrative access to your team. +- **[Edit team settings](edit-team)** — Update your team's name, contact email, website, and saved locations. diff --git a/content/docs/teams/become-team-lead.md b/content/docs/teams/become-team-lead.md new file mode 100644 index 0000000..ab55a74 --- /dev/null +++ b/content/docs/teams/become-team-lead.md @@ -0,0 +1,44 @@ +--- +title: Become a Team Lead +weight: 2 +--- + +Team lead status in ExamTools comes from your VEC — it is part of your VE accreditation, not something you set up inside ExamTools itself. This page explains how to confirm you have it and what to do if you don't. + +## Prerequisites + +- A verified [ExamTools account](../account-setup/create-account) +- VE accreditation from a VEC + +## Check whether you already have team lead status + +1. Sign in to [exam.tools](https://exam.tools). +2. Go to your **Profile** (upper left navigation). +3. Expand **Volunteer Examiner Credentials** by clicking the arrow on the right. + + ![ExamTools Profile page showing the Volunteer Examiner Credentials section expanded, listing multiple VEC accreditations with credential type (Team Lead or Volunteer Examiner) beside each](/img/docs/account-setup/profile-vec-credentials-expanded.png) + +4. Look at what your VEC credential says. You need to see **Team Lead** next to the VEC you plan to run sessions under. + + - **Team Lead** — you are ready to create a team and schedule sessions. + - **Volunteer Examiner** — you have VE accreditation but not team lead privileges yet. + +## If you only see "Volunteer Examiner" + +Contact your VEC and ask them to grant you team lead (session manager) status. ExamTools syncs VEC records every 4 hours, but VECs update on their own schedule — allow up to 24–48 hours after your VEC confirms the change before expecting it to appear. + +ExamTools staff do not grant team lead status. This must come from your VEC. + +## Before running your first session + +Once you have team lead status confirmed, the recommended steps are: + +1. [Create your team →](create-team) +2. Set up your [sandbox account](../reference/environments) and practice running a session there before going live. +3. Ask in the appropriate VEC channel on the ExamTools Discord to shadow another team running live exams. +4. When you feel ready, create your first real session in the production environment. + +## Related guides + +- [Create a team →](create-team) +- [Confirm your VEC accreditation →](../account-setup/add-vec-accreditation) diff --git a/content/docs/teams/create-team.md b/content/docs/teams/create-team.md new file mode 100644 index 0000000..765bc66 --- /dev/null +++ b/content/docs/teams/create-team.md @@ -0,0 +1,68 @@ +--- +title: Create a Team +weight: 3 +--- + +Create a team account in ExamTools to schedule sessions and manage your administrative team. + +## Prerequisites + +- [Team lead status confirmed](become-team-lead) — your Profile must show **Team Lead** for at least one VEC + +## Steps + +1. Sign in to [exam.tools](https://exam.tools) and click **Team Accounts** in the left navigation. + +2. Click **+ New Team Account**. + + ![ExamTools Team Accounts page listing existing teams with a + New Team Account button in the upper right](/img/docs/teams/teams-list-new-button.png) + +3. The **New Team Account** window appears. Fill in the four fields: + + **Team Identifier** — A short unique code for your team. Rules: + - Must start with a letter + - 3–10 characters + - Letters, numbers, and hyphens only + - Examples: `SDHC`, `NT3ST-R` + - This identifier appears in all your session listings on HamStudy. **It cannot be changed after creation**, so choose carefully. If you don't have a team acronym, your own callsign works well. + + **Team Name** — The display name for your team or club. + + **Contact E-mail Address** — A valid email for the team account administrator. + + **VEC** — Select the VEC(s) under which this team will schedule sessions. You can only select VECs for which you hold team lead credentials. + + ![New Team Account dialog with fields for Team Identifier, Team Name, Contact E-mail Address, and VEC](/img/docs/teams/teams-new-dialog.png) + +4. Click **Save**. + +## Delegate your VEC credentials + +Before the team can schedule sessions, at least one owner or co-owner must delegate their team lead credentials to the team. This is required even if you are the only administrator. + +1. On the **Manage Account** page for your new team, find the **Delegated Privileges** section. It appears below your membership information. + +2. Click the pencil (edit) icon next to **Delegated Privileges**. + + ![Manage Account page showing the Delegated Privileges section with delegated VEC cards and a pencil edit icon](/img/docs/teams/teams-manage-delegated-privileges.png) + +3. The **Delegated Privileges** dialog opens with the subtitle: *"Which of your VEC credentials should this team be allowed to use to schedule exams?"* + + Check the VEC(s) you want to make available to this team. + + ![Delegated Privileges dialog showing a list of VEC credentials with checkboxes to select which the team can use to schedule exams](/img/docs/teams/teams-delegated-privileges-dialog.png) + +4. Click **Save**. + +After saving, the delegated VECs appear as cards in the **Delegated Privileges** section. The team can now schedule sessions for those VECs. + +> If the **Delegated Privileges** section is not visible, confirm that your team membership shows **Owner** or **Co-owner** — only owners and co-owners can delegate credentials. + +## Verify + +Your new team appears in **Team Accounts**. Click **Manage Account** to confirm the identifier, name, and VEC are correct. + +## Next steps + +- [Manage team administrators →](manage-team-admins) +- [Create your first session →](../sessions/create-session) diff --git a/content/docs/teams/edit-team.md b/content/docs/teams/edit-team.md new file mode 100644 index 0000000..ea3eccf --- /dev/null +++ b/content/docs/teams/edit-team.md @@ -0,0 +1,76 @@ +--- +title: Edit Team Settings +weight: 4 +--- + +Edit your team's profile, contact information, website, and saved locations from the **Manage Account** page. + +## Prerequisites + +- Owner or co-owner permissions on the team (required to edit most fields) + +## Navigate to Manage Account + +1. Sign in to [exam.tools](https://exam.tools) and click **Team Accounts** in the left navigation. +2. Find your team and click **Manage Account**. + +## Edit team fields + +Most fields use inline editing: click the pencil (edit) icon next to a value to open an edit field, make your change, then click **Save** or press **Enter**. Click **Cancel** to discard the change. + +![Manage Account page showing a team field in inline edit mode with a text input and Save and Cancel buttons](/img/docs/teams/teams-manage-inline-edit.png) + +### Team Identifier + +The **Team Identifier** is the short code that appears in session listings on HamStudy and in session URLs. It can be changed after creation, but do so with caution — any existing links or bookmarks using the old identifier will break. + +Rules for the identifier: +- Must start with a letter +- 3–10 characters +- Letters, numbers, and hyphens only + +> If the identifier matches a valid US callsign, you must have authorization from the callsign owner to list exams under it. + +### Team Name + +The **Team Name** is the human-readable display name shown to applicants browsing sessions. The minimum length is 5 characters. + +### Contact E-mail Addresses + +The **Contact E-mail Addresses** field accepts one or more email addresses for the team. These are the primary point of contact for applicants and ExamTools staff. You cannot remove the last email address — the team must always have at least one. + +Below the address list is a toggle labeled **Receive email notifications on applicant registration?** Set this to **Yes** to receive an email each time someone registers for a session. + +![Contact E-mail Addresses section showing a list of email addresses and a Receive email notifications on applicant registration toggle](/img/docs/teams/teams-manage-contact-email.png) + +This setting can be overridden on a per-session basis. + +### Team Website + +Enter a valid `http://` or `https://` URL for the team's website. This is optional. + +## Manage saved locations + +The **Locations** section stores addresses that can be reused across sessions. Saved locations appear in the session creation form as quick-select options. + +**To add a location:** +- Click **Add Location** and choose either **Simple Entry** (manual form) or **Advanced** (Google Maps picker). + + ![Add Location dialog showing Simple Entry and Advanced options for entering a location address](/img/docs/teams/teams-add-location-dialog.png) + +**To edit a location:** +- Select the location from the dropdown and click **Edit Location**. + +**To delete a location:** +- Select the location from the dropdown and click **Delete Location**. If the location is used by existing sessions, those sessions will no longer have a team address attached. + +## Delegated Privileges + +The **Delegated Privileges** section shows which VECs you have delegated to this team. Only owners and co-owners see this section. + +To change which VECs are delegated, click the pencil icon. See [Create a team →](create-team#delegate-your-vec-credentials) for full instructions. + +## Related guides + +- [Teams overview →](teams-overview) +- [Manage team administrators →](manage-team-admins) diff --git a/content/docs/teams/manage-team-admins.md b/content/docs/teams/manage-team-admins.md new file mode 100644 index 0000000..0ce5414 --- /dev/null +++ b/content/docs/teams/manage-team-admins.md @@ -0,0 +1,65 @@ +--- +title: Manage Team Administrators +weight: 4 +--- + +Team administrators are the small group of VEs who handle scheduling, session management, and team settings. This is not the same as the VEs who proctor exams — regular VEs are added to individual sessions, not to the team account. + +> **Adding VEs to a session?** See [Managing VEs →](../sessions/add-ves-to-session) + +## Prerequisites + +- A [team account](create-team) where you are the owner or co-owner + +## Invite an administrator + +1. Go to **Team Accounts** in the left navigation and click **Manage Account** on your team. + +2. Find the **Administrators** section and click **+ INVITE**. + + ![Manage Account page showing the Administrators section listing current admins with their permission levels and a + INVITE button](/img/docs/teams/teams-manage-administrators.png) + +3. Enter the callsign of the VE you want to add. They must already have an ExamTools account. + +4. The invitation is sent. The VE must accept the invitation before they appear as an active administrator. + +## Set administrator permissions + +When editing an administrator's permissions, choose from: + +| Permission | What it allows | +|-----------|---------------| +| **Owner** | Full control over the team, including adding and removing other owners. Most teams should have only one owner. | +| **Co-owner** | Everything an owner can do, except adding or removing other owners and co-owners. | +| **Schedule** | Create and edit exam sessions for the team. Cannot change team settings. | +| **Print Exams** | Generate and print paper exams for the team. | + +To change a permission: + +1. Find the administrator in the **Administrators** list. +2. Click the **Edit** (pencil) icon next to their name. +3. Select the new permission level from the **Permissions** dropdown. +4. Click **Save**. + + ![Edit administrator dialog showing a Permissions dropdown with Owner, Co-owner, Schedule, and Print Exams options](/img/docs/teams/teams-admin-edit-dialog.png) + +## Remove an administrator + +1. Find the administrator in the list. +2. Click the **Delete** (trash) icon next to their name. +3. Confirm when prompted. + +> Do not remove administrators who are currently assigned as team lead on open sessions. + +## Cancel a pending invitation + +Pending invitations appear under **Pending Members**. Click the **×** icon to cancel an invitation. + +## Verify + +The **Administrators** list shows each person's callsign, display name, and current permission level. + +## Related guides + +- [Managing VEs →](../sessions/add-ves-to-session) +- [Teams overview →](teams-overview) diff --git a/content/docs/teams/teams-overview.md b/content/docs/teams/teams-overview.md new file mode 100644 index 0000000..ef060f1 --- /dev/null +++ b/content/docs/teams/teams-overview.md @@ -0,0 +1,44 @@ +--- +title: Teams Overview +weight: 1 +--- + +A **team account** in ExamTools is an administrative entity that designates ownership of a VE team. All sessions are scheduled under a team account, and the team account controls who has scheduling and management privileges. + +## What a team account is (and isn't) + +Team accounts are for **management** only. You do not add every VE who attends an exam session to the team account — only those with administrative duties (scheduling sessions, managing the team, printing exams). + +Regular VEs who proctor exams are added directly to individual sessions, not to the team account. See [Managing VEs →](../sessions/add-ves-to-session). + +## Team administrator roles + +Team accounts have four levels of permission: + +| Role | What they can do | +|------|-----------------| +| **Owner** | Full control — can edit all team settings, manage all administrators (including other owners), and schedule sessions. Multiple owners are co-equal and can remove each other, so most teams use a single owner. | +| **Co-owner** | Can do everything an owner can, except add or remove other owners or co-owners. | +| **Schedule** | Can create and edit exam sessions for the team. Does not have access to team account settings. | +| **Print Exams** | Can generate and print paper exams for the team. | + +## Delegated privileges + +Before a team can schedule sessions for a given VEC, at least one administrator with **Owner** or **Co-owner** status must **delegate** their team lead credentials to the team. This is a one-time step done when the team is first set up for a VEC, or again whenever a new VEC is added. + +Delegation links the team to the VEC and makes the team's sessions appear in that VEC's listings. Once delegation is in place, anyone with **Schedule** permissions can create sessions for that VEC — they do not need to hold team lead credentials themselves. Sessions must still have a valid team lead assigned, but they don't need to be the person who delegated. + +If no owner or co-owner has delegated credentials for a VEC, sessions for that VEC cannot be scheduled, even if the team has administrators with team lead credentials for it. + +To delegate credentials, open the team's **Manage Account** page. Owners and co-owners see a **Delegated Privileges** section with an edit (pencil) button. Clicking the pencil opens a dialog asking which of your VEC credentials to make available to the team. See [Create a team →](create-team#delegate-your-vec-credentials) for step-by-step instructions. + +## Team identifier + +Every team has a unique identifier (3–10 characters, starting with a letter, may include numbers and hyphens) that appears in session listings on HamStudy and in session URLs. Choose it carefully — it is visible to applicants and cannot be changed after creation. + +## Related tasks + +- [Create a team →](create-team) +- [Become a team lead →](become-team-lead) +- [Manage team administrators →](manage-team-admins) +- [Roles and permissions reference →](../reference/roles-and-permissions) diff --git a/content/docs/troubleshooting/_index.md b/content/docs/troubleshooting/_index.md new file mode 100644 index 0000000..6915dcf --- /dev/null +++ b/content/docs/troubleshooting/_index.md @@ -0,0 +1,8 @@ +--- +title: Troubleshooting +weight: 12 +--- + +- **[Account issues](account-issues)** — Problems with login, callsign verification, VEC accreditation, or signatures. +- **[Session issues](session-issues)** — Problems during a live session, including applicant or VE access issues. +- **[Get help](get-help)** — How to reach the ExamTools support community. diff --git a/content/docs/troubleshooting/account-issues.md b/content/docs/troubleshooting/account-issues.md new file mode 100644 index 0000000..0e208f3 --- /dev/null +++ b/content/docs/troubleshooting/account-issues.md @@ -0,0 +1,41 @@ +--- +title: Account Issues +weight: 1 +--- + +## I can't sign in + +**Symptom:** Login fails or you see an error after entering your credentials. + +1. Confirm you are signing in at the correct URL: [exam.tools](https://exam.tools) (production) or [examtools.dev](https://examtools.dev) / [sandbox.examtools.org](https://sandbox.examtools.org) (sandbox). These are separate systems with separate accounts. +2. If you forgot your password, go to [exam.tools/reset](https://exam.tools/reset) to reset it. +3. If you just created your account, check your inbox for a verification email and confirm your address before signing in. + +## My callsign isn't being recognized + +**Symptom:** ExamTools can't find your callsign in FCC records, or it shows the wrong name. + +1. Confirm your callsign is correct and currently active with the FCC. Check at [wireless2.fcc.gov/UlsApp/UlsSearch/searchLicense.jsp](https://wireless2.fcc.gov/UlsApp/UlsSearch/searchLicense.jsp). +2. If you recently changed callsigns, FCC records may take a few days to update. Try again in 24–48 hours. +3. If you believe the FCC record is wrong, contact the FCC directly. + +## My VEC accreditation isn't showing up + +VEC accreditation is applied to your account automatically — you do not enter it yourself. If it is missing or expired, contact your VEC directly. Neither ExamTools nor the support team can add or update your accreditation on your behalf. + +**"Your account is verified, but you have no known VE credentials"** — Your callsign is confirmed but ExamTools has no accreditation on file for you. Contact your VEC to verify your status. + +**"Your account is verified, but the only VE credentials we know about have expired"** — Your accreditation has lapsed. Contact your VEC to renew. + +## My signature isn't saving + +1. Make sure you are drawing the signature inside the signature box, not outside it. +2. Try a different browser. Signature capture can occasionally fail in older browsers. +3. If using a touchscreen, try using a stylus or switching to a mouse on a desktop browser. + +## Related guides + +- [Create an account →](../account-setup/create-account) +- [Add VEC accreditation →](../account-setup/add-vec-accreditation) +- [Add a signature →](../account-setup/add-signature) +- [Get help →](get-help) diff --git a/content/docs/troubleshooting/get-help.md b/content/docs/troubleshooting/get-help.md new file mode 100644 index 0000000..ab33aa4 --- /dev/null +++ b/content/docs/troubleshooting/get-help.md @@ -0,0 +1,34 @@ +--- +title: Get Help +weight: 3 +--- + +If you can't resolve an issue with the troubleshooting guides, the ExamTools community and support team are available to help. + +## Community support + +The primary support channel is the **VE Discord Chat Server**. Experienced team leads and ExamTools developers participate there regularly. + +[Join the VE Discord server →](https://discord.gg/qn4Tx6VTyB) + +## File a support ticket + +For issues that need direct attention, file a helpdesk ticket at [support@examtools.org](mailto:support@examtools.org). + +## Report a bug + +Report bugs on the [VE Discord server](https://discord.gg/qn4Tx6VTyB) or via a support ticket at [support@examtools.org](mailto:support@examtools.org). + +## Report a documentation issue + +Open an issue or pull request at [github.com/HamStudy/examtools-docs](https://github.com/HamStudy/examtools-docs). + +## Before asking for help + +Include the following information in your support request to get a faster answer: + +1. Your callsign +2. The URL you were on when the problem occurred +3. A description of what you expected to happen and what actually happened +4. Your browser and operating system (e.g., Chrome on Windows 11) +5. Any error message you saw — a screenshot is ideal diff --git a/content/docs/troubleshooting/session-issues.md b/content/docs/troubleshooting/session-issues.md new file mode 100644 index 0000000..c583878 --- /dev/null +++ b/content/docs/troubleshooting/session-issues.md @@ -0,0 +1,36 @@ +--- +title: Session Issues +weight: 2 +--- + +## A VE can't join the session + +**Symptom:** A VE sees an error when trying to join, or doesn't appear in the VE list. + +1. Confirm the VE has a completed ExamTools account — callsign verified and VEC accreditation on file. +2. Confirm the VE has been added to the session. See [Add VEs to a session →](../sessions/add-ves-to-session) +3. Confirm the VE is accredited by the same VEC as the session. +4. Confirm the session is in **In progress** status. VEs cannot join a session that hasn't been started yet. +5. Ask the VE to try refreshing the page or clearing their browser cache. + +## An applicant can't access their exam + +**Symptom:** The applicant's exam URL shows an error or the exam won't load. + +1. Confirm the applicant is checked in to the session and an exam element is selected for them. +2. Check that the applicant is using a [supported browser](../reference/environments#supported-browsers). +3. Ask the applicant to try a different browser or device. + +## Form 605 is stuck / signatures aren't saving + +1. All signing VEs must have a [signature profile set up](../account-setup/add-signature) before the session. +2. Each VE must sign from their own logged-in account — one person cannot sign on behalf of another. +3. If a signature doesn't appear after clicking **Apply Signature**, try refreshing the session page. + +## I accidentally closed a session early + +Use the **Unfinalize Session** button on the session page to reopen it. This action can put session data into an inconsistent state, so only proceed if you are certain you need to reopen the session. + +## Related guides + +- [Get help →](get-help) diff --git a/content/docs/ve/_index.md b/content/docs/ve/_index.md deleted file mode 100644 index 15cd6ea..0000000 --- a/content/docs/ve/_index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: Volunteer Examiners -summary: Learn how to use ExamTools for Volunteer Examiners. -weight: 20 -icon: book -icon_pack: fas - -# Page metadata. -title: Volunteer Examiners -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Pages - -The following are resources to help you get started with ExamTools - -* [How ExamTools Works]({{< relref "examtoolsOverview.md" >}}) -* [VE Overview and Training Videos]({{}}) -* [Create an ExamTools Account]({{< relref "getExamToolsAccount.md" >}}) -* [Create an ExamTools Sandbox Account]({{< relref "getSandboxAccount.md" >}}) -* [Add a Signature to Your Profile]({{< relref "addingSignatureProfile.md" >}}) -* [Add Additional VEC Accreditation]({{}}) -* [Change your Call Sign]({{< relref "veNewCall.md" >}}) diff --git a/content/docs/ve/addingSignatureProfile.md b/content/docs/ve/addingSignatureProfile.md deleted file mode 100644 index 3994515..0000000 --- a/content/docs/ve/addingSignatureProfile.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Add a Signature to your Profile -linktitle: Add a Signature to your Profile -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 40 ---- -## Add a saved signature to your profile - -**Pro Tip:** Use a smart phone or tablet for best looking results. - -* Go to https://exam.tools -* Under **Assist with an Exam** sign in with your HamStudy credentials -![Exam.Tools Login Page](../images/examtoolsSignIn.png) -* Click on **Profile** -* Look for a white box at the top of your screen that says **Sign Here**. Use your mouse or a touchscreen device to draw your signature -![Exam.Tools Profile Update](../images/examtoolsProfileSignature.png) -* When you are happy with the image click **Save** diff --git a/content/docs/ve/examtoolsOverview.md b/content/docs/ve/examtoolsOverview.md deleted file mode 100644 index 2eab0e5..0000000 --- a/content/docs/ve/examtoolsOverview.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -# Title, summary, and page position. -linktitle: How ExamTools Works -summary: Learn about the ExamTools computerized test system -weight: 10 -icon: book -icon_pack: fas - -# Page metadata. -title: How ExamTools Works -# date: "2018-09-09T00:00:00Z" -type: book # Do not modify. ---- - -## Overview of the ExamTools system - -ExamTools is designed to make administering Amateur Radio exams a more modernized and streamlined process used for in person and fully remote exam sessions. Tests can be administered in a web browser on a computer or tablet, manually graded on paper, or graded by a laptop or smartphone camera using GradeCam:tm: grading software. - -### User Types -Users of ExamTools are broken into 4 different groups - -* **Candidate** - Candidates are people taking exams. They will log in through a different portal to be presented exams to take, and not see the session management information -* **Team Lead** - Team Leads or Owners as they are called in ET are VEs that are authorized by the VEC to manage exam sessions. In the ExamTools system, they are able to create and edit session information, add and remove Volunteer Examiners from the session manifest, edit candidate information as needed, and export all session documents for submission to the VEC. -* **Co-Owner** - A Co-Owner can do everything that a Owner can with the exception of creating the session. Once the session is created the Co-Owner can edit it. A VE will need to have Co-Owner permissions in order to add/remove VEs in a session and mark applicants complete. Both are simple tasks, but require a higher level of permissions. -* **VE Admin** - VE Admins are assistants to the Team Lead at a session. They can help assign other VEs to candidates and edit candidate information as needed. -* **Volunteer Examiners** - VEs are standard users in the system. They are responsible for starting and stopping exams and signing candidate exams. diff --git a/content/docs/ve/getExamtoolsAccount.md b/content/docs/ve/getExamtoolsAccount.md deleted file mode 100644 index 8115921..0000000 --- a/content/docs/ve/getExamtoolsAccount.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Create an ExamTools Account -linktitle: Create an ExamTools Account -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 30 ---- -The [ExamTools ecosystem]({{}}) has two distinct environments for Volunteer Examiners. -* The primary website is found at http://exam.tools, and is considered the [Production environment]({{}}). This is where all active Volunteer Examiners need to have an account in order to perform live exams. -* ExamTools also maintains a [Sandbox environment]({{}}) that is used for troubleshooting program errors and general VE training. This is a separate database, with different user names and passwords from the Production environment. - -## Follow these steps to create an account for use with [ExamTools Production Environment]({{}}) - -* Create an account on [ExamTools](https://exam.tools). If you have a previously existing [HamStudy](https://hamstudy.org) account, you may skip this step and use the same login information for ExamTools -![Examtools Register](../images/examtoolsRegister.png) -* You will receive a confirmation email; click the link in the email or enter the number in the email to confirm your account -* Enter your personal details. For clarity, we recommend using your call sign as the username. -![ExamTools Create Profile](../images/examtoolsCreateAccount.png) -* It will then redirect you to [ExamTools](https://exam.tools/portal/veLogin). -* Login with your newly created account and note the instructions on how to verify your ExamTools account in the middle of the page. -* Once logged in, head to your profile to verify your ExamTools account. -![ExamTools Getting Started](../images/examtoolsGettingStarted.png) -* Carefully fill out the Verify Callsign form. -![ExamTools Verify Account Instructions](../images/examtoolsVerifyCallsign.png) -* Wait for an email from Examtools stating your account has been verified. -![ExamTools Account Approved](../images/examtoolsEmailApproval.png) -* Inform your Team Lead that you are set up on ExamTools and ready to participate in sessions. - -If you plan to run practice exam sessions, setup your [sandbox account]({{}}) once you have completed the production account process above. diff --git a/content/docs/ve/getSandboxAccount.md b/content/docs/ve/getSandboxAccount.md deleted file mode 100644 index ff403c1..0000000 --- a/content/docs/ve/getSandboxAccount.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Create an ExamTools Sandbox Account -linktitle: Create an ExamTools Sandbox Account -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 35 ---- -The [ExamTools ecosystem]({{}}) has two distinct environments for Volunteer Examiners. -* The primary website is found at http://exam.tools, and is considered the [Production environment]({{}}). This is where all active Volunteer Examiners need to have an account in order to perform live exams. Make sure to sign up for your [production account]({{}}), if you plan on participating in live sessions. -* ExamTools also maintains a [Sandbox environment]({{}}) that is used for troubleshooting program errors and general VE training. This is a separate database, with different user names and passwords from the Production environment. It is not required to create a Sandbox account to perform live testing; however, your Team Lead may require training sessions in the [Sandbox]({{}}). You might also be interested in using it to follow along with documentation and walk-through videos. - -## Follow these steps to create an account for use with [ExamTools Sandbox / Training Environment]({{}}) - -* Create an account on [ExamTools Sandbox](https://examtools.dev). -![Examtools Register](../images/examtoolsRegister.png) -* You will receive a confirmation email; click the link in the email or enter the number in the email to confirm your account -* Enter your personal details. For clarity, we recommend using your call sign as the username. -![ExamTools Create Profile](../images/examtoolsCreateAccount.png) -* It will then redirect you to [ExamTools](https://examtools.dev/portal/veLogin). -* Once logged in, head to your profile to verify your ExamTools account. -![ExamTools Getting Started](../images/examtoolsGettingStarted.png) -* Carefully fill out the Verify Callsign form. -![ExamTools Verify Account Instructions](../images/examtoolsVerifyCallsign.png) -* Wait for an email from Examtools stating your account has been verified. -![ExamTools Account Approved](../images/examtoolsEmailApproval.png) -* Inform your Team Lead that you are set up on the ExamTools Sandbox and ready to participate in training sessions. - -Want to run a practice session by yourself or short on VEs? Check out documentation on [Sandbox Exams and dummy VEs]({{}}) in your training sessions. diff --git a/content/docs/ve/images/examtoolsCreateAccount.png b/content/docs/ve/images/examtoolsCreateAccount.png deleted file mode 100644 index 1ae5c9c..0000000 Binary files a/content/docs/ve/images/examtoolsCreateAccount.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsEmailApproval.png b/content/docs/ve/images/examtoolsEmailApproval.png deleted file mode 100644 index 262ce62..0000000 Binary files a/content/docs/ve/images/examtoolsEmailApproval.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsGettingStarted.png b/content/docs/ve/images/examtoolsGettingStarted.png deleted file mode 100644 index 54605fd..0000000 Binary files a/content/docs/ve/images/examtoolsGettingStarted.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsProfileSignature.png b/content/docs/ve/images/examtoolsProfileSignature.png deleted file mode 100644 index 37cef7f..0000000 Binary files a/content/docs/ve/images/examtoolsProfileSignature.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsRegister.png b/content/docs/ve/images/examtoolsRegister.png deleted file mode 100644 index 940db2d..0000000 Binary files a/content/docs/ve/images/examtoolsRegister.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsRequestID.png b/content/docs/ve/images/examtoolsRequestID.png deleted file mode 100644 index 63181fa..0000000 Binary files a/content/docs/ve/images/examtoolsRequestID.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsSignIn.png b/content/docs/ve/images/examtoolsSignIn.png deleted file mode 100644 index 7e888ca..0000000 Binary files a/content/docs/ve/images/examtoolsSignIn.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsVerifyCallsign.png b/content/docs/ve/images/examtoolsVerifyCallsign.png deleted file mode 100644 index e3fde4f..0000000 Binary files a/content/docs/ve/images/examtoolsVerifyCallsign.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolspage.png b/content/docs/ve/images/examtoolspage.png deleted file mode 100644 index 48db129..0000000 Binary files a/content/docs/ve/images/examtoolspage.png and /dev/null differ diff --git a/content/docs/ve/images/examtoolsuser.png b/content/docs/ve/images/examtoolsuser.png deleted file mode 100644 index 67402f2..0000000 Binary files a/content/docs/ve/images/examtoolsuser.png and /dev/null differ diff --git a/content/docs/ve/images/hamstudyRegister.png b/content/docs/ve/images/hamstudyRegister.png deleted file mode 100644 index b934611..0000000 Binary files a/content/docs/ve/images/hamstudyRegister.png and /dev/null differ diff --git a/content/docs/ve/images/hamstudyUpdateProfile.png b/content/docs/ve/images/hamstudyUpdateProfile.png deleted file mode 100644 index 349856d..0000000 Binary files a/content/docs/ve/images/hamstudyUpdateProfile.png and /dev/null differ diff --git a/content/docs/ve/veAdditionalVEC.md b/content/docs/ve/veAdditionalVEC.md deleted file mode 100644 index 8467d7b..0000000 --- a/content/docs/ve/veAdditionalVEC.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Adding Additional VEC Accreditation -linktitle: Adding Additional VEC Accreditation -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 50 ---- -## Adding an additional VEC is automatic in ExamTools, if you have an existing ExamTools account and become accredited with one or more additional VECs. - -
-* Make sure you already have an ExamTools account and your call sign is current. -* Once your accreditation is officially confirmed by your additional VEC(s), they should add you to a list accessed by ExamTools. -* Wait until ExamTools syncs with the list. This waiting period could vary depending on the VEC. If we do not see your new accreditation in a day or two, contact your VEC. -* Confirm your accreditation is active by visiting your Profile at the top of the left navigation menu in ExamTools. Toward the bottom, look for **Volunteer Examiner Credentials** and click the down caret (arrow) on the right side to expand out and view your accreditations. -* Inform your Team Lead/CVE that your accreditation is displaying in ExamTools and you are ready to participate in sessions. - diff --git a/content/docs/ve/veNewCall.md b/content/docs/ve/veNewCall.md deleted file mode 100644 index d0d78b1..0000000 --- a/content/docs/ve/veNewCall.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Change Your Call Sign -linktitle: Change Your Call Sign -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 60 ---- -## Updating Your Call Sign: - -* After the FCC has granted your new call sign, notify your team lead(s) and all VECs with which you are accredited of the change. ExamTools automatically updates. - -## Important Notes: - -* Wait for your existing ExamTools account to update and do not create a new account when you get a new call sign. Creating multiple accounts will cause not only future problems for you, but delays as well. -* Confirm that your call sign has been updated in the profile of both your [production](https://exam.tools/ve/me) and [sandbox](https://examtools.dev/ve/me) accounts, if you have one. -* ExamTools automatically syncs with the FCC and VECs. ExamTools staff does not need to be notified of the call sign change. -* Your ExamTools account may to continue to work normally for a bit (under old call sign), then not work (accreditation with old call sign removed), then work again (accreditation with new call sign added) as it transitions to the new call sign. -* If your ExamTools account continues works under your old call sign, do not use your account or sign paperwork. Best practice would be to make sure that you do not appear on any sessions while the account is in transition. -* After the account has been updated, your old call sign may still reappear on a session, if a lead clones a session that you were on in the past. If that happens, have them delete you and add you back. -* You will likely not be able to participate in exam sessions until your ExamTools account is completely updated. Check with your team lead. -* Since being added to and viewing sessions will be an issue, you may consider just taking a break from assisting with exams. -* Expect to wait a few days to a week for this change over to happen. The delay is often on the VEC side and they should be given time to process the change. -* All of your accreditations will appear under Volunteer Examiner Credentials in your Profile. - diff --git a/content/docs/ve/veTrainingVideos.md b/content/docs/ve/veTrainingVideos.md deleted file mode 100644 index 3dd9bfa..0000000 --- a/content/docs/ve/veTrainingVideos.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: VE Overview and Training Videos -linktitle: VE Overview and Training Videos -type: book -# date: "2019-05-05T00:00:00+01:00" - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 20 ---- -## Overview of an ExamTools sessions -For an overview of what an ExamTools session looks like, watch these videos: - -* [ExamTools Tier 2 BETA - How to be a VE for a Fully-Remote Exam!](https://www.youtube.com/watch?v=KoImr4UtMPE&feature=youtu.be). -* [Fully-Remote Amateur Radio Exam Administration - QSO Today Virtual Ham Expo 2020](https://youtu.be/lovtrgFJtJ8) - -## Training Videos -These videos are extensions of the overview videos above, designed to go more in depth prior to training on a live session. - -* [Create a Session](https://www.youtube.com/watch?v=vyoIsFpNkZ8&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=3) -* [Register for a Session](https://www.youtube.com/watch?v=0agr98IoBgA&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=4) -* [Session, Exam, and Signatures](https://www.youtube.com/watch?v=7h4LTdhtfjE&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=5) -* [Fully-Remote Exam and Signatures](https://www.youtube.com/watch?v=BKD6CIsBhtA&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=6) -* [Understanding Applicant Icons](https://www.youtube.com/watch?v=bkWlqHm1Jsg&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=7) -* [VE Permission Levels](https://www.youtube.com/watch?v=s2owjZisYEY&list=PLDxsQ4bjUNnppBmsjEE9vad-ZuQonD8Bp&index=8) diff --git a/content/docs/w5yi/_index.md b/content/docs/w5yi/_index.md deleted file mode 100644 index 5358255..0000000 --- a/content/docs/w5yi/_index.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: Frequently Asked Questions for W5YI VE Team Liaisons -linktitle: W5YI CVE FAQ -type: book -# date: 2020-09-13T15:51:12-04:00 -lastmod: 2020-09-13T15:51:12-04:00 -featured: false -draft: false -weight: 40 -icon: book -icon_pack: fas ---- - - - -## Is there a checklist of what my VE team needs to do? - -See [this checklist]({{< relref "checklist.md" >}}) -used by the [AA7HW VE Team](https://aa7hw.org/) for some ideas. -As with in-person sessions, there's always room for customizing how your particular team operates. - -## Is there a procedure for verifying that W5YI is good with us doing online exams? - -You must apply for permission by contacting the VEC but be aware of these requirements before you apply: - -_W5YI VE teams must meet the following criteria and adhere to the -following rules/policies to participate in the Video sessions -program. Long-standing, well established teams with a history of -adhering to the highest degree of examination integrity, and that -consistently submit accurate exam documents consistent with W5YI VEC -standards will be selected to participate._ - -The team should follow up with the VEC when ready to go live to -receive the confidential session document upload -instructions. However, if they have been training and are able to get -the upload instructions from a trained team, that would be acceptable. - -Make sure you, the CVE (VE Team Liaison), do the following: - -* Read through exam.tools [CVE documentation]({{< relref "../cve/" >}}), if you have questions you can ask them in the Discord `#W5YI` channel. -* Register in the sandbox at http://hamstudy.dev/ and then login at https://beta.examtools.dev/ with your - team members. DO NOT use a Facebook or Google login: Make a "real" user. - There's more info in [getting an exam.tools and sandbox account]({{< relref "../ve/getexamtoolsaccount/" >}}) -* Volunteer in the Discord `#W5YI` channel to help out with another team's W5YI/VEC session so you get - to see the real system in action. -* Contact @ARBatteiger WB5QNG W5YI CVE for final approval and training -before your team will be allowed to do online exams. - - -## How do I collect candidate exam fee payments? - -You will need to establish a mechanism for requesting and -collecting payments and keeping track of who has paid – preferably -before or during the exam session – and sending payment to the VEC as -appropriate. - -Many teams send email to registered candidates to request payment and -other details as needed (e.g. how many elements they intend to take) -and typically use online personal payment processors like Venmo, -PayPal, Zelle, Apple Pay, Google Pay, etc. or even have candidates -mail them personal checks! You can get the candidate's email address -from the MANAGE drop-down `Edit Applicant` on the candidate in your session -as well as the registration email from ExamTools when the applicant registers. - - -## What if a registered candidate fails to pay the fee? - -It is entirely possible that some candidates will register for a -session and not respond to the email that you sent requesting -payment. You can cancel their registration by deleting them -using the MANAGE drop-down `Delete Applicant` on the candidate. -This frees up the exam slot for someone else. - -## What happens when a prepaid candidate cancels or wants to reschedule? - -If the candidate informs you ahead of time that they won't be able to -make the exam session, ask them if they'd like to reschedule at no extra cost, -then delete them from the initial session they registered for, and let them -re-register at another session. - -If they want to cancel, then you should refund the fee. - -Per VEC policies, if a candidate fails to appear, they are still charged the fee, -however you may refund them if you wish. - - -## Can I charge more than the \$14 W5YI-VEC fee? - -Absolutely not. - -## Can I charge less than the \$14 W5YI-VEC fee? - -W5YI-VEC allows teams to 'sponsor' certain pre-determined classes of applicants, -such as students, youths, veterans, club members, etc, as a group, however the -team will still be charged by W5YI-VEC for conducting those exams, thus the team is -paying for those applicants from the team expense funds. - -## Can my VE team or club solicit donations in conjunction with our VE activities? - -Absolutely not. - -FCC Rule: Administering VE requirements: - -_§97.509 (e) No VE may administer or certify any examination by -fraudulent means or for monetary or other consideration including -reimbursement in any amount in excess of that permitted. Violation of -this provision may result in the revocation of the grant of the VE's -amateur station license and the suspension of the grant of the VE's -amateur operator license._ - -Soliciting, asking for donations, or offering free material to -candidates would have the appearance of impropriety. - -This is to ensure the integrity of the examination process. - -## How should I prepare my session to upload to the VEC? - -Once you receive the confidential uploading documentation, you will -need to upload two files. Do this once by selecting the two from your -browser's upload dialog: - -Select Print then 'Final Forms' from Exam.tools save this PDF. - -Select Download then W5YI and save the resulting .dat file. - -Upload those two files, along with any supporting documentation for -out of the ordinary situations, like callbook pages for expired license -credit, etc. - - -## Do we still have to provide FCC license copies in the uploaded package? CSCEs? - -License copies are not needed. You do need to include a copy of only -the front of any pending CSCEs. But do an [FRN lookup](https://wireless2.fcc.gov/UlsApp/UlsSearch/searchLicense.jsp) ahead of the -exam. Odds are the 605 for which the CSCE is for will already have -been acted upon by the time the exam session happens. - -## How do I process a "paper upgrade" with or without an exam? - -The candidate registers for your exam session and provides proof to you -of any element credit. Consult the W5YI VE manual for what is acceptable proof. - -You will enter the credit(s) using the exam.tools MANAGE drop-down `Add Credit` for the candidate. Make sure you handle the case of expired Amateur Extra by giving both Element 3 and Element 4 credit. - -* If the candidate has no current license they need to take the Element 2 exam. Upon passing, the candidate does the usual signature process. - -* If the candidate already has a current license and thus is not taking an actual exam, you need to move the candidate Status from `registered` or `seen` to `ready to sign`. The candidate logs into the session using their pin and is presented with the usual signature process. - -After the 3 VEs assigned to the candidate have signed and the candidate is marked complete, exam.tools generates the proper forms reflecting these credits. - - -## What do we sign when a candidate fails? How do we prove the failed exam happened? - -You must sign the 605 as Proof of failure. The Print Session -Forms/Final Forms contains the candidate roster showing failed -element(s) and the candidate's answer sheet showing a failing -score. Your W5YI Test Session report also has a place to count -candidates who did not earn a new license or upgrade. diff --git a/content/docs/w5yi/checklist.md b/content/docs/w5yi/checklist.md deleted file mode 100644 index 35a08e5..0000000 --- a/content/docs/w5yi/checklist.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: W5YI VEC Session Checklist -linktitle: Sample W5YI VE Session Checklist -type: book -featured: false -draft: false -weight: 5 - ---- -_The following was the W5YI VE Team Checklist as of June 1, 2020._ - - -## Overview of tools we use - -We use the following tools: -* ExamTools of course. -* Zoom Pro to run the session. - * We "record to cloud or computer" and then save the mp4 file. -* Venmo, Cash App, Zelle and PayPal to collect exam fees. -* My bank account to send exam payment to the W5YI/VEC. ( most VE's get a Debit card and send the info to W5YI to charge Exam fees to) - -## Creating a New Session - -* Clone an existing exam session in examtools and update date, confirm max number of candidates. - - -## Check for candidate registrations on exam day -* Look at https://exam.tools/ve/sessions and check sessions counts. -* Examtools: Export Applicant List CSV . - -## Wait for candidate payment -* Get payment confirmation . -* If a candidate responds with a CSCE. - * Check ULS to see if no longer needed. If still needed, you'll want to merge it into the session report, below. -* If candidates don't respond with payment before the session, cancel them: - * delete from examtools. -* Email `Zoom Invite` - -## During session -* Start Zoom meeting. -* Examtools: Start session. -* For each candidate - * CVE co-owner/VE admin assigns 4 VEs to each candidate - * Follow [greeter script]({{< relref "greeter-script.md" >}}). - * Admit candidate, run exam(s), get examinee signature, etc. - * VE's sign all 605's pass or fail. - * CVE Finalizes candidate. -* CVE Finalize session. - -## After session -### Email CSCEs to each successful candidate -* Examtools: Open each candidate. -* Email CSCE to candidates using `CSCE`. - -### Create VEC upload PDF package: -* **New!** Examtools: Export dat and save with default name: `ExamSession_(Callsign)_YYYYMMDD_HHMM.dat`. -* Examtools: Print Session Forms/Final Forms and download using the default name: - `ExamSession_(Callsign)_YYYYMMDD_HHMM.pdf` -* If you have a Exam Debit card on file W5YI will charge exam fess when the exam is processed. Otherwise make payment to W5YI. -* Upload .dat and .pdf and any support documents to W5YI DropBox ( contact W5YI for details) -* Wait for Zoom to render recording and save `zoom-0.mp4`. - -## Post session – callsign lookups -* Examtools will Email call signs or upgrade completion notifications. - diff --git a/content/docs/w5yi/greeter-script.md b/content/docs/w5yi/greeter-script.md deleted file mode 100644 index a948794..0000000 --- a/content/docs/w5yi/greeter-script.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: W5YI VEC Greeter Script -linktitle: Sample W5YI VE Greeter Script -type: book -# date: 2022-01-14T00:00:00 -lastmod: 2022-01-14T00:00:00 -featured: false -draft: false -weight: 10 - ---- -W5YI VE Greeter Script -v4 04/08/2021 - - -_CVE: make sure Zoom is in Gallery view_ - -_CVE: make sure Security/Allow participants to share screen is enabled._ - -_CVE: start examtools session_ - - - -Before we begin, some additional reminders: -1. Make sure you have your government issued photo ID handy. -2. Ensure you are 100% focused during the entire exam session. -3. Any distractions or anomalies could be cause to void the exam at the sole discretion of the VE Team. Anomalies include, but are not limited to: - 1. Notable distraction by you, such as eyes not remaining on the exam and/or wandering around the room, or any noises. - 2. Your appearing to reference or use unauthorized materials (e.g. looking at cell phone, even just the lock screen, changing windows on computer, etc.) - 3. Another person entering the exam space (on camera, physically, or audibly). - 4. Your getting up or leaving the room during the exam. -4. Once you start the exam, the Volunteer Examiners will turn off their audio so as to not distract you – but we’ll be listening and watching. Please leave your audio and video on. Give us a shout if you need anything and when you are ready for grading click the "grade exam" button and let us know you are ready. -5. Make sure to answer all the questions: Only correct answers add points; incorrect answers don't subtract, so it's best to guess rather than leave an answer blank. Good luck with the exam - - -W5YI VE SCRIPT 1 -* Welcome -* [If the candidate has multiple devices, try to admit the computer first, and the phone next. Instruct the candidate to join -with video only, not audio, on the phone. This is not always possible, because devices in the waiting room will not -always be identifiable by candidate name or device type.] -* Photo ID. -* Is government issued ID acceptable to all VE’s? -* 360 tour of your room to make sure there is nothing visible to assist you in the exam. Please slowly rotate your camera -so we can see all 4 walls from your sitting perspective as well as your desktop area. -* Is the 360 tour of the testing environment acceptable to all VE’s? -* Share entire desktop screen by clicking on the green “Share Screen” link at the bottom center of your Zoom window. -Select “Desktop 1,” “Screen 1,” or similar from the list of screen share options, then click the Share button in the lower -right corner of the window. -* Close any programs or applications except Zoom, a browser (Chrome or Firefox preferred), and optionally a calculator -app. -* Do you want to use an onscreen calculator? -* If so, launch then position it on screen then, clear memory for us to verify nothing is stored to assist you. -* In the URL (address bar) enter “Exam.Tools” then press enter. -* Enter the session callsign in first line (Session Call) -* Enter your PIN in the second line (Session Pin) -* Click “Join Session” [one of the VEs will need to approve this by clicking on the red icon near the candidate’s PIN in the -Exam Tools window and then clicking Approve] -* Check accuracy of all personal information -* If yes, click “Start Exam” [one of the VEs will need to approve this by clicking on the red icon near the -candidate’s PIN in the Exam Tools window and then clicking Approve] -* Exam instructions: -* This is not a timed exam so work through it at your own pace. -* Notice the upper right corner, in black bar, lists number of questions in your exam. -* This number will count down as you answer questions. -* When all questions are answered, you will see a “Grade Exam” button. -* Click this button when you are ready for us to grade your exam, but don't feel rushed. You are free to go -back and review your answers prior to clicking the “Grade Exam” button. -* To navigate the exam, -* Use your mouse or touchpad to scroll to each question and answer, or -* Use your keyboard to select answers “A, B, C or D” for each question. The program will automatically -advance to the next question for you. -* You are free to answer questions in any order, and you are free review your answers and to change the answer to -any question by clicking on a different answer. -* If you skip a question, its question number will appear on the left side of the black bar so all you need to -do is click on it to automatically jump back to that question. -* If you happen to have a question with a diagram; simply click on the diagram to expand it, click again to return it to -its original size so you can answer the question. -* You are free to minimize the Zoom Window so our images don’t distract you. -* We will mute our microphones to not distract you but you should keep your mic unmuted. -* We will be observing your video and audio during your exam. If you have any technical issues, we will assist you. -Simply talk and one or more of us will unmute to help. -* Do you have any questions? If not, you may begin. -* [When the candidate completes the exam, one of the VEs will need to grade the exam by clicking on the red icon near -the candidate’s PIN, entering their password, and then clicking Approve.] - -PASSING GRADE: -* Did you study for the next level exam? -* If “yes,” would you like to take the exam today? -* If “no,” we need to move on to signing the forms before we can submit your license information to W5YI & FCC. -* Click on the “Finish & Sign forms” button to end exam and proceed to signing the documents. -* Review the information on these forms to ensure accuracy. -* There are 2 forms you will be signing; the form “605” and the “CSCE.” -* Click on the Form 605. This is your application to take your exam today. Check your personal information for -accuracy then click close. -* Click on the Form CSCE. This is your Certificate of Successful Completion of Exam. It will have 3 VE signatures -that certify you took and passed your exam. The red “Draft” will be removed after we have signed and Herb has -processed it for sending to you. If that all looks good, you can click on the “Close” button. -* Next, after reading the bulleted items above the signature box; you’ll need to create a digital signature in the box with -your mouse or touchpad. -* Click “sign documents” when done -* Click “Finish session” -* Click “Log Out” -* Stop Screen Sharing at the top of the Zoom window. -* What will happen now is, 3 VEs will sign the forms [done in Exam Tools by clicking on the icon with the pen – Note that -this requires the VE password]. Herb will email the completed CSCE to you and submit the forms to W5YI for processing. -In most cases, you will have your license by the next business day. -* If candidate is in -* Main Room: Click the red “Leave Meeting” button to leave the meeting [one all devices]. -* Breakout Room: Click the blue “Leave Room” button, then choose “Leave Meeting” [on all devices]. -FAILING GRADE: -* Encourage the candidate to study for the exam at hamstudy.org. Explain the difference between Study Mode and -Practice Exams. [Study Mode will ensure that the candidate sees every question in the question pool, and is drilled more -frequently on questions that they have difficulty with. Practice Exams contain random questions from the question pool, -and there is no guarantee that the candidate will see every question.] -* [Note that 3 VEs must sign the forms even if the candidate fails the exam.] \ No newline at end of file diff --git a/content/docs/w5yi/images/vec_w5yi.svg b/content/docs/w5yi/images/vec_w5yi.svg deleted file mode 100644 index 7ce9ed1..0000000 --- a/content/docs/w5yi/images/vec_w5yi.svg +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/content/docs/w5yi/vefaq.md b/content/docs/w5yi/vefaq.md deleted file mode 100644 index 10098bf..0000000 --- a/content/docs/w5yi/vefaq.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: Frequently Asked Questions for W5YI VE Team Liaisons -linktitle: W5YI VE FAQ -type: book -# date: 2020-09-13T15:51:12-04:00 -lastmod: 2020-09-13T15:51:12-04:00 -featured: false -draft: false -weight: 40 -icon: book -icon_pack: fas ---- - -![W5YI](images/veclogo.png) - -## Can a W5YI VE volunteer join existing teams performing remote exams? - -Yes. Go into the `#W5YI` channel in Discord and volunteer. Several team -leads monitor the channel and will get in touch, especially if they -are short-handed. - -## I am already an ExamTools VE with another VEC. How do I get added as an W5YI VE? - -If you are not accredited as a W5YI VE, you will need to contact a CVE to -get sponsored as a W5YI VE. - -Once you have your W5YI Credentials, your W5YI CVE will work you through the -process of adding your W5YI Credentials to your profile. Your W5YI CVE lead -will then be able to add you to their Exam Tools session once Experienced -Support has updated your profile. - -If you haven't participated in any W5YI sessions in recent years, you -may need to contact W5YI-VEC to get updated in their records before you can -participate in online sessions. - diff --git a/content/home/features.md b/content/home/features.md deleted file mode 100644 index 23cc0a7..0000000 --- a/content/home/features.md +++ /dev/null @@ -1,63 +0,0 @@ -+++ -# A section created with the Featurette widget. -widget = "featurette" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 20 # Order that this section will appear. - -title = "ExamTools Features" -subtitle = "Why use ExamTools for administering your exams?" - -# Showcase features. -# -# Add/remove as many `[[feature]]` blocks below as you like. -# -# For available icons, see: https://sourcethemes.com/academic/docs/page-builder/#icons - -[[feature]] - icon = "network-wired" - icon_pack = "fas" - name = "Remote Exams" - description = "Use your preferred video conferencing method to administer fully remote license exams" - -[[feature]] - icon = "camera" - icon_pack = "fas" - name = "Paper Exams" - description = "Adminsiter paper exams quickly and easily using GradeCam technology to grade them with your computer or smartphone" - -[[feature]] - icon = "laptop" - icon_pack = "fas" - name = "Computerized Exams" - description = "Administer exams on a computer or tablet in a computer lab" - -[[feature]] - icon = "file-signature" - icon_pack = "fas" - name = "Electronic Signature" - description = "Handle all documentation -- including signatures -- electronically, even for in-person and paper exam sessions" - -[[feature]] - icon = "shipping-fast" - icon_pack = "fas" - name = "Electronic Filing" - description = "File your paperwork to participating VECs electronically -- call signs are often issued the next business day" - -# Uncomment to use emoji icons. -# [[feature]] -# icon = ":smile:" -# icon_pack = "emoji" -# name = "Emojiness" -# description = "100%" - -# Uncomment to use custom SVG icons. -# Place custom SVG icon in `assets/images/icon-pack/`, creating folders if necessary. -# Reference the SVG icon name (without `.svg` extension) in the `icon` field. -# [[feature]] -# icon = "your-custom-icon-name" -# icon_pack = "custom" -# name = "Surfing" -# description = "90%" - -+++ diff --git a/content/home/hero.md b/content/home/hero.md deleted file mode 100644 index f6de19c..0000000 --- a/content/home/hero.md +++ /dev/null @@ -1,57 +0,0 @@ -+++ -# Hero widget. -widget = "hero" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 10 # Order that this section will appear. - -title = "ExamTools Documentation" - -# Hero image (optional). Enter filename of an image in the `static/media/` folder. -hero_media = "examtools_logo_ss.svg" - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - gradient_start = "#1c2430" - gradient_end = "#d6bc00" - - # Background image. - # image = "" # Name of image in `static/media/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - # image_size = "cover" # Options are `cover` (default), `contain`, or `actual` size. - # image_position = "center" # Options include `left`, `center` (default), or `right`. - # image_parallax = true # Use a fun parallax-like fixed background effect? true/false - - # Text color (true=light or false=dark). - text_color_light = true - -# Call to action links (optional). -# Display link(s) by specifying a URL and label below. Icon is optional for `[cta]`. -# Remove a link/note by deleting a cta/note block. - -#[cta] -# url = "start/" -# label = "Get Started" -# icon_pack = "fas" -# icon = "download" - -[cta] - url = "docs/" - label = "View Documentation" - -# Note. An optional note to show underneath the links. -#[cta_note] -# label = 'Show your product version here:' -+++ - -For Volunteer Examiners. - -Modernizing the US Amateur Radio Licensing industry. diff --git a/content/home/index.md b/content/home/index.md deleted file mode 100644 index 2ae6239..0000000 --- a/content/home/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -# Homepage -type: "widget_page" - -# Homepage is headless, other widget pages are not. -headless: true ---- diff --git a/content/privacy.md b/content/privacy.md deleted file mode 100644 index 9b6bb20..0000000 --- a/content/privacy.md +++ /dev/null @@ -1,381 +0,0 @@ ---- -title: ExamTools Privacy Policy -# date: 2020-05-20T17:55:05.369Z ---- - - -# Privacy Policy - -Last updated: May 20, 2020 - -This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You. - -We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. - -# Interpretation and Definitions - -## Interpretation - -The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural. - -## Definitions - -For the purposes of this Privacy Policy: - -* **You** means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable. - - Under GDPR (General Data Protection Regulation), You can be referred to as the Data Subject or as the User as you are the individual using the Service. -* **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to HamStudy.org LLC, D.B.A Signal Stuff, 881 W State St, Ste 140 #203, Pleasant Grove, UT 84062. - - For the purpose of the GDPR, the Company is the Data Controller. -* **Officer** refers to an individual with a direct business relationship with the Company who is authorized by the Company to act in its behalf in the context given. -* **Affiliate** means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority. -* **Account** means a unique account created for You to access our Service or parts of our Service. -* **Website** refers to ExamTools, accessible from [https://examtools.org](https://examtools.org/), or to HamStudy.org, accessible from [https://hamstudy.org](https://hamstudy.org/). -* **Service** refers to the Website. -* **Country** refers to: Utah, United States -* **Service Provider** means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used. For the purpose of the GDPR, Service Providers are considered Data Processors. -* **Third-party Social Media Service** refers to any website or any social network website through which a User can log in or create an account to use the Service. -* **Personal Data** is any information that relates to an identified or identifiable individual. - - For the purposes for GDPR, Personal Data means any information relating to You such as a name, an identification number, location data, online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity. - - For the purposes of the CCPA, Personal Data means any information that identifies, relates to, describes or is capable of being associated with, or could reasonably be linked, directly or indirectly, with You. -* **Cookies** are small files that are placed on Your computer, mobile device or any other device by a website, containing the details of Your browsing history on that website among its many uses. -* **Device** means any device that can access the Service such as a computer, a cellphone or a digital tablet. -* **Usage Data** refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit). -* **Data Controller**, for the purposes of the GDPR (General Data Protection Regulation), refers to the Company as the legal person which alone or jointly with others determines the purposes and means of the processing of Personal Data. -* **Do Not Track** (DNT) is a concept that has been promoted by US regulatory authorities, in particular the U.S. Federal Trade Commission (FTC), for the Internet industry to develop and implement a mechanism for allowing internet users to control the tracking of their online activities across websites. -* **Business**, for the purpose of the CCPA (California Consumer Privacy Act), refers to the Company as the legal entity that collects Consumers' personal information and determines the purposes and means of the processing of Consumers' personal information, or on behalf of which such information is collected and that alone, or jointly with others, determines the purposes and means of the processing of consumers' personal information, that does business in the State of California. -* **Consumer**, for the purpose of the CCPA (California Consumer Privacy Act), means a natural person who is a California resident. A resident, as defined in the law, includes (1) every individual who is in the USA for other than a temporary or transitory purpose, and (2) every individual who is domiciled in the USA who is outside the USA for a temporary or transitory purpose. -* **Sale**, for the purpose of the CCPA (California Consumer Privacy Act), means selling, renting, releasing, disclosing, disseminating, making available, transferring, or otherwise communicating orally, in writing, or by electronic or other means, a Consumer's Personal information to another business or a third party for monetary or other valuable consideration. -* **Volunteer-Examiner Coordinator**, also called **VEC** means an organization with a written agreement with the Federal Communications Commission (FCC) to serve in that capacity as defined in CFR Title 45, Part 97.521. -* **Volunteer Examiner**, also called **VE** means an individual holding an Amateur Radio Station / Primary Operator license as defined and regulated by CFR Title 47, Part 97 by the Federal Communications Commission (FCC) and accredited by an active VEC. - -# Collecting and Using Your Personal Data - -## Types of Data Collected - -### Personal Data - -While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to: - -* Email address -* First name and last name -* Phone number -* Address, State, Province, ZIP/Postal code, City -* FCC Registration Number -* Graphical representation of signature -* Exam Data -* Usage Data - -### Exam Data - -Exam Data is collected when using the Service. - -Exam Data may include answers to questions from examinations taken using the Service, information about previous examinations inputted into the system, and other information about your examination experience while using the Service. - -### Usage Data - -Usage Data is collected automatically when using the Service. - -Usage Data may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data. - -When You access the Service by or through a mobile device, We may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data. - -We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device. - -### Tracking Technologies and Cookies - -We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. - -You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service. - -Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close your web browser. Learn more about cookies: [All About Cookies](https://www.termsfeed.com/blog/cookies/). - -We use both session and persistent Cookies for the purposes set out below: - -* **Necessary / Essential Cookies** - - Type: Session Cookies - - Administered by: Us - - Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services. -* **Cookies Policy / Notice Acceptance Cookies** - - Type: Persistent Cookies - - Administered by: Us - - Purpose: These Cookies identify if users have accepted the use of cookies on the Website. -* **Functionality Cookies** - - Type: Persistent Cookies - - Administered by: Us - - Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website. -* **Tracking and Performance Cookies** - - Type: Persistent Cookies - - Administered by: Third-Parties - - Purpose: These Cookies are used to track information about traffic to the Website and how users use the Website. The information gathered via these Cookies may directly or indirectly identify you as an individual visitor. This is because the information collected is typically linked to a pseudonymous identifier associated with the device you use to access the Website. We may also use these Cookies to test new pages, features or new functionality of the Website to see how our users react to them. - -For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy. - -## Use of Your Personal Data - -The Company may use Personal Data for the following purposes: - -* **To provide and maintain our Service**, including to monitor the usage of our Service. -* **To manage Your Account:** to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user. -* **To contact You:** To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation. -* **To provide You** with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information. -* **To manage Your requests:** To attend and manage Your requests to Us. - -We may share your personal information in the following situations: - -* **With Service Providers:** We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You. -* **For Business transfers:** We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of our business to another company. -* **With Affiliates:** We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us. -* **With other users:** when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside. If You interact with other users or register through a Third-Party Social Media Service, Your contacts on the Third-Party Social Media Service may see Your name, profile, pictures and description of Your activity. Similarly, other users will be able to view descriptions of Your activity, communicate with You and view Your profile. -* **With other users who are VEs:** when you participate in an examination using the Service the examination is administered by a team of Volunteer Examiners who are also users of the Service and they will see all personal information relevant to that exam session. -* **With support staff of the Service** both part of the Company and also volunteers who have been selected and vetted from the community at the sole discretion of the Company and its Officers. Where the support staff is not directly affiliated with the Company reasonable steps will be taken to restrict access to Personal Information to only that which is required to provide assistance to other users of the Service. - -## Retention of Your Personal Data - -The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, ensure the validity of the examinations performed using the Service, and enforce our legal agreements and policies. - -The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods. - -## Transfer of Your Personal Data - -Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction. - -Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer. - -The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information. - -## Disclosure of Your Personal Data - -### Business Transactions - -If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy. - -### Law enforcement - -Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency). - -### Other legal requirements - -The Company may disclose Your Personal Data in the good faith belief that such action is necessary to: - -* Comply with a legal obligation -* Protect and defend the rights or property of the Company -* Prevent or investigate possible wrongdoing in connection with the Service -* Protect the personal safety of Users of the Service or the public -* Protect against legal liability - -## Security of Your Personal Data - -The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security. - -# Detailed Information on the Processing of Your Personal Data - -Service Providers have access to Your Personal Data only to perform their tasks on Our behalf and are obligated not to disclose or use it for any other purpose. - -## Analytics - -We may use third-party Service providers to monitor and analyze the use of our Service. - -* **Google Analytics** - - Google Analytics is a web analytics service offered by Google that tracks and reports website traffic. Google uses the data collected to track and monitor the use of our Service. This data is shared with other Google services. Google may use the collected data to contextualise and personalise the ads of its own advertising network. - - You can opt-out of having made your activity on the Service available to Google Analytics by installing the Google Analytics opt-out browser add-on. The add-on prevents the Google Analytics JavaScript (ga.js, analytics.js and dc.js) from sharing information with Google Analytics about visits activity. - - For more information on the privacy practices of Google, please visit the Google Privacy & Terms web page: - -## Usage, Performance and Miscellaneous - -We may use third-party Service Providers to provide better improvement of our Service. - -* **Invisible reCAPTCHA** - - We use an invisible captcha service named reCAPTCHA. reCAPTCHA is operated by Google. - - The reCAPTCHA service may collect information from You and from Your Device for security purposes. - - The information gathered by reCAPTCHA is held in accordance with the Privacy Policy of Google: - -# GDPR Privacy - -## Legal Basis for Processing Personal Data under GDPR - -We may process Personal Data under the following conditions: - -* **Consent:** You have given Your consent for processing Personal Data for one or more specific purposes. -* **Performance of a contract:** Provision of Personal Data is necessary for the performance of an agreement with You and/or for any pre-contractual obligations thereof including but not limited to transmission of Personal Data to a VEC to be submitted electronically to the FCC. -* **Legal obligations:** Processing Personal Data is necessary for compliance with a legal obligation to which the Company is subject. -* **Vital interests:** Processing Personal Data is necessary in order to protect Your vital interests or of another natural person. -* **Public interests:** Processing Personal Data is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Company. -* **Legitimate interests:** Processing Personal Data is necessary for the purposes of the legitimate interests pursued by the Company. - -In any case, the Company will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract. - -## Your Rights under the GDPR - -The Company undertakes to respect the confidentiality of Your Personal Data and to guarantee You can exercise Your rights. - -You have the right under this Privacy Policy, and by law if You are within the EU, to: - -* **Request access to Your Personal Data.** The right to access, update or delete the information We have on You. Whenever made possible, you can access, update or request deletion of Your Personal Data directly within Your account settings section. If you are unable to perform these actions yourself, please contact Us to assist You. This also enables You to receive a copy of the Personal Data We hold about You. -* **Request correction of the Personal Data that We hold about You.** You have the right to to have any incomplete or inaccurate information We hold about You corrected. The Company is not responsible for the accuracy of any Personal Data held by other entities including the VEC that processes an Amateur Radio License application or the FCC. -* **Object to processing of Your Personal Data.** This right exists where We are relying on a legitimate interest as the legal basis for Our processing and there is something about Your particular situation, which makes You want to object to our processing of Your Personal Data on this ground. You also have the right to object where We are processing Your Personal Data for direct marketing purposes. -* **Request erasure of Your Personal Data.** You have the right to ask Us to delete or remove Personal Data when there is no good reason for Us to continue processing it. -* **Request the transfer of Your Personal Data.** We will provide to You, or to a third-party You have chosen, Your Personal Data in a structured, commonly used, machine-readable format. Please note that this right only applies to automated information which You initially provided consent for Us to use or where We used the information to perform a contract with You. -* **Withdraw Your consent.** You have the right to withdraw Your consent on using your Personal Data. If You withdraw Your consent, We may not be able to provide You with access to certain specific functionalities of the Service. - -## Exercising of Your GDPR Data Protection Rights - -You may exercise Your rights of access, rectification, cancellation and opposition by contacting Us. Please note that we may ask You to verify Your identity before responding to such requests. If You make a request, We will try our best to respond to You as soon as possible. - -You have the right to complain to a Data Protection Authority about Our collection and use of Your Personal Data. For more information, if You are in the European Economic Area (EEA), please contact Your local data protection authority in the EEA. - -# CCPA Privacy - -## Your Rights under the CCPA - -Under this Privacy Policy, and by law if You are a resident of California, You have the following rights: - -* **The right to notice.** You must be properly notified which categories of Personal Data are being collected and the purposes for which the Personal Data is being used. -* **The right to access / the right to request.** The CCPA permits You to request and obtain from the Company information regarding the disclosure of Your Personal Data that has been collected in the past 12 months by the Company or its subsidiaries to a third-party for the third party's direct marketing purposes. -* **The right to say no to the sale of Personal Data.** You also have the right to ask the Company not to sell Your Personal Data to third parties. You can submit such a request by visiting our "Do Not Sell My Personal Information" section or web page. -* **The right to know about Your Personal Data.** You have the right to request and obtain from the Company information regarding the disclosure of the following: - - * The categories of Personal Data collected - * The sources from which the Personal Data was collected - * The business or commercial purpose for collecting or selling the Personal Data - * Categories of third parties with whom We share Personal Data - * The specific pieces of Personal Data we collected about You -* **The right to delete Personal Data.** You also have the right to request the deletion of Your Personal Data that have been collected in the past 12 months. -* **The right not to be discriminated against.** You have the right not to be discriminated against for exercising any of Your Consumer's rights, including by: - - * Denying goods or services to You - * Charging different prices or rates for goods or services, including the use of discounts or other benefits or imposing penalties - * Providing a different level or quality of goods or services to You - * Suggesting that You will receive a different price or rate for goods or services or a different level or quality of goods or services. - -## Exercising Your CCPA Data Protection Rights - -In order to exercise any of Your rights under the CCPA, and if you are a California resident, You can email or call us or visit our "Do Not Sell My Personal Information" section or web page. - -The Company will disclose and deliver the required information free of charge within 45 days of receiving Your verifiable request. The time period to provide the required information may be extended once by an additional 45 days when reasonable necessary and with prior notice. - -## Do Not Sell My Personal Information - -We do not sell personal information. However, the Service Providers we partner with (for example, advertising partners) may use technology on the Service that "sells" personal information as defined by the CCPA law. - -If you wish to opt out of the use of your personal information for interest-based advertising purposes and these potential sales as defined under CCPA law, you may do so by following the instructions below. - -Please note that any opt out is specific to the browser You use. You may need to opt out on every browser that you use. - -### Website - -You can opt out of receiving ads that are personalized as served by our Service Providers by following our instructions presented on the Service: - -* From Our "Cookie Consent" notice banner -* Or from Our "CCPA Opt-out" notice banner -* Or from Our "Do Not Sell My Personal Information" notice banner -* Or from Our "Do Not Sell My Personal Information" link - -The opt out will place a cookie on Your computer that is unique to the browser You use to opt out. If you change browsers or delete the cookies saved by your browser, you will need to opt out again. - -### Mobile Devices - -Your mobile device may give you the ability to opt out of the use of information about the apps you use in order to serve you ads that are targeted to your interests: - -* "Opt out of Interest-Based Ads" or "Opt out of Ads Personalization" on Android devices -* "Limit Ad Tracking" on iOS devices - -You can also stop the collection of location information from Your mobile device by changing the preferences on your mobile device. - -# "Do Not Track" Policy as Required by California Online Privacy Protection Act (CalOPPA) - -Our Service does not respond to Do Not Track signals. - -However, some third party websites do keep track of Your browsing activities. If You are visiting such websites, You can set Your preferences in Your web browser to inform websites that You do not want to be tracked. You can enable or disable DNT by visiting the preferences or settings page of Your web browser. - -# Children's Privacy - -The Service may contain content appropriate for children under the age of 13. As a parent, you should know that through the Service children under the age of 13 may participate in activities that involve the collection or use of personal information. We use reasonable efforts to ensure that before we collect any personal information from a child, the child's parent receives notice of and consents to our personal information practices. - -We also may limit how We collect, use, and store some of the information of Users between 13 and 18 years old. In some cases, this means We will be unable to provide certain functionality of the Service to these Users. If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information. - -We may ask a User to verify its date of birth before collecting any personal information from them. If the User is under the age of 13, the Service will be either blocked or redirected to a parental consent process. - -## Information Collected from Children Under the Age of 13 - -The Company may collect and store persistent identifiers such as cookies or IP addresses from Children without parental consent for the purpose of supporting the internal operation of the Service. - -We may collect and store other personal information about children if this information is submitted by a child with prior parent consent or by the parent or guardian of the child. - -The Company may collect and store the following types of personal information about a child when submitted by a child with prior parental consent or by the parent or guardian of the child: - -* First and/or last name -* Age -* Gender -* Email address -* Telephone number -* Parent's or guardian's name -* Parent's or guardian's email address -* FCC Registration Number -* Exam and Usage Data - -For further details on the information We might collect, You can refer to the "Types of Data Collected" section of this Privacy Policy. We follow our standard Privacy Policy for the disclosure of personal information collected from and about children. - -## Parental Access - -A parent who has already given the Company permission to collect and use his child personal information can, at any time: - -* Review, correct or delete the child's personal information -* Discontinue further collection or use of the child's personal information - -To make such a request, You can write to Us using the contact information provided in this Privacy Policy. - -# Your California Privacy Rights (California's Shine the Light law) - -Under California Civil Code Section 1798 (California's Shine the Light law), California residents with an established business relationship with us can request information once a year about sharing their Personal Data with third parties for the third parties' direct marketing purposes. - -If you'd like to request more information under the California Shine the Light law, and if you are a California resident, You can contact Us using the contact information provided below. - -# California Privacy Rights for Minor Users (California Business and Professions Code Section 22581) - -California Business and Professions Code section 22581 allow California residents under the age of 18 who are registered users of online sites, services or applications to request and obtain removal of content or information they have publicly posted. - -To request removal of such data, and if you are a California resident, You can contact Us using the contact information provided below, and include the email address associated with Your account. - -Be aware that Your request does not guarantee complete or comprehensive removal of content or information posted online and that the law may not permit or require removal in certain circumstances. - -# Links to Other Websites - -Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit. - -We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services. - -# Changes to this Privacy Policy - -We may update our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page. - -We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy. - -You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page. - -# Contact Us - -If you have any questions about this Privacy Policy, You can contact us: - -* By email: support@examtools.org diff --git a/data/en/docs/sidebar.yaml b/data/en/docs/sidebar.yaml new file mode 100644 index 0000000..d99a982 --- /dev/null +++ b/data/en/docs/sidebar.yaml @@ -0,0 +1,115 @@ +- title: Getting Started + pages: + - title: What is ExamTools? + url: /docs/getting-started/what-is-examtools/ + - title: New VE Quickstart + url: /docs/getting-started/new-ve-quickstart/ + - title: New Team Lead Quickstart + url: /docs/getting-started/new-team-lead-quickstart/ + +- title: Account Setup + pages: + - title: Create Your Account + url: /docs/account-setup/create-account/ + - title: Confirm Your VEC Accreditation + url: /docs/account-setup/add-vec-accreditation/ + - title: Add Your Signature + url: /docs/account-setup/add-signature/ + - title: Change Your Callsign + url: /docs/account-setup/callsign-change/ + +- title: Teams + pages: + - title: Teams Overview + url: /docs/teams/teams-overview/ + - title: Become a Team Lead + url: /docs/teams/become-team-lead/ + - title: Create a Team + url: /docs/teams/create-team/ + - title: Edit Team Settings + url: /docs/teams/edit-team/ + - title: Manage Team Administrators + url: /docs/teams/manage-team-admins/ + +- title: Sessions + pages: + - title: Sessions Overview + url: /docs/sessions/sessions-overview/ + - title: Create a Session + url: /docs/sessions/create-session/ + - title: Configure a Session + url: /docs/sessions/configure-session/ + - title: Clone a Session + url: /docs/sessions/clone-session/ + - title: Managing VEs in a Session + url: /docs/sessions/add-ves-to-session/ + - title: Managing Applicants + url: /docs/sessions/managing-applicants/ + +- title: Exam Day + pages: + - title: Start the Session + url: /docs/exam-day/open-session/ + - title: Check In Applicants + url: /docs/exam-day/check-in-applicants/ + - title: Give the Exam + url: /docs/exam-day/give-exam/ + - title: Complete an Applicant + url: /docs/exam-day/complete-applicant/ + - title: Finalize the Session + url: /docs/exam-day/close-session/ + +- title: Paper Exams + pages: + - title: Paper Exams Overview + url: /docs/paper-exams/paper-exams-overview/ + - title: Generate and Print Exams + url: /docs/paper-exams/generate-and-print/ + - title: Grade with GradeCam + url: /docs/paper-exams/grade-with-gradecam/ + - title: Grade Manually + url: /docs/paper-exams/grade-manually/ + - title: Run a Paper Exam Session + url: /docs/paper-exams/run-paper-exam-day/ + - title: Record Paper Exam Results + url: /docs/paper-exams/enter-paper-results/ + +- title: Remote Exams + pages: + - title: Remote Exam Differences + url: /docs/remote-exams/remote-differences/ + +- title: Sandbox and Training + pages: + - title: Run a Training Session + url: /docs/sandbox/training-session/ + +- title: Reference + pages: + - title: Roles and Permissions + url: /docs/reference/roles-and-permissions/ + - title: Environments and URLs + url: /docs/reference/environments/ + - title: Glossary + url: /docs/reference/glossary/ + +- title: Troubleshooting + pages: + - title: Account Issues + url: /docs/troubleshooting/account-issues/ + - title: Session Issues + url: /docs/troubleshooting/session-issues/ + - title: Get Help + url: /docs/troubleshooting/get-help/ + +- title: For Applicants + pages: + - title: Applicant Reference + url: /docs/applicants/applicant-guide/ + +- title: About + pages: + - title: About ExamTools + url: /docs/about/about-examtools/ + - title: Frequently Asked Questions + url: /docs/faq/ diff --git a/data/fonts/.gitkeep b/data/fonts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/data/themes/.gitkeep b/data/themes/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/go.mod b/go.mod index d665e08..38096c9 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,8 @@ -module github.com/wowchemy/starter-book +module github.com/hamstudy/examtools-docs -go 1.14 +go 1.22 -require github.com/wowchemy/wowchemy-hugo-modules/wowchemy v0.0.0-20200902195927-86da39719ccd // indirect +require ( + github.com/colinwilson/lotusdocs v0.3.0 // indirect + github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20800 // indirect +) diff --git a/go.sum b/go.sum deleted file mode 100644 index 9062bcc..0000000 --- a/go.sum +++ /dev/null @@ -1,2 +0,0 @@ -github.com/wowchemy/wowchemy-hugo-modules/wowchemy v0.0.0-20200902195927-86da39719ccd h1:ib4vY08iCxJQlQtf0m/Bz9Ha2HJ83te60V9NCnTR6VE= -github.com/wowchemy/wowchemy-hugo-modules/wowchemy v0.0.0-20200902195927-86da39719ccd/go.mod h1:H22qfH9qj3FWwsk7+bAZpmT24yRGNQURah2/IRwjbn8= diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..c637082 --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,38 @@ +theme: docura + +baseURL: https://docs.exam.tools/ +enableGitInfo: true +enableRobotsTXT: true +defaultContentLanguage: en + +languages: + en: + weight: 1 + label: English + locale: en-US + contentDir: content + title: ExamTools Documentation + params: + description: Documentation for ExamTools — the modern amateur radio exam platform + +module: + mounts: + - source: content-test + target: content + - source: content + target: content + +markup: + highlight: + noClasses: false + goldmark: + renderer: + unsafe: true + parser: + attribute: + block: true + +params: + author: + name: ExamTools + url: https://exam.tools diff --git a/layouts/AGENTS.md b/layouts/AGENTS.md new file mode 100644 index 0000000..3c62148 --- /dev/null +++ b/layouts/AGENTS.md @@ -0,0 +1,47 @@ +# LAYOUTS — Theme overrides + +## OVERVIEW + +Root Hugo layouts that override the Docura theme submodule (`themes/docura/`). This is the active presentation layer — the theme's own templates are mostly shadowed. + +## STRUCTURE + +``` +layouts/ +├── _default/ +│ ├── baseof.html # HTML shell: head, header, main, footer, scripts +│ ├── home.html # Homepage — hardcoded hero + callout cards (ignores content/_index.md) +│ ├── list.html # Section listing pages +│ └── single.html # Article pages; JS adds target="_blank" to external links +└── partials/ + ├── head.html # meta, social cards, custom CSS, Pagefind assets + ├── site-header.html # ExamTools branding, menu, theme toggle, search trigger + ├── site-footer.html # copyright footer + ├── sidebar.html # renders data/en/docs/sidebar.yaml (NOT Hugo page tree) + ├── article-footer.html# git lastmod + sidebar-driven prev/next + ├── stylesheets.html # Hugo pipes: bundle/minify/fingerprint theme + custom CSS + └── scripts.html # theme JS bundle + service worker +``` + +## WHERE TO LOOK + +| Task | Location | +|------|----------| +| Homepage content/cards | `_default/home.html` (hardcoded — edit HTML directly) | +| Sidebar behavior | `partials/sidebar.html` + `data/en/docs/sidebar.yaml` | +| Prev/next page links | `partials/article-footer.html` (driven by sidebar.yaml order) | +| Add custom CSS | `assets/css/examtools-custom.css` (wired in via `stylesheets.html`) | +| Search integration | `head.html` + `site-header.html` (Pagefind UI) | + +## CONVENTIONS + +- Override-by-filename: any file here shadows the same path in `themes/docura/layouts/`. Copy the theme file first, then modify — do not invent new block names. +- Templates read nav from `data/en/docs/sidebar.yaml`, not from Hugo's page collections — template changes touching nav must keep that contract. +- Custom classes use `et-` prefix (e.g. `et-callout`, `et-browse-all`); styles live in `assets/css/examtools-custom.css`. + +## ANTI-PATTERNS + +- Do NOT edit `themes/docura/` in place — it is a pinned git submodule; changes get wiped by `git submodule update`. +- Do NOT route homepage content through `content/_index.md` — `home.html` owns the homepage (see root AGENTS.md anti-patterns for the stale-hextra backstory). +- Do NOT hardcode dates in templates — use `.GitInfo` / `.Lastmod` (site runs `enableGitInfo`). +- Pagefind markup is only present in production builds — search-related template bugs won't reproduce under `hugo server`; verify with `hugo --gc --minify && npx pagefind --site public`. diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..f35ac2c --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,13 @@ + + + + {{ partial "head" . }} + + + {{ partial "site-header" . }} + {{ block "main" . }}{{ end }} + {{ partial "site-footer" . }} + + {{ partial "scripts" . }} + + diff --git a/layouts/_default/home.html b/layouts/_default/home.html new file mode 100644 index 0000000..051f122 --- /dev/null +++ b/layouts/_default/home.html @@ -0,0 +1,39 @@ +{{ define "main" }} +
+
+
+ +

ExamTools Documentation

+

The modern platform for administering amateur radio license exams

+ + + + Browse all documentation → + +
+
+
+{{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..23c57ec --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,18 @@ +{{ define "main" }} +
+ {{ $dataLocale := index hugo.Data .Site.Language.Lang }} + {{ if isset $dataLocale .Section }} + {{ partial "sidebar" . }} + {{ end }} +
+
+ {{ partial "article-nav" . }} + {{ partial "article-header" . }} +
+ {{ .Content }} +
+
+ {{ partial "toc" . }} +
+
+{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..0d3fcca --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,21 @@ +{{ define "main" }} +
+ {{ $dataLocale := index hugo.Data .Site.Language.Lang }} + {{ if isset $dataLocale .Section }} + {{ partial "sidebar" . }} + {{ end }} +
+ + {{ partial "toc" . }} +
+
+{{ end }} diff --git a/layouts/partials/article-footer.html b/layouts/partials/article-footer.html new file mode 100644 index 0000000..58afadc --- /dev/null +++ b/layouts/partials/article-footer.html @@ -0,0 +1,66 @@ +{{ $lastMod := .Lastmod.Format "2006-01-02" }} + +{{ $prevPageTitle := "" }} +{{ $nextPageTitle := "" }} +{{ $prevPageHref := "" }} +{{ $nextPageHref := "" }} + +{{ $dataLocale := index hugo.Data .Site.Language.Lang }} +{{ if isset $dataLocale .Section }} + {{ $data := index hugo.Data .Site.Language.Lang .Section "sidebar"}} + {{- $url := split .Permalink "/" -}} + {{- $urlPageSlug := index $url (sub (len $url) 2) -}} + + {{ $isSectionIndex := eq $urlPageSlug .Section }} + {{ $isActivePagePassed := false }} + {{ $isNextPagePassed := false }} + + {{- range $group := $data -}} + {{ if $isNextPagePassed }} + {{break}} + {{ end }} + + {{- range $page := $group.pages -}} + {{- $pageSlug := $page.title | urlize -}} + {{- $isActivePage := or $isSectionIndex (eq $urlPageSlug $pageSlug) -}} + + {{ if $isActivePagePassed }} + {{ $nextPageTitle = $page.title }} + + {{ if eq .Site.Language.Lang .Site.DefaultContentLanguage }} + {{ $nextPageHref = printf "/%s/%s/" $.Section $pageSlug }} + {{ else }} + {{ $nextPageHref = printf "/%s/%s/%s/" $.Site.Language.Lang $.Section $pageSlug }} + {{ end}} + + {{ $isNextPagePassed = true }} + {{break}} + + {{ else if $isActivePage }} + {{ $isActivePagePassed = true }} + + {{ else }} + {{ $prevPageTitle = $page.title }} + + {{ if eq .Site.Language.Lang .Site.DefaultContentLanguage }} + {{ $prevPageHref = printf "/%s/%s/" $.Section $pageSlug }} + {{ else }} + {{ $prevPageHref = printf "/%s/%s/%s/" $.Site.Language.Lang $.Section $pageSlug }} + {{ end}} + + {{ end }} + {{ end}} + {{- end }} +{{ end }} + + diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..337db86 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,41 @@ + + + + + +{{ if .IsHome }}{{ .Site.Title | .RenderString }} · {{ .Site.Params.description | .RenderString }}{{ else }}{{ .Title | .RenderString }} · {{ .Site.Title | .RenderString }}{{ end }} + + + +{{/* Open Graph */}} + + + + + + + +{{/* Twitter/Slack card */}} + + + + + +{{ with .Params.robots -}} + +{{- end }} + +{{ partial "stylesheets" . }} +{{ partial "favicons" . }} +{{ partial "head-meta-theme-colors" . }} +{{ partial "analytics" . }} + +{{ if not .IsHome }} + {{ partial "adsense" . }} +{{ end }} + +{{- $customCSS := resources.Get "css/examtools-custom.css" | minify | fingerprint -}} + + + + diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html new file mode 100644 index 0000000..6e16075 --- /dev/null +++ b/layouts/partials/scripts.html @@ -0,0 +1,15 @@ +{{ $dropdown := resources.Get "js/component/dropdown.js" }} +{{ $colorPreference := resources.Get "js/component/color-preference.js" }} +{{ $articleNav := resources.Get "js/component/article-nav.js" }} +{{ $sidebar := resources.Get "js/component/sidebar.js" }} +{{ $toc := resources.Get "js/component/toc.js" }} +{{ $baseJs := slice $dropdown $colorPreference $articleNav $sidebar $toc | resources.Concat "js/base.js" | minify }} + + + + diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html new file mode 100644 index 0000000..9520980 --- /dev/null +++ b/layouts/partials/sidebar.html @@ -0,0 +1,24 @@ +{{ $data := index hugo.Data .Site.Language.Lang .Section "sidebar" }} + + diff --git a/layouts/partials/site-footer.html b/layouts/partials/site-footer.html new file mode 100644 index 0000000..f48850e --- /dev/null +++ b/layouts/partials/site-footer.html @@ -0,0 +1,11 @@ + diff --git a/layouts/partials/site-header.html b/layouts/partials/site-header.html new file mode 100644 index 0000000..350cef1 --- /dev/null +++ b/layouts/partials/site-header.html @@ -0,0 +1,58 @@ + diff --git a/layouts/partials/stylesheets.html b/layouts/partials/stylesheets.html new file mode 100644 index 0000000..aaa7f5f --- /dev/null +++ b/layouts/partials/stylesheets.html @@ -0,0 +1,7 @@ +{{ if .IsHome }} + {{- $css := slice (resources.Get "css/reset.css") (resources.Get "css/theme.css") (resources.Get "css/layout.css") (resources.Get "css/layout-site-header.css") (resources.Get "css/layout-site-footer.css") (resources.Get "css/home/home.css") (resources.Get "css/font.css") (resources.Get "css/icon.css") (resources.Get "css/component/button.css") (resources.Get "css/component/dropdown.css") | resources.Concat "assets/css/home.css" | minify | fingerprint }} + +{{ else }} + {{- $css := slice (resources.Get "css/reset.css") (resources.Get "css/theme.css") (resources.Get "css/layout.css") (resources.Get "css/layout-site-header.css") (resources.Get "css/layout-site-footer.css") (resources.Get "css/docs/article.css") (resources.Get "css/docs/sidebar.css") (resources.Get "css/docs/toc.css") (resources.Get "css/font.css") (resources.Get "css/icon.css") (resources.Get "css/component/button.css") (resources.Get "css/component/dropdown.css") (resources.Get "css/component/chroma.css") | resources.Concat "assets/css/docs.css" | minify | fingerprint }} + +{{ end }} diff --git a/maintainer.md b/maintainer.md index c263574..b2999c5 100644 --- a/maintainer.md +++ b/maintainer.md @@ -1,320 +1,145 @@ # Instructions for Contributors and Maintainers -Here's a checklist for Contributors and Maintainers, using [Github workflow](https://guides.github.com/introduction/flow/). -The examples all assume you've [added a github ssh key](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account). +This guide covers how to contribute to the ExamTools documentation and how maintainers publish changes. - - +## Contents - +- [Setup](#setup) +- [Branch and edit workflow](#branch-and-edit-workflow) +- [Preview locally](#preview-locally) +- [Front matter reference](#front-matter-reference) +- [Submit a pull request](#submit-a-pull-request) +- [Maintainer: review and merge](#maintainer-review-and-merge) +- [Maintainer: publish](#maintainer-publish) -- [Contributors and Maintainers Defined](#contributors-and-maintainers-defined) -- [Fork the repo](#fork-the-repo) -- [Add a ref to the upstream repo](#add-a-ref-to-the-upstream-repo) -- [Make a feature branch](#make-a-feature-branch) -- [Make your changes](#make-your-changes) - * [Notes about the front matter metadata](#notes-about-the-front-matter-metadata) -- [Test your changes](#test-your-changes) -- [Commit your changes and push to your repo](#commit-your-changes-and-push-to-your-repo) -- [Submit a Pull Request](#submit-a-pull-request) -- [Alternative approach: Editing in the browser on GithHub](#alternative-approach-editing-in-the-browser-on-githhub) -- [Maintainer Only: Review and Merge Pull Request](#maintainer-only-review-and-merge-pull-request) -- [Maintainer Only: Publish](#maintainer-only-publish) - - - -## Contributors and Maintainers Defined - -Anybody can be a *Contributor*. Follow the next steps to fork the repo, make a feature branch and submit a pull request (PR). - -*Maintainers* have permissions to review and merge PRs into the master branch and to publish to the release branch. - -## Fork the repo - -If you are new to maintaining the docs, perform this one-time task: - -Fork your own copy of the repo. In the examples below, I call it `my-repo`. - -Go to https://github.com/HamStudy/examtools-docs and click Fork. +--- -![Make a fork](./images/fork.png "make a fork") +## Setup -Once you've forked it, you can clone it locally to your desktop, following the instructions provided. +### One-time setup -```text -$ git clone git@github.com:myname/examtools-docs.git my-repo -$ cd my-repo -``` +1. **Install Hugo (extended).** The minimum required version is listed in `netlify.toml`. -Your clone of the repo will have the default remote name of `origin`. + On macOS with Homebrew: + ```bash + brew install hugo + ``` -```text -$ git remote -v -origin git@github.com:myname/examtools-docs.git (fetch) -origin git@github.com:myname/examtools-docs.git (push) -``` + On Linux, download the extended binary from the [Hugo releases page](https://github.com/gohugoio/hugo/releases). -## Add a ref to the upstream repo +2. **Clone the repo and initialise the theme submodule:** -Add a reference to upstream so you can keep your fork in sync. + ```bash + git clone git@github.com:HamStudy/examtools-docs.git + cd examtools-docs + git submodule update --init --recursive + ``` -```text -$ git remote add upstream git@github.com:HamStudy/examtools-docs.git -$ git remote -v -origin git@github.com:myname/examtools-docs.git (fetch) -origin git@github.com:myname/examtools-docs.git (push) -upstream git@github.com:HamStudy/examtools-docs.git (fetch) -upstream git@github.com:HamStudy/examtools-docs.git (push) -``` +3. **Fork the repo** if you do not have write access. Go to https://github.com/HamStudy/examtools-docs and click **Fork**, then clone your fork. -Any time you want to get up-to-date with the latest changes, `git pull upstream master`: - -```text -$ git checkout master -$ git pull upstream master -remote: Enumerating objects: 1, done. -remote: Counting objects: 100% (1/1), done. -remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 -Unpacking objects: 100% (1/1), done. -From github.com:HamStudy/examtools-docs - * branch master -> FETCH_HEAD - 03a0672..fca28f5 master -> upstream/master -Updating 03a0672..fca28f5 -Fast-forward - content/docs/cve/_index.md | 2 -- - 1 file changed, 2 deletions(-) -``` +### Keeping the theme up to date -To keep your fork of the repo current, you can push to it (note that the first time you use this shortcut flavor -of `git push` you'll be prompted to do a longer command: `git push --set-upstream origin master`. -From then on just `git push` pushes to your repo). +The Docura theme is a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) pinned to a specific commit. To update it: -```text -$ git push -Total 0 (delta 0), reused 0 (delta 0) -To github.com:myname/examtools-docs.git - 03a0672..fca28f5 master -> master +```bash +git submodule update --remote themes/docura +git add themes/docura +git commit -m "Update Docura theme to latest" ``` -## Make a feature branch - -Now that your fork is current with the master branch, make a new feature branch to hold your changes. - -```text -$ git checkout -b my_feature -Switched to a new branch 'my_feature' -``` +--- -## Make your changes +## Branch and edit workflow -The web site content is in the `content` directory tree. +1. Make sure your fork/clone is current with upstream: -Do some editing of the content files as needed. For example, I want to make some changes to the ARRL CVE checklist: + ```bash + git checkout master + git pull upstream master # or: git pull origin master + ``` -```text -$ emacs content/docs/cve/arrl/checklist.md -``` +2. Create a feature branch: -### Notes about the front matter metadata + ```bash + git checkout -b my-edit + ``` -Hugo uses the front matter tags to do things like sort the documents in the lefthand menu (`weight` tag) -and to set the last update date of the file (`date` tag). However, if you leave the `date` out, then -it will be set to the date of the git commit for the file. This is probably what you wanted and eliminates -the need to manually update this field every time you edit a given file. If you want to force the date -to be something other than the git commit date, then set the tag explictly. +3. Edit or create Markdown files in `content/docs/`. See [Front matter reference](#front-matter-reference) below. -This is especially useful for the [RSS feed](https://docs.exam.tools/index.xml) since feed readers will notify -subscribers of new updates automatically: +4. Preview your changes locally (see below), then commit and push: -![rss feed](./images/rss.png "rss feed") + ```bash + git add content/docs/your-changed-file.md + git commit -m 'Short description of change' + git push --set-upstream origin my-edit + ``` -Here's an example of the front matter for one file with the date commented out: -``` --- -# Title, summary, and page position. -linktitle: VE Roles and Permissions in an ExamTools session -weight: 30 -featured: false -draft: false -icon: book-reader -icon_pack: fas - -# Page metadata. -title: VE Roles and Permissions in an ExamTools session -#date: "2012-12-11T00:00:00Z" -type: book # Do not modify. ---- - -``` -## Test your changes +## Preview locally -One time: See the [instructions](https://wowchemy.com/docs/install-locally/) for installing Hugo locally. - -For example, on a Mac with homebrew. -``` -brew install git golang hugo +```bash +hugo server ``` -Then run the Hugo server to view your newly updated site: - -```text -$ hugo server -hugo: downloading modules … -hugo: collected modules in 2778 ms - - | EN --------------------+----- - Pages | 31 - Paginator pages | 0 - Non-page files | 8 - Static files | 5 - Processed images | 19 - Aliases | 4 - Sitemaps | 1 - Cleaned | 0 - -Built in 292 ms -Watching for changes in /Users/myuser/my-repo/{assets,content,data,static} -Watching for config changes in /Users/myuser/my-repo/config/_default, /Users/myuser/my-repo/go.mod -Environment: "development" -Serving pages from memory -Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender -Web Server is available at //localhost:1313/ (bind address 127.0.0.1) -Press Ctrl+C to stop -``` +Or use the provided script for a stricter preview (disables fast render, shows i18n warnings): -And open http://localhost:1313/ in your browser. - -Rinse and repeat until your changes look right. - -You can also run `./view.sh ` which does `hugo server --disableFastRender --i18n-warnings -p 1316`. - - -## Commit your changes and push to your repo - -```text -$ git status -On branch my_feature -Changes not staged for commit: - (use "git add ..." to update what will be committed) - (use "git restore ..." to discard changes in working directory) - modified: _index.md - -no changes added to commit (use "git add" and/or "git commit -a") -$ git add _index.md -$ git commit -m 'a useful short description here' -[my_feature 7701f9c] a useful short description here - 1 file changed, 37 insertions(+), 34 deletions(-) -$ git push -fatal: The current branch my_feature has no upstream branch. -To push the current branch and set the remote as upstream, use - - git push --set-upstream origin my_feature -$ git push --set-upstream origin my_feature -Enumerating objects: 13, done. -Counting objects: 100% (13/13), done. -Delta compression using up to 8 threads -Compressing objects: 100% (6/6), done. -Writing objects: 100% (7/7), 1.82 KiB | 1.82 MiB/s, done. -Total 7 (delta 3), reused 0 (delta 0) -remote: Resolving deltas: 100% (3/3), completed with 3 local objects. -To github.com:myname/examtools-docs.git - 700e65d..7701f9c my_feature -> my_feature -Enumerating objects: 11, done. -Counting objects: 100% (11/11), done. -Delta compression using up to 8 threads -Compressing objects: 100% (6/6), done. -Writing objects: 100% (6/6), 1.30 KiB | 1.30 MiB/s, done. -Total 6 (delta 2), reused 0 (delta 0) -remote: Resolving deltas: 100% (2/2), completed with 2 local objects. -remote: -remote: Create a pull request for 'my_feature' on GitHub by visiting: -remote: https://github.com/myname/examtools-docs/pull/new/my_feature -remote: -To github.com:myname/examtools-docs.git - * [new branch] my_feature -> my_feature -Branch 'my_feature' set up to track remote branch 'my_feature' from 'origin'. +```bash +./view.sh ``` -## Submit a Pull Request +Open http://localhost:1316/ in your browser. Hugo rebuilds automatically when you save a file. -Now go to the above URL in your browser and you can submit a PR. +> **Note:** Search (Pagefind) is not available during `hugo server`. To test search locally, do a full build and run Pagefind manually: +> ```bash +> hugo --gc --minify && npx pagefind --site public +> ``` +> Then serve the `public/` directory with any static file server. -## Alternative approach: Editing in the browser on GithHub - -You can also edit pages directly in the web browser on github.com. - -A drawback of this approach is you can't test your updates locally via Hugo before submitting them, however a preview -of the site is generated as part of the Pull Request checks. You can click on the **netlify/examtools-docs/deploy-preview** -Details to see it. - -See the following checklist for an example of this workflow: - -1. Navigate to the page you want to edit and click the edit pencil icon: - -![edit the markdown file](./images/browser-edit.png "edit the markdown file") - -2. Since you are making changes to a project that you don't have write access to, this will make a fork of the repo under - your GitHub account and start a new feature branch: - -![create a new fork](./images/browser-edit-new-fork.png "create a new fork") - -3. Now you can make your changes and then scroll down to the bottom to commit them: - -![commit browser-based edit](./images/browser-commit.png "commit browser-based edit") - -4. You can now create a Pull Request (PR) which submits your edit to the hamstudy/examtools-docs project: - -![submit PR](./images/browser-pr.png "submit PR") - -5. After a few minutes, the PR will have run the various checks. One of those generates a preview web site for you to - see if your edits look right: - -![PR Conversation page with netlify preview circled](./images/netlify.png "netlify preview") - - -At this point, if you are happy with your changes, the ball is in the court of the examtools-docs maintainers. They'll be -notified of the PR and will either merge and deploy it or ask you for some further edits. - -In the latter case, or if you discover that you didn't edit it quite right and need to tweak your changes, -you can edit some more and submit another commit on the same branch. -This is a little complicated: - -If you clicked the Netlify Preview link, click Back in the browser so you are back at the PR Conversation screen. +--- -1. On the line with the green Open icon, click on the blue link for the "from" _repo_:_patch_. This will put you - in your forked repo's feature branch for the PR you just submitted: +## Front matter reference -![Jump to my repo/patch feature branch](./images/browser-pr-jump-to-repo.png "jump to my feature branch") +Every content file requires front matter at the top of the file. Minimal example: -2. You'll have to navigate to your copy of the file you were editing, and again click the pencil icon. +```yaml +--- +title: Page Title +weight: 3 +--- +``` -![Edit your copy](./images/browser-2nd-edit.png "edit your copy") +| Field | Required | Description | +|-------|----------|-------------| +| `title` | Yes | The page title shown in the sidebar and `

` | +| `weight` | Yes | Controls sidebar order within the section (lower = higher) | +| `draft` | No | Set to `true` to hide a page from the published site | -3. Once done editing, scroll down to the bottom and Commit Changes for this edit directly to the existing branch: +The `date` and `lastmod` fields are populated automatically from the git commit history and do not need to be set manually. -![Commit your edit](./images/browser-2nd-commit.png "commit your edit") +--- -4. Now navigate back to your PR on the main http://github.com/hamstudy/examtools-docs/pulls repo and you'll see - that your 2nd edit commit has been added, the checks have run again, and, you can again click the Netlify - details to see your changes. +## Submit a pull request -![2nd commit in PR](./images/browser-2nd-commit-pr.png "2nd commit") +1. Push your branch to your fork. +2. Go to https://github.com/HamStudy/examtools-docs and open a pull request from your branch. +3. A Netlify deploy preview is generated automatically — click the **Details** link next to the `netlify/examtools-docs/deploy-preview` check to preview the live site. +4. If maintainers request changes, push additional commits to the same branch. +--- +## Maintainer: review and merge -## Maintainer Only: Review and Merge Pull Request +Review the PR, request changes if needed, then merge to `master`. -As a maintainer you can review the PR, request changes, approve, etc. and then merge it to master. +--- -## Maintainer Only: Publish +## Maintainer: publish -Publishing to https://docs.exam.tools/ only happens when you push the `master` to the `release` branch. +Publishing to https://docs.exam.tools/ happens when `master` is pushed to the `release` branch: -```text -cd my-repo +```bash git checkout master -git pull upstream master -git push upstream master:release +git pull origin master +git push origin master:release ``` diff --git a/netlify.toml b/netlify.toml index 4d5287d..3a656c7 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,26 +1,23 @@ [build] - command = "hugo --gc --minify -b $URL" + command = "git submodule update --init --recursive && hugo --gc --minify -b $URL && npx pagefind --site public" publish = "public" [build.environment] - HUGO_VERSION = "0.74.3" + HUGO_VERSION = "0.161.1" + HUGO_EXTENDED = "true" HUGO_ENABLEGITINFO = "true" + NODE_VERSION = "20" [context.production.environment] HUGO_ENV = "production" [context.deploy-preview] - command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL" + command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL && npx pagefind --site public" [context.branch-deploy] - command = "hugo --gc --minify -b $DEPLOY_PRIME_URL" + command = "hugo --gc --minify -b $DEPLOY_PRIME_URL && npx pagefind --site public" [[headers]] for = "*.webmanifest" [headers.values] Content-Type = "application/manifest+json; charset=UTF-8" - -[[headers]] - for = "index.xml" - [headers.values] - Content-Type = "application/rss+xml" diff --git a/skills-lock.json b/skills-lock.json new file mode 100644 index 0000000..191e6b7 --- /dev/null +++ b/skills-lock.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "skills": { + "accessible-technical-writing": { + "source": "hamstudy/documentation-skills", + "sourceType": "github", + "skillPath": "skills/accessible-technical-writing/SKILL.md", + "computedHash": "13b628cba5ee43938b94cb209fb30ef1c1d0547a4e6737b7b5ad0f38fdfb0454" + }, + "documentation": { + "source": "hamstudy/documentation-skills", + "sourceType": "github", + "skillPath": "skills/documentation/SKILL.md", + "computedHash": "72842d603897930998639bfd6e9d002a4eeb1f45080ac885495a56c4e843dbe5" + }, + "hugo": { + "source": "hamstudy/gohugo-skill", + "sourceType": "github", + "skillPath": "SKILL.md", + "computedHash": "b727ad59237e5008cdd295b25c964482b5fbfd1ff13b2b2579a9a9e46b59e886" + } + } +} diff --git a/static/admin/config.yml b/static/admin/config.yml deleted file mode 100644 index 2fc6332..0000000 --- a/static/admin/config.yml +++ /dev/null @@ -1,37 +0,0 @@ -backend: - name: git-gateway - branch: master -media_folder: 'static/media/' -public_folder: 'media' -collections: - - name: pages - label: "Pages" - files: - - file: "content/privacy.md" - label: "Privacy Policy" - name: "privacy" - fields: - - {label: "Title", name: "title", widget: "string"} - - {label: "Publish Date", name: "date", widget: "datetime"} - - {label: "Subtitle", name: "subtitle", widget: "string", required: false} - - {label: "Summary", name: "summary", widget: "markdown", required: false} - - label: "Draft" - name: "draft" - required: false - widget: "boolean" - default: false - - {label: "Body", name: "body", widget: "markdown"} - - file: "content/terms.md" - label: "Terms" - name: "terms" - fields: - - {label: "Title", name: "title", widget: "string"} - - {label: "Publish Date", name: "date", widget: "datetime"} - - {label: "Subtitle", name: "subtitle", widget: "string", required: false} - - {label: "Summary", name: "summary", widget: "markdown", required: false} - - label: "Draft" - name: "draft" - required: false - widget: "boolean" - default: false - - {label: "Body", name: "body", widget: "markdown"} diff --git a/static/admin/index.html b/static/admin/index.html deleted file mode 100644 index f0934d7..0000000 --- a/static/admin/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Content Manager | Academic - - - - - - - - diff --git a/static/images/examtools_logo.svg b/static/images/examtools_logo.svg new file mode 100644 index 0000000..9801fe4 --- /dev/null +++ b/static/images/examtools_logo.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/icon.png b/static/images/icon.png new file mode 100644 index 0000000..6c184d7 Binary files /dev/null and b/static/images/icon.png differ diff --git a/static/images/logo.png b/static/images/logo.png new file mode 100644 index 0000000..6c184d7 Binary files /dev/null and b/static/images/logo.png differ diff --git a/static/img/classExam2.svg b/static/img/classExam2.svg new file mode 100644 index 0000000..722211e --- /dev/null +++ b/static/img/classExam2.svg @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/docs/account-setup/dashboard-getting-started.png b/static/img/docs/account-setup/dashboard-getting-started.png new file mode 100644 index 0000000..4832a17 Binary files /dev/null and b/static/img/docs/account-setup/dashboard-getting-started.png differ diff --git a/static/img/docs/account-setup/homepage-sign-in.png b/static/img/docs/account-setup/homepage-sign-in.png new file mode 100644 index 0000000..f78950b Binary files /dev/null and b/static/img/docs/account-setup/homepage-sign-in.png differ diff --git a/static/img/docs/account-setup/profile-ready-state.png b/static/img/docs/account-setup/profile-ready-state.png new file mode 100644 index 0000000..5237842 Binary files /dev/null and b/static/img/docs/account-setup/profile-ready-state.png differ diff --git a/static/img/docs/account-setup/profile-saved-signature.png b/static/img/docs/account-setup/profile-saved-signature.png new file mode 100644 index 0000000..a1e6399 Binary files /dev/null and b/static/img/docs/account-setup/profile-saved-signature.png differ diff --git a/static/img/docs/account-setup/profile-signature-canvas.png b/static/img/docs/account-setup/profile-signature-canvas.png new file mode 100644 index 0000000..1c97ab1 Binary files /dev/null and b/static/img/docs/account-setup/profile-signature-canvas.png differ diff --git a/static/img/docs/account-setup/profile-vec-credentials-collapsed.png b/static/img/docs/account-setup/profile-vec-credentials-collapsed.png new file mode 100644 index 0000000..d5ca64a Binary files /dev/null and b/static/img/docs/account-setup/profile-vec-credentials-collapsed.png differ diff --git a/static/img/docs/account-setup/profile-vec-credentials-expanded.png b/static/img/docs/account-setup/profile-vec-credentials-expanded.png new file mode 100644 index 0000000..862fb40 Binary files /dev/null and b/static/img/docs/account-setup/profile-vec-credentials-expanded.png differ diff --git a/static/img/docs/account-setup/profile-verify-callsign-dialog.png b/static/img/docs/account-setup/profile-verify-callsign-dialog.png new file mode 100644 index 0000000..a99ab4e Binary files /dev/null and b/static/img/docs/account-setup/profile-verify-callsign-dialog.png differ diff --git a/static/img/docs/account-setup/profile-verify-callsign.png b/static/img/docs/account-setup/profile-verify-callsign.png new file mode 100644 index 0000000..a195f63 Binary files /dev/null and b/static/img/docs/account-setup/profile-verify-callsign.png differ diff --git a/static/img/docs/paper-exams/paper-generate-options.png b/static/img/docs/paper-exams/paper-generate-options.png new file mode 100644 index 0000000..311ce5b Binary files /dev/null and b/static/img/docs/paper-exams/paper-generate-options.png differ diff --git a/static/img/docs/paper-exams/paper-generate-page.png b/static/img/docs/paper-exams/paper-generate-page.png new file mode 100644 index 0000000..9e774ed Binary files /dev/null and b/static/img/docs/paper-exams/paper-generate-page.png differ diff --git a/static/img/docs/paper-exams/paper-gradecam-form.png b/static/img/docs/paper-exams/paper-gradecam-form.png new file mode 100644 index 0000000..c98bbf4 Binary files /dev/null and b/static/img/docs/paper-exams/paper-gradecam-form.png differ diff --git a/static/img/docs/paper-exams/paper-gradecam-toolbar.png b/static/img/docs/paper-exams/paper-gradecam-toolbar.png new file mode 100644 index 0000000..504d732 Binary files /dev/null and b/static/img/docs/paper-exams/paper-gradecam-toolbar.png differ diff --git a/static/img/docs/sessions/session-add-applicant.png b/static/img/docs/sessions/session-add-applicant.png new file mode 100644 index 0000000..33e042a Binary files /dev/null and b/static/img/docs/sessions/session-add-applicant.png differ diff --git a/static/img/docs/sessions/session-add-ve-dialog.png b/static/img/docs/sessions/session-add-ve-dialog.png new file mode 100644 index 0000000..df04fc7 Binary files /dev/null and b/static/img/docs/sessions/session-add-ve-dialog.png differ diff --git a/static/img/docs/sessions/session-applicant-complete.png b/static/img/docs/sessions/session-applicant-complete.png new file mode 100644 index 0000000..0ddbc44 Binary files /dev/null and b/static/img/docs/sessions/session-applicant-complete.png differ diff --git a/static/img/docs/sessions/session-applicant-list.png b/static/img/docs/sessions/session-applicant-list.png new file mode 100644 index 0000000..dfae95d Binary files /dev/null and b/static/img/docs/sessions/session-applicant-list.png differ diff --git a/static/img/docs/sessions/session-check-in-badge.png b/static/img/docs/sessions/session-check-in-badge.png new file mode 100644 index 0000000..3c3ad26 Binary files /dev/null and b/static/img/docs/sessions/session-check-in-badge.png differ diff --git a/static/img/docs/sessions/session-clone-session.png b/static/img/docs/sessions/session-clone-session.png new file mode 100644 index 0000000..2515318 Binary files /dev/null and b/static/img/docs/sessions/session-clone-session.png differ diff --git a/static/img/docs/sessions/session-create-general.png b/static/img/docs/sessions/session-create-general.png new file mode 100644 index 0000000..2af2e94 Binary files /dev/null and b/static/img/docs/sessions/session-create-general.png differ diff --git a/static/img/docs/sessions/session-create-locations.png b/static/img/docs/sessions/session-create-locations.png new file mode 100644 index 0000000..8159d0d Binary files /dev/null and b/static/img/docs/sessions/session-create-locations.png differ diff --git a/static/img/docs/sessions/session-create-validation.png b/static/img/docs/sessions/session-create-validation.png new file mode 100644 index 0000000..5f5d39e Binary files /dev/null and b/static/img/docs/sessions/session-create-validation.png differ diff --git a/static/img/docs/sessions/session-download-menu.png b/static/img/docs/sessions/session-download-menu.png new file mode 100644 index 0000000..bb408b1 Binary files /dev/null and b/static/img/docs/sessions/session-download-menu.png differ diff --git a/static/img/docs/sessions/session-edit-schedule.png b/static/img/docs/sessions/session-edit-schedule.png new file mode 100644 index 0000000..38215f0 Binary files /dev/null and b/static/img/docs/sessions/session-edit-schedule.png differ diff --git a/static/img/docs/sessions/session-exam-interface.png b/static/img/docs/sessions/session-exam-interface.png new file mode 100644 index 0000000..4f1353c Binary files /dev/null and b/static/img/docs/sessions/session-exam-interface.png differ diff --git a/static/img/docs/sessions/session-finalize-button.png b/static/img/docs/sessions/session-finalize-button.png new file mode 100644 index 0000000..9dab2ec Binary files /dev/null and b/static/img/docs/sessions/session-finalize-button.png differ diff --git a/static/img/docs/sessions/session-finalize-dialog.png b/static/img/docs/sessions/session-finalize-dialog.png new file mode 100644 index 0000000..1fb6cc5 Binary files /dev/null and b/static/img/docs/sessions/session-finalize-dialog.png differ diff --git a/static/img/docs/sessions/session-grade-exam.png b/static/img/docs/sessions/session-grade-exam.png new file mode 100644 index 0000000..9453d85 Binary files /dev/null and b/static/img/docs/sessions/session-grade-exam.png differ diff --git a/static/img/docs/sessions/session-list.png b/static/img/docs/sessions/session-list.png new file mode 100644 index 0000000..6267b49 Binary files /dev/null and b/static/img/docs/sessions/session-list.png differ diff --git a/static/img/docs/sessions/session-manage-dropdown.png b/static/img/docs/sessions/session-manage-dropdown.png new file mode 100644 index 0000000..2bc38d7 Binary files /dev/null and b/static/img/docs/sessions/session-manage-dropdown.png differ diff --git a/static/img/docs/sessions/session-open-start.png b/static/img/docs/sessions/session-open-start.png new file mode 100644 index 0000000..44b5415 Binary files /dev/null and b/static/img/docs/sessions/session-open-start.png differ diff --git a/static/img/docs/sessions/session-pin-menu.png b/static/img/docs/sessions/session-pin-menu.png new file mode 100644 index 0000000..eaf4d42 Binary files /dev/null and b/static/img/docs/sessions/session-pin-menu.png differ diff --git a/static/img/docs/sessions/session-reopen-warning.png b/static/img/docs/sessions/session-reopen-warning.png new file mode 100644 index 0000000..d220b3f Binary files /dev/null and b/static/img/docs/sessions/session-reopen-warning.png differ diff --git a/static/img/docs/sessions/session-signatures-warning.png b/static/img/docs/sessions/session-signatures-warning.png new file mode 100644 index 0000000..e9c2481 Binary files /dev/null and b/static/img/docs/sessions/session-signatures-warning.png differ diff --git a/static/img/docs/sessions/session-signing-cert.png b/static/img/docs/sessions/session-signing-cert.png new file mode 100644 index 0000000..d5f6f7e Binary files /dev/null and b/static/img/docs/sessions/session-signing-cert.png differ diff --git a/static/img/docs/sessions/session-signing-indicator.png b/static/img/docs/sessions/session-signing-indicator.png new file mode 100644 index 0000000..afd5470 Binary files /dev/null and b/static/img/docs/sessions/session-signing-indicator.png differ diff --git a/static/img/docs/sessions/session-signing-page.png b/static/img/docs/sessions/session-signing-page.png new file mode 100644 index 0000000..0b80b73 Binary files /dev/null and b/static/img/docs/sessions/session-signing-page.png differ diff --git a/static/img/docs/sessions/session-ve-list.png b/static/img/docs/sessions/session-ve-list.png new file mode 100644 index 0000000..2687a07 Binary files /dev/null and b/static/img/docs/sessions/session-ve-list.png differ diff --git a/static/img/docs/sessions/session-ve-sign-dialog.png b/static/img/docs/sessions/session-ve-sign-dialog.png new file mode 100644 index 0000000..bb47c9c Binary files /dev/null and b/static/img/docs/sessions/session-ve-sign-dialog.png differ diff --git a/static/img/docs/teams/teams-add-location-dialog.png b/static/img/docs/teams/teams-add-location-dialog.png new file mode 100644 index 0000000..4c327aa Binary files /dev/null and b/static/img/docs/teams/teams-add-location-dialog.png differ diff --git a/static/img/docs/teams/teams-admin-edit-dialog.png b/static/img/docs/teams/teams-admin-edit-dialog.png new file mode 100644 index 0000000..586d15e Binary files /dev/null and b/static/img/docs/teams/teams-admin-edit-dialog.png differ diff --git a/static/img/docs/teams/teams-delegated-privileges-dialog.png b/static/img/docs/teams/teams-delegated-privileges-dialog.png new file mode 100644 index 0000000..e88fd71 Binary files /dev/null and b/static/img/docs/teams/teams-delegated-privileges-dialog.png differ diff --git a/static/img/docs/teams/teams-list-new-button.png b/static/img/docs/teams/teams-list-new-button.png new file mode 100644 index 0000000..e8a11e5 Binary files /dev/null and b/static/img/docs/teams/teams-list-new-button.png differ diff --git a/static/img/docs/teams/teams-manage-administrators.png b/static/img/docs/teams/teams-manage-administrators.png new file mode 100644 index 0000000..bc3d98c Binary files /dev/null and b/static/img/docs/teams/teams-manage-administrators.png differ diff --git a/static/img/docs/teams/teams-manage-contact-email.png b/static/img/docs/teams/teams-manage-contact-email.png new file mode 100644 index 0000000..b23a32e Binary files /dev/null and b/static/img/docs/teams/teams-manage-contact-email.png differ diff --git a/static/img/docs/teams/teams-manage-delegated-privileges.png b/static/img/docs/teams/teams-manage-delegated-privileges.png new file mode 100644 index 0000000..aa22454 Binary files /dev/null and b/static/img/docs/teams/teams-manage-delegated-privileges.png differ diff --git a/static/img/docs/teams/teams-manage-inline-edit.png b/static/img/docs/teams/teams-manage-inline-edit.png new file mode 100644 index 0000000..f6f145d Binary files /dev/null and b/static/img/docs/teams/teams-manage-inline-edit.png differ diff --git a/static/img/docs/teams/teams-new-dialog.png b/static/img/docs/teams/teams-new-dialog.png new file mode 100644 index 0000000..cf744e6 Binary files /dev/null and b/static/img/docs/teams/teams-new-dialog.png differ diff --git a/static/img/examtools_logo_ss.png b/static/img/examtools_logo_ss.png new file mode 100644 index 0000000..2651712 Binary files /dev/null and b/static/img/examtools_logo_ss.png differ diff --git a/static/img/examtools_logo_ss.svg b/static/img/examtools_logo_ss.svg new file mode 100644 index 0000000..129a8e5 --- /dev/null +++ b/static/img/examtools_logo_ss.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/hamradio.svg b/static/img/hamradio.svg new file mode 100644 index 0000000..94db9cd --- /dev/null +++ b/static/img/hamradio.svg @@ -0,0 +1,363 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/htpano.svg b/static/img/htpano.svg new file mode 100644 index 0000000..92d8bd2 --- /dev/null +++ b/static/img/htpano.svg @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/icon/favicon.ico b/static/img/icon/favicon.ico new file mode 100644 index 0000000..6474ace Binary files /dev/null and b/static/img/icon/favicon.ico differ diff --git a/static/img/icon/icon-16.png b/static/img/icon/icon-16.png new file mode 100644 index 0000000..39dc138 Binary files /dev/null and b/static/img/icon/icon-16.png differ diff --git a/static/img/icon/icon-180.png b/static/img/icon/icon-180.png new file mode 100644 index 0000000..47e2262 Binary files /dev/null and b/static/img/icon/icon-180.png differ diff --git a/static/img/icon/icon-32.png b/static/img/icon/icon-32.png new file mode 100644 index 0000000..db0bced Binary files /dev/null and b/static/img/icon/icon-32.png differ diff --git a/static/img/icon/icon-512.png b/static/img/icon/icon-512.png new file mode 100644 index 0000000..c3b33d2 Binary files /dev/null and b/static/img/icon/icon-512.png differ diff --git a/static/img/sandcastle-drawing.svg b/static/img/sandcastle-drawing.svg new file mode 100644 index 0000000..90c0ce7 --- /dev/null +++ b/static/img/sandcastle-drawing.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/towers2.svg b/static/img/towers2.svg new file mode 100644 index 0000000..3d13370 --- /dev/null +++ b/static/img/towers2.svg @@ -0,0 +1,805 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/womanham.svg b/static/img/womanham.svg new file mode 100644 index 0000000..d068237 --- /dev/null +++ b/static/img/womanham.svg @@ -0,0 +1,23 @@ + + + + + diff --git a/static/manifest.json b/static/manifest.json new file mode 100644 index 0000000..e6b0307 --- /dev/null +++ b/static/manifest.json @@ -0,0 +1,31 @@ +{ + "short_name": "ExamTools Docs", + "name": "ExamTools Documentation", + "description": "End-user reference for ExamTools — the modern amateur radio exam platform.", + "start_url": "/?source=pwa", + "display": "standalone", + "icons": [ + { + "src": "/img/icon/icon-16.png", + "type": "image/png", + "sizes": "16x16" + }, + { + "src": "/img/icon/icon-32.png", + "type": "image/png", + "sizes": "32x32" + }, + { + "src": "/img/icon/icon-180.png", + "type": "image/png", + "sizes": "180x180" + }, + { + "src": "/img/icon/icon-512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "background_color": "#0d1b2a", + "theme_color": "#0d1b2a" +} diff --git a/themes/docura b/themes/docura new file mode 160000 index 0000000..398ed48 --- /dev/null +++ b/themes/docura @@ -0,0 +1 @@ +Subproject commit 398ed48950f67bbe39bdd02dd8c92c3391516e91 diff --git a/view.sh b/view.sh index abe88cf..6ad3b74 100755 --- a/view.sh +++ b/view.sh @@ -1,3 +1,11 @@ #!/usr/bin/env bash -hugo mod clean -hugo server --disableFastRender --i18n-warnings -p 1316 + +read -r -p "Include search (Pagefind)? Requires a full build — no live reload. [y/N] " response +if [[ "${response,,}" == "y" ]]; then + hugo --gc --minify && npx pagefind --site public + echo "Serving at http://localhost:1316/ — press Ctrl+C to stop" + npx serve -l 1316 public +else + hugo mod clean + hugo server --disableFastRender --i18n-warnings -p 1316 +fi