Events 

Extension key

events

Package name

werkraummedia/events

Language

en

Author

Daniel Siepmann

License

This document is published under the Creative Commons BY-NC-SA 4.0 license.

Rendered

Tue, 14 Apr 2026 06:30:36 +0000

A basic events extension.

This is shared as is. It is developed and used by the agency for some years already. The code and test coverage dates back some years. We continuously try to improve the overall situation. Don't expect heavy documentation at this state.

Table of Contents 

Caching 

The extension provides out of the box support for proper TYPO3 page caching.

Page Cache 

TYPO3 can cache the full page with a TTL (=time to live). The TTL can be adjusted via configuration and code. The extension uses the code to lower TTL if necessary.

The TTL of the extension is determined in the following way:

  1. Upcoming midnight if midnight should be used.
  2. Start of each shown date if upcoming should be used.
  3. End of each shown date as fallback.

The corresponding code is WerkraumMedia\Events\Caching\PageCacheTimeout.

That way the TTL of each page is not longer than the valid period for shown events, leading to re-rendering of the page once an event might change.

Import destination.one 

The extension provides out of the box to import events from destination.one.

The import can fetch events, dates, categories and images. Multiple imports can be defined, e.g. one per experience. Imports are configured as database entries "Import Configuration".

The import can be triggered via scheduler tasks as well as commands. A single import as well as all imports at once can be triggered.

The import will:

  • Add and update events
  • Flush all dates for updated events and re-create all dates.
  • Add and update all images for updated and added events. Existing image files won't be downloaded again, only information and position are updated.

The import will not:

Meta Tags 

The extension comes with default implementations for meta tags. This includes open graph and Twitter (X) tags.

The default implementation can be exchanged by leveraging TYPO3 Dependency Injection.

Further resources:

PSR-14 Events 

destination.one Import: CategoriesAssignEvent 

Executed during destination.one Import. Allows to alter the categories to assign to an event.

destination.one Import: EventImportEvent 

Executed during destination.one Import. Allows to alter the event prior persistence.

Search Pagination 

The extension supports pagination of search results. Please properly configure the system. Add the following TYPO3_CONF_VARS configuration:

'FE' => [
    'cacheHash' => [
        'excludedParameters' => [
            '^events[search]',
        ],
    ],
],
Copied!

Adopt the configuration to your own setup, e.g. change the pluginNamespace from events to whatever you've configured. And ensure the involved plugins are excluded from caching (USER_INT).

The extension will assume events[search] as default namespace for search arguments. Please make use of Services files and Dependency Injection to configure the custom AddSearchArgumentsToRouteArgumentsMiddleware middleware with your own namespace.

Commands 

Proper documentation is available via built in help system. This documentation is just there to keep existing Info from readme.

Access built in help:

# Get overview of commands
./vendor/bin/typo3

# Get detailed help of command
./vendor/bin/typo3 help events:destinationdataimport
Copied!

events:destinationdataimportviaconfiguration 

events:destinationdataimportviaallconfigurations 

events:removeAll 

events:removePast 

Will remove all dates within the past. Events with no more dates will be removed as well. It also will remove all related files that no longer are in use.

Settings 

Frontend 

The frontend can be configured via TYPO3 Extbase defaults.

stdWrap is applied to all options.

useMidnight

useMidnight
type

bool (1 or 0)

default

1

0 will show dates starting from now.
1 will use midnight of configured start date.

upcoming

upcoming
type

bool (1 or 0)

default
0 does not alter the behaviour.
1 turns off the option useMidnight, start and end.
Only dates with a start date in the future will be shown.

Import 

The import can be configured via module.tx_events_import and offers the following options:

module.tx_events_import.settings.repeatUntil

module.tx_events_import.settings.repeatUntil

Allows to define how long dates should be repeated if repeatUntil is missing in import data. The value will be passed to https://www.php.net/manual/en/datetime.modify.php. No stdWrap is applied.

Changelog 

6.0.0 

Breaking 

  • Remove support for TYPO3 v12.

Features 

  • Add support for TYPO3 v14.

