Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-29978

Dependencies implementation leading to non-upgradeable sites

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • 2.2
    • 2.2
    • Installation
    • MOODLE_22_STABLE
    • MOODLE_22_STABLE
    • Moderate
    • Hide

      IMPORTANT: This must be tested AFTER MDL-27961 has been integrated!
      (because it introduces one combination of versions reproducing this problem).

      IMPORTANT: This must be tested into own environment with access to integration.git to switch between branches.

      A) Using the web install / upgrade:

      • Install 2.1.x (current MOODLE_21_STABLE).
      • Start one update to 2.2dev (current master @ integration.git). Examine the plugins list page.
      • TEST: The glossary module is about to be upgraded from 2011052300 to 2011102800.
      • TEST: The glossary filter is about to be installed with version 2011102800.
      • TEST: The glossary filter shows that is requires Moodle 2011102700 and mod_glossary 2011102800. Both requirements are satisfied (they don't show one red background at all).
      • TEST: There is one "Continue" (not sure about the label, sorry) at the end of the page.
      • Click the "Continue button" and update will happen.
      • TEST: The upgrade ends without any error about plugin dependencies.

      B) Using the CLI install / upgrade

      • Install 2.1.x (current MOODLE_21_STABLE)
      • Update to 2.2dev (current master @ integration.git)
      • TEST: The upgrade ends without any error about plugin dependencies.

      NOTE: Running the CLI installer you may see a lot of PHP Warnings, they are caused by MDL-29972 and you can safely ignore them as far as the installation ends successful.

      Show
      IMPORTANT: This must be tested AFTER MDL-27961 has been integrated! (because it introduces one combination of versions reproducing this problem). IMPORTANT: This must be tested into own environment with access to integration.git to switch between branches. A) Using the web install / upgrade: Install 2.1.x (current MOODLE_21_STABLE). Start one update to 2.2dev (current master @ integration.git). Examine the plugins list page. TEST: The glossary module is about to be upgraded from 2011052300 to 2011102800. TEST: The glossary filter is about to be installed with version 2011102800. TEST: The glossary filter shows that is requires Moodle 2011102700 and mod_glossary 2011102800. Both requirements are satisfied (they don't show one red background at all). TEST: There is one "Continue" (not sure about the label, sorry) at the end of the page. Click the "Continue button" and update will happen. TEST: The upgrade ends without any error about plugin dependencies. B) Using the CLI install / upgrade Install 2.1.x (current MOODLE_21_STABLE) Update to 2.2dev (current master @ integration.git) TEST: The upgrade ends without any error about plugin dependencies. NOTE: Running the CLI installer you may see a lot of PHP Warnings, they are caused by MDL-29972 and you can safely ignore them as far as the installation ends successful.

      oh, oh... I think we have one problem... imagine the next (real) situation:

      1) Due to some changes in the glossary module requiring today's moodle I want to, both:

      • module->version to 2011-10-28 (written that way for clarity).
      • module->requires to 2011-10-28 too

      2) Then 2 weeks later, I want to create one new filter and make it require glossary 2011-10-28, so I'll define the filter as:

      • plugin->version = 2011-11-11
      • plugin->requires = 2011-10-28 (because it needs that moodle version
      • plugin->dependencies = array('mod_glossary' => 2011-10-28)

      with that configuration... any Moodle >= 2011-10-28 will be upgraded without problems, oki.

      But (big BUT!) any Moodle < 2011-10-28 won't be able to upgrade at all, because the dependency is being checked against the source (currently installed) version and not the target version.

      So, as soon as we introduce any versioned dependency, right now, we are causing older upgrades (previous to latest "dependon" upgrade) to stop working completely, if I'm not wrong (I'm experimenting that while creating the new filter/glossary).

      Needs fixing ASAP.

            stronk7 Eloy Lafuente (stronk7)
            stronk7 Eloy Lafuente (stronk7)
            Sam Hemelryk Sam Hemelryk
            Aparup Banerjee Aparup Banerjee
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.