Updated: Comment #20

Original Problem/Motivation

I *finally* had a chance to play with the D7 port of this module in preparation for #1779280: Create D7 release of Update status advanced settings. Although it's basically working, and all the D6-esque functionality is fine, there's a pretty major bug in the interaction between this and the new Update manager functionality in core. When you set a project to "ignored", it's not being ignored by the update manager itself. Although the alter hook is firing and we know the update "status" of the given project is now UPDATE_NOT_CHECKED, update manager doesn't correctly handle this case. :/ That's a core bug, but obviously we can't deal with that here. I'll open a separate issue for core.

Proposed resolution

Until core is patched and a new release is available, I see a few options (we could do more than one of these):

A) Document that people using update_advanced should probably *not* be using update_manager (at least in the README.txt and project pages)

B) Perhaps complain via the UI (e.g. a requirements check that if update_advanced is enabled and the update manager killswitch is still enabled, issue a warning).

C) More closely investigate if there's a work-around or some way via update_advanced code we can get this working.

Remaining tasks

Implement patch comment #16 for D8
Commit patch comment #16to D7 core - > 7.24

Original report by @dww

Comments

hass’s picture

update_manager means update.module? Can you share the core issue ID, please? If this is a core bug, I'm not sure why this needs to hold a release back. The major impact is currently not clear to me. Is any data going to be lost?

dww’s picture

Update manager is the part of update.module in D7 core that lets you install new modules and automatically upgrade all the modules you've got installed that are missing updates. The major impact is that if you ignore some problematic project or release via update_advanced to keep the available updates report sane, if you then invoke the update manager, those problematic projects/releases will be upgraded anyway, not ignored. It's not about losing data, it's about upgrading code you didn't want to upgrade.

The mitigating factor is that people who want/use update manager to upgrade their site probably aren't the target audience for update_advanced. But, currently, update_advanced *only* impacts the listing page at /admin/reports/updates (the default "List" tab) not the update manager itself at admin/reports/updates/update (the "Update" tab).

There's no core bug issue ID yet since I wasn't able to look more closely at exactly if/what core is doing wrong and write it up.

As I said, at the very least this issue blocks a release of update_manager so we can document that these two things don't work together yet. Ideally, we'd fix it, but perhaps we need to fix core for that.

Fun! ;)

-Derek

hass’s picture

Ah, ok... got it now :-). I've seen this issue myself, but I had no time to look into it, too. But again if this is a core bug it should not hold a release of the module back as it's not the source of the issue.

Can we make a RC1?

dww’s picture

Again, at the bare minimum, I want to document this better before releasing.

Also, I'm not 100% sure there's nothing we can do in contrib to get around this problem. Maybe we just need to use a different reason code when altering the status and it would all work as expected (more or less).

Yes, an RC1 would be okay, once README.txt at least mentions this limitation/bug/incompatibility... I'll work on that later today, inshallah.

Cheers,
-Derek

dww’s picture

Title: Projects ignored by update_advanced are still processed by update manager » Projects ignored by update_advanced are still processed by Update manager

Okay, pushed a fix to the README.txt about this:
http://drupalcode.org/project/update_advanced.git/commit/0098043

I still wouldn't mind investigating this more closely before RC1, but I also know most people using this module don't care about or use Update Manager...

klonos’s picture

Still, did you file any issues against core so we can fix this in a proper way at some time in the future?

dww’s picture

Again, I'm still not sure it's actually a core bug, so I'm not going to create an issue until I better understand what exactly is going wrong. If someone else wants to, I'm not going to stop you. However, I invite interested parties to first look closely at the core update manager code and see why it's not handling this case properly, and if there are other cases it handles that would be more appropriate for update_advanced to use for its needs.

Thanks,
-Derek

hass’s picture

I think we need to hook into update_get_projects() where drupal_alter('update_projects', $projects); is used and remove the project that we ignore from the $project array. Than the project is not checked on d.o.. Update Advanced does not implement a hook_update_projects yet...

This is all code wise... have no dev env with me. Just like to post my findings that it is more a bug of update_advanced than core.

dww’s picture

Cool, thanks for looking. My only fear of using hook_update_projects_alter() is that we want to make sure we don't completely remove the projects from the regular report case -- we just want them to be ignored by the update manager parts. But yeah, I think this might have been the use case I had in mind when I added that alter hook. ;) Let's hope it's sufficient and we can fix this before 7.x-1.0.

Cheers,
-Derek

hass’s picture

Assigned: Unassigned »
hass’s picture

Project: Update Status Advanced Settings » Drupal core
Version: 7.x-1.x-dev » 7.x-dev
Component: Code » update.module
Status: Active » Needs review
StatusFileSize
new2.68 KB

Not really. I had some troubles while digging into this. If we remove the ignored project with hook_update_projects_alter() it's also removed from the list in admin/reports/updates/settings. This is not what we need.

