Currently we have to many places where one can go to look for updates, I would like to propose to unify all these different places into one. Because as a result, a user is currently presented with this message:

Updates-message-wtf.png

This message links to two different pages, which is quite confusing. More confusing is probably the duplication of information. This kind of messaging is not uncommon, when several conditions apply it often gets even more messier, creating a big error shown everywhere. For example:

Screenshot showing updates going 6 lines

Therefor I propose that beside fixing the messaging we move to a model where all updates on:

  • admin/modules/update
  • admin/appearance/update
  • admin/reports/updates

Is moved to admin/config/updates :
updates-page-in-config.png

This page should be similar to admin/reports/updates/update , but with an updated design to reflect some of the information found on other update pages.

Comments

Bojhan’s picture

Issue tags: +Usability
StatusFileSize
new15.59 KB
new74.71 KB

I have created a wireframe for translation updates, and applied it here. It continues the trend we set with the introduction of update manager.

updates-unified-on-one-page.jpg

Bojhan’s picture

Issue summary: View changes

bla

dww’s picture

Component: Seven theme » update.module

Surely this isn't limited to the Seven theme. It's the fault of the update manager itself. Moving component accordingly....

In theory I support this ticket. Some of the specifics of the error messages are insane, and I'm definitely not a fan of having 3 menu paths that all give you the same page. However, in practice, it's not quite so simple. Complicating factors:

A) We were trying to keep module-related activities "close" to each other, so when you're looking at the modules page, it was easy and obvious to find out about available updates and to initiate the update manager to update them.

B) Not everyone wants to use the update manager. Many people just want the status page but not the upgrade-in-place stuff. There's a kill-switch for this. Merging the available updates report and the update manager UI itself will make it harder (or impossible) to get the status without also getting the manager.

C) There's a lot of useful info (at least to some people) in the available updates report that doesn't fit into your wireframe. Stuff like "Also available", info about what modules are included in each project, etc, etc. My sense is that the available updates UI is already bursting at the seams just trying to fit all the data into one table -- if you also merge all the update manager UI into the same screen, it's either going to be totally overwhelming or it's going to have to be simplified so much that it's no longer valuable to many users.

D) I don't really understand how this belongs in "config," but I've never been particularly clear on the whole IA for the admin section, and the criteria to decide what makes something "config" vs. "structure" vs. whatever.

All that said, I *would* love for this mess to get cleaned up. I'd just like to see the discussion/design fleshed out to address these other points before I'd get too excited about trying to implement any changes.

Thanks,
-Derek

dww’s picture

To clarify C: the available updates report (admin/reports/updates) has a lot of info that the update manager UI (admin/reports/updates/update) does not. Stuff like all the modules included in each project, other available branches/releases (e.g. when views goes from 7.x-3.3 to 7.x-4.0), release dates, special handling if you're using a -dev release, etc, etc. I don't know how to fit any of that into your wireframe, but all of it is (potentially) useful to the people reading the report. That's what I meant. Hope that helps...

Bojhan’s picture

Alright, so I had a quick discussion with dww on IRC to get a better idea what information to capture on this page. I clearly did not account for everything in my mockup, there is a lot more information to capture - but also considerations to be made what is truly important to show on first sight.

The intend is to create one screen that handles both the update manager and non-update manager use case, this might be somewhat of a unique in Drupal. But long-term its the best way to provide a consistent and good user experience.

Data designing for

Project name
Project version
Project new version
Included projects
Release date
Also available (You are recommended to download 7.1.2, but notified of a major new version 7.2)

Special cases
Security release
Major release
Unsupported release
Dev release

I will work on a new wireframe to capture this, ideally it all fits in the pattern of the collapsing rows.

Bojhan’s picture

StatusFileSize
new77.31 KB
new61.63 KB
new64.41 KB

Oke, another attempt at trying to design screen. Do keep in mind that this is a work in progress, the actual visual design might differ and the labeling still need work.

What I have done is used the accordion pattern, to hold more information. Ideally this receives some visual design attention still, but in general the idea is to have data such as included projects, release date, also available(did not wireframe this) and all the special case information to be held within the row. This because we want less experienced to just go on and install updates, but also allow more intermediate/experts to view the exact information per module.

Update manager wireframe showing a table with a row collapsed to show release information

On IRC dww asked me about the usecase, where people don't have the update manager enabled. I have done a wireframe, where I remove all update manager functionality and link the recommended version to the corresponding release page. I have tried to keep it as consistent as possible with the other experience.

Wireframe without update manager functionality

How do we handle the special case? Ideally everything can be held within the collapsed row, as the image below demonstrates. Using color, only when something is wrong and a appended text security update for accessibility reasons (not using color alone, to indicate a state). Again the visual design can use some work, but ideally we have a clear message why people should update, whether its unsupported a security update or a major release.

Special case: Security update

I would love more feedback on this, is the concept as a whole a good direction - are we communicating the right information? Is the newly introduced interaction pattern one we can reuse?

webchick’s picture

I think the wireframe looks good, and is definitely much more compact and easy to process compared to admin/reports/update now.

Some specific feedback:

- Big +1 to limiting this screen to only the projects you care about. That massively cuts down on all kinds of visual cruft. I think removing the LOUD BLINDING COLOURS except if there's something to worry about is also a good step.

