Session Settings

Configuring your session options

Configure your session with various options to customize the experience for your students and judges.

Accessing Settings

Navigate to Session in the main sidebar to access session configuration. The Session submenu contains:

  • Frameworks — Manage framework templates available to competitors
  • Settings — Session information, feature toggles, scheduler, and danger zone
Modules and Logs are separate top-level sidebar items, not part of the Session submenu. Modules is where you create and manage tasks; Logs is where you view deployment logs for any student Beta.

Session Information

The Settings page displays your session's basic information:

  • Session Name — Read-only, set during session creation
  • Session Logo — Upload or update your session logo (SVG, PNG, JPG)
  • DNS Name — Your session's subdomain (shown in sidebar)

Dev-ops Templates

Dev-ops templates are pre-configured project bases that students use. Each template includes Docker images, deployment scripts, and pre-configured environments.

Managing Templates

Navigate to Session → Dev-ops Templates to manage available templates:

  • View — See all templates available for your account
  • Enable/Disable — Toggle templates on or off for this session
  • Add New — Create custom templates for your account

Adding a Custom Template

Click "Add New Template" to create a custom dev-ops template:

  1. Git Repository URL — Enter a GitHub or GitLab URL and click the fetch button to auto-fill name, slug, and description
  2. Name — Display name shown to students (e.g., "Laravel 11")
  3. Template Name — Slug used in Docker and Git (auto-formatted as you type)
  4. Description — Brief description of included technologies
  5. ZIP File — Upload a ZIP containing the template (optional)
Tip: Enter a GitHub or GitLab URL first, then click the fetch button to automatically populate the template details.
Custom templates are available across your entire account and can be used in any session.
Need help creating a template? See the Dev-ops Template Setup Guide for Dockerfile and workflow examples.

Feature Toggles

Chat

Enable or disable the built-in chat feature for communication during the session.

Marking

Enable the marking room feature for judges and experts to evaluate competitor work.

Student Internet Control

When enabled, allows you to control internet access for individual competitors. Useful for sessions that require restricted network access.

Modules Run in Parallel

Allow multiple modules to run simultaneously. When disabled, only one module can be active at a time.

Enable language selection for students

Lets students choose their dashboard language, and lets you add translations for each module (name, description, amendments) when editing a module.

Available languages

Tick the languages you want to offer students. Only the ticked ones appear in the student dashboard language switcher and in the module edit page.

The first language you tick is the session's default. Modules are written in this language first; the others are translations you add later.

Advanced Settings

Click the Advanced section header to expand additional session options.

Session Timezone

Set the timezone for your session. This affects how module start/end times are interpreted and displayed. The default is UTC.

  • All module times (start, end, started at, completed at) are shown in the session timezone
  • When you enter a fixed start/end time for a module, it is interpreted in this timezone
  • Auto-start scheduling uses this timezone — a module set to start at 09:00 in UTC+2 will start at 09:00 local time
  • Times are stored internally as UTC for consistency
Set your timezone before creating modules with fixed schedules. Changing the timezone after modules are created will shift their displayed times.

Scheduler Controls

Control how frequently the system collects data about deployments and server health. These settings appear in the Settings page under "Scheduler Controls".

Machine Stats Controls server resource monitoring (CPU, RAM, disk). Disable to reduce load on infrastructure.
Git Data Controls deployment status collection from Git. Disable if deployments are not updating.
Custom Interval Override the default polling frequency (in seconds). Leave empty for automatic adaptive scheduling.

Use Pause All to temporarily stop all background jobs, and Resume All to restore normal operation.

The system uses adaptive scheduling — it automatically adjusts polling frequency based on session activity. Custom intervals override this behavior.

Server Configuration

The Servers tab allows you to configure the infrastructure for your session:

  • Machines — Legacy LXC containers for session infrastructure (Kubernetes + Cloud Run are the current path)
  • Network Settings — DNS configuration
Server configuration is advanced functionality. Contact support if you need assistance.

Deployment Logs Beta

The Logs tab lets you view deployment logs for any student's containers. This is useful for debugging deployment failures or application errors without needing direct server access.

Accessing Logs

There are two ways to open the Logs page:

  1. Navigate to Session → Logs from the sidebar menu
  2. Click View Logs from any student's dropdown on the Students page — this pre-selects the student automatically

Filtering Logs

Use the cascading filters to narrow down which logs to display:

Student Select a student to view their logs. Required.
Module Optionally filter by module. Leave on "All Modules" to see everything.
Mapping Auto-populated based on student and module selection. The default mapping is pre-selected.
Source Application shows PHP/app container output. Container shows all other Docker output (nginx, etc.).

Log Controls

  • Manual refresh — Click the refresh button to fetch the latest logs
  • Auto refresh — Enable the checkbox to automatically reload logs every 30 seconds
  • Logs show the last 24 hours of entries (up to 200)
The Logs feature must be enabled in your account's feature settings. If disabled, you'll see a message on the Logs page.

Time Extensions

Every time you grant a student extra time on a module, the grant is recorded — including the reason and who approved it. The full log is available under Session → Settings → Time extensions.

Granting an extension

Open the Participants page, pick the student, and use the time-extension control to add minutes to their currently active module. You're asked for a reason (free text — e.g. "WiFi outage", "Late start", "Accessibility accommodation"). The reason is required context for the log; keep it short and factual.

What the log shows

Student Who received the extension.
Module Which module the time was added to.
Time added How much extra time was granted (minutes / seconds).
Reason The justification entered at grant time.
Granted by The teacher or admin who approved the grant.
When Timestamp of the grant.

Flat vs. grouped view

Use the toggle at the top right to switch between two layouts:

  • Flat (default) — one row per grant, newest first. Best for scanning recent activity across the whole session.
  • Grouped by student — collapsible section per student showing only their grants, with the total time added to their session. Best for reviewing one student's history at a time.
The log is append-only. Removing or editing a grant after the fact is intentionally not supported — corrections should be made by adding a counter-grant with a clear reason.

Session Lifecycle

A session goes through several stages:

  1. Setup — Configure modules, add competitors, test infrastructure
  2. Deploy — Initialize competitor environments and Git repositories
  3. Running — Active session with modules in progress
  4. Complete — All modules finished, results available
  5. Lock — Archive the session, prevent further changes