Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add support for ICS Files #755

Merged
merged 11 commits into from
Dec 27, 2022
Merged

[Feature] Add support for ICS Files #755

merged 11 commits into from
Dec 27, 2022

Conversation

rikuson
Copy link
Contributor

@rikuson rikuson commented Jan 18, 2022

Done #59

There's issue that it can not set absolute value to icalendar's trigger.
So I just set 365days, 182days, 90days, 30days to notify 1 year, 6 months, 3 months and 1 month for now.

I'm working on the issue.

@welcome
Copy link

welcome bot commented Jan 18, 2022

Thanks for opening this pull request! Please check out our contributing guidelines. If you are working on site internals, see https://github.com/endoflife-date/endoflife.date/blob/master/HACKING.md

@captn3m0
Copy link
Member

captn3m0 commented Jan 19, 2022

Looks great! A few suggestions:

  1. The main text for every product should point users to the ics file, with maybe a link on how to subscribe?
  2. Add corresponding redirects and Link headers, same as for JSON files.

@captn3m0 captn3m0 added the enhancement New feature or request label Jan 19, 2022
@captn3m0
Copy link
Member

Few suggestions for calendar text:

  1. Doesn't look like we can use HTML, because the spec expects ICS files to be part of a multi-part email message. I might be wrong
  2. Links should go to both endoflife.date as well as the upstream page
  3. The text should make it clear what the event is about, and why the user has gotten a notification. Something like "Nodejs 17 will become End-of-life on $DATE" for eg.

A calendar: true/false property on the global level to turn off calendars for products where we don't have dates (just yes/no).

Thanks a lot for the PR, this is gonna be very helpful 🥇!

@rikuson
Copy link
Contributor Author

rikuson commented Jan 20, 2022

Thank you for your quick review.

The main text for every product should point users to the ics file, with maybe a link on how to subscribe?

I added calendar link in template file.

Add corresponding redirects and Link headers, same as for JSON files.

I edited _headers, _redirects.

Doesn't look like we can use HTML, because the spec expects ICS files to be part of a multi-part email message. I might be wrong

Could you explain what I should do?
I couldn't understand.
You want to use HTML message?

Links should go to both endoflife.date as well as the upstream page

It seems icalendar doesn't accept multiple urls.
So I just added endoflife.date to the ALTREP.

The text should make it clear what the event is about, and why the user has gotten a notification. Something like "Nodejs 17 will become End-of-life on $DATE" for eg.

I added description like that except for the $DATE
It can not describe the date exactly in the message since it depends on client's timezone.

A calendar: true/false property on the global level to turn off calendars for products where we don't have dates (just yes/no).

There are products which has release date but not eol date: android, go, macos, etc.
I would like to add only release date to the calendar in the case.
A single flag such calendar: true/false can not cover this.

There's issue that it can not set absolute value to icalendar's trigger.
So I just set 365days, 182days, 90days, 30days to notify 1 year, 6 months, 3 months and 1 month for now

I got feedback and fixed it.

@captn3m0 captn3m0 self-requested a review January 24, 2022 10:20
@rikuson
Copy link
Contributor Author

rikuson commented Feb 16, 2022

Any update?

@captn3m0
Copy link
Member

I'll review and merge this soon. I just want to test this with more than a few clients (haven't tested on iOS/Android yet).

@usta
Copy link
Member

usta commented Apr 21, 2022

@captn3m0 ^^ ping ? [ also there are some merge conflicts exist right now ]

@dragon-dxw
Copy link
Contributor

dragon-dxw commented May 26, 2022

The link on https://deploy-preview-755--endoflife-date.netlify.app/wagtail links to webcal:///calendar/wagtail.ics, rather than webcal://deploy-preview-755--endoflife-date.netlify.app/calendar/wagtail.ics.

Works well on Apple calendar otherwise.

The event name being "Wagtail 2.13 EOL" would also be superior to just "EOL 2.13" -- the description of "Wagtail 2.13 will become End-of-life." is good though.

I don't see a link to endoflife.date, though, only to the Wagtail release schedule at https://github.com/wagtail/wagtail/wiki/Release-schedule

Very excited for this feature!

@usta
Copy link
Member

usta commented Aug 16, 2022

@captn3m0 ping ? what is the situation about this PR ?

@usta usta changed the title Add support for ICS Files (#59) [Feature] Add support for ICS Files (#59) Aug 16, 2022
@captn3m0 captn3m0 self-assigned this Dec 2, 2022
@marcwrobel
Copy link
Member

This PR is rather old. I just rebased it from master resolved the conflicts.

@marcwrobel
Copy link
Member

@dragon-dxw, links have been fixed (during rebase ?) and events titles updated from <EOL|SUPPORT> <version> to <product> <version> <EOL|SUPPORT>.

@marcwrobel
Copy link
Member

marcwrobel commented Dec 12, 2022

@captn3m0, I reviewed the code and made some tests. I think we are ready to release a beta of this feature. Let me know if you need some help for something.

@marcwrobel
Copy link
Member

New conflicts introduced by #2031 resolved.

@marcwrobel marcwrobel changed the title [Feature] Add support for ICS Files (#59) [Feature] Add support for ICS Files Dec 16, 2022
@marcwrobel marcwrobel linked an issue Dec 16, 2022 that may be closed by this pull request
_headers Show resolved Hide resolved
Copy link
Member

@captn3m0 captn3m0 left a comment

Choose a reason for hiding this comment

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

LGTM, but conflicts need fixing.

@marcwrobel
Copy link
Member

Here is the template to use if later we want to implement Jekyll Generator instead : https://gist.github.com/woodworker/6725728.

@marcwrobel marcwrobel merged commit c7fc80b into endoflife-date:master Dec 27, 2022
@welcome
Copy link

welcome bot commented Dec 27, 2022

Thank you and congratulations for your first contribution! endoflife.date is a community wiki, and we're always looking for more contributions 🥇 💯 🎉.

@marcwrobel
Copy link
Member

@rikuson, it took some time but it's finally merged! Thanks a lot for your contribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for ICS Files
5 participants