- I'm not sure I like centralizing this under reports (or wherever it's intended to go), rather than hinging it off of the modules/themes pages themselves (as the page is currently). It's very natural to view "Update" as a natural task alongside "List" and "Uninstall" as it relates to these things. We should at least make sure it's an action item at the top of the page to call attention to it (and it should mention that we AUTOMATICALLY UPDATE YOUR STUFF! How cool is that? :))

- I'd like to see a mock with the modules/themes/translations/profiles tables all together. My hunch though is that's going to look pretty cluttered, though. :\ Put them on different tabs, maybe? (like JS quick tabs inside the window?)

- The "Operations" column should have verbs in it. So "Views details" or "Read release notes" or similar.

- One thing we talked about on IRC for awhile is the fact that currently, Update Status gives you a heads-up that there's a 3.x version of a module coming down the pipeline with a "Also available: 6.x-3.0-alpha1" line. This is nice, because you can start playing around with it ahead of time and be appraised of any weirdness you need to do on upgrade. With this mock though, you wouldn't know about this until Views 3.x-1.0 was out and you were basically forced to do a major version upgrade, with no forewarning. I'd say this is a 10% case rather than a 80% case, but we'd need some means of replacing that functionality (could possibly be another screen, or "update advanced" in contrib?)

- What happens for people who have the "update manager" feature of update manager disabled? Do they see download links to the projects instead?

bfroehle’s picture

As far as I can remember, the original impetus for the multiple URLs was so that there is an "Update" tab on each of the module, theme, etc pages.

Subscribing for now, I'll look the rest of this over when I get a chance.

bfroehle’s picture

I'm not sure I like centralizing this under reports (or wherever it's intended to go), rather than hinging it off of the modules/themes pages themselves (as the page is currently). It's very natural to view "Update" as a natural task alongside "List" and "Uninstall" as it relates to these things.

A) We were trying to keep module-related activities "close" to each other, so when you're looking at the modules page, it was easy and obvious to find out about available updates and to initiate the update manager to update them.

Why do we list "Update" as a tab, but "Install new module" as only a local task?

I think we might need to drag the "Install new ..." pages into this discussion as well. Suppose, for example, I have Views 7.x-3.0-beta1 installed and I want to update it to 7.x-3.0-rc1. Why shouldn't I just be able to paste the URL into the "Install new module" page and have it update views? Instead I get a "Views is already installed" message (and without any link to the updates page).

D) I don't really understand how this belongs in "config,"

Ditto, but I don't know where else it fits either.

- Big +1 to limiting this screen to only the projects you care about.

I've never understood why we list "Up to date" projects on the "Available updates" tab.

Generally I like the vertical accordion UI. If it's easy to do this both with and without the checkboxes on the left that'd be a pretty wonderful way to deal with users who do not want the update manager.

Also this would the often requested feature of allowing updating to a development release by including radio buttons next to the recommended release and development release within the accordion fold.

Lastly we should consider the "release notes" link. Naively I think it'd be great if they could be included inline (since they occasionally contain some pretty big caveats), but their length and technicality would preclude this.

Bojhan’s picture

@bfroehle Ideally the install screen needs to handle those conflicts more nicely, that is a seperate issue though?

When it comes to the placement of this item in the IA, I think we can link to this page from the module/theme page and the centralized place in /config.

Can you ellaborate more on "dev" releases? Since its currently not really shown, or possible in update manager I would love to have some more information what information is shown.

I am thinking about making a more higher fidelity mockup, including more data.

bfroehle’s picture

StatusFileSize
new70.55 KB

Regarding dev releases:

There is an issue going already: #750352: Provide an option to also offer dev builds as updates if they are newer - for advanced users & beta testers. And of course other issues against even allowing installation of dev releases through the UI: #1072176: Module Installation UI should not allow installation of -dev versions..

Clearly there isn't clarity about how to please both new users and power users.

We do currently show available dev releases on the "available updates" page:

If we are planning on merging the list updates page with the install updates feature (via checkboxes on the left hand side and a collapsible ui), we will need to figure out how to account for the dev releases.

I think some more mockups will help move this along. :)

dww’s picture

Note: we only show you info about -dev releases (e.g. the date they were last rebuilt) if you're currently running a -dev release. Generally, we want to discourage them. But if you've got one, we try to let you know if a newer tarball is available. I agree -dev is tricky. It really complicates the code too. Sadly, plenty of projects rely on -dev so we kind of still have to support them. :/

Bojhan’s picture

Assigned: Unassigned » Bojhan
Bojhan’s picture

Assigned: Bojhan » Unassigned

Darn, I'd really like to see this happen. Sad we have no maintainer for update.module anymore that does UI stuff

Bojhan’s picture

Issue summary: View changes

Updated issue summary.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

drumm’s picture

Issue summary: View changes

Correcting issue summary input format.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

pameeela’s picture

Can't find the similar issues but I know there are at least a few for improving the UX of this, so I wonder if they can be merged.

dww’s picture

Replacing the "update manager" pages entirely via autoupdates and project browser would help. Then we'd be back to a single "Available updates" report. I'm not keen on spending any energy improving the UIs that should be deprecated and removed.

And yeah, there are a bunch of issues to improve the UI of just the available updates report itself...

Tempted to call this "outdated" at this point, although neither project browser nor autoupdates are actually ready to add to core, so it's a murky area.

dww’s picture

dww’s picture

Status: Active » Closed (outdated)
Issue tags: +Bug Smash Initiative

With #3491731: [META] Remove the ability to update modules and themes via authorize.php and child issues complete, we're back to a single "Available updates" report, so closing this as "outdated".