lochmueller / calendarize

📆 Best TYPO3 Calendar ever 📆
http://typo3.org/extensions/repository/view/calendarize
74 stars 84 forks source link

Add minutely and hourly frequencies #682

Closed phvt closed 2 years ago

phvt commented 2 years ago

This task would add "minutely" and "hourly" frequencies (from iCalendar). It would allow Calendarize to handle recurrence like "every 15 minutes for 8 times" or "every hour for 8 hours". This would open up some more possibilities to use calendarize for a scheduling system.

lochmueller commented 2 years ago

Some notes from Slack:

https://github.com/lochmueller/calendarize/blob/master/Classes/Service/TimeTable/TimeTimeTable.php#L246 https://github.com/lochmueller/calendarize/blob/master/Classes/Domain/Model/ConfigurationInterface.php#L31 https://github.com/lochmueller/calendarize/blob/master/Classes/Domain/Model/ConfigurationInterface.php#L39 https://github.com/lochmueller/calendarize/blob/master/Configuration/TCA/tx_calendarize_domain_model_configuration.php#L219

phvt commented 2 years ago

WIP that includes those changes and a bit more. https://github.com/phvt/calendarize/tree/feature/minutely-hourly-682 but not really any functionality yet. The hard part is indexing per minute/hour when the index is built around date instead of time intervals.

lochmueller commented 2 years ago

Hey @phvt your changes looks good and I merged the pull request: https://github.com/lochmueller/calendarize/pull/683 Regards, Tim

phvt commented 2 years ago

Thanks, but it doesn't do anything yet. The times are not incremented. It will create index entries all with the same time.

Generally speaking, we need to put date and time together, add the interval, pull them apart, adjust the start and end times by the interval, and generate the index.... no sweat 😅

lochmueller commented 2 years ago

Fixed in current master incl. functional tests to check the increment via hours.

FYI @phvt

phvt commented 2 years ago

@lochmueller Awesome, thank you! We are finally testing it on a small website and will hammer out any issues later in June.