2.0.0

Breaking

  • Permissions of backend modules. The modules got new identifiers. User permissions need to be adjusted. An update wizard is provided that will migrate the permissions.

  • Drop support for PHP 7.2 + 7.3.

Features

  • Add support for TYPO3 v11 and PHP 8.0 + 8.1 + 8.2.

  • Last import date is now shown within backend module beside each import configuration.

  • New import configuration type "Contains Place". This allows to provide a single entity, e.g. a Town that has multiple schema:containsPlace entries. Each of them will be imported.

  • Import will no longer break on mapping issues. Those will be logged and are available within the existing backend module. This allows to skip some objects which can not be handled yet. The log can be used to open issues. We then can improve the mapping.

  • Import author of media. This allows to either render the license author or the author.

  • Filter and sort opening hours. Filter out opening hours from the past, they are not available to the template anymore. Sort opening hours from early to later based on their end timing.

    This should improve the UX of website visitors. It is not possible yet to sort opening hours by hand within the thuecat backend.

  • Support special opening hours. It is possible to define special opening hours, e.g. for holidays. Those are now also imported and provided to the templates.

  • Allow to check if an opening hour is valid for a single day.

  • The URL of attractions is now imported and provided to the template.

  • Media has a new method getExtraImages() which will return everything from getImages() except the getMainImage(). We now also filter out the main image from other images, it will not exist twice anymore.

  • Allow to hide parking facilities.

  • Parking facilities can now be rendered sorted by alphabet. Use new method getParkingFacilitiesNearBySortedByAlphabet().

  • Support types of public transport when returning distance to public transport. A new array key types was added. This is an array of types, e.g. CityBus or Streetcar. These can be used with f:translate ViewHelper to provide proper none technical labels.

  • Configure EXT:scheduler table garbage collection task to clean up import records. It is now possible to select the tables within the TYPO3 scheduler task to be cleaned up.

  • Respect schema:givenName and schema:familyName of schema:author for media. We only respected schema:name until now.

  • Provide new key copyrightAuthor holding the actual author for convenience. It will pick the author value falling back to license.author.

  • Provide new method to retrieve merged opening hours and merged special opening hours. The merge happens on the valid time span of each. The data structure is a bit different as different hours will be merged.

Fixes

  • Allow to import objects (e.g. Tourist Attractions) which are managed by generic organisations instead of specific Tourist Marketing Company. Those organisations will now also be imported, just like Tourist Marketing Company before. Both are organizations internally and only used for the TYPO3 backend module.

  • Handle multiple thuecat:offerType values within Offer. The API is none breaking, the models still return only a single offer.

    They will filter down to the first offer which contains Offer within the value. Examples:

    Given: Childcare and CourseOffer will result in CourseOffer.

    Given: Childcare will result in Childcare.

    Existing imported data is still handled.

  • Remove trailing : in German translation of content.distanceToPublicTransport. This was the only label with :.

  • Keep editorial sorting of tourist attractions within content element. This was not the case yet, the records were sorted by dbms, e.g. by uid.

Tasks

  • Removed API Key from site configuration. The key was already moved to extension configuration as documented. Still we extended the site configuration, which is now cleaned up, see: https://github.com/werkraum-media/thuecat/issues/55

  • Remove seconds from opens and closes of opening hours as we don't expect them to be used.

  • Use new icons in streamlined color and UI. Provide new icon for storage folders. Provide new icon for content element.

  • Add first acceptance tests for backend modules.

Deprecation

Nothing