The 404 page (and other pages TYPO3 13 renders) contain disturber elements,
which logged 'no rendering definition' on every 404. The CType is back with
its TypoScript, templates and FlexForm; the TCA uses the TYPO3 13 API.
ep:groups-swiss replaces the TYPO3 10 scheduler tasks, which stopped with
PHP 7.4. It reads the calendar from MyE&P (contingents/calendar, synced from
bpn-connect) instead of bpn-connect directly, so it needs no new credentials,
and publishes all houses from groupsSwissHouses in secrets.php (or one house
given as arguments, as the scheduler tasks did). The ranges match the TYPO3 10
algorithm on 2000 random calendars; --dry-run shows them without sending.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
/reiseinformationen/{path segment} and /reiseinformationen/{travel code}
(travel info records combined with live travel data and pickup planning
from MyE&P). All of them answer 404 in production since the static
switch: the export never found these URLs.
Compared with TYPO3 10 (482 travel info pages, 40 travel codes, 20
fallbacks through the base code, unknown code): identical apart from
the content of the 404 page. The page without parameter fails on both,
as intended.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Watchlist page (/merkliste/) and its list action, which renders the
hotel/product pairs a visitor stored in sessionStorage. The "remember"
buttons on teasers and detail pages had nowhere to show their list
since the static switch.
Compared with TYPO3 10 (page, empty and invalid input, unknown and
1 to 25 real pairs): identical.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Search page (searchresult plugin), AJAX results and filter panel, the
mobile filter overlay, search links ("Alle anzeigen", menu icon) and
the /reiseauswahl/{name} landing redirects are back. The search bar in
the page header stays out (SearchbarController not ported); on detail
pages the menu icon links to the search page instead of toggling it.
- Extbase requests are immutable: withArgument() instead of
setArgument()
- StaticSearchParamsMiddleware runs after site resolution and before
page resolution (the old position is a cycle in v13); FilterService
copes with the missing TypoScript there, as TYPO3 10 did
- Search and filter forms are sent URL-encoded instead of multipart, so
production can keep rejecting multipart requests
- ski-wochenenden: websiteTitle from the old sys_template sitetitle
Compared with TYPO3 10 on the same data (249 cases: search pages with
all 41 preset filters, landing redirects, AJAX results and filter
panel, GET and POST): 186 identical, 63 with the same results in a
different order (PHP 8 sorts stably, ties came out in arbitrary order
on PHP 7.4). Processed image names differ by their configuration hash.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Ports AjaxCalendarController::priceCalendarAction and priceTableAction
(MyE&P price config and price table), used on the /gruppe/gruppenhaus-*
pages and example trips. Page cache tags and "do not cache" on API
errors go through the frontend.cache.collector and
frontend.cache.instruction request attributes instead of TSFE.
Left out: priceConfig (no caller) and range (daytrip calendar via
bpn-connect, out of scope), so bpn-connect needs no credentials.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- ObjectManager replaced by GeneralUtility::makeInstance(), the
services fetched that way are public
- QueryBuilder::add('orderBy') and the remaining execute() calls,
detailAction returns a response
- PHP 8 warnings for missing array keys (same values as on PHP 7.4)
- Webcam images are external URLs: plain img tag, f:image only takes
FAL files
- typo3_encore 7 needs the PKG:ssch/typo3-encore: prefix and
external = 1 so TYPO3's path check does not drop the entry
- CDN image rewriting as a middleware instead of EXT:replacer, which
is not PHP 8.5 clean; same pattern, only for page responses
- vhs 8 for the ViewHelpers the templates use
- OpenGraph meta tag manager skips the backend
- myEpUrl with trailing slash as in production
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- 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]>
Automated migrations from rector.php and fractor.php (TCA, Extbase
controllers and annotations, ViewHelpers, QueryBuilder, FlexForms,
TypoScript conditions).
Plugins stay list_type plugins: Rector switched them to content
element types, which needs a tt_content migration. That is deferred to
the TYPO3 14 step, where list_type is removed.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Keeps what the product detail pages, the AJAX date/price tables, the
API endpoints (/api/hotel, /api/product, /api/content/*), the chatbot
content-only page type and the MyE&P import need, determined by a class
and template reference closure from those entry points.
Removed: search, watchlist, calendar/contingent AJAX, snow report and
contingent imports, groups swiss, iCal, reseller export, team/EpTeam,
newsletter, CSV feeds, BpnConnect client, backend modules and page
module previews, Tcemain hooks, scheduler tasks, staging and static
search middlewares, forms and their finishers, gridelements and news
templates, and the plugins and content elements not used on product
pages.
The SFTP and local XML import sources are gone; the import reads
MyE&P only (ApiImportSource as ProductImportSource) and runs as
ep:import-dates.
ext_tables.sql stays complete so no table or column is dropped while
the TYPO3 10 project shares the data.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Copied unchanged from public/typo3conf/ext/ of EP/website at
9593cc8631354f8a363d6609de8b7433f669a9a0 (Git-tracked files only).
History stays in the old repository. Only composer.json files are
added so the extensions install as path packages.
Co-Authored-By: Claude Opus 5.5 <[email protected]>