I'm attaching a core update module patch as I have not found any other solution and moving the case to core for now. Please review.

hass’s picture

StatusFileSize
new23.9 KB

Just one screenshot how this looks like:

2013-04-07_024151.png

hass’s picture

hass’s picture

I'm attaching a new patch that replaces the tableselect with a themed table. This will remove one useless column and looks smarter. Also renamed Extra to Other to make sure we have no string changes.

2013-04-07_120245.png

Status: Needs review » Needs work
hass’s picture

Status: Needs work » Needs review
StatusFileSize
new3.09 KB

Damn windows LFs

dcam’s picture

http://drupal.org/node/1427826 contains instructions for updating the issue summary with the summary template.

The summary may need to be updated with information from comments.

Anonymous’s picture

Reviewed:

I made a functional test on my dev server with patch #16.
Results are good.

Ignored versions are not present in the update list, waiting for a new version. When a new version is found on drupal.org the setting is changed to 'always'. I don't know if the note field in settings is emptied..?

Setting 'always' is also working ok, they are ignored in the update list.

David_Rothstein’s picture

Version: 7.x-dev » 8.x-dev
Issue tags: +Needs backport to D7

This looks like it needs to go in Drupal 8 too?

Anonymous’s picture

The patch works perfect on my dev server for a few months now.
Please, make this part of D7 core - > 7.24! (missing this in 7.23)
And to D8.

Cyclodex’s picture

Issue summary: View changes

updated issue summary

Cyclodex’s picture

tried to updated the issue summary using the template
please verify and change it if its not 100% correct thanks

Cyclodex’s picture

Issue summary: View changes

adding task to commit patch

xjm’s picture

Status: Needs review » Needs work

Status: Needs work » Needs review

Status: Needs review » Needs work
hass’s picture

Assigned: » Unassigned

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.

mattshoaf’s picture

Priority: Major » Normal

I triaged this at DrupalCon Baltimore2017 I'm changing this to Normal priority since it was brought up for a contrib module that is not being ported to 8, see: Update Status Advanced Settings. It would take more testing to determine if this affects 8.x at all. I'll leave it to the maintainers for if they want to change the version back to D7 only, or perhaps the status to Closed (Won't Fix) would be applicable as well.

mattshoaf’s picture

Issue tags: +Triaged core major

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.

izmeez’s picture

Patch in #16 still applies without difficulty to drupal 7.78

izmeez’s picture

Title: Projects ignored by update_advanced are still processed by Update manager » Core Update manager doesn't correctly handle "status" UPDATE_NOT_CHECKED

Updated title to better reflect this is a core bug that has a D7 patch in comment #16 but no movement on D8/9 despite being "Triaged D8 major" although may only impact the contrib module https://www.drupal.org/project/update_advanced.

izmeez’s picture

Added this issue to #3192080: [meta] Priorities for 2021-04-07 release of Drupal 7 to improve visiblilty.

izmeez’s picture

Version: 8.9.x-dev » 7.x-dev
Status: Needs work » Needs review

There was never any activity on this issue for Drupal 8 probably because it may only affect the update_advanced module with no plans for a D8 version. I am going to change settings to drupal 7 and see if the patch in comment #16 passes tests.

izmeez’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: -Triaged core major

The patch in #16 passes and we have used it for some time. Changing status to RTBC. Also removing the D8 tag as it is irrelevant.

poker10’s picture

Status: Reviewed & tested by the community » Needs review

Unfortunatelly I think that it is too late for such significant UI change in D7. The patch creates a new group in the update manager "Available Updates" page, with is a big UI change for all users. According to the core changes policy:

UI change

Any changes or additions to the user interface, such as new administrative pages, re-ordering of fields, etc.

Release notes mention, as long as the "conceptual" things for users to know remain the same to grapple with, and the change is not systemic (e.g. switching the order of all form buttons).

I do not see a new group without any description in place as a same behavior. Users will be confused what does the group "Other" mean and what to do with it. It will contain both enabled and disabled modules which is wrong from the usability point of view.

Maybe something like this could be more feasible approach in this D7 stage, just to allow some rows in a tableselect to be disabled: #2895352: Allow tableselect element options to be disabled. Then it can be used by the update_advanced module to disable rows of modules which are set as ignored by this module. Assuming, of course, that there is still an effort to resolve this issue, which is more or less limited to this update_advanced module (please correct me if I am wrong).

Moving this to Needs Review for some feedback on this.

poker10’s picture

Just for the info, #2895352: Allow tableselect element options to be disabled was commited to D10/D9, so if it helps to solve this problem (as an alternative approach), then we can create an issue for D7 backport and try to solve it that way. I have briefly checked the issue and it seems that it should be possible to do a D7 backport.

Status: Needs review » Closed (outdated)

Automatically closed because Drupal 7 security and bugfix support has ended as of 5 January 2025. If the issue verifiably applies to later versions, please reopen with details and update the version.