Calendar: special dialog when editing repeating events [$145]

Created on 17 Sep 2016  路  44Comments  路  Source: nextcloud/calendar

When editing a repeating event the calendar needs a special dialog:

Do you want to change only this or this and all upcoming occurrences?


Did you fix this issue? Go claim the $145 bounty on Bountysource.

3 - to review Editor JS enhancement-approved priority

Most helpful comment

There should be three possibilities:

  • Only this event (eg. delete/change)
  • This and all upcoming events (eg. delete/change)
  • All events (eg. typo in title),

All 44 comments

There should be three possibilities:

  • Only this event (eg. delete/change)
  • This and all upcoming events (eg. delete/change)
  • All events (eg. typo in title),

I honestly don't see a need for three options. The two mentioned in the description should be just fine.

All events (eg. typo in title),

You usually don't spot a typo in a title 3 month after creating it. You will most certainly spot it right after creating the event.
Editing past events happens very very rarely. Ordinary users probably never change past events.

The ordinary use cases here are:

  • location changes for one or all future occurrences. You wouldn't change the location for past events, because they already took place.
  • same goes for additional attendees. New attendees for one or all future occurrences didn't attend the previous events, so why add them?
  • deleting one or all future occurrences. The past ones still took place, so why remove them?

Having two or three buttons is a big difference from a usability point of view. The user has more input to parse. It clutters the interface and makes it less intuitive to use.

Would be good to get more input here. @nextcloud/calendar @jancborchardt @eppfel

To me it seems strange to not have the option to change all events, although it might not be necessary.

Regarding typos: There can also be ones spotted some time after creation.

Just for the record, Thunderbird gives

  • Edit just this occurrence
  • Edit all occurrences

However, I would show

  • Edit just this occurrence
  • Edit all future occurrences

And if 'now' is given by the selected event, you could still edit past events by navigating to the first occurrence and edit this one with 'all future occurrences' which would lead to effectively editing all occurrences.

Both Google Calendar and Novell GroupWise offer all three options (with GCal apparently resetting prior modifications to other events if "edit all events" is selected).

Lotus Notes even has 4 options:

  • Only this entry
  • All Entries
  • This and all previous entries
  • This and all future entries

And I would like to have the possibility to delete all entries, whether or not they took place.

This and all previous entries

Seems like Lotus Notes is still stuck on the first revision of the icalendar standard 馃檲
I can't think of any legitimate use case for that.

I know (http://dreckstool.de/hitlist.do), that's because I first wrote about three options. And still will vote for 3 options... :-)

I opt for three options - a) this event, b) all future events, and c) all events. This is how it also done by Google-Calendar which is used by millions of people and seems to be the right way in my viewpoint to offer changes for recurring events.

I won't mind three options imho.
But I also agree with @georgehrke pov. Too much information isn't suitable. But I could also see some uses for me that would require editing passed events too :/

Reminder to myself:

  • don't use RECURRENCE-ID;RANGE=THISANDFUTURE. Support of most clients is very poor for this.
  • split up event and set UNTIL on old event instead.

macOS and iOS don't support RANGE=THISANDFUTURE. According to http://stackoverflow.com/a/30343374 Google calendar does neither.

Looking at the code, lightning should actually support RANGE=THISANDFUTURE, but will work fine with splitting the event up too.
lightning (on macOS) supports it neither

413 was merged, so this is open for work shall anyone want to help :)

Be aware that when attendees are invited to the event they get 2 emails

  • an update: the current event is ending
  • an invite: new series that has started.

Range property solves this but these are my test results:

Sad but true
Test file:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//GEDIT//NONSGML Version 1//EN
BEGIN:VEVENT
UID:1337-range-test@michael
DTSTART;VALUE=DATE:20170501
DURATION:P1D
DTSTAMP:20170401T160000Z
RRULE:FREQ=WEEKLY
STATUS:CONFIRMED
SUMMARY:Range-test: Weekly
END:VEVENT
BEGIN:VEVENT
UID:1337-range-test@michael
RECURRENCE-ID;RANGE=THISANDFUTURE;VALUE=DATE:20170605
DTSTART;VALUE=DATE:20170605
DURATION:P1D
DTSTAMP:20170401T160000Z
SUMMARY:Range-test: Changed
END:VEVENT
END:VCALENDAR

@dehart As I said just two comments above, let's not use range, just split up and set until on the first one. ;)

https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813

Just wanted chime in here with one more thing to consider. On Google Calendar when you use drag and drop to move a recurring event, a new, standalone event is created on the new day.

That behavior is intuitive to me as I wouldn't expect dragging one event to change all events in a series. But, it seemed like an easy to overlook detail so I thought I would mention it.

