5.0.0
What changed for installations upgrading from 4.2.0. Commits that do not affect an upgrade — fixes to features introduced within 5.0.0, tests, CI — are not listed; the git history has them.
On this page
Breaking
-
Add TYPO3 v14 Support (
6381907)TYPO3 v12 and PHP 8.1 are no longer supported; the extension requires TYPO3 13.4 or 14 and PHP 8.2 or later.
ext_is gone, install via Composer, see Installation.emconf. php -
[FEATURE] Import Events into ext:events tables (
b2be349)werkraummedia/events is a new required dependency. Events are imported into its tables, so it has to be installed even where no events are imported.
-
[FEATURE] Parser based importer (
c8c2c5f)The import was rewritten and writes through the DataHandler. The previous extension points —
Mapsentities,To Type Typo3Converterconverters and their compiler passes — are removed; custom import code has to be rebuilt as described in The import. -
[TASK] Refactor code structure for importer (
9ab6e84)All import classes moved from
\WerkraumtoMedia\ Thue Cat\ Domain\ Import \Werkraum, including theMedia\ Thue Cat\ Import Urlinterface. A custom URL provider has to follow the new namespace, see What a run imports.Provider -
[FEATURE] Import Images via Import into FAL and relate to objects (
6040613)Images are downloaded into FAL, into a folder the import configuration names. Existing import configurations have no folder and fail until one is set, unless run with
--, see Import configuration.no_ media -
[TASK] Remove deprecated json-blob fields (
68312dc)The columns
media,address,opening_andhours special_are dropped, with the models reading them:opening_ hours Base::,get Media () Place::andget Address () Place::. Templates use the FAL fields,get (Merged) (Special)Opening Hours () get/Address Inline () getand the new opening hours accessors; run the import once after the update to fill them.First Address () -
[BUGFIX] Properly read translated strings for address (
6e05604)Addresses are records of their own (
tx_) instead of a value object. The misspelledthuecat_ address Address::is nowget Latitute () get.Latitude () -
[FEATURE] Store relations for schema:containedInPlace (
f47fa76)townholds several towns, soTouristis replaced byAttraction:: get Town () get; templates readingTowns () {attraction.have to iteratetown. title} {attraction.. Containing organisations and places get fields of their own, see One property, several target tables.towns} -
[TASK] Remove custom page type (
51704ca)The page type
950, theResolvedata processor and the static template "ThüCAT - Page Types" are removed. Change such pages to standard pages before updating and render the data with plugins, see Frontend output.Entities -
[TASK] Remove unused thuecat:configuration backend module (
aa111e9)The backend module listing import configurations is removed, and with it the TypoScript setting
module.. Import configurations are created and edited in the Records module.tx_ thuecat. settings. new Record Pid -
[BUGFIX] Scope import objects per site (
23aae21)A record is recognised only within the site that imports it, instead of anywhere in the installation. Where two sites import the same upstream object, the first run after the update creates the record the second site was missing, see Records, identity and languages.
Important
-
[TASK] Change maintenance (
8ceae43)The extension is now maintained by Anja Leichsenring.
-
Migrate CI from GitHub to Forgejo (main) (
a09c479)Development moved from GitHub to https://forgejo.werkraum-media.de/typo3/thuecat.
-
[TASK] Remove deprecations for v14 (#138) (
c88ad9d)The upgrade wizard that migrated backend user permissions to the ThüCAT module group is removed. Run it before updating if it is still pending.
-
[TASK] Remove requirement for fluid-styled-content (
afc36d7)The extension no longer requires typo3/cms-fluid-styled-content . Require it in the project if the instance relies on it.
Features
-
Add TYPO3 v14 Support (
6381907)The extension supports TYPO3 13.4 and 14.
-
[FEATURE] Prepare Extbase actions for CE output (
3b67233)Plugins for list, search form, selected list and detail view replace the page type. Output is built with content elements of the site's own, see Frontend output.
-
[FEATURE] Frontend ready FAL fields main_image, media_files and editorial_images (
23044a9)Images are proper file references, rendered with the usual TYPO3 image handling. See Media.
-
[FEATURE] Remove file references not provided by upstream (
cbe6161)An image upstream no longer supplies loses its file reference on re-import, and each file is downloaded once per run. See Media files.
-
[FEATURE] Import opening hours as IRRE records (
3fa6420)Opening hours are inline records with display-ready accessors and a partial for a per-day table. See Opening hours.
-
[FEATURE] Two more partials to display opening hours with merged time periods (
73bccc1)Two further partials group days with identical hours. See Opening hours.
-
[FEATURE] Add categories to events based on @type (
e433084)An object's
@typebecomessys_relations, starting with events.category -
[FEATURE] Import categories into tourist attractions (
bda7ce1)Tourist attractions get their categories too, and the search form filters by them. See Category and keyword trees.
-
[FEATURE] Import category hierarchy from thuecat (
1b4b435)Categories are arranged in the hierarchy of the schema.org and ThüCAT vocabularies instead of a flat list. See The @type hierarchy.
-
[FEATURE] Import keywords in both POIs and events (
d4fa6d4)schema:is imported as akeywords sys_tree of its own, separate from the categories. See Keywords.category -
[FEATURE] Use imported keywords for display and filtering (
86cd3e5)Attraction lists filter by keyword, and the detail view emits a
keywordsmeta tag. See Category and keyword trees. -
[FEATURE] Allow top-level entities to define their sys_category anchors (
b280d76)Where category and keyword trees live is configured per site and per record kind, through the site set
werkraummedia/. See Category and keyword anchors.thuecat- import -
[FEATURE] Make import more robust by introducing timeout, recovery and watchdog (
4cc9db0)Requests time out and are retried, a run has a time budget, and progress is shown on the console. API responses are now cached in the database for 15 minutes;
--bypasses the cache, see Import tuning.fresh -
[TASK] Allow skipping media during imports (
60d3da1)--runs an import without downloading images. See Import without media.no_ media -
[FEATURE] Improve performance of POI lists by custom caching (
007b6f3)Lists, list items and the search form are cached and cleared along with the page cache. See Caching.
-
[FEATURE] Import trails (
2f3f3b7)Trails are imported into a table of their own, with their way types, conditions and start and end locations.
-
[FEATURE] Selected List & Show CEs incl. Templates for Trails (
05f8161)Trails have plugins and templates for a selected list and a detail view. See Content element example.
-
[FEATURE] Show plugins can show dedicated editor chosen record (
964b92a)A detail plugin can show one record chosen in the backend instead of the one in the URL. See Picking records.
-
[FEATURE] Scope TCA and flexform select fields to records in site (
41e06e3)Relation fields in the backend offer only records of the current site. The suggest wizard is bounded through a global
TCEFORM., which affects every suggest field of the installation, see Backend relation scoping.suggest. default. add Where -
[FEATURE] Import organizer and location for events (
023d575)Events get their location and organizer, and places list the events taking place there. See Events matched to places.
Deprecation
Nothing
Known issues
A re-import updates what ThueCat still delivers, but not everything ThueCat stops delivering is removed from the stored records. The import errs on the side of keeping data: a value is only removed where the import can tell a deliberate removal upstream from a missing or failed delivery.
- Text cleared upstream keeps its old value. When ThueCat empties a text field, for example a description, the record keeps the previous text. This applies to every text field of every record kind. Numeric fields are not affected.
- Opening hours are never removed. An opening hours entry ThueCat no longer delivers stays on the record, next to the current ones.
- Dropping everything of one kind keeps the old set. Any change ThueCat makes is respected, including dropping some entries of one kind. When a record drops all entries of one kind, the stored ones stay. This applies to images, keywords, addresses, other relations, and an event's organizer and location. Related records themselves are shared and stay either way.
Workaround: delete the affected record in the backend; the next import creates it again from what ThueCat delivers. The record gets a new uid, so plugins showing it as an editor-chosen record have to select it again.