You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7
Symfony bundle: **`Ckeditor5EditorType`** stores HTML in a textarea while **CKEditor 5 classic** (GPL open-source plugins only) runs in the browser. YAML profiles (FOS-style), **Vite** IIFE build (`ckeditor5-editor.js`) under `src/Resources/public/`.
8
8
9
-
**FrankenPHP worker mode:**Supported for production-style demo runs (worker-enabled `Caddyfile`). Development demos use classic `php_server` without `worker` so PHP/Twig changes apply on refresh — see[docs/DEMO-FRANKENPHP.md](docs/DEMO-FRANKENPHP.md).
9
+
**FrankenPHP:**Demo runtime is selected with **`FRANKENPHP_MODE`** (`worker` default, or `classic` for per-request PHP / hot-reload). See[docs/DEMO-FRANKENPHP.md](docs/DEMO-FRANKENPHP.md).
Copy file name to clipboardExpand all lines: demo/symfony8/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# CKEditor 5 Editor Bundle — Demo (Symfony 8.1)
2
2
3
-
This demo runs with **FrankenPHP** (Caddy, HTTP on port 80 inside the container). In **dev**(`APP_ENV=dev`), worker mode is disabled so each request runs in a new PHP process and **code/template changes are visible on refresh** without restarting the container.
3
+
This demo runs with **FrankenPHP** (Caddy, HTTP on port 80 inside the container). Runtime mode is **`FRANKENPHP_MODE`**in `.env` (default **`worker`**). Set **`classic`** for per-request PHP so **code/template changes are visible on refresh**, then recreate the container (`docker compose up -d` / `make up`). `APP_ENV=dev` still enables the Web Profiler.
4
4
5
5
The app pins **Symfony 8.1.*** via `extra.symfony.require` in `composer.json`. **Symfony 8** requires **PHP ≥8.4** (see the demo Dockerfile / Compose PHP image). Symfony **6.4** / **7.x** compatibility is covered by the CI PHPUnit matrix.
Copy file name to clipboardExpand all lines: docs/CHANGELOG.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [1.2.1] - 2026-07-22
11
+
12
+
### Changed
13
+
14
+
- Demo FrankenPHP: select runtime with **`FRANKENPHP_MODE`** (`worker` default / `classic`) via `.env` + Compose; extract `docker/entrypoint.sh` (no longer inline in the Dockerfile).
15
+
- Documentation: [`DEMO-FRANKENPHP.md`](DEMO-FRANKENPHP.md), demo README, and root README aligned with `FRANKENPHP_MODE` (no longer implies `APP_ENV=dev` alone disables workers).
16
+
10
17
## [1.2.0] - 2026-07-18
11
18
12
19
### Changed
@@ -109,7 +116,8 @@ First semver release (documented stable line, CI and Packagist aligned with tag
109
116
- PHPUnit: integration suite + unit test for `upload_url` CSRF branch (**100%** PHP Clover on `src/`).
110
117
- PHP-CS-Fixer finder excludes generated integration fixture cache and `tests/Fixtures/app/config/reference.php`.
Copy file name to clipboardExpand all lines: docs/DEMO-FRANKENPHP.md
+21-8Lines changed: 21 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Demo applications with FrankenPHP (development and production)
2
2
3
-
This document describes how the **CKEditor 5 Editor Bundle** demos run under **FrankenPHP** in Docker: development (no worker, changes on refresh) vs production-style (worker). Reuse the same pattern in other Symfony bundles with FrankenPHP demos.
3
+
This document describes how the **CKEditor 5 Editor Bundle** demos run under **FrankenPHP** in Docker: **`classic`** (no worker, changes on refresh) vs **`worker`** (production-style). Switch with **`FRANKENPHP_MODE`**. Reuse the same pattern in other Symfony bundles with FrankenPHP demos.
4
4
5
5
## Contents
6
6
@@ -9,6 +9,7 @@ This document describes how the **CKEditor 5 Editor Bundle** demos run under **F
-[Switching classic vs worker (`FRANKENPHP_MODE`)](#switching-classic-vs-worker-frankenphp_mode)
12
13
-[Troubleshooting](#troubleshooting)
13
14
14
15
## Overview
@@ -20,7 +21,7 @@ Each demo uses:
20
21
-**FrankenPHP** (Caddy + PHP) in one container.
21
22
-**Docker Compose** mounting the demo app and the parent bundle at **`/var/ckeditor5-editor-bundle`** for the Composer **path** repository.
22
23
-**`Caddyfile`** (production-oriented, worker) and **`Caddyfile.dev`** (development, classic `php_server`).
23
-
- An **entrypoint** that, when running in dev, activates `Caddyfile.dev` so Twig and bundle changes are visible without restarting workers.
24
+
- An **entrypoint** that selects the Caddyfile from **`FRANKENPHP_MODE`** (`worker` or `classic`). Use **`classic`** so Twig and bundle changes are visible without restarting workers.
24
25
25
26
There is one demo: **`demo/symfony8`** (Symfony **8.1.***, default HTTP port **8021**). From the bundle root:
26
27
@@ -40,15 +41,16 @@ The bundle under test is **`nowo-tech/ckeditor5-editor-bundle`**, installed from
40
41
41
42
### FrankenPHP worker mode (compatibility)
42
43
43
-
**FrankenPHP worker mode:** Supported for production-style runs (worker-enabled `Caddyfile`, e.g. `worker /app/public/index.php 2` inside `php_server`). The **bundle itself** is a form widget + static JS; it does not require workers. Development demos intentionally **disable** worker mode so PHP/Twig changes apply on refresh — see each demo’s `docker/frankenphp/` files (`Caddyfile` vs `Caddyfile.dev`).
44
+
**FrankenPHP worker mode:** Supported for production-style runs (worker-enabled `Caddyfile`, e.g. `worker /app/public/index.php 2` inside `php_server`). The **bundle itself** is a form widget + static JS; it does not require workers. For local editing with refresh, set **`FRANKENPHP_MODE=classic`** — see each demo’s `docker/frankenphp/` files (`Caddyfile` vs `Caddyfile.dev`).
44
45
45
46
## Development
46
47
47
48
Goal: edit PHP, Twig, YAML, or bundle sources and see changes after a browser refresh.
48
49
49
-
- Use **`Caddyfile.dev`**: classic **`php_server`** without **`worker`** inside `php_server`.
50
+
- Set **`FRANKENPHP_MODE=classic`** in the demo `.env` (entrypoint activates **`Caddyfile.dev`**: classic **`php_server`** without **`worker`**).
51
+
- Recreate the container after changing `.env` (`docker compose up -d` / `make up`); a plain restart does not reload env.
50
52
-**`docker/php-dev.ini`**: short OPcache revalidation interval for dev.
51
-
-**`APP_ENV=dev`**, **`APP_DEBUG=1`** in Compose (see each demo’s `docker-compose.yml`).
53
+
-**`APP_ENV=dev`**, **`APP_DEBUG=1`** in Compose (see each demo’s `docker-compose.yml`) for Profiler / debug tooling.
52
54
-**DNS**: Compose sets **`dns: 8.8.8.8` / `8.8.4.4`** so Composer can resolve Packagist inside Docker/WSL.
53
55
54
56
Start from **`demo/symfony8`** with `make up` (see **`demo/README.md`**).
@@ -57,8 +59,8 @@ Start from **`demo/symfony8`** with `make up` (see **`demo/README.md`**).
57
59
58
60
For production-like behaviour:
59
61
60
-
-Use**`APP_ENV=prod`**, **`APP_DEBUG=0`**, and the **`Caddyfile`** that enables FrankenPHP workers.
61
-
-Warm Symfony cache and follow deployment hardening for `var/` and secrets.
62
+
-Keep**`FRANKENPHP_MODE=worker`** (default) so the entrypoint uses the worker **`Caddyfile`**.
63
+
-Optionally use **`APP_ENV=prod`**, **`APP_DEBUG=0`**, warm Symfony cache, and follow deployment hardening for `var/` and secrets.
62
64
63
65
Compare **`Caddyfile`** vs **`Caddyfile.dev`** in `demo/symfony8/docker/frankenphp/`.
64
66
@@ -70,8 +72,19 @@ Compare **`Caddyfile`** vs **`Caddyfile.dev`** in `demo/symfony8/docker/frankenp
70
72
71
73
Override `PORT` in the demo `.env` (from `.env.example`) if ports clash.
72
74
75
+
## Switching classic vs worker (`FRANKENPHP_MODE`)
76
+
77
+
Demos select the FrankenPHP runtime via **`FRANKENPHP_MODE`** in `.env` / `.env.example` (not a Dockerfile `ENV`):
Compose passes `FRANKENPHP_MODE=${FRANKENPHP_MODE:-worker}` into the PHP service. After changing `.env`, run `docker compose up -d` (or `make up`) so the container is **recreated** — a plain `restart` does not reload env. No image rebuild is required.
85
+
73
86
## Troubleshooting
74
87
75
88
-**Composer cannot resolve `repo.packagist.org`**: Ensure Docker DNS is set (this repo’s compose files include public DNS). On corporate networks you may need internal DNS forwarders.
76
-
-**Changes not visible**: Confirm you are in **dev**with **`Caddyfile.dev`** (no worker). Restart the container after switching Caddyfiles.
89
+
-**Changes not visible**: Set **`FRANKENPHP_MODE=classic`**and recreate the container so **`Caddyfile.dev`**is active (no worker).
77
90
-**Bundle not updating**: Run **`make update-bundle`** in the demo or `composer update nowo-tech/ckeditor5-editor-bundle` inside the container after editing the path-mounted bundle.
Copy file name to clipboardExpand all lines: docs/UPGRADING.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,6 +127,15 @@ nowo_ckeditor5_editor:
127
127
128
128
See [`CHANGELOG.md`](CHANGELOG.md) (section **1.2.0**) and [`CONFIGURATION.md`](CONFIGURATION.md).
129
129
130
+
## To 1.2.1 from 1.2.0
131
+
132
+
Patch release: FrankenPHP **demo** runtime switch via **`FRANKENPHP_MODE`** and documentation alignment. No bundle API, YAML, or runtime behaviour changes for applications.
133
+
134
+
- **Contributors / local demos**: default is **`worker`**. For hot-reload on refresh, set **`FRANKENPHP_MODE=classic`** in `demo/symfony8/.env` and recreate the container (`docker compose up -d` / `make up`). See [`DEMO-FRANKENPHP.md`](DEMO-FRANKENPHP.md).
135
+
- **Composer**: `composer update nowo-tech/ckeditor5-editor-bundle` only if you pin an exact patch (e.g. `1.2.0`); with `^1.0` or `^1.2`, **1.2.1** is included on update.
136
+
137
+
See [`CHANGELOG.md`](CHANGELOG.md) (section **1.2.1**).
138
+
130
139
## To 1.x (first documented stable line)
131
140
132
141
When upgrading from snapshots without semver tags in your project:
0 commit comments