Skip to content

Commit 1610958

Browse files
committed
Replace terminology sandbox with dashboard
1 parent 4b3577e commit 1610958

10 files changed

Lines changed: 40 additions & 52 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Set-Location ..
6060
php tests/vendor/bin/phpunit -c phpunit.xml.dist
6161
```
6262

63-
Sandbox CLI or web UI changes must remain compatible with macOS, Linux, and native Windows. Before submitting such changes, run:
63+
CLI or Dashboard UI changes must remain compatible with macOS, Linux, and native Windows. Before submitting such changes, run:
6464

6565
```bash
6666
php bin/qi doctor

README.md

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ phpBB boards require a web server running PHP and one of the following database
5959

6060
## QuickInstall CLI
6161

62-
QuickInstall now includes a cross-platform, Docker-based CLI and local sandbox web UI for creating phpBB test boards. They work on macOS, Linux, and native Windows and write generated state to `.qi/` without changing the legacy web application.
62+
QuickInstall now includes a cross-platform, Docker-based CLI and local Dashboard UI for creating phpBB test boards. They work on macOS, Linux, and native Windows and write generated state to `.qi/` without changing the legacy web application.
6363

64-
Sandbox requirements:
64+
Requirements:
6565

6666
- Docker Desktop, installed and running
6767
- PHP 8.0 or newer for the CLI command
@@ -70,29 +70,18 @@ Sandbox requirements:
7070
Create your first new board:
7171

7272
```bash
73-
php bin/qi init
7473
php bin/qi board:create test --phpbb 3.3 --db mariadb --port 8081 --populate extension-dev
7574
```
7675

77-
The examples use `php bin/qi`, which works on every supported operating system when PHP is in `PATH`. Windows users can alternatively use the supplied Command Prompt launcher from either Command Prompt or PowerShell:
78-
79-
```powershell
80-
.\bin\qi.cmd board:list
81-
```
82-
8376
The QuickInstall CLI targets phpBB 3.2+ installer-based boards. phpBB 3.0/3.1 remain legacy-web-app territory and are not planned for the QuickInstall CLI.
8477

85-
Downloaded extensions can be unzipped into `customisations/` and mounted into boards:
78+
If you prefer a browser workflow, start the QuickInstall Dashboard UI:
8679

8780
```bash
88-
php bin/qi ext:mount test customisations/vendor/extname
81+
php bin/qi ui:start
8982
```
9083

91-
Downloaded styles can be unzipped into `customisations/` and mounted into boards:
92-
93-
```bash
94-
php bin/qi style:mount test customisations/stylename
95-
```
84+
The examples use `php bin/qi`, which works on every supported operating system when PHP is in `PATH`. Windows users can alternatively use `.\bin\qi.cmd` from either Command Prompt or PowerShell.
9685

9786
See the complete [QuickInstall CLI docs](docs/sandbox-cli.md).
9887

docs/sandbox-cli.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ If you ever need help with commands, run:
4848
php bin/qi help
4949
```
5050

51-
If you prefer a browser workflow, start the local sandbox UI:
51+
If you prefer a browser workflow, start the QuickInstall Dashboard UI:
5252

5353
```bash
5454
php bin/qi ui:start
@@ -381,9 +381,9 @@ Fetched sources live under:
381381
.qi/sources/phpbb-<source>
382382
```
383383

384-
## Web UI
384+
## Dashboard UI
385385

386-
QuickInstall includes a local browser UI for the same sandbox workflows exposed by the CLI. It is served by PHP's built-in web server and backed by the same `.qi/` project state. The UI server can be started, checked, restarted, and stopped on macOS, Linux, or native Windows.
386+
The QuickInstall Dashboard UI provides a local browser interface for the same workflows exposed by the CLI. It is served by PHP's built-in web server and backed by the same `.qi/` workspace. The Dashboard UI can be started, checked, restarted, and stopped on macOS, Linux, or native Windows.
387387

388388
Start the UI:
389389

@@ -403,7 +403,7 @@ Use a different local port:
403403
php bin/qi ui:start --port 8088
404404
```
405405