Fixes 

  • Wrong date creation based on destination.one repeatUntil. Respect the last day, if we import on that day.

    A new test is added to reflect that situation. The workaround for missing DatePeriod::INCLUDE_END_DATE is extended to cover that situation.

  • Fix wrong determination of repeat minutes

    The used value was for month instead of minutes. We now use the correct identifier for minutes.

    This revealed that tests only passed because of the issue. We therefore fix the code to still pass correct tests by working around PHP < 8.2 limitation.

Tasks 

Nothing

Deprecation 

Nothing

5.4.0 

Breaking 

Nothing

Features 

  • Add support for PHP 8.5.
  • Handle errors during import of single event. Those will be logged, and no longer break the whole import. The import will continue with next event.
  • Support paging of destination.one API. That way we remove the rest_limit configuration option and always import all available events.
  • Associate imported events with the corresponding import configuration. This is exposed as read only field in TYPO3 backend. This adds some debugging info for editors and admins, and paves the way for future features.
  • Cleanup no longer existing events during import. Those are deleted via TYPO3 API (soft deleted). Files are therefore kept until those records are finally removed and files are clean up by separate cleanup job.

Fixes 

  • Wrong date creation based on destination.one repeatUntil. Editors don't have access to a time, only the date. We therefore no longer respect the time, but only the date. Also the date is inclusive, so we need to repeat dates including the date mentioned in repeatUntil.

    This now also affects the import_repeat_until in the same way, to streamline the behaviour. This is now also inclusive. +10 days will not include the 10th day.

    We could not use DatePeriod::INCLUDE_END_DATE as we still support PHP 8.1 which isn't aware of the constant.

Tasks 

Deprecation 

Nothing

5.3.0 

Breaking 

Nothing

Features 

  • Add support for PHP 8.4.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

5.2.2 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Fix import of events with file inconsistency if possible.

    Those would previously lead to a broken import, as TYPO3 would throw an unhandled exception.

    We now adjust the file extension to match mime type, for images only. The exception, if still exists, is now catched, and converted to a warning log entry instead.

Tasks 

Nothing

Deprecation 

Nothing

5.2.1 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Add missing support of repeatCount property in combination with Monthly value for freq.

Tasks 

Nothing

Deprecation 

Nothing

5.2.0 

Breaking 

Nothing

Features 

  • Support destination.one freq property with Monthly value.

    This states that the event should be repeated monthly. This was not implemented yet, we only supported single, daily and weekly events.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

5.1.0 

Breaking 

Nothing

Features 

  • Support destination.one repeatCount property.

    This provides info on how often a repeatable event should be repeated. E.g. 1 = exactly once, so no actual repeat.

Fixes 

  • Fix broken data processing within model in newer TYPO3 version.

    TYPO3 changed how models are instantiated and prepared. We now adopt the code to still initialize the data processing. Furthermore, the feature is now covered with a test.

  • Fix broken data processing caching within model.

    Each model might have different pages. The previous caching implementation would share the result between multiple instances. This is now solved via an internal property instead of static variable.

Tasks 

Nothing

Deprecation 

Nothing

5.0.0 

Breaking 

  • Removed all content elements.

    Content elements are no longer provided. We recommend to build your own tailored content elements instead.

  • Remaining TypoScript constants for import were moved.

    Those are now part of the import configuration record. The previous default values will be inserted. Make sure to update the existing records to include the necessary values.

    Some value are now hard coded as we do not support other values anyway.

    This also affects the repeatUntil TypoScript setting which is now moved to the import configuration.

  • Removed old update wizards.

    Update to 4.x beforehand if you still need to execute them.

Features 

  • Add Support for TYPO3 v13.4 LTS.
  • Support large rest search queries.

    The field no longer has a limitation. The field is now stored as text instead of varchar.

  • Deliver 404 on date show action without a given date.

    This previously triggered an TYPO3 Exception. We now handle the situation and trigger a TYPO3 404.

