-
Notifications
You must be signed in to change notification settings - Fork 38
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
[UX] Make sure that versions shown in the Modules page are as consistent as possible #5002
Comments
According to @indigoxela (https://backdrop.zulipchat.com/#narrow/stream/218635-Backdrop/topic/Version.20format.20for.20the.20modules) it should be semver:
But versions displayed like 2.x-dev or 3.x-dev are not following Semantic Versioning as they show only minor versions (the second part of their branch names). Please re-tag this as a bug and I will create PR. And if this will be re-tagged as a bug, then the question remains should the Modules page display versions for the contributed modules in form of |
Also, I'm just wondering while for the official releases we are showing versions like |
Agreed, there seem to be some inconsistencies in version display. Never paid attention so far, but it caused me some head scratching, too. Here's a screenshot to clarify: What baffled me the most, was that dev module versions don't show the core version, while stable releases do. I find this really confusing:
|
Regarding the zip snapshots, that currently show no info re version at all - wouldn't |
So you think the core should be included, right? If so, then following the |
Also what is core version exactly? Is it really |
I find both an improvement:
Currently I'm slightly leaning towards the second variant, as it explicitly mentions that it's a dev version. |
Right, but Also note that while all contrib modules will have
Well, to say frankly me too, but then I realize that's a matter of habit to see that way. Aren't all modules with versions ending with |
Then it will have it's versions have this format:
...with the actual versions being:
So I would have the dev versions for each branch be like so:
NOT like so:
|
@klonos, thanks for the input, but that part is more or less clear. Could you please share what you think should we leave the |
… displaying module versions Resolves backdrop/backdrop-issues#5002
I guess that's clear for developers but not for site builders, at least I didn't know it. |
...but to the point of this issue: yes, we should have consistency 👍 Do you guys think that there's point in having the core version
To be frank, I'm for simplicity and "economizing" on the width of the version column on that page, to reserve it for more useful information. But then I saw @olafgrabienski's comment and do understand his point. The reasoning for the
Although... as you may notice from the above examples, the difference is that:
To the last point, we should keep in mind the discussions is #664, which may result in dev versions like these:
|
Right, as @klonos noticed all those betas, alphas added to the module releases, and development versions always end with just |
Thanks for providing a PR @alanmels ...I'll do some testing and provide some before/after screenshots, to help us decide, and move this forward. |
Interesting issue, but I'm too lazy to thoroughly read it now. To be honest, this detailed information is mainly useful for developers, but doesn't provide much for admins. And there's already an issue for that, so I don't think we have to cover that here. @klonos Or do you think, that the other issue might conflict at some point with this one? |
Both issues touch on the #664 is specifically about having some way to distinguish that a -dev version is older or newer than another one. Consider this scenario:
The bug that your site had is now fixed, but the core Update module now has absolutely no way to let you know when version 1.2.4 of the module is released (no way to tell if that version is newer than the 1.x-1.x-dev you currently have installed). Another issue/side-effect is this:
Drupal has figured those things out, and dev versions are numbered. This is not just a core issue - it is also tied to infrastructure (GitHub, and how we could possibly version "dev releases"). So while #664 tries to figure out how to deal with those issues, this issue here is about making "dev" versions consistent when listing modules - so this is a "visual" display issue rather than a practical/logic issue. What I want us to be careful with here is to not make things more complicated and make #664 harder to solve. |
I see. Actually I feel like we should keep the "-dev" suffix as-is for now. People are used to it, and as @olafgrabienski stated, it's more obvious that it's a development version, when the suffix is there. So the change here would only be to not strip the core version for consistency with stable version display. - And display something when the version can not be determined (like for zip snapshots).
That's understood. IMO that's not the case, as the change here is minimal and - as you already stated - is a display issue, not a change in the underlying logic. |
@alanmels Github is smart enough to not add changes that don't belong to the PR. When merging, only these changes will be considered: While it's a good idea to keep your fork up-to-date with upstream, it does no harm if it's not. As long as your PR has no conflicts, everything should be fine. |
UI looks good to me. Very familiar coming from D7 and a welcome no-doubt to folks working on testing PRs. (Assuming that's what the dev means... Didn't read the full issue 🤷♂️) |
Good to know! Thanks. |
This looks more consistent now 👍🏼 |
Finally read (skimmed) the issue and I have some thoughts about things I didn't notice before. They aren't blockers to this issue by any means, just some observations from an "outsider" as possible UX enhancements.
Developers might pick up on it quickly, but non-developers may not be so quick.
This idea could be started as a new issue and addressed as a QoL at a later time. |
There's no chance of one module being 1.x while another is 2.x (after Backdrop v2 is released) is there? In which case why have 1.x there at all? That's like adding 'module' as a prefix to all of them. Unnecessary IMO... |
Already an existing issue: #664 😉 ...although not "PR number", rather than commit number. |
I would have a slight preference for actually removing the However, the good reason to keep it though is that if we were to encourage straight Semver usage (no more prefixing with the core version compatibility), then including the prefix makes it clear which modules are using Semver and which ones are not. Backdrop core does not care if you have a major version prefix or not. You can have a module be version All that is to say, I think the current PR is fine. As long as we go entirely one way or the other (either hiding |
Thanks Nate for the details. I'm really neutral on this, but practicality in me leans toward not having |
As I said above:
So I vote for removing it. |
One tiny concern: if the '1.x' prefix isn't displayed, then core and contrib aren't as easy to distinguish anymore. We'd have:
Or with dev core:
And then an edge case, if you have a D7 module, which isn't ported yet:
The main thing seems consistency, though. Either always strip or always show. 👍 |
I'd rather we implemented #498 to address this concern.
So the situation with the PR is that the How about we do the following?:
Yup 👍🏼 ...all that "hide/show major version prefix" logic should only happen in I filed a PR against @alanmels' PR here: alanmels/backdrop#1 (there are many changes because @alanmels's fork is behind - the actual commit with my changes is alanmels/backdrop@0fac5fb) If only 1.x modules exist, the major version prefix is hidden: ...the assumption is that this is the 80% use case, so people will see "simplified" versions of modules. If a mix of major versions exist, the major version prefix is shown: ...the assumption here is that this is a scenario for developers and people experimenting on their local. In that case, showing the major version prefix actually helps. Noting that in real scenarios, any 7.x module present would be a temporary situation. These modules should eventually be either ported, or removed from the site. When that happens, the prefixes will once again be hidden from the version column. |
I think Greg found perfect solution to address all concerns expressed on this page. I've just merged your PR, @klonos, thanks a lot! |
Doesn't that go against the whole 'consistency' thing...? If someone sees the non-prefixed versions as default, then installs a D7 module, then they start seeing prefixes on Backdrop modules that didn't have one before, and core modules still don't have prefixes, that seems worse IMO... |
I'd prefer it if prefixes were removed from all Backdrop modules, period. Leave them on Drupal modules to make it obvious they're different. |
My only thoughts at this point is maybe add -core to the end of all core modules. It isn't obvious looking at the number if it's a core or contrib at first glance and the core numbers tend to blend with the contrib numbers that are close to core. Example 1.18.2 vs 1.8.0. It's totally usable in it's current form, just slower to wrap your head around and digest. |
I hear you @BWPanda. That's my preference as well 👍🏼 ...but in the case of "mixed major versions", showing no major version compatibility prefixes is confusing, and it becomes a necessity. The two scenarios I could think of where this becomes an issue is Backdrop 2.x, and Drupal 7.x.
The PR as is (after @alanmels has merged my PR) does the following:
What this PR does NOT do (which should be a separate issue, when it starts becoming a problem for us):
|
@philsward again, that can be solved by #498 ...if we added |
I see some disagreement going on here. Does this mean, that the RTBC label should be removed? |
The label should be removed because the PR code has changed (considerably) - not because of disagreement 😅 |
Why not add another column to show the compatible core version? Outside of making the table a bit more cluttered, it would at least solve the problem of showing the core version the module was written for without making the modules version hard to understand. Like mentioned before, it can probably eventually go away in future versions of core. |
@philsward adding another column (when actually the whole idea was about to also save some horizontal space) for only those rare cases when D7 module are listed, would be overkill. I think the changes @klonos brought with last PR merged are just perfect, because most of the time users will see only modules versions, and only those rare cases when they really need to be wary about version differences - like in case with D7 - they will see core versions. |
All is good for the core modules on the Modules page (
admin/modules
) as their versions always contain the Backdrop's version first and the module version after the hyphen, for example1.19.x-dev
if you pulled the development branch from github.As for the contributed modules, most of them show versions like, for example:
where, as I understand, the first part -
1.x
- is the main Backdrop version and the module version after the hyphen.But some module versions get really messy.
For example, if you enable the Forum module, then it shows 7.x, and that's totally the module's fault and I reported it on backdrop-contrib/forum#39.
However, what about modules like, for example, Better Exposed Filters that shows
3.x-dev
or BUEditor that shows2.x-dev
? The system seems to be taking the last part of the default branch and add-dev
part. Is that really how should it be or the first part of any module before the hyphen sign should always indicate the main Backdrop version?Interestingly, if you use a downloaded zip version, for example,
https://github.com/backdrop-contrib/better_exposed_filters/archive/1.x-3.x.zip
and extract, then the Modules page shows empty for the version.The text was updated successfully, but these errors were encountered: