thunderbird-website icon indicating copy to clipboard operation
thunderbird-website copied to clipboard

RSS Feed for Release Notes

Open MelissaAutumn opened this issue 3 years ago • 19 comments

Resolves #264

Includes rss feed generation into the build process. During the building of release notes, I gather up all the necessary details, and build the feed right after. This includes the full release notes. Tested and working with Thunderbird's RSS reader.

I included beta releases by default.

There's no new localization strings as the release notes are only in en-US.

In some brief research I found two rss generator projects

  • https://github.com/lkiesow/python-feedgen
  • https://github.com/getpelican/feedgenerator

I ended going with python-feedgen, as I had encoding issues with feedgenerator.

Example photo of the rss feed in Thunderbird. image

MelissaAutumn avatar Nov 25 '22 20:11 MelissaAutumn

I've updated the PR to switch from feedgenerator to python-feedgen due to encoding issues. I've tested this in Thunderbird's RSS reader, and it's working great. Did a spot check with the release note pages to ensure moving the content to a separate template does not harm the design. Looks fine there too.

MelissaAutumn avatar Nov 29 '22 22:11 MelissaAutumn

Can you send me a copy of the generated XML? The screenshot is nice, but there's things off-screen I'd like to see.

jfx2006 avatar Nov 29 '22 23:11 jfx2006

@jfx2006 Here you go. Let me know if you spot any issues. feed.zip

MelissaAutumn avatar Nov 29 '22 23:11 MelissaAutumn

image

  • The title of every article includes "Release Notes", and the feed name also does. I think we can remove from article title/subject
  • Website URL (under Subject) is wrong - last path component should be "releasenotes"
  • Website URL also has wrong (102.5.0) version vs the Subject
  • The bottom line "For more on new features..." - mentioned above that with the version like that it makes no sense and seeing it show up at the bottom of the article like that it looks out of place. I think it should just be removed

Other comments: Now that I have a full RSS feed file, I'm questioning the wisdom of including all of the notes in the feed itself. The file is 2.5MB. We don't need readers all over the place pulling that every 5 minutes. It's a lot of bandwidth. One option may be to just publish the last 5 stable and last 5 beta releases in the feed.

For betas, Beta 1 will never have text in groups[0]. Some placeholder text may be needed to look consistent.

That whole description tag using the text header from the YAML doesn't really work out.. Might need to do something with the YAML files. I think we want everything up to where it talks about system requirements.

If we include the tag, please use a separate template than the one used for the website. It makes no sense to include all of that extra html when some

    lists would work better. This will help with the overall size too.

Why are we publishing in RSS? Does it make more sense to use Atom? It seems to be the more advanced format?

jfx2006 avatar Nov 30 '22 15:11 jfx2006

Now that I have a full RSS feed file, I'm questioning the wisdom of including all of the notes in the feed itself. The file is 2.5MB. We don't need readers all over the place pulling that every 5 minutes. It's a lot of bandwidth.

We don't pay for bandwidth so this isn't a huge concern, but there are a ton of ways to prevent RSS readers from downloading things every 5 minutes. We can set a TTL, use skiphours/skipdays, etc.

That said, I believe Atom supports some sort of pagination which might help as well.

Why are we publishing in RSS? Does it make more sense to use Atom? It seems to be the more advanced format?

Yeah, we should use Atom. I forgot that it's treated as a different format, because all of this stuff that nobody uses definitely needed to be more obtuse than it already is lol.

Sancus avatar Nov 30 '22 18:11 Sancus

Thanks for the feedback folks! I haven't personally used rss/atom since google reader died. :sweat_smile:

I noticed the beta release notes only shows the initial release date, and not the updated date. Is this something we should change, or add an update time? I could do some fancy parsing in the text section, but I feel like that may not be sustainable. We can also ignore it / remove beta notes entirely if it's a big change.

I just went with the last 10 releases, and last 5 betas. Right now that gives it a good mix of items in the feed, and the file is now like 150kb.

I've pushed the updated changes, and I will revert the release-notes changes since I no longer need to touch that file. (So that's pending, everything else should be good.)

