endoflife.date
endoflife.date copied to clipboard
Hide very old releases by default
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".
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.
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.
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.
Tried out a few approaches on how to configure this, the one that seems to work best would be:
- Show top 5 or 6 releases always
- Always show any non-red release (any column holds any date in the future, or in some cases, still supported)
- 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:
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.
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.
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.
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.
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 ?
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
- ...
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.
Since we hide old releases fairly well now, closing this.