Rename update module back to Update Status

Created on 25 October 2024, 7 months ago

Problem/Motivation

See discussion in ✨ Add Alpha level Experimental Automatic Updates module Needs work - we need to change the human readable name in update.info.yml and possibly other inerface/help text.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

πŸ“Œ Task
Status

Active

Version

11.0 πŸ”₯

Component

update.module

Created by

πŸ‡¬πŸ‡§United Kingdom catch

Live updates comments and jobs are added and updated live.
  • Novice

    It would make a good project for someone who is new to the Drupal contribution process. It's preferred over Newbie.

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @catch
  • First commit to issue fork.
  • Pipeline finished with Canceled
    7 months ago
    Total: 223s
    #321004
  • πŸ‡ΊπŸ‡ΈUnited States dww

    I gave this a start. To do this properly is definitely not novice material, removing that tag.

    Here's a TODO of bigger fish I'm punting on for now:

    1. This one is sorta problematic: Drupal\update\UpdateManagerInterface. Handle that here, or split into a followup? Could probably be renamed to UpdateStatusInterface, but unclear about the BC implications of that.
    2. update_help() says this:
      The Update Manager system is also used by some other modules to manage updates and downloads; for example, the Interface Translation module uses the Update Manager to download translations from the localization server.

      Is that still true? If so, yikes. πŸ˜‰

    3. Docs updates at https://www.drupal.org/documentation/modules/update β†’ -- follow-up, or resolve via the tag here?
    4. Renaming / re-documenting tests/*
  • πŸ‡ΊπŸ‡ΈUnited States dww

    Also note, I'm not touching any of the legacy "Update Manager" parts that update contrib in place. I'm not clear on the order by which everything should happen. Ideally, this issue, an issue to deprecate / remove all that stuff*, and ✨ Add Alpha level Experimental Automatic Updates module Needs work all land in the same minor release of core.

    * 🌱 [meta] Deprecate tarballs, because they are incompatible with Composer-managed dependencies, Automatic Updates, Project Browser, and release managers' health Active points to #3201968: Augment then Replace current Update Manager URL download based updates with Staged-Composer workflow β†’ , but maybe that's no longer the path forward. Perhaps we want a new clean issue about deprecating and removing the "legacy update manager with authorize.php" (for lack of a better term, wow this is going to be a confusing transition). πŸ˜…

  • Pipeline finished with Failed
    7 months ago
    Total: 599s
    #321006
  • πŸ‡ΊπŸ‡ΈUnited States dww

    p.s. I believe the test failures are random and unrelated to anything I touched here, but I haven't been closely following core's random fails these days so I'm not sure:

    https://git.drupalcode.org/issue/drupal-3483501/-/jobs/3164942

    Drupal\Tests\system\Functional\Theme\ToolbarClaroOverridesTest::testClaroAssets
    

    https://git.drupalcode.org/issue/drupal-3483501/-/jobs/3164948

    Drupal\Tests\block\Functional\BlockCacheTest::testNoCache
    Drupal\Tests\block\Functional\BlockCacheTest::testCachePerPage
    
  • πŸ‡­πŸ‡ΊHungary GΓ‘bor Hojtsy Hungary

    Interface Translation (locale) in core uses the project and version identification feature of Update Status. (Also Upgrade Status and Upgrade Rector do the same as well as probably a bunch of other modules).

  • Pipeline finished with Failed
    6 months ago
    Total: 921s
    #338089
  • Status changed to Needs work 2 months ago
  • πŸ‡«πŸ‡·France andypost

    what's left here to do? maybe just a change record?

  • πŸ‡ΊπŸ‡ΈUnited States dww

    TODO: See comment #4, points 1 and 4 (at least).

  • πŸ‡ΊπŸ‡ΈUnited States dww

    Tagging as a 11.2.0 release priority. See πŸ“Œ Deprecate/remove the ability to update a module from a URL and authorize.php Active and friends.

  • First commit to issue fork.
  • Pipeline finished with Success
    21 days ago
    Total: 763s
    #476568
  • πŸ‡³πŸ‡ΏNew Zealand quietone

    As I read the other issue the agreement was to make changes in the UI text and the handbook, which seems to be the highest priority at this stage. So, lets stick to that here and move the other items in #4.

    I rebased and tests are passing.

  • πŸ‡³πŸ‡±Netherlands bbrala Netherlands

    When checking out the MR i still see quite a few mentioned of "Update Manager module". Also in doc comments, but that could be intentional. But also in a few help_topics.

    I do think we need a little more changes, unless this was intentional, but don't really read that in the issue.

  • πŸ‡³πŸ‡ΏNew Zealand quietone

    @bbrala, can you be more specific? Are the instances of 'update manager' in the user facing text?

  • πŸ‡³πŸ‡±Netherlands bbrala Netherlands

    See attached screenshot, some help tests.

  • πŸ‡³πŸ‡±Netherlands bbrala Netherlands
  • First commit to issue fork.
  • πŸ‡¬πŸ‡§United Kingdom nlisgo

    Have addressed feedback in #13 and #15

  • Pipeline finished with Failed
    16 days ago
    Total: 526s
    #479549
  • πŸ‡ΊπŸ‡ΈUnited States dww

    Cool, thanks for moving this along!

    Drove by review on my phone, most of the updates to the help text look okay. But there are a few spots that still need help, talking about β€œdownloading updates” or something. I’ll work on more fixes later today when I’m back at my computer.

    Also need some follow-ups for the rest of #4 if we’re not planning g to fix any of that here.

  • Pipeline finished with Success
    16 days ago
    Total: 594s
    #479731
  • πŸ‡ΊπŸ‡ΈUnited States dww

    Pushed a commit to finish fixing core/modules/system/src/Hook/SystemHooks.php. Could use a review of the new text.

    Meanwhile, opened 3 follow-ups:
    πŸ“Œ Rename 'update.manager' service and related code Active
    πŸ“Œ Rename and re-document tests to no longer mention 'Update Manager' Active
    πŸ“Œ [PP-1] Fix 'Update' module docs to use 'Update Status' not 'Update Manager' Postponed

    Also opened an MR thread about 1 remaining questionable help text.

    But I think this is basically ready for review again...

    Thanks!
    -Derek

  • πŸ‡ΊπŸ‡ΈUnited States dww

    πŸ“Œ Rename and re-document tests to no longer mention 'Update Manager' Active was easier than I thought. Should I just move that commit into this MR?

  • Pipeline finished with Failed
    14 days ago
    Total: 177s
    #481501
  • Do references to "Update module" need to be changed to "Update Status module" as well? Or is this strictly about making sure there are no references to "Update Manager".

    For example, this in locale.translation.inc:

     * For full functionality this function depends on Update module.
     * When Update module is enabled the project data will contain the most recent
     * module status; both in enabled status as in version. When Update module is
     * disabled this function will return the last known module state. The status
     * will only be updated once Update module is enabled.
    

    If not, +1 for RTBC, though it looks like test didn't pass - maybe some kind of gitlab access bug?

  • Pipeline finished with Failed
    14 days ago
    Total: 191s
    #481506
  • Pipeline finished with Failed
    14 days ago
    Total: 118s
    #481515
  • πŸ‡ΊπŸ‡ΈUnited States dww

    @godotislate: Good point! I pushed more commits for cleaning up those references, too.

    Yeah, the most recent GitLab deployment seems to have broken test pipelines for us subsystem maintainers with some elevated GitLab permissions in the core repo.

  • Pipeline finished with Failed
    14 days ago
    Total: 199s
    #481520
  • I think I might have found some stragglers searching with PHPStorm. I think I filtered out every instance already addressed, and a couple look to be in deprecated code, such as in SSH.php, and some probably are irrelevant or don't really need changing, but documenting here.

    For "Update module":

    Found occurrences in Project  (54 usages found)
        Usage in comments  (41 usages found)
                core/lib/Drupal/Core/FileTransfer  (1 usage found)
                    SSH.php  (1 usage found)
                        6 * The SSH connection class for the update module.
                core/modules/update  (1 usage found)
                    update.module  (1 usage found)
                        336 // List of update module cache directories. Do not create the directories if
                core/modules/update/src/Hook  (4 usages found)
                    UpdateHooks.php  (4 usages found)
                        193 // Clear all update module data.
                        205 // Clear all update module data.
                        217 // Clear all update module data.
                        229 // Clear all update module data.
                core/modules/update/tests/src/Functional  (1 usage found)
                    UpdateMiscTest.php  (1 usage found)
                        11 * Tests general functionality of the Update module.
                core/modules/update/tests/src/Kernel  (6 usages found)
                    DevReleaseTest.php  (2 usages found)
                        39 // The Update module's default configuration must be installed for our
                        49 * Sets the current (running) version of core, as known to the Update module.
                    UpdateCalculateProjectDataTest.php  (2 usages found)
                        40 // The Update module's default configuration must be installed for our
                        49 * Sets the installed version of core, as known to the Update module.
                    UpdateStorageTest.php  (2 usages found)
                        10 * Tests the Update module storage is cleared correctly.
                        24 * Tests the Update module storage is cleared correctly.
                core/tests/Drupal/FunctionalTests  (1 usage found)
                    BrowserTestBaseTest.php  (1 usage found)
                        485 // Ensure the update module is not installed.
                core/tests/Drupal/FunctionalTests/Installer  (2 usages found)
                    InstallerTest.php  (1 usage found)
                        139 // Ensure the update module is not installed.
                    TestingProfileInstallTest.php  (1 usage found)
                        27 * Ensure the Update module is installed.
        Usage in string constants  (12 usages found)
                core/lib/Drupal/Core/Installer/Form  (1 usage found)
                    SiteConfigureForm.php  (1 usage found)
                        199 f="@update-module-docs" target="_blank">Update module documentation</a> for details.', ['@update-module-docs' => 'https://www.drupal.org/node/178772']),
                core/modules/update/tests/modules/aaa_update_test  (1 usage found)
                    aaa_update_test.info.yml  (1 usage found)
                        3 description: 'Support module for update module testing.'
                core/modules/update/tests/modules/bbb_update_test  (1 usage found)
                    bbb_update_test.info.yml  (1 usage found)
                        3 description: 'Support module for update module testing.'
                core/modules/update/tests/modules/ccc_update_test  (1 usage found)
                    ccc_update_test.info.yml  (1 usage found)
                        3 description: 'Support module for update module testing.'
                core/modules/update/tests/modules/semver_test  (1 usage found)
                    semver_test.info.yml  (1 usage found)
                        3 description: 'Support module for update module testing.'
                core/modules/update/tests/modules/update_test  (1 usage found)
                    update_test.info.yml  (1 usage found)
                        3 description: 'Support module for update module testing.'
                core/tests/Drupal/FunctionalTests  (1 usage found)
                    BrowserTestBaseTest.php  (1 usage found)
                        486 $this->assertFalse(\Drupal::moduleHandler()->moduleExists('update'), 'The Update module is not installed.');
                core/tests/Drupal/FunctionalTests/Installer  (1 usage found)
                    InstallerTest.php  (1 usage found)
                        140 $this->assertFalse($module_handler->moduleExists('update'), 'The Update module is not installed.');
    

    For "Update manager"

    Found occurrences in Project  (153 usages found)
        Unclassified  (35 usages found)
                core  (1 usage found)
                    MAINTAINERS.txt  (1 usage found)
                        437 Update Manager
        Usage in comments  (102 usages found)
                core/assets/scaffold/files  (3 usages found)
                    default.settings.php  (3 usages found)
                        315 * Fallback to HTTP for Update Manager and for fetching security advisories.
                        481 * The Update Manager module included with Drupal provides a mechanism for
                        484 * the Update manager will require the administrator to provide SSH or FTP
                core/lib/Drupal/Core/Updater  (1 usage found)
                    Theme.php  (1 usage found)
                        33 * that can conflict on a multi-site installation, since the Update manager
                core/modules/system  (1 usage found)
                    system.module  (1 usage found)
                        162 * Because of the Update manager functionality included in Drupal core, there
                core/modules/update  (10 usages found)
                    update.authorize.inc  (1 usage found)
                        244 * Since this function is run at such a low bootstrap level, the Update Manager
                    update.compare.inc  (1 usage found)
                        203 * returning, or the rest of the Update Manager will break in unexpected ways.
                    update.manager.inc  (3 usages found)
                        19 *   The update manager operation we're in the middle of. Can be either 'update'
                        23 *   TRUE if the update manager should continue to the next step in the
                        262 * will eventually be installed, the update manager can transfer files entirely
                    update.module  (1 usage found)
                        352 * Deletes stale files and directories from the update manager disk cache.
                core/modules/update/css  (1 usage found)
                    update.admin.theme.css  (1 usage found)
                        3  * Styles used by the Update Manager module.
                core/modules/update/src  (4 usages found)
                    UpdateRoot.php  (4 usages found)
                        9 * Gets the root path used by the Update Manager to install or update projects.
                        60 * The Update Manager will ensure that project files can only be copied to
                        72 // Normally the Update Manager's root path is the same as the app root (the
                        79 // the Update Manager to be tested) and also ensures that new project files
                core/modules/update/src/Hook  (1 usage found)
                    UpdateHooks.php  (1 usage found)
                        265 * update manager does not yet support. See
                core/modules/update/tests/modules/update_test/src/Controller  (2 usages found)
                    UpdateTestController.php  (2 usages found)
                        31 * Page callback: Prints mock XML for the Update Manager module.
                        41 *   The project short name the update manager is trying to fetch data for
                core/modules/update/tests/modules/update_test/src/Hook  (1 usage found)
                    UpdateTestHooks.php  (1 usage found)
                        72 // environment in which the update manager tests are run).
                core/modules/update/tests/src/Functional  (18 usages found)
                    UpdateContribTest.php  (4 usages found)
                        11 * Tests how the Update Manager handles contributed modules and themes.
                        244 * Tests the Update Manager module when one normal update is available.
                        539 // Turn the altering back on and visit the Update manager UI.
                        544 // Turn the altering back off and visit the Update manager UI.
                    UpdateMiscTest.php  (1 usage found)
                        61 * Tests the Update Manager module when the update server returns 503 errors.
                    UpdateSemverContribBaselineTest.php  (1 usage found)
                        8 * Tests the Update Manager module with a contrib module with semver versions.
                    UpdateSemverContribSecurityAvailabilityTest.php  (1 usage found)
                        8 * Tests Update Manager with a security update available for a contrib project.
                    UpdateSemverContribTestBase.php  (1 usage found)
                        8 * Base class for Update manager semantic versioning tests of contrib projects.
                    UpdateSemverCoreBaselineTest.php  (1 usage found)
                        8 * Tests semantic version handling in the Update Manager for Drupal core.
                    UpdateSemverCoreSecurityAvailabilityTest.php  (1 usage found)
                        8 * Tests Update Manager with a security update available for Drupal core.
                    UpdateSemverCoreTest.php  (1 usage found)
                        42 * Tests the Update Manager module when the update server returns 503 errors.
                    UpdateSemverCoreTestBase.php  (1 usage found)
                        8 * Base class for Update manager semantic versioning tests of Drupal core.
                    UpdateSemverTestBaselineTrait.php  (3 usages found)
                        19 * Tests the Update Manager module when no updates are available.
                        49 * Tests the Update Manager module when one normal update is available.
                        122 * Tests the Update Manager module when major updates are available.
                    UpdateSemverTestSecurityAvailabilityTrait.php  (2 usages found)
                        13 * Tests the update manager when a security update is available.
                        22 * Tests the Update Manager module when a security update is available.
                    UpdateTestBase.php  (1 usage found)
                        78 // Tell the Update Manager module to fetch from the URL provided by
                core/themes/stable9/css/update  (1 usage found)
                    update.admin.theme.css  (1 usage found)
                        3  * Styles used by the Update Manager module.
                sites/default  (6 usages found)
                    default.settings.php  (3 usages found)
                        315 * Fallback to HTTP for Update Manager and for fetching security advisories.
                        481 * The Update Manager module included with Drupal provides a mechanism for
                        484 * the Update manager will require the administrator to provide SSH or FTP
        Usage in string constants  (16 usages found)
                core/modules/migrate_drupal_ui/tests/src/Functional/d7  (3 usages found)
                    MultilingualReviewPageTest.php  (1 usage found)
                        130 'Update manager',
                    NoMultilingualReviewPageTest.php  (1 usage found)
                        183 'Update manager',
                    Upgrade7Test.php  (1 usage found)
                        220 'Update manager',
                core/modules/update  (3 usages found)
                    update.authorize.inc  (1 usage found)
                        221 $session->set('authorize_page_title', t('Update manager'));
    
  • πŸ‡ΊπŸ‡ΈUnited States dww

    Thanks for more thorough searching. Doing the same locally now, too. πŸ˜…

    Decided to cherry-pick the commit from πŸ“Œ Rename and re-document tests to no longer mention 'Update Manager' Active into here and close that issue, since we might as well do it all at once.

    Yeah, some of those hits are in stuff that's already marked deprecated. Not sure it's worth fixing them all. Also, I don't want to conflict with πŸ“Œ Finish deprecating 'Update Manager' related code in Update Status Active , so I'll handle UpdateRoot.php over there.

  • πŸ‡ΊπŸ‡ΈUnited States dww

    Removing tag since doc updates will be handled in πŸ“Œ [PP-1] Fix 'Update' module docs to use 'Update Status' not 'Update Manager' Postponed

  • OK, I think I've gone a bit cross-eyed looking at it, but assuming tests pass once they can run, I think it's RTBC.

  • Pipeline finished with Failed
    14 days ago
    Total: 188s
    #481657
  • Pipeline finished with Failed
    12 days ago
    Total: 399s
    #482789
  • Pipeline finished with Success
    12 days ago
    #482792
  • πŸ‡ΊπŸ‡ΈUnited States dww

    Rebased to get a working CI pipeline. Results are green. RTBC? πŸ˜‰ Thanks!

    p.s. I left 'Update Manager' visible in the comment describing the allow_authorize_operations setting in sites/default/default.settings.php and core/assets/scaffold/files/default.settings.php. There's a remaining task at πŸ“Œ Finish deprecating 'Update Manager' related code in Update Status Active to decide if we should explicitly deprecate that setting. To avoid conflicts and trouble, let's leave that alone in this issue and clean it up over there. Maybe we can remove that setting from those files entirely, since the UI it disables has already been removed from core...

  • πŸ‡«πŸ‡·France andypost

    As follow-up is nearly ready let's get this one in

  • Not sure whether this is already tracked anywhere else, but once these changes are in, the Update module overview documentation page β†’ needs an update.

  • πŸ‡ΊπŸ‡ΈUnited States dww

    Re #30, see #26

    • larowlan β†’ committed a464b59b on 11.x
      Issue #3483501 by dww, quietone, nlisgo, bbrala, godotislate, catch:...
  • πŸ‡¦πŸ‡ΊAustralia larowlan πŸ‡¦πŸ‡ΊπŸ.au GMT+10

    Applied this locally and did some grepping to see if any other references were left
    Everything else I found was either referring to the entity definition update manager or features update.module provides that related to authorize.php/installing zip files which we're hoping to remove anyway.

    Committed to 11.x - thanks!

  • πŸ‡ΊπŸ‡ΈUnited States dww

    Per @larowlan in Slack, tagging and adding a release note.

  • πŸ‡ΊπŸ‡ΈUnited States dww
  • πŸ‡ΊπŸ‡ΈUnited States dww

    Link to the CR, not directly to the issue trying to add the new Update Manager.

Production build 0.71.5 2024