406-
Check or stop the tracked UI server:
406+
Check or stop the tracked Dashboard UI server:
407407

408408
```bash
409409
php bin/qi ui:status
@@ -416,7 +416,7 @@ Restart it:
416416
php bin/qi ui:restart
417417
```
418418

419-
Supported UI server hosts are loopback-only:
419+
Supported Dashboard UI server hosts are loopback-only:
420420

421421
```bash
422422
php bin/qi ui:start --host 127.0.0.1
@@ -434,9 +434,9 @@ Generated state:
434434
| `.qi/runtime/<name>` | Docker Compose, Dockerfile, installer config |
435435
| `.qi/db/<name>` | Database files |
436436
| `.qi/sources/<source>` | Downloaded phpBB source |
437-
| `.qi/runtime/ui.json` | Tracked web UI server state |
438-
| `.qi/runtime/ui.log` | Web UI server output log |
439-
| `.qi/runtime/ui.log.err` | Windows web UI server error log |
437+
| `.qi/runtime/ui.json` | Tracked Dashboard UI server state |
438+
| `.qi/runtime/ui.log` | Dashboard UI server output log |
439+
| `.qi/runtime/ui.log.err` | Windows Dashboard UI server error log |
440440
| `.qi/cache/` | Cached update-check metadata |
441441

442442
User-managed drop zone:
@@ -452,9 +452,9 @@ customisations/
452452
- `board:create` rejects ports already registered to another board or already in use on the host.
453453
- `ext:mount` and `style:mount` only use `customisations/` unless `--allow-external` is used.
454454
- Custom Git source URLs require `--allow-external`; only use trusted forks.
455-
- The web UI server only accepts loopback hosts (`127.0.0.1`, `localhost`, or `::1`) and rejects non-local requests.
455+
- The Dashboard UI server only accepts loopback hosts (`127.0.0.1`, `localhost`, or `::1`) and rejects non-local requests.
456456
- `ui:start` refuses ports already in use on the selected loopback host.
457-
- Web UI form submissions use CSRF tokens and only accept local origins or referrers.
457+
- Dashboard UI form submissions use CSRF tokens and only accept local origins or referrers.
458458

459459
## Troubleshooting
460460

@@ -510,7 +510,7 @@ php bin/qi board:destroy demo
510510
php bin/qi board:create demo --phpbb 3.3 --db mariadb --port 8081 --populate none
511511
```
512512

513-
#### Web UI will not start
513+
#### Dashboard UI will not start
514514

515515
Check the tracked status:
516516