Fixes 

  • Ensure pagination settings are provided in expected type (int). TypoScript settings will always be strings, so we fix this with a proper type cast.
  • Fix broken pagination routing in combination with active search for TYPO3 12.4 and onwards. See: Search Pagination.

Tasks 

Nothing

Deprecation 

Nothing

4.2.1 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Make time zone for slugs configurable.

    Slugs of dates are generated during import. This might lead to confusion if the time zone differs from frontend. Therefore the time zone is now configurable to allow adjustments for the actual website.

    A new interface TimeZoneProviderInterface is provided which can be re configured to a different implementation.

    The default implementation will use TYPO3s SYS.phpTimeZone setting, with fall back to date_default_timezone_get() call. That way it should be useful for most systems out of the box.

  • Handle destination.one files without file name.

    It is possible to have files such as https://dam.destination.one/2675868/3dc0a9dccd0dad46c73e669ece428c634ff8324ea3d01a4858a1c43169deed41/.jpg. Those were not handled correctly yet. We now also handle those cases. We will generate a hash from the URL as file name in order to still use those files.

Tasks 

Nothing

Deprecation 

Nothing

4.2.0 

Breaking 

Nothing

Features 

  • Support HTML for detail text of events when importing data from destination.one.

    This can be enabled within the import configuration. That way one can restrict the HTML import to certain import configurations.

    Ensure to adjust the templates when turning on the feature. Either use f:format.html or f:sanitize.html as content might be unsafe.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

4.1.0 

Breaking 

Nothing

Features 

Forward ported from 3.9.0:

  • Add grouping of locations. It is now possible to group locations. Each location can have arbitrary children.

    That can be used for editorial structuring. Filtering for a location will always find all dates where the location or one of the child locations is assigned.

    One use case can be to group imported locations and provide a grouped location for filtering in frontend.

Fixes 

Nothing

Tasks 

  • Add image handling support in nix shell.

Deprecation 

Nothing

4.0.1 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Add missing dependency to composer package typo3/cms-install. As UpgradeWizards use API of the package.
  • Migrate deprecated PHPStan configuration options.
  • Adapt expected HTML output within functional tests. As TYPO3 changed actual generated HTML.

Tasks 

Nothing

Deprecation 

Nothing

4.0.0 

Breaking 

  • Drop support of TYPO3 and PHP versions. We drop support for any TYPO3 version below 12. We drop support for PHP versions not supported by TYPO3 v12. That eases the maintenance of the extension.
  • Change of vendor/namespace. The vendor was renamed from wrm to werkraummedia. And the namespace vendor was renamed from Wrm to WerkraumMedia.

    That way all references to PHP classes as well as the package name itself need to be adjusted.

  • No longer allow records on standard pages. Please use TCA Overrides in case you need this none default TYPO3 behaviour.

Features 

  • Support TYPO3 v12.
  • Support PHP 8.1, 8.2, 8.3.
  • Add meta tags. A new class is added which will add meta tags for dates and events. The class has an interface which allows it to be replaced via DI to alter behaviour.
  • Import keywords for events from destination.one. That way keywords are available for usage in meta tags.
  • Add page title provider. That way it is possible to alter the TYPO3 page title when showing a date or event.
  • Add Social Media Tags by default. https://ogp.me/ is used by some platforms, especially social media, to generate previews of shared links. The extension now delivers default open-graph tags for better user experience. Twitter uses its own way which is also supported.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

3.9.0 

Breaking 

Nothing

Features 

  • Add grouping of locations. It is now possible to group locations. Each location can have arbitrary children.

    That can be used for editorial structuring. Filtering for a location will always find all dates where the location or one of the child locations is assigned.

    One use case can be to group imported locations and provide a grouped location for filtering in frontend.

Backport of 4.0.0 features:

  • Add meta tags. A new class is added which will add meta tags for dates and events. The class has an interface which allows it to be replaced via DI to alter behaviour.
  • Import keywords for events from destination.one. That way keywords are available for usage in meta tags.
  • Add page title provider. That way it is possible to alter the TYPO3 page title when showing a date or event.

Fixes 

Nothing