Here's some updated examples: image ~~Feed xml: atom.zip~~

MelissaAutumn avatar Nov 30 '22 19:11 MelissaAutumn

Whoops, noticed links were still incorrect. Here's the fixed build: atom.zip

MelissaAutumn avatar Nov 30 '22 20:11 MelissaAutumn

I noticed the beta release notes only shows the initial release date, and not the updated date. Is this something we should change, or add an update time? I could do some fancy parsing in the text section, but I feel like that may not be sustainable. We can also ignore it / remove beta notes entirely if it's a big change.

Right.. I was thinking about how to deal with this. We could extend/replace "groups" with release date info for beta >1. The other option, since product-details data is around somewhere during the website build, you can grab release dates for those betas out of there somehow.

Since betas >1 are "updates" to existing feeds, there's an "updated" value that should be set for those.

The rest...

Subject lines... "Thunderbird 102.5.1" for stable releases and "Thunderbird Beta 108.0" for betas?

"Changes" & "Fixes" headers - - please make these past tense. (The website should be changed as well probably)

The header info coming from "text" in the YAML -- I think we don't need the requirements included in the feed for each release. I think it can be pulled out of the website version too and just link. I'll work on that.

Overall, this is looking really good!

jfx2006 avatar Nov 30 '22 20:11 jfx2006

Latest build: atom.zip

No exciting changes aside from the minor text changes. Thanks for pointing out the product details, managed to get the specific beta's release date.

MelissaAutumn avatar Dec 01 '22 19:12 MelissaAutumn

Two things that came to mind over the break: (Open to any answers.)

  • If the feed content is still too messy, I'll gut the feed generator package, and just render it as a jinja template. (Similar to how WordPress handles their feed generation.)
  • We probably need a feed icon on the release notes page, right?

MelissaAutumn avatar Jan 04 '23 17:01 MelissaAutumn

I've squashed it, rebased it, and fixed it up for Python3 in case we want this to go out anytime soon. 😄

I didn't add a fancy rss icon, but it's in a meta tag for the releases page.

Latest sample: atom.xml.zip

MelissaAutumn avatar Jun 26 '23 16:06 MelissaAutumn

I included beta releases by default.

I'm really late to the party, already forgot about my original issue I created 2 years ago.

Why include betas? Isn't this feed supposed to be a feed for the Thunderbird Release Notes webpage? That doesn't include betas. I wouldn't want to see betas in the feed.

Perkolator avatar Jun 27 '23 09:06 Perkolator

  • We probably need a feed icon on the release notes page, right?

Yes, definitely. I never have understood webpages that have feeds but don't indicate that it/them are available and the user needs to check the source code of the page to see if there's feed(s) available.

Perkolator avatar Jun 27 '23 09:06 Perkolator

Yea good point. I've added a basic link to the releases page, I've kept the setting as we may generate a beta or mixed release atom feed in the future in addition to the ESR feed.

MelissaAutumn avatar Jun 27 '23 20:06 MelissaAutumn

No one has time to review?

Perkolator avatar Aug 15 '23 09:08 Perkolator

So what's the holdup? 2 years since I opened the issue about this, and almost 1 year this PR has been open. It's just a simple RSS feed, how can it take so long to make it happen?

Perkolator avatar Oct 11 '23 06:10 Perkolator

So what's the holdup? 2 years since I opened the issue about this, and almost 1 year this PR has been open. It's just a simple RSS feed, how can it take so long to make it happen?

The frustration is relatable, though not helpful.

erebion avatar Oct 11 '23 14:10 erebion

The frustration is relatable, though not helpful.

I don't man, sometimes a little kick could be quite stimulating. ;) And it's not like I'm pestering them all the time.. look at the dates.

Perkolator avatar Oct 11 '23 14:10 Perkolator

Is there something still blocking this?

@jfx2006 @Sancus

Perkolator avatar Dec 13 '23 09:12 Perkolator

Hey everyone!

With the launch of the new website I'm currently re-working this to remove external dependencies. There will be a new PR up soon and should functionally be identical.

Thank you for your patience!

MelissaAutumn avatar May 16 '24 19:05 MelissaAutumn