endoflife.date icon indicating copy to clipboard operation
endoflife.date copied to clipboard

Hide very old releases by default

Open captn3m0 opened this issue 5 years ago • 7 comments

Previous discussion:https://github.com/captn3m0/endoflife.date/pull/41#issuecomment-498028599

Write a bit of JS to hide any releases that have a end-of-life date more than 5 years in the past by default. Add a new button on the site that can be used to "show old releases".

captn3m0 avatar Jun 02 '19 13:06 captn3m0

I was going to add older Debian and Ubuntu releases as well, is it worth waiting on something happening with this before I do? Since I have my own uses for this API-wise (see the discussion on the FreeBSD releases request) I'm fine with adding them for my own purposes and keeping a separate branch, but it'd be better otherwise. I'd offer to do this myself but my JS skills are not up to doing so quickly.

kraigu avatar Aug 29 '21 19:08 kraigu

Do file the PRs, if they're too much - we can always wait on merging them (and you keep them on your local branch).

I'll try to prioritize this issue meanwhile.

captn3m0 avatar Aug 29 '21 20:08 captn3m0

If you'd like to work on this:

  • Setup the project locally, as per HACKING.md
  • Add a special class to old releases (that have gone EoL 5+ years ago) via post.html. Look at these 3 variables and create a new one similarly. Hide these rows by default in CSS.
  • Add a well-designed button/link to show the extra hidden rows. The easiest and cleanest representation would be to have a final row with a single td colspan=4 that shows up at the bottom if there are hidden rows.

And finally, we have a very helpful guide for new contributors during Hacktoberfest as well.

captn3m0 avatar Sep 27 '21 07:09 captn3m0

A good inspiration is the haproxy website:

screenshot of the releases table on the haproxy website

captn3m0 avatar Feb 04 '22 06:02 captn3m0

Tried out a few approaches on how to configure this, the one that seems to work best would be:

  1. Show top 5 or 6 releases always
  2. Always show any non-red release (any column holds any date in the future, or in some cases, still supported)
  3. Hide everything else - this would be unsupported releases that aren't in the top 5/6.

The "top n" is defined as per the sorting order (as defined by the sortReleasesBy field). Current WIP screenshot:

Current WIP screenshot

I tried a few other approaches that let us configure which releases to show/hide on a per-product basis, but it seems to be adding too much complexity for too little benefit.

captn3m0 avatar May 30 '22 17:05 captn3m0

Nice work @captn3m0 :+1: Details and the screenshot look very good for me. I would go with your current version and don't add more options for the moment.

BiNZGi avatar May 31 '22 06:05 BiNZGi

I prefer an approach where unsupported release is hidden and there is a checkbox at the top a user can uncheck to show. However this behavior should be able to be controlled by a flag like we can already decide if to show eol and support columns.

Evernow avatar Jun 14 '22 22:06 Evernow

It would be useful to have an optional URL query parameter, such as show to toggle the behavior & to make it possible to ink to a product page with or without old releases:

For example:

https://endoflife.date/cakephp => old releases hidden by default https://endoflife.date/cakephp?show=all => all releases including the old ones https://endoflife.date/cakephp?show=recent => same as default behavior, but explicitly https://endoflife.date/cakephp?show=old => just old releases

These could be used to link to an ever automatically up-to-date list of recent or old of releaeses for a given product, depending on the need.

ravage84 avatar Oct 12 '22 15:10 ravage84

I gave it a shot on #2594.

I read all you said, but I took another approach : I only hid all but the most recent unmaintained version at the bottom of the table. I find it interesting:

  • to show at least the most recent unmaintained release cycle (it's only one more line),
  • to show intermediate unmaintained release cycle, if there is such cycles (it gives information about the release policy of the product).

I think this works well in most situation, by hiding a lot of releases without concealing too much information. What do you think of this approach ?

marcwrobel avatar Feb 26 '23 18:02 marcwrobel

Reopening, a first implementation was done in #2594 but :

  • Let's wait a little bit to see if the current approach is the right one. A different approach may be better, such as a checkbox to hide / show all unsupported releases (see this discussions and #2594).
  • Some small things may be improved (https://github.com/endoflife-date/endoflife.date/pull/2594#pullrequestreview-1330203587).
  • URL persistence could be added to show all releases by default.
  • Currently it is only possible to show all releases. Maybe this must be revertable (hide).
  • Maybe the extended support must not be ignored by mark_cycles_that_can_be_hidden
  • ...

marcwrobel avatar Mar 10 '23 13:03 marcwrobel

I am also wondering if the old releases should not be visible by default and hidden using JavaScript when the page is loaded. Currently users using a browser with JavaScript disabled cannot see older releases.

marcwrobel avatar Mar 10 '23 13:03 marcwrobel

Since we hide old releases fairly well now, closing this.

captn3m0 avatar May 23 '23 09:05 captn3m0