#Briefings
A briefing is the HTML prompt students read when they open a module. Every module has one, and a clear briefing often turns a confusing exercise into an obvious one without rebuilding anything.
Each module has up to two briefings:
- Student briefing. Shown on the module's start page and again as a side panel inside the VM console. This is what your students will read.
- Teacher briefing. Optional. Visible only to teachers and admins. Use it for solution notes, expected pitfalls, or a script for proctors during a contest.
Both fields use the same editor and the same rendering rules.
#What makes a briefing useful
Treat the briefing as the contract between the module and the student. It should answer four questions before the student starts touching the VM.
| Question | What to put in the briefing |
|---|---|
| What am I trying to accomplish? | One or two sentences in the present tense. Lead with the goal, not the setup. |
| What does success look like? | Be specific. "The web server returns 200 on port 8080" beats "the web server works." |
| What credentials and addresses do I need? | Usernames, passwords, IPs, hostnames. Put them in a small block at the top, not buried in prose. |
| Where are the moving parts? | If the module has more than one VM, name them and what each one is for. |
Keep it short. A briefing that runs longer than the screen is a briefing the student will skim past and miss.
#Patterns to copy
A few shapes that work in practice.
A short setup with credentials at the top.
<h2>Goal</h2>
<p>
Configure <code>nginx</code> on this server so that requests to
<code>http://localhost/</code> return the contents of <code>/var/www/site/index.html</code>.
</p>
<h3>You have</h3>
<ul>
<li>SSH login: <code>student / rudder</code></li>
<li>Sample HTML at <code>/home/student/index.html</code></li>
</ul>
A multi-VM scenario.
<h2>Scenario</h2>
<p>
Two machines on the same network: <code>client</code> and <code>server</code>. The server is
preconfigured but disabled; your job is to start it and make it reachable from the client.
</p>
<h3>Hosts</h3>
<ul>
<li><b>server</b> (10.0.0.10): <code>admin / rudder</code></li>
<li><b>client</b> (10.0.0.20): <code>user / rudder</code></li>
</ul>
<p>
Start on the <b>server</b> and switch over once it is up. See
<a href="/docs/modules/switching-vms">Switching between VMs</a>.
</p>