@@ -531,4 +531,4 @@ If the selected port is already in use, choose a different local port:
531531
php bin/qi ui:start --port 8088
532532
```
533533

534-
The UI server output log is written to `.qi/runtime/ui.log`. On Windows, PHP server errors are written to `.qi/runtime/ui.log.err`.
534+
The Dashboard UI server output log is written to `.qi/runtime/ui.log`. On Windows, PHP server errors are written to `.qi/runtime/ui.log.err`.

src/QuickInstall/Sandbox/Application.php

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -595,11 +595,11 @@ private function uiStart(array $args): int
595595
$state = $result['state'];
596596
if ($result['status'] === 'already_running')
597597
{
598-
echo "QuickInstall sandbox UI is already running: {$state['url']}\n";
598+
echo "QuickInstall Dashboard UI is already running: {$state['url']}\n";
599599
return 0;
600600
}
601601

602-
echo "QuickInstall sandbox UI started: {$state['url']}\n";
602+
echo "QuickInstall Dashboard UI started: {$state['url']}\n";
603603
echo "PID: {$state['pid']}\n";
604604
echo "Log: {$state['log']}\n";
605605
echo "Stop it with: php bin/qi ui:stop\n";
@@ -613,21 +613,21 @@ private function uiStop(): int
613613
$state = $result['state'];
614614
if ($result['status'] === 'not_tracked')
615615
{
616-
echo "QuickInstall sandbox UI is not tracked as running.\n";
616+
echo "QuickInstall Dashboard UI is not tracked as running.\n";
617617
return 0;
618618
}
619619

620620
if ($result['status'] === 'stopped')
621621
{
622-
echo "Stopped QuickInstall sandbox UI";
622+
echo "Stopped QuickInstall Dashboard UI";
623623
if (!empty($state['url']))
624624
{
625625
echo ": {$state['url']}";
626626
}
627627
}
628628
else
629629
{
630-
echo "QuickInstall sandbox UI process was not running";
630+
echo "QuickInstall Dashboard UI process was not running";
631631
$pid = (int) ($state['pid'] ?? 0);
632632
if ($pid > 0)
633633
{
@@ -651,7 +651,7 @@ private function uiStatus(): int
651651
$state = $result['state'];
652652
if ($result['status'] === 'running')
653653
{
654-
echo "QuickInstall sandbox UI is running\n";
654+
echo "QuickInstall Dashboard UI is running\n";
655655
echo "URL: {$state['url']}\n";
656656
echo "PID: {$state['pid']}\n";
657657
echo "Log: {$state['log']}\n";
@@ -660,13 +660,13 @@ private function uiStatus(): int
660660

661661
if ($result['status'] === 'stale')
662662
{
663-
echo "QuickInstall sandbox UI is not running, but stale state exists.\n";
663+
echo "QuickInstall Dashboard UI is not running, but stale state exists.\n";
664664
echo "Last URL: " . ($state['url'] ?? '(unknown)') . "\n";
665665
echo "Run: php bin/qi ui:stop\n";
666666
return 1;
667667
}
668668

669-
echo "QuickInstall sandbox UI is not running.\n";
669+
echo "QuickInstall Dashboard UI is not running.\n";
670670
return 0;
671671
}
672672

@@ -1121,8 +1121,8 @@ private function helpCommands(): array
11211121
'ui:start' => [
11221122
'title' => 'ui:start',
11231123
'usage' => 'ui:start [--host 127.0.0.1] [--port 8079]',
1124-
'summary' => 'Start the local sandbox admin UI.',
1125-
'description' => 'Starts PHP built-in server in the background on a loopback address and serves a minimal admin UI backed by the sandbox services.',
1124+
'summary' => 'Start the local QuickInstall Dashboard UI.',
1125+
'description' => 'Starts PHP built-in server in the background on a loopback address and serves the QuickInstall Dashboard UI.',
11261126
'options' => [
11271127
'--host HOST' => 'Loopback host. One of: 127.0.0.1, localhost, ::1. Default: 127.0.0.1.',
11281128
'--port PORT' => 'Local UI port. Default: 8079.',
@@ -1135,17 +1135,17 @@ private function helpCommands(): array
11351135
'ui:stop' => [
11361136
'title' => 'ui:stop',
11371137
'usage' => 'ui:stop',
1138-
'summary' => 'Stop the tracked local sandbox admin UI.',
1139-
'description' => 'Stops the background UI server that was started with ui:start and removes its runtime state file.',
1138+
'summary' => 'Stop the tracked QuickInstall Dashboard UI.',
1139+
'description' => 'Stops the background Dashboard UI server that was started with ui:start and removes its runtime state file.',
11401140
'examples' => [
11411141
'ui:stop',
11421142
],
11431143
],
11441144
'ui:restart' => [
11451145
'title' => 'ui:restart',
11461146
'usage' => 'ui:restart [--host 127.0.0.1] [--port 8079]',
1147-
'summary' => 'Restart the local sandbox admin UI.',
1148-
'description' => 'Stops the tracked UI server if present, then starts a fresh local UI server.',
1147+
'summary' => 'Restart the local QuickInstall Dashboard UI.',
1148+
'description' => 'Stops the tracked Dashboard UI server if present, then starts a fresh local Dashboard UI server.',
11491149
'options' => [
11501150
'--host HOST' => 'Loopback host. One of: 127.0.0.1, localhost, ::1. Default: 127.0.0.1.',
11511151
'--port PORT' => 'Local UI port. Default: 8079.',
@@ -1157,7 +1157,7 @@ private function helpCommands(): array
11571157
'ui:status' => [
11581158
'title' => 'ui:status',
11591159
'usage' => 'ui:status',
1160-
'summary' => 'Show whether the local sandbox admin UI is running.',
1160+
'summary' => 'Show whether the QuickInstall Dashboard UI is running.',
11611161
'description' => 'Reads the tracked UI runtime state and checks whether the configured local UI port responds.',
11621162
'examples' => [
11631163
'ui:status',

src/QuickInstall/Sandbox/DockerComposeWriter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ private function installConfig(string $name, array $config): string
7070
board:
7171
lang: en
7272
name: $boardName
73-
description: "QuickInstall sandbox"
73+
description: "QuickInstall test board"
7474
database:
7575
dbms: $dbms
7676
dbhost: "$dbhost"

src/QuickInstall/Sandbox/UiServerService.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ private function startUnixDetachedProcess(array $command, string $cwd, string $l
132132
}
133133
if ($result['exit_code'] !== 0 || $pid <= 0)
134134
{
135-
throw new RuntimeException('Unable to start QuickInstall sandbox UI server.');
135+
throw new RuntimeException('Unable to start QuickInstall Dashboard UI server.');
136136
}
137137

138138
return $pid;
@@ -155,7 +155,7 @@ private function startWindowsDetachedProcess(array $command, string $cwd, string
155155
$pid = (int) trim($result['output']);
156156
if ($result['exit_code'] !== 0 || $pid <= 0)
157157
{
158-
throw new RuntimeException('Unable to start QuickInstall sandbox UI server. PowerShell is required on Windows.');
158+
throw new RuntimeException('Unable to start QuickInstall Dashboard UI server. PowerShell is required on Windows.');
159159
}
160160

161161
return $pid;
@@ -338,7 +338,7 @@ private function waitForStart(array $state): void
338338
{
339339
$logs .= ' and ' . $state['error_log'];
340340
}
341-
throw new RuntimeException('QuickInstall sandbox UI server did not become available. Check the UI logs for details: ' . $logs);
341+
throw new RuntimeException('QuickInstall Dashboard UI server did not become available. Check the Dashboard UI logs for details: ' . $logs);
342342
}
343343

344344
private function waitForStop(array $state): void

src/QuickInstall/Sandbox/Web/Application.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ private function disableExecutionTimeLimit(): void
287287
@ini_set('max_execution_time', '0');
288288
if ((int) ini_get('max_execution_time') !== 0)
289289
{
290-
throw new RuntimeException('QuickInstall could not disable the PHP execution time limit for this action. Allow set_time_limit or set max_execution_time=0 for the sandbox UI.');
290+
throw new RuntimeException('QuickInstall could not disable the PHP execution time limit for this action. Allow set_time_limit or set max_execution_time=0 for the Dashboard UI.');
291291
}
292292
}
293293

src/QuickInstall/Sandbox/Web/templates/layout.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<main class="main">
3737
<header class="topbar">
3838
<div>
39-
<h1>QuickInstall dashboard</h1>
39+
<h1>QuickInstall Dashboard</h1>
4040
<p class="lede">Manage disposable phpBB boards backed by the same Docker services as the CLI.</p>
4141
</div>
4242
<form method="post" data-ajax>

tests/Integration/BinQiTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function testUiStatusSmokeTestLoadsUiServerService(): void
4040
$result = $this->runCli(['ui:status']);
4141

4242
self::assertContains($result['exit_code'], [0, 1]);
43-
self::assertStringContainsString('QuickInstall sandbox UI', $result['stdout']);
43+
self::assertStringContainsString('QuickInstall Dashboard UI', $result['stdout']);
4444
self::assertSame('', $result['stderr']);
4545
}
4646

tests/Integration/WebApplicationTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public function testRenderShowsCoreSandboxWorkflows(): void
5757
$html = $this->runWebApplication($root);
5858

5959
self::assertStringContainsString('QuickInstall Dashboard', $html);
60-
self::assertStringContainsString('QuickInstall dashboard', $html);
6160
self::assertStringContainsString('QuickInstall + Docker', $html);
6261
self::assertStringContainsString('Create board', $html);
6362
self::assertStringContainsString('Sources', $html);

0 commit comments

Comments
 (0)