Tasks 

  • Add image handling support in nix shell.

Deprecation 

Nothing

3.8.0 

Breaking 

Nothing

Features 

  • Expose settings via DateSearchVariables Event.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

3.7.0 

Breaking 

Nothing

Features 

  • Support new PRICE_INFO_EXTRA field as price info. The existing field PRICE_INFO is kept as fallback.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

3.6.0 

Breaking 

Nothing

Features 

  • Import copyright from destination.one media object field source in file metadata field copyright.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

3.5.2 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Fix broken TCA for highlight property. The highlight could not be saved. An unexpected value (3) was submitted on selection. We now migrated the property to look and act the same as hidden input.
  • Fix broken assignment of features and categories. The import contained a bug that lead to summing up relations between events and categories and features. The same relations would be added over and over again with every new import. This leads to performance issues when editing or storing events through TYPO3 backend. The import is adjusted to no longer use Extbase but DataHandler for this task. This circumvents the issues introduced by Extbase. This is the first step to migration of import to be fully using DataHandler + doctrine DBAL in the future. One drawback is the slowdown of the import. But we don't expect people to run it that often. Also a working import with proper logging (history, permissions, etc.) seems better than a broken but fast import.

Tasks 

Nothing

Deprecation 

Nothing

3.5.1 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Properly trigger 404 if a date is requested where event is not available. This might happen if an event is set to hidden. The date record is still available and can be requested. But the event is missing, which in turn should make dates also unavailable. This situation is now properly handled and will result in a 404.

Tasks 

Nothing

Deprecation 

Nothing

3.5.0 

Breaking 

  • We migrated away from Extbase Category model. This is technically breaking, but we don't consider it breaking as this should be an internal detail. Still this might break if you have type checks.

Features 

  • Add PSR-14 Events to destination.one import. They allow individual installation to alter the import.

    See PSR-14 Events for an overview of PSR-14 Events.

    Added Events:

    • Allow to modify TYPO3 sys_categories before adding them to an event during import.
    • Allow to modify an event object before importing.
  • Add source to events. destination.one provides the original source, either them self or an external. This is now saved in order to make it easier for editors and companies to contact the original source and ask to fix broken data.

Fixes 

  • Improve handling of dates with no end. This was always technically possible. Still support from extension was missing. This now got improved, the date object will not throw exceptions due to format() calls on none. Furthermore the PHPDoc now reflects that there might be null instead of \DateTime. Also the setter was adjusted to allow null values.

Tasks 

  • Renaming different Destination cases to destination.one throughout documentation and text. Code is left untouched in order to not break things.
  • Migrate away from Extbase Category to custom Category. The extension already provided its own Category model. TYPO3 deprecated and will remove the default Models. We consider this none breaking as this is considered to be internal API.

Deprecation 

Nothing

3.4.0 

Manual steps 

  • Determining global_id of locations has changed. An Update Wizard is provided in order to migrate existing data. This is only necessary when using the import of locations from destination.one.

Breaking 

Nothing

Features 

  • Adjust TYPO3 page cache timeout based on rendered dates. Will use one of the following:

    • end time of each rendered date
    • start time of each rendered date (if upcoming is enabled)
    • midnight (if midnight is configured)

    The lowest date will be used to calculate the maximum time to life for the page cache. This is compared to the already calculated time to life. The lower value is then used by TYPO3.

    That allows visitors to always see the next dates.

  • Add upcoming setting for dates.

    The option can be set to 0 (default) or 1. 0 behaves the same way as in the past. 1 turns off the option useMidnight, start and end. Only dates with a start date in the future will be shown.

  • Handle changes to images for events. The import of destination.one only added new images but kept existing images untouched. This was now improved. The import now will update, remove and re-sort images as well. Existing image files won't be downloaded again, only information and position are updated.
  • Flushes page caches during import and edits. Proper cache tags are now added to the pages whenever the controller is used. That ensures that modifications during import or while editing records are flushing corresponding pages.
  • Improve handling of file meta data during import from destination.one.

    • Set alternative to the description if available.
    • Set creator_tool to the "destination.one".
    • Set source to the URL of the fetched image.

