Closed johkoenig closed 5 years ago
GitMate.io thinks possibly related issues are https://github.com/nextcloud/server/issues/1854 (Some contact birthdays shown multiple times), https://github.com/nextcloud/server/issues/2965 (Change Color of Birthday Calendar), https://github.com/nextcloud/server/issues/3084 (contact birthdays with no year given are shown with (*1604) in calendar), https://github.com/nextcloud/server/issues/3003 (Disable birthday contacts calendar generation for user), and https://github.com/nextcloud/server/issues/5504 ('Contacts Birthdays' showing up as task list).
Since Birthday Service
is handled by a cron job, we could only generate birthday events for the previous, current and next year (with the appropriate title each time), instead of using the recurrence rule.
What do you think, @georgehrke?
@tcitworld I'd use at least 10 years into the future and all the way back to birth. I don't think it will put much load on the server. After the first run, it'll be only one appointment each year. I even think that it will probably add more load to check whether appropriate events have been generated than just generating a larger amount in the first place.
For people with death date given, the events should be generated for all the years between birth and death.
I'd use at least 10 years into the future and all the way back to birth.
Why would you need that? The birthday events of the year N+1 will be exactly the same than on year N. The feature with the birthday calendar is to be reminded of the upcoming birthday events, not exploring past birthday events or far future ones.
I don't think it will put much load on the server.
I administrate an instance where my user have a total of around one million contacts. Let's say only half of them have their birth date registered and they are on average 30 years old, generating all events from their birth and 10 years in the future would make 20 million events to handle, whereas I had only 500 000 before.
I even think that it will probably add more load to check whether appropriate events have been generated than just generating a larger amount in the first place.
My plan was not to check whether they are generated or not (like it's done right now - but we only always have one event), it's just deleting the (old) birthday event(s) associated for each contact and recreating it once in a while.
For people with death date given, the events should be generated for all the years between birth and death.
:+1:
Why would you need that? The birthday events of the year N+1 will be exactly the same than on year N. The feature with the birthday calendar is to be reminded of the upcoming birthday events, not exploring past birthday events or far future ones. Different users use products differently. Personally, I'd see it as a bug if I skip through my calendar today and I see birthdays in 2019 but not in 2020, 2021 and so on. I agree that there as to be a cut off at a certain point, but 1 year seems far to rigid. You gave me a thumbs up for setting birthday events from birth to death, so why not doing the following:
I administrate an instance where my user have a total of around one million contacts. Let's say only half of them have their birth date registered and they are on average 30 years old, generating all events from their birth and 10 years in the future would make 20 million events to handle, whereas I had only 500 000 before.
This may be a problem, but it is a one-time problem. This could be handled e.g. during upgrade. Once everything is created, it's not much more effort compared to now.
I still don't see why someone would be interested to view birthday events from last 10 years or next 10 years, sorry. This really blocks me. :D
@tcitworld: Please take a step back and have a look at the original issue. All I propose to change is showing the age of a person instead of a year. I didn't propose to change anything on the amount of appointments created. It was just for technical reasons (single events vs. recurring event), that we're even discussing how many events should be created.
And, concerning the timeframe of events, thats just something that is probably best described as "calendar event completeness". I totally agree with you that most people look onto calendar dates 10 or 20 years from now. However, if someone does so, I think he should be presented will all events. I belief it would be a major step backward if a user is forced to think "ok its november 2018 now and I'm looking at november 2020. Why is there no birthdays? A right, they will get created once 2019 starts".
Edit: Please have a look at this image, which very well described what I propose. It's taken from a hosted Open-Xchange.
As a wrap-up: If changing the birthday calendar from year to age will lead to a limitation of events to -+2 years, please leave everything as it is and close this issue.
I would personally just stick to John Doe (*1976)
in the server and calculate the age in the calendar app.
I would personally just stick to
John Doe (*1976)
in the server and calculate the age in the calendar app.
Just an additional comment for @georgehrke : I am using mainly external apps for my calendars (e.g. phone, tablet, thunderbird calendar etc.) and by leaving it John Doe (*1976)
all of my calendars (and especially reminders) show only the birth year, but not the age. So adapting it in the calendar app would only "fixing" it for a minor part.
I had used a similar approach for my google contacts as @tcitworld proposed and it was very convenient to see the age on every device where the calendar was synced too and I never had the need to look at birthday 10 years in the future ;-)
A feature could be to let the user select which way he wants to have the birthday calendar generated:
I have been just before creating this issue by myself as I found it. Since I have different sync clients and for each client I have to create an own calendar to show the ages, I disagree to @georgehrke. Changes in the calendar app are not helpful for me. In this case I can't use this calendar on my sync clients. Please rethink the closing of this issue. Even three events per person would be enough for me.
Why was this one closed? I would find it a good addition to be able to either show the year of birth or the age AND be able to sync that to all my clients. I fully understand the issue of having recurring events vs single events...
Regardless, there is an Android App (https://f-droid.org/en/packages/org.birthdayadapter/) which can do this. You can configure it to various schemas how to show the birthday. For now, I'm going back to this app than using nextcloud's birthday calendar.
Why was this one closed? I would find it a good addition to be able to either show the year of birth or the age AND be able to sync that to all my clients.
We are already showing the year of birth: John Doe (*1976)
Regardless, there is an Android App (https://f-droid.org/en/packages/org.birthdayadapter/) which can do this.
Unfortunately that app is not maintained anymore, see here and here. On his website, the maintainer writes that he wants to retire the app.
Anyways, I think it would make a great feature in nextcloud.
Are there any updates on this issue? None of my calendars are able to convert the age automatically, so in my mind this is still a valuable enhancement. Unfortunately i lack the knowledge about dav etc. to create a PR myself but would still love this feature.
carrying this over from calendar: nextcloud/calendar#940.
I assume this needs some larger reprogramming, since right now just one series of identical events is created and this request will add a necessity to create one event each year. However, I think this will enhance UX. When you see a colleague or friend who's birthday is today, normally people say "congrats on your 42nd birthday" and not "congrats on being born in 1976".
Steps to reproduce
Expected behaviour
If somebody is born on August 1st, 1976, then the calendar of August 2018 should show "John Doe (42)" The birthday date could be added to the notes.
Actual behaviour
The calendar shows "John Doe (*1976)".
Server configuration
Server version: 14.0.3 Calendar version: 1.6.3