Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-38323

Developer can drag and drop to reorder steps within a stage

    • Icon: Story Story
    • Resolution: Fixed
    • Icon: Major Major
    • blueocean-plugin
    • None
    • pacific, atlantic, 1.0-b05/b-06, tasman, frank, 1.0, Blue Ocean 1.0-rc3, Blue Ocean 1.2-beta3, Blue Ocean 1.2, Blue Ocean 1.3, Blue Ocean 1.4 - beta 1, Blue Ocean 1.4 - beta 3, Blue Ocean 1.4 - beta 2, Blue Ocean 1.5 - beta 1

      Improvement on roadmap

      This improvement is on the Blue Ocean project roadmap. Check the roadmap page for updates.

      Investigate how much effort this is before fully implementing

      In Scope

      1. Developer can drag and drop to reorder steps within a stage using the drag handles
      2. User can drag steps from a step listing to another step listing
        • e.g. from the regular step list and into a block scoped step and visa-versa.

          [JENKINS-38323] Developer can drag and drop to reorder steps within a stage

          Michael Neale added a comment -

          nicu this may be first intro to editor - when time comes, will need to book time with cliff/keith to see how this works (it is in a separate repository)

          Michael Neale added a comment - nicu this may be first intro to editor - when time comes, will need to book time with cliff/keith to see how this works (it is in a separate repository)

          Cliff Meyers added a comment -

          jamesdumay can you give me some insight into what other items in the Editor may be targeted for DnD interactions down the road? Having at least some insight into the use cases would help as we evaluate libraries to facilitate DnD interactions.

          Cliff Meyers added a comment - jamesdumay can you give me some insight into what other items in the Editor may be targeted for DnD interactions down the road? Having at least some insight into the use cases would help as we evaluate libraries to facilitate DnD interactions.

          Michael Neale added a comment -

          cliffmeyers the other one not listed is reordering stages around via DnD - although in reality that is less realistic (no one just randomly decides one day to test before building, but you never know...)

          Michael Neale added a comment - cliffmeyers the other one not listed is reordering stages around via DnD - although in reality that is less realistic (no one just randomly decides one day to test before building, but you never know...)

          Cliff Meyers added a comment -

          jamesdumay a few questions:

          1. is there any design for this feature? There is reference to drag handles, so it sounds as though the thought is that the entire item shouldn't be draggable?
          2. Is there a design for #2 in the list in particular? or could you do a quick sketch or mockup for how that's supposed to work?

          Cliff Meyers added a comment - jamesdumay a few questions: is there any design for this feature? There is reference to drag handles, so it sounds as though the thought is that the entire item shouldn't be draggable? Is there a design for #2 in the list in particular? or could you do a quick sketch or mockup for how that's supposed to work?

          Cliff Meyers added a comment -

          Discussed with Keith and he discussed the concept around #2 with respect to "allocate workspace" step. For now I am using a drag handle on the right side of the step to initiate the drag.

          Cliff Meyers added a comment - Discussed with Keith and he discussed the concept around #2 with respect to "allocate workspace" step. For now I am using a drag handle on the right side of the step to initiate the drag.

          James Dumay added a comment -

          Hey cliffmeyers, could we do a quick sync on this after the hangout on monday?

          James Dumay added a comment - Hey cliffmeyers , could we do a quick sync on this after the hangout on monday?

          Karl Shultz added a comment - - edited

          Testing Notes:

          • Some exploratory testing should be performed manually, and preferably on a variety of different browsers
          • ATH tests should be implemented to perform a variety of straightfoward drag-and-drop operations on steps inside of a stage containing n steps.
            • Positive tests:
              • 0 to n
              • n to 0
              • "middle" to n
              • "middle" to 0
              • "middle" to "somewhere-else-in-the-middle"
            • Negative tests:
              • Drag out of bounds
              • Drag and release onto original location
          • Save the pipeline after these operations, and verify that it does what it says
          • Optional, but worthwhile: verify that changes show up in the Ctrl-S view of the Jenkinsfile

          Karl Shultz added a comment - - edited Testing Notes: Some exploratory testing should be performed manually, and preferably on a variety of different browsers ATH tests should be implemented to perform a variety of straightfoward drag-and-drop operations on steps inside of a stage containing n steps. Positive tests: 0 to n n to 0 "middle" to n "middle" to 0 "middle" to "somewhere-else-in-the-middle" Negative tests: Drag out of bounds Drag and release onto original location Save the pipeline after these operations, and verify that it does what it says Optional, but worthwhile: verify that changes show up in the Ctrl-S view of the Jenkinsfile

          Cliff Meyers added a comment -

          Met w/ Michael Lee to get some design input on how to improve the UX a bit. Main topic that we're aiming to resolve is ideal UX for dragging a step to the last position of a block step when there a multiple nested block steps and each one is the last step... it makes it hard to tell whether the user is trying to drag a step to the last position of the innermost step, next outermost step, etc... discussed the alternative proposed by Keith and Michael is going to work on some design experiments so we can evaluate what works best.

          Cliff Meyers added a comment - Met w/ Michael Lee to get some design input on how to improve the UX a bit. Main topic that we're aiming to resolve is ideal UX for dragging a step to the last position of a block step when there a multiple nested block steps and each one is the last step... it makes it hard to tell whether the user is trying to drag a step to the last position of the innermost step, next outermost step, etc... discussed the alternative proposed by Keith and Michael is going to work on some design experiments so we can evaluate what works best.

          James Dumay added a comment -

          cliffmeyers thanks for the update

          James Dumay added a comment - cliffmeyers thanks for the update

            nicu Nicolae Pascu
            jamesdumay James Dumay
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: