projectblacklight / blacklight

Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr) index.
http://projectblacklight.org/
Other
760 stars 256 forks source link

Bootstrap 4 is EOL. Stop supporting it? #3211

Closed jcoyne closed 2 months ago

jcoyne commented 5 months ago

https://getbootstrap.com/docs/4.6/end-of-life/ - as of January 1, 2023.

jrochkind commented 5 months ago

My personal argument is that:

a) Stopping support for Bootstrap 4 is a major backwards incompatibility that requires a version bump, and b) it is preferable to get more adoption of Blacklight 8 before a version bump to Blacklight 9

After a period where few deployments were on the latest version (or even version(s) of Blacklight), with BL7 we finally got some community consolidation, with many institutions on 7 (although we don't have statistics). But my impression is that BL8 adoption is still pretty rare. The community being spread out between versions is a real challenge, making it even harder to muster development resources, and resulting in lots of energy being spent on trying to support multiple versions at once (whether with development, or even just "support" meaning Q&A help conversations in community)

It's not really about the version numbers of course; it's about adding more backwards incompat changes, or changes that make it harder for people to upgrade, when the community already isn't up to date. It would be better to figure out what can be done to make it easier for more people to get to BL8 before introducing more barriers to getting to latest.

Disclosure, I am not on BL8 yet myself, it's definitely a personal interest too, but it seems like it's not just me.

Some things that would help make this decision based on more than just impressions of adoption, would be trying to get numbers on a) How many adopters are on BL8 vs 7 (vs previous versions), and b) how many adopters are currently on Bootstrap 4 vs 5 (Bootstrap 5 is supported, we think, in both BL7 and 8; my impression is that most adopters on BL7 are also on Bootstrap 4).

While Bootstrap 4 is "end of life" and not supported, I think it's likely to keep working just fine for some time; security vulnerabilities are unlikely, and are likely to have third-party community supported patches made available if severe.

jcoyne commented 5 months ago

Be aware that this requirement is in conflict with some accessibility issues like https://github.com/projectblacklight/blacklight_range_limit/pull/257, where it's very challenging to have markup that supports accessibility and works for both Bootstrap 4 and Bootstrap 5. I think that ease of maintenance concerns, accessibility concerns, and perception of community health means that it's reasonable to release a major version every two years or so.

jrochkind commented 4 months ago

For accessibility needs, if necessary one could have conditional logic to generate different view template for different bootstrap versions, using the existing bootstrap_version Blacklight config property

I totally realize that would increase BL maintenance burdern and complexity though. it's definitely a trade-off as to who gets maintenance burden where, including between core BL maintenance vs burden to various individual installations.

Perhaps we could use another Blacklight contributor, ideally from neither of our institutions, to comment and "break the tie" between us. I have an opinion, but understand there may be others and will understand if collective consensus or majority is different than mine! I am very curious to hear from others who may or may not be on Bootstrap 5 yet and may or may not be on Blacklight 8 yet, as to how much of a burden/barrier this would be to them.

If Bootstrap 4 support is dropped in the future, please make sure it's documented very clearly what version this happens in!