Just to chime in as well, I think the three options are needed. Especially when deleting a series of event, I would like to have the option of either "deleting this one" (exceptionally can't go to the gym this time), "this and all upcoming events" (I won't go to the gym anymore, but I want to know when I went there in the past) or "all the events" (I don't want to leave a trace of this recurring event in my calendar).

Until this is finally fixed, could there be a warning message presented when repeating events are opened for editing?

Warning: Changes will be applied to all events in this series

We exported our calendars from Google an now we have to discuss to migrate back because of missing functionalities in editing series events. Are there any updates on this topic, that i can tell my users to calm down and be patient? :D

It's scheduled for the next minor release

Bountysource

I'm very very sorry, but I had to postpone this to 1.6.1. It's not fully implemented yet, but I had to release 1.6.0, otherwise there would have been no compatible calendar app for Nextcloud 13.

1.6.1 is scheduled for March 6th

Just a quick update:
The implementation of this feature is done, but the code is quite complex and we weren't able to test it thoroughly yet. Hence I'm not comfortable releasing it as production yet.

That's why I will do the following and you all can help: 馃槈 馃檪

  • I will release 1.6.1 without this feature today
  • Tomorrow or the day after tomorrow I will release 1.6.2 alpha, which will basically be 1.6.1 including this feature.
  • You can all help testing and report issues, so we make sure it's stable enough to ship in 1.6.2 (scheduled for April 2nd)

I will post instructions how to install 1.6.2 alpha and I will make it as easy as possible. No running git or make commands, just placing a folder on your server.

Here we go: https://github.com/nextcloud/calendar/releases/tag/v1.6.2-alpha-recurrence-question

Steps to install:

  • locate the nextcloud folder in your server (e.g. /var/www/nextcloud/)
  • go to the apps folder inside the nextcloud folder (e.g. /var/www/nextcloud/apps)
  • delete the calendar folder
  • Download the asset calendar.tar.gz (e.g. with wget https://github.com/nextcloud/calendar/releases/download/v1.6.2-alpha-recurrence-question/calendar.tar.gz)
  • unpack it (e.g. with tar -xvzf calendar.tar.gz)
  • you will now have a new calendar folder inside apps.
  • open your browser, go to the calendar app and be sure to do a hard reload.

There are currently two known issues:

  • the dialog needs some styling and better positioning
  • when you choose 'this and all future' the export button is in the editor is non-functional

Please report issues right in the pull-request: #454

I'm always unsure about how the app is going to behave with the app updater. Will it update to the stable 1.6.2 release once it'll be out, or because I've manually installed it, it'll stay in alpha until I delete the folder and reinstall the official one?

@georgehrke Did you forget about updating version info in info.xml or is the wrong version tagged? I downloaded from your link and can't delete single elements of a recurring event.

@derBobby I didnt tag a new version, so you have to clear your browsers cache to force a reload of the javascript

My bad. Thank you!

@georgehrke:

I just installed your asset from the URL above. When editing events, now I get the dialog for editing "All", "This only" and "This and all future". Now, if I want to delete "All" or "This and all future" it seems to work. But if I want to delete "This only" I get a short flicker of the event series, but nothing happens.

Any ETA on a stable release with this? Quite important feature!

I just raised the bounty whith $5. Thanks to jospoortvliet to notice it and to change the description ;-)

I would like to propose that in order for someone to collect this bounty, that deleting 'this event only' also should work. Ref https://github.com/nextcloud/calendar/issues/7#issuecomment-379536310

(It's a big issue with our family calendar... My wife is really bugging me about this :-/ )

Added $25 to the bounty. This issue is rarely a problem for me, but when it is, it鈥檚 a big one.

This still an issue, this is really annoying!

I just raised the bounty with $25.

This still an issue, this is really annoying!

Why my comment is mark as spam, this is still an issue and not a litlle one!

Stop replying with "me too" replies (@Tokowo ). The issue is still open, meaning the issue still exists. If you have no new info to add, do not comment. If you want to speed up the process, add some $ to the bounty.
[ See reply of @georgehrke below ]

Why my comment is mark as spam, this is still an issue and not a litlle one!

Because your comment is not helping us move this issue further ahead. If you want to show your support for this ticket, use Github Reactions.

If you have any technical comments on the implementation, please comment.

If you just want to comment how badly you need this feature, please don't. It's just unnecessarily notifying everyone subscribed to this issue.

I agree my comment it is not warm as a sunbeam! I'm sorry for that!
Well I did this comment because, this issue is open since 2016 and 3 years later, it still an issue without any progress, that's seam to be a forget dead end...
Mark my coment as a spam is rude and it is not helping too.
If you do answering to peoples by "marking as a spam" do not push anyone to invest in the bounty.

@Tokowo
I would have written this directly to you, and only to you, but i could not, since you don't have a repository and your profile doesn't list a mail address.
Since you are not doing any of the things @georgehrke listed, you comment is just noise (or spam), annoying the developers who have no obligation to you what so ever and might reconsider working on this project altogether if they are annoyed enough.
The other group of people you annoy are the 58 people, who want this feature just as badly as you do, because you just potentially reduced their chances of ever getting this feature by just making noise,
to which i, sadly just added.
So please reconsider you attitude towards people who work in their free time on software that is obviously important to you.

People, please stop replying to off-topic messages or we'll have to lock the issue.

Will it be fixed in vue.js version?

Would be nice, if an e.g. every month repeated event could be stopped in a certain period.

Any news ? Does not seem to work now on the last agenda plugin version !

Was this page helpful?
0 / 5 - 0 ratings