Fixes 

  • Do not delete files if they are still in use. The clean up task had an issue to clean up to many files. It didn't check if a file that could be deleted because one event got deleted, was still in use by another event.
  • Generate slugs after each single event was imported. This should prevent a situation where a large amount of events is imported without having slugs. Routing might break depending on configuration. The time range where this can happen is now reduced as slugs for each event and date is generated right after saving each of them.
  • Improve deletion of files and their relations. The used database query didn't work as expected and could result in data loss. There are now two database queries and the logic is moved to PHP. Furthermore, the test cases were extended with another situation.
  • Do not break update wizard due to missing columns. The existing update wizard expects old columns to exist in order to migrate data. Those might not exist in newer systems where migration is not necessary. The wizard now properly checks for existence before querying the data.
  • Prevent duplicate location entries from destination.one import. They seem to differ in writing of latitude and longitude. An update wizard is provided to clean up existing duplicates.

Tasks 

  • De-duplicate code within functional tests.

Deprecation 

Nothing

3.3.0 

Breaking 

Nothing

Features 

  • Add PHP 8.2 support.
  • Added option to filter dates by organizers. The new setting works the same way as existing locations. Add a comma separated list of UIDs. This can be used via FlexForms or TypoScript. Can also be used as filter from request, where an array of UIDs is expected.

Fixes 

  • Fix changing slugs for dates on re import. The UID was part of the slug. Each import will delete all dates and re create them. That would lead to new slugs due to new uid. The default now was changed to use the event title (as before) and start (as before) with time (new). That should hopefully be unique enough.

Tasks 

  • Solve PHPUnit deprecation: "Passing an argument of type Generator for the $haystack parameter is deprecated. Support for this will be removed in PHPUnit 10." Migrate iterator to array within tests.

Deprecation 

Nothing

3.2.2 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Remove missing rte config from events TCA
  • Fix linebreak replacement in import

Tasks 

Nothing

Deprecation 

Nothing

3.2.1 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Properly handle time searches, now covered with tests.

Tasks 

Nothing

Deprecation 

Nothing

3.2.0 

Breaking 

Nothing

Features 

  • Provide routing for content elements. Can be included within site configuration:

    imports:
      -
        resource: 'EXT:events/Configuration/CeRouting.yaml'
    Copied!

    Expects pluginNamespace to be "events":

    view {
        pluginNamespace = events
    }
    Copied!

Fixes 

  • Properly link to first page within Pagination partial.
  • Do not break while searching dates by search word. Properly search within location name instead of no longer existing event name column.
  • Do not break on date list if no order is defined.

Tasks 

Nothing

Deprecation 

Nothing

3.1.0 

Breaking 

Nothing

Features 

  • Handles date intervals without given repeatUntil property. A default of +60 days is hard coded. The actual date span can be configured via TypoScript.
  • Pages can now define they store event records. A new entry was added to select and the icon within page tree will be replaced.
  • Provided update wizard to migrate old location data to new one. It is important to execute the database compare once, so old columns are prefixed but not removed. Execute wizard and you are done. Locations will be extracted from old events and placed on same pid. You might wanna move all locations to a dedicated new pid in the end, e.g. with an sql query (Replace 2 by your page uid):

    UPDATE tx_events_domain_model_location SET pid = 2
    Copied!

Fixes 

  • Do not break import on missing image

    Guzzle might throw exceptions instead of returning the response. We extend our import to also watch out for exceptions and handle them the same way as a response other than 200.

    Relates: #10253

  • Support import of png images from destination.one.
  • Do not break TYPO3 v11.5 extension compatibility check. The addStaticFile() method has to be called from Configuration/TCA/Overrides/ instead of ext_tables.php as this might break frontend.

Tasks 

  • Update Icons.

Deprecation 

Nothing

3.0.0 

Breaking 

Namespace changes 

