Uploaded image for project: 'Nuxeo Studio'
  1. Nuxeo Studio
  2. NXS-6376

Option to freeze package dependencies at release

    XMLWordPrintable

    Details

    • Type: User story
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.7.0
    • Component/s: Application Definition

      Description

      Context : The current set-up allows dependencies to automatically update, this may not be ideal for customers that have a modular set-up and make regular, disruptive changes to high level packages.   

       

      Problem Statement : I want to be able to avoid automatic updates being applied to my dependent packages, so that I can provide my clients with a stable release.  

       

      Wireframes 

      For Modal 

      https://nuxeo.invisionapp.com/console/MultiLayer-Release+Blocking_Wireframes-ckp6rvn2h02rg01251pqj18wn/ckp6rvo0w035t013h9oonbgt8/play#project_console

       
      For remaining screens

      https://nuxeo.invisionapp.com/console/AppDef+ReleasesTags_UI-Design-ckqqoidyn0esm015c4iahgmeu/ckqqoifvh0enj014i3e52g012/play#project_console

       

       

      To Do :

      Create the possibility to freeze dependency versions, at all levels, at the time of release. 

       

      Branch Management Section

      (when creating the release from a branch) 

      On the release pop-up  new option to 'Lock Dependencies' 

      • Subsequent to this all versions of implicit dependencies linked to that version of a package will be locked at the version number they were when the dependencies were frozen  

      -> The size of this screen should be reduced so that it does not take up the entire viewport 

       

      Error Message

      Where we try to freeze/lock a dependency that is either unreleased or for another reason, we are using a version that cannot be clearly referenced such as SNAPSHOT. Here a clear warning will need to be given, and the lock is not possible, 

      Pop-up text 

      "The dependencies for this release cannot be locked." 

       

      Release and Tags Page 

      On each Release block, it should be clear that the release is locked -> See Above Wireframes and Related ticket by way of the lock icon.

      In App Def  

      On the various 'package blocks' it should be clear that the release is locked -> See Wireframes

       

      -> For both the above

      1. If all dependencies are locked the lock icon is next to 'Package Dependencies' with all versions being visible 

      2. If fewer than all dependencies are locked, then the relevant locked dependencies appear with version number and lock icon in the list  

       

       

      AC :

      As a user, I should be able to choose to freeze or not freeze a dependency at release

      • If I choose not to freeze -> current behaviour
      • If I choose to freeze, the current versions are blocked for all dependencies, at all levels 
      • Another user using the package will be forced to use the frozen versions 
      • I can only change the 'frozen' status by releasing a new version of the package 
      • An API option is added to enable dependencies freeze
      • I get an alert and am blocked from freezing if my release includes packages/releases that cannot be frozen
      • I can clearly understand in App Def, Release and Tags and the Marketplace that the dependencies are frozen

       

       

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: