Skip to content

Conversation

@anushka-codes1
Copy link
Member

Problem

As reported in #49, the additional dates (RDATE) feature causes interoperability issues:

  • Outlook does not import events containing additional dates
  • Android calendar clients fail to preserve additional dates when importing iCal events

These issues stem from inconsistent support for RDATE across calendar applications, making the feature problematic for users who need cross-platform compatibility.

Solution

This PR disables the additional dates UI in the recurrence widget by adding allowAdditionalDates=False to the widget configuration. This prevents users from adding RDATE entries that would cause import/export problems.

Changes

  • Widget Configuration: Added allowAdditionalDates=False to the pattern options in RecurrenceWidget.get_pattern_options()
  • Test Update: Updated unit test to reflect the new configuration option
  • Changelog: Added news fragment documenting the bugfix

Testing

The unit test has been updated to verify the new configuration is present. Full integration testing should be performed in a Plone environment with the complete test suite.

Fixes #49
Related to #48

The additional dates (RDATE) feature causes interoperability issues
with Outlook and Android calendar clients when exporting/importing
iCal events. This change disables the feature by adding
allowAdditionalDates=False to the widget configuration.

- Add allowAdditionalDates=False configuration option to widget
- Update unit test to reflect new configuration
- Add changelog entry documenting the fix
@mister-roboto
Copy link

@anushka-codes1 thanks for creating this Pull Request and helping to improve Plone!

TL;DR: Finish pushing changes, pass all other checks, then paste a comment:

@jenkins-plone-org please run jobs

To ensure that these changes do not break other parts of Plone, the Plone test suite matrix needs to pass, but it takes 30-60 min. Other CI checks are usually much faster and the Plone Jenkins resources are limited, so when done pushing changes and all other checks pass either start all Jenkins PR jobs yourself, or simply add the comment above in this PR to start all the jobs automatically.

Happy hacking!

@anushka-codes1
Copy link
Member Author

@jenkins-plone-org please run jobs

@anushka-codes1
Copy link
Member Author

@thet @jensens Kindly check and merge this PR.

@jensens
Copy link
Member

jensens commented Jan 1, 2026

IMO this is more than a simple bugfix, because it might break existing deployments in some way, @plone/release-team what do you think?

Copy link
Member

@davisagli davisagli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jensens I think the change is okay for Plone 6.2, and the master branch here is already only used by Plone 6.2.

Copy link
Member

@davisagli davisagli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be ideal if this were controlled by a registry setting though, so that admins can turn it on or off.

@mauritsvanrees
Copy link
Member

I agree it would be good if this was behind a registry setting. Then we could leave it at the original setting for existing sites (so no upgrade step), and on new sites we disable it. Or possibly on existing sites check if there are any events that have set an additional date: if not, then we can disable it.

Copy link
Member

@thet thet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general +1, although a bummer to remove that feature.

But we also need a allowAdditionalDates setting in pat-recurrence in Mockup.

Regarding the registry setting - yes, that would be good. But we should disallow to add additional dates, because that really does more harm than good.

I'm putting this on hold as long as the setting in mockup isn't implemented.

@thet thet marked this pull request as draft January 13, 2026 21:28
@thet
Copy link
Member

thet commented Jan 13, 2026

Here's the allowAdditionalDates implementation for the recurrence widget.
In DRAFT as I feel it needs a test.

plone/mockup#1524

@@ -0,0 +1 @@
Disable additional dates (RDATE) feature in recurrence widget to prevent interoperability issues with Outlook and Android calendar clients when exporting/importing iCal events.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we change the default here to False it is semantically a breaking change. We have one project wich uses additional dates and it would not work anymore if I update there.

I'm OK with changing that, since master is in alpha release state, but I'd change the towncrier entry to 48.breaking to see it in the CHANGELOG ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Is there a way to deactivate 'additional dates'?

7 participants