A new namespace was defined for plugins which is "events_search". The search parameters are now collected below namespace "search" instead of "events_search" leading to events_search[search][parametername]=value instead of tx_events_signature[events_search][parametername]=value.

The form now is submitted as post and redirects to a proper URL with GET.

The code was bloated and made it hard to fix bugs.

Necessary steps:

  • Check usage of old namespace within templates and other sources.
  • Check usage of old nesting of parameters.

API Changes 

The methods of DateDemand have changed, getStart() and getEnd() return a string value necessary or Fluid forms. Those are not considered public API. Use getStartObject() and getEndObject() instead.

The static method createFromRequestValues() was moved as an instance method to the factory, in order to streamline factories.

The old location properties were removed from events. The locations are imported as dedicated instance already. The corresponding TCA and database columns got removed as well.

The Form ViewHelper got removed as it was unused.

Removed command 

The legacy command was removed. It now is necessary to create import configurations and use new commands to import those configurations.

Features 

  • Provide routing

    The extension now provides a basic routing. This can either be imported or used as an example.

    Date also has a slug field now.

    Relates: #10179

Fixes 

  • Keep filter during pagination

    Search requests are POST by default. We apply PRG (=Post Redirect Get) on them to create proper GET requests. Those can be used to generate the URLs for pagination.

    We follow Extbase, and do not explicitly ask for arguments from foreign namespaces. Instead we configure a pluginNamespace that's shared between plugins. This is all necessary as we still ship pre defined plugins. This should belong into integration of each project.

    See: https://en.wikipedia.org/wiki/Post/Redirect/Get

    Relates: #10175

  • Do not delete files which are unrelated to the events extension.

    Relates: #10011

Tasks 

Nothing

Deprecation 

Nothing

2.6.3 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Do not fetch dates without available event

    As dates don't make sense without an available event. The event provides necessary info like the title. Events might be hidden within system, while dates are still available.

    Relates: #10075

Tasks 

Nothing

Deprecation 

Nothing

2.6.2 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Respect timezone for recurring events. Some events occur over multiple time zones (same time zone but summer and winter time). We ensure PHP creates those objects as expected so we do not use the current offset, but the one of that date.
  • Tests won't work after a specific date, we ensure they will work all the time.

Tasks 

Nothing

Deprecation 

Nothing

2.6.0 

Breaking 

  • The location columns within events will no longer be filled. The new location will be used instead. The model will fall back for existing old records. Therefore this should not end in an effect on existing systems. The model no longer has setters for location beside the location itself.

Features 

  • Support PHP 8.1.
  • Search location name and organizer name when a search word for dates was given.
  • Introduce new record Location. This is the actual event location which is stored as separate record instead of inline properties within the event. This allows to filter by location.
  • Provide new stable Pagination within Controller and used Templates. This makes the Extension compatible with v10, v11 and v12 regarding pagination. The template now also follows https://www.a11ymatters.com/pattern/pagination/ for accessibility. Feel free to copy the template to projects.

Fixes 

  • Do not break old scheduler tasks as no features can be configured. Ensure we properly handle none configured features within configurations. Allow null within database and handle Extbase converting this to integer 0.

Tasks 

Nothing

Deprecation 

  • Usage of location related properties from within the Event. Use the new sub property Location instead.
  • Location related database columns within tx_events_domain_model_event. Use tx_events_domain_model_location instead.

2.5.0 

Breaking 

Nothing

Features 

  • Respect search in list and search action of date controller. The argument prefix has to be search. The value is used to create the demand and filter the dates. The value is also provided to the view.

    That uses Extbase native argument mapping by name. No need for hardcoded plugin namespaces or to provide some arguments from request to the view.

    The search is a plain array and therefore allows to pass whatever the templates provide.

  • Extend DateDemand. It now supports filtering by request values for Regions.
  • Extend Date to provide helpful methods for templates. New methods:

    • getHasUsefulStartTime()
    • getHasUsefulEndTime()
    • getEndsOnSameDay()
  • Add destination.one "Features" to events. Features are again TYPO3 categories with different parent as existing categories. New features are hidden by default but can be activated within TYPO3. That allows to fetch all within controller and provide them as filter. But editors actively need to enable them for filtering.

    It is possible to add them to user submitted filter.

  • Add PSR-14 events to Date controller. Those events allow to alter the variables assigned to views within list and search action. This might be used to add further variables or to alter variables, e.g. hide some categories, group dates, etc.
  • Provide start and end as \DateTimeImmutable instances within DateDemand. This allows to respect time zone and usage of f:format.date ViewHelper.

