8 Commits
Author SHA1 Message Date
frommeandClaude Opus 5.5 b428ce9086 feat: ddev anonymize-db removes personal data from production dumps
Runs automatically after every `ddev import-db`. Drops all zzz_deleted_
tables (renamed in production but still holding their data, e.g. the
retired address check and form answers), replaces names and emails of
backend and frontend users, sets every password to the local dev
password "password" and clears reset tokens and MFA secrets. Sessions,
record locks, CSP reports and logs are emptied (IP addresses, user
agents). Usernames stay, so everybody logs in locally as their own user.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 10:13:02 +01:00
frommeandClaude Opus 5.5 df3d823de4 feat: page, hash and rootline caches in Redis again, as on TYPO3 10
Since every page view goes through TYPO3 13, the page cache is on the hot
path; TYPO3 10 kept it in Redis, TYPO3 13 had it in MySQL. Same socket and
options as TYPO3 10, but databases 3-5 instead of 0-2, which may still
hold TYPO3 10 entries in a format TYPO3 13 must not read. DDEV gets the
redis add-on for the same setup locally.

Without a Redis connection the backend logs an alert and misses, so pages
still render (slower); a missing PHP redis extension, however, fails hard.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 18:51:57 +02:00
frommeandClaude Opus 5.5 18757781bb fix: content feed matches TYPO3 10 for news and sites
- News records: EXT:news is not installed, so the default restrictions
  lack its TCA; deleted, hidden, starttime and endtime are applied by
  hand (TYPO3 13 listed 37 deleted or hidden news in the manifest)
- Site config ski-wochenenden is back: the content feed lists it
  (contentFeedSites); DDEV host skiwe-ep13.ddev.site

Compared with the TYPO3 10 project on the same database (912 cases):
240 identical, 665 differ only because TYPO3 13 leaves out hidden
file references in image lists, 7 only in the order of MM relations
with equal sorting values.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 15:29:32 +02:00
frommeandClaude Opus 5.5 a912e0c614 fix: local MyE&P runs as myep.ddev.site
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 15:22:03 +02:00
frommeandClaude Opus 5.5 294d270bc1 chore: load secrets from config/system/secrets.php
additional.php is maintained in Git now (taken over from DDEV's
generated file): DDEV settings apply inside DDEV only, and
secrets.php (gitignored, template secrets.example.php) is merged in
everywhere, ignoring empty values. The web container reaches the local
MyE&P project as myep-next.ddev.site, as in EP/website.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 15:09:50 +02:00
frommeandClaude Opus 5.5 4eb1de2e29 fix: restore commented example in DDEV config
The additional_hostnames edit also replaced a commented example and left
uncommented list items behind, which made the YAML unreadable.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:31:36 +02:00
frommeandClaude Opus 5.5 a598339f67 feat: boot TYPO3 13 with site configs and the theme build
- Site configs for the seven live sites from EP/website, Development
  base variants on *-ep13.ddev.site (DDEV additional_hostnames)
- Webpack Encore build moved to the root, output in
  packages/ep_theme/Resources/Public, public path /_assets/<hash>
- Search UI removed from the kept layouts and partials, as the static
  export already does
- Daytrip room selection and the contingent chain removed (contingent
  import is not ported; no daytrip product has current contingents)
- f:uri.action is final in v13: Uri\AjaxViewHelper invokes it
- Remaining QueryBuilder::execute() and array logicalAnd() calls,
  addRootLineFields, TSFE getData, legacy typo3conf/ext template path
- Rector skips the plugin-to-CType rules; plugins stay list_type

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:25:01 +02:00
Björn Fromme ae1ae3cb38 chore: initial commit of fresh project 2026-10-21 13:24:40 +02:00