Commit graph

299 commits

Author SHA1 Message Date
Daniel Siepmann f7e8e0a1a4
Add support for Symfony 7.0 (#52) 2024-02-19 09:20:12 +01:00
Daniel Siepmann 7db61a189a
Add Social Media Tags by default. (#50)
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.
2023-11-30 11:55:32 +01:00
Daniel Siepmann 1d3c28f228
Provide Page Titles (#46)
That way it is possible to alter the TYPO3 page title when showing a
date or event.

Relates: #10640
2023-11-29 10:52:57 +01:00
Daniel Siepmann 713bc4b697
Add meta tags (#49)
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.

Refactor import regarding data handler. We now also need to add a new
column "keywords". We use the new DataHandler approach.
But that approach only covered relations so far. We therefore refactor
that area to be more generic and use that one for new keywords column.

Relates: #10642
2023-11-29 10:36:59 +01:00
Daniel Siepmann 8851a4e299
Remove testing framework patch (#45)
The patch got merged upstream
2023-11-27 10:58:47 +01:00
Daniel Siepmann 81065f5c67
BREAKING: TYPO3 v12 support (#44)
* Migrated all fixtures to PHP.
* Removed version specific adjustments.
2023-11-27 10:04:42 +01:00
Daniel Siepmann a9f3f108e3
BREAKING: Change of vendor/namespace (#43)
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.
2023-11-09 10:27:43 +01:00
Daniel Siepmann 8259ac40af
Adjust version, state and authors in emconf (#42) 2023-11-06 08:50:13 +01:00
Daniel Siepmann ab75902a95
Fix broken assignment of features and categories (#41)
We migrated the part of the import to use DataHandler.
We didn't invest too much time as budgets are low.
Still the bugs are covered with tests and fixed.

Relates: #10782
2023-11-06 08:44:03 +01:00
Daniel Siepmann 0784945902
Allow to change highlight via backend form (#40)
It was not possible to change the value of highlight for events due to
broken TCA.
This got fixed. The input is now streamlined to look the same as hidden
to not irritate users.

Relates: #10782
2023-11-02 14:49:05 +01:00
Daniel Siepmann 82df4ded99
Properly trigger 404 if date of unavailable event is requested (#39) 2023-10-16 07:47:48 +02:00
Daniel Siepmann 27ee70d0cf
Add event to modify categories during destination.one import (#34)
A new PSR-14 event is added that allows to modify the categories to be
assigned to an event.
The event itself (including already existing categories) as well as the
list of categories to be used after import are available.
It is possible to change the categories to be assigned, e.g. keep some
of the existing categories.

That way it is possible for installations to add custom categories to
events.

Relates: #10623
2023-08-14 12:09:28 +02:00
Daniel Siepmann de38d80b32
Streamline writing of destination (#38) 2023-08-10 16:12:47 +02:00
Daniel Siepmann 5af1d08148
Add source while importing from Destination Data One (#37)
Destination Data One provides an source info explaining where the data
originally came from.
This is now added to event records and exposed in TYPO3 backend.
That allows editors to check the source and contact corresponding
sources in order to fix broken data.

Relates: #10630
2023-08-10 15:02:05 +02:00
Daniel Siepmann 3d0d5d8645
Add PSR-14 Event to modify event objects prior persistence (#35)
A new PSR-14 event is added that allows to modify the event right before
it is persisted within Destination Data One import.

This for example allows to alter dates, prices, etc.

Improve handling of missing end time in dates.
2023-08-10 14:20:37 +02:00
Daniel Siepmann 05f3ec4fa7
Update PHPStan (#36)
PHPStan triggers a deprecation on PHP 8.2, but that got fixed with an
update.
2023-08-10 13:47:27 +02:00
Daniel Siepmann 00946af6ad
Properly handle latitude and longitude during Destination One import (#32)
They sometimes use a different separator.
The code is adjusted to always use same separator and precision.

That will prevent the same location from showing up multiple times due
to different latitude and longitude values.
2023-07-06 12:39:47 +02:00
Daniel Siepmann 6348b1079d
Prevent exception due to missing database columns in update wizard (#29) 2023-07-04 10:31:01 +02:00
Daniel Siepmann 9f0eaac154
Improve CGL 2023-07-04 10:21:49 +02:00
Daniel Siepmann 0ca95bc410
De-duplicate code within functional tests (#28) 2023-07-04 10:11:26 +02:00
Daniel Siepmann 0f7323eac3
Fix removal of still used files (#27)
Simplify SQL queries and move logic to PHP.
2023-06-20 11:56:59 +02:00
Daniel Siepmann c56a10b748
Improve meta data of imported files (#24)
* Set ``alternative`` to the ``description`` if available.

* Set ``creator_tool`` to the "destination.one".

* Set ``source`` to the URL of the fetched image.
2023-06-19 10:22:54 +02:00
Daniel Siepmann bae680025e
Flush corresponding page caches on import (#25)
The pages now receive proper cache tags.
The import now properly clears those cache tags.
That way all corresponding pages will show updated content after import
finished.

We need one test that executes frontend requests and import command.
The separation is therefore removed and tests are streamlined to have a
single parent providing all necessary information and setup.
2023-06-19 10:13:26 +02:00
Daniel Siepmann 7b3bbf6d9d
Do not download already existing files during import (#26)
The usual use cases right now would involve a new file with a new URL.
That way we don't need to download existing files again.
That reduced network traffic, execution time and resource usage.
2023-06-19 10:13:17 +02:00
Daniel Siepmann d9fef5367a
Reduce broken time frame due to missing slugs (#23)
Dates are vanished and re created during import.
Slugs for dates were generate after whole import was finished.
This is now changed to generate slugs for dates after saving each single
event.
2023-06-15 09:55:15 +02:00
Daniel Siepmann a756998f1f
Add proper image handling during import (#22)
Import now properly handles images.
It only added missing images beforehand but now will properly:
- Remove
- Resort
- Add
- Update

Relates: #10521
2023-06-12 11:07:52 +02:00
Daniel Siepmann d4a11436c6
Streamline CGL (#21)
Use php-cs-fixer as within other extensions.
Use same configuration.
Apply configuration
2023-06-07 08:56:42 +02:00
Daniel Siepmann d6d3330bd3
Fix wrong detection of Page Cache timeout (TTL) (#20)
Use the earliest instead of latest timeout.
Extend tests to cover the bug.

Relates: #10506
2023-05-24 09:45:15 +02:00
Daniel Siepmann a122f515d8
Adjust documentation (#19)
* Use current best practices.
* Update list of commands.
* Use confval directive to define available settings.
2023-05-23 11:51:16 +02:00
Daniel Siepmann 76c1e79ea3
Respect new upcoming feature when calculating TTL of page cache (#17)
Relates: #10506
2023-05-23 11:46:18 +02:00
Daniel Siepmann 99ef32a37b
Allow to show only upcoming events (#16)
A new TypoScript option upcoming is added.
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.

Relates: #10507
2023-05-22 09:59:45 +02:00
Daniel Siepmann 0fc2668d17
Improve TYPO3 cache handling (#14)
There might be access to TSFE get_cache_timeout() prior rendering
events.
TYPO3 has a cache for timeout and won't re calculate again.
We therefore need to clear the cache if timeout would change.

That will lead to inconsistent cache information throughout a single
request. But the final cache timeout of the page will be correct. Other
parts might be longer, which probably is fine until they relate to the
events.

Relates: #10500
2023-05-16 10:15:05 +02:00
Daniel Siepmann 9bc0466e5d
Improve automated testing (#15)
Use abstract classes to include necessary steps and keep actual test
cases small.
Ensure tests in CI run faster but not installing unnecessary
dependencies. But use pre installed ImageMagick.
2023-05-16 09:46:53 +02:00
Daniel Siepmann 17ecfb12c1
Fix upcoming version changelog and number (#13) 2023-05-16 07:49:00 +02:00
Daniel Siepmann 9c8e1aa982
Do not delete files if they are still in use (#12)
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.

Relates: #10499
2023-05-15 15:35:48 +02:00
Daniel Siepmann 53ee309768
Migrate all database fixtures (#10)
We switched to PHPDataSets already but didn't migrate all usages.
This commit now migrates all usages left behind.
2023-05-15 11:58:19 +02:00
Daniel Siepmann cc2e8213bc
Adjust phpstan baseline (#11) 2023-05-15 11:30:50 +02:00
Daniel Siepmann adc8b30e6d
Extend TYPO3 page cache timout calculation based on rendered dates (#9)
Relates: #10349
2023-05-04 15:23:23 +02:00
Daniel Siepmann afd8c59c9e
Fix phpunit deprecation warnings (#8) 2023-04-03 11:35:47 +02:00
Daniel Siepmann a49ba7c4d2
Fix 404 for dates after re import (#7) 2023-04-03 11:34:56 +02:00
Daniel Siepmann 5721a1d399
Allow to filter by organizer (#6)
Relates: #10409
2023-04-03 08:54:48 +02:00
Daniel Siepmann d682c14252
Add PHP 8.2 support (#5)
Also add shell.nix for easier development.
2023-04-03 08:41:22 +02:00
Dirk Koritnik 948913fe10
Set version to 3.2.2 (#4) 2023-03-17 13:45:46 +01:00
Dirk Koritnik f3b3a70948
Remove rte config fram tca, fix text cleanup from linebreaks (#3) 2023-03-17 12:58:06 +01:00
Daniel Siepmann 6ab5ccf85b
Add very basic first docs (#2) 2023-02-21 14:53:47 +01:00
Daniel Siepmann c659e5310f
Migrate GitLab CI to GitHub Actions (#1) 2023-02-21 14:46:47 +01:00
Daniel Siepmann c771924b8e
Properly handle time searches 2023-02-21 14:06:59 +01:00
Daniel Siepmann 3cd2aa9095 Check whether order is configured before applying
Relates: #10349
2023-02-16 07:54:53 +01:00
Daniel Siepmann 0c9f9542fb Don't break on searchword search
We didn't adjust the location name when using searchwords.
We now properly search within new locations name, instead of old no
longer existing column.

Relates: #10349
2023-02-16 07:54:03 +01:00
Daniel Siepmann a188dd280c Fix broken link to page 1 within pagination
Relates: #10349
2023-02-16 07:53:03 +01:00