Fixes 

  • Do not break within repository if no longer existing category is requested. The code didn't catch that situation and would fail with an TYPO3 exception.

Tasks 

Nothing

Deprecation 

Nothing

2.4.4 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Fix missing first date on import of daily events. The first date of daily events was missing during import.

Tasks 

Nothing

Deprecation 

Nothing

2.4.3 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Fix broken date creation during import. The import of recurring dates was broken. We did not respect the time zone. And we did not respect the end time, but used the until instead.

Tasks 

Nothing

Deprecation 

Nothing

2.4.2 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Fix broken import of "ticket" property. The existing code didn't work if the ticket was of type "booking" or "PRICE_KARTENLINK". This got fixed and tests were added.

Tasks 

Nothing

Deprecation 

Nothing

2.4.1 

Breaking 

Nothing

Features 

Nothing

Fixes 

  • Crop title of imported files. sys_file_metadata table column title is limited in length. We now crop long file titles to maximum of 100 characters to prevent issues during storing title.
  • Fix endless import loop. Import of weekly dates got broken while refactoring. We keep existing logic of creation but ensure that we won't end up in an endless loop.

Tasks 

Nothing

Deprecation 

Nothing

2.4.0 

Breaking 

Nothing

Features 

  • New Option useMidnight = 0 is available. This allows to explicitly show dates from now instead of midnight which is kept as default.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

2.3.3 

Breaking 

Nothing

Features 

  • Add option to select "all" regions within FlexForm.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

2.3.0 

Breaking 

Nothing

Features 

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

Nothing

2.2.0 

Breaking 

Nothing

Features 

  • Add PHP 8.0.
  • Add TYPO3 v11 LTS.
  • Empty TypoScript option categoryParentUid or 0 no longer triggers a warning. Instead it is respected to not import or assign any category.
  • region-uid of DestinationDataImportCommand is now optional. No region will be fetched and assigned to Events if no uid is provided.

Fixes 

  • Commands RemovePast and RemoveAll now properly remove files related to events which no longer exist.
  • Command RemovePast now properly removes past dates and associated events, category relations and files.

Tasks 

  • Added lots of tests for existing code base and adjustments made in this version.
  • Migrate readme to documentation.
  • Remove execution rights from PHP File.
  • Remove no longer existing TCA ctrl entry thumbnail.
  • Fixed nearly all PHPStan issues.

Deprecation 

Nothing

2.1.0 

Breaking 

Nothing

Features 

  • DateDemandFactory supports TypoScript stdWrap on all settings on first level.
  • New option queryCallback for DateDemand was added. This option allows to define a callback in TYPO3 way (e.g. function, closure or method ->). This receives the DateRepository as well as the current QueryInterface to alter query after it was created based on the DateDemand.
  • Add Changelog to document changes for each version.

Fixes 

  • DateRepository now properly fetches Date if no start and no end was given. It fetched only upcoming Date beforehand. It will now fetch all Date where either the start OR end is in future. That way also currently active Date are returned. Converting default from "future" to "running and future".

Tasks 

  • Moved creation of DateDemand out of DateController into a new DateDemandFactory. That allows re use of creation from settings. This also streamlines creation with EventDemand and EventDemandFactory.
  • Removed outdated stuff from Documentation.

Deprecation 

Nothing

Maintenance 

This is not maintenance for integrators or administrators.

This is maintenance for the maintainers of the extension. We list things we need to take care of, e.g. when dropping support for specific PHP or TYPO3 version.

A file without further headlines means there is nothing yet, beside the things using staabm/phpstan-todo-by composer package.

Sitemap