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

MobX proof of concept in Personalization plugin

    XMLWordPrintable

Details

    • 1.0-m12, 1.0-b05/b-06

    Description

      Port the Personalization module to use MobX:

      • Rework the Store and components with @observer @observable
      • Settle on a clear pattern for how store data is updated (probably not directly from a component but rather using some kind of simple Action)
      • Implement a better way of fetching data from the API, especially one that cleanly prevents duplicate calls from happening
      • Experiment with mutable vs. Immutable.js data structures

      Attachments

        Issue Links

          Activity

            cliffmeyers Cliff Meyers created issue -
            cliffmeyers Cliff Meyers made changes -
            Field Original Value New Value
            Epic Link JENKINS-35749 [ 171790 ]
            cliffmeyers Cliff Meyers made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            cliffmeyers Cliff Meyers made changes -
            Description Port the Personalization module to use MobX:
            * Rework the Store and components with @observer @observable
            * Implement a better way of fetching data from the API, especially one that cleanly prevents duplicate calls from happening
            * Experiment with mutable vs. Immutable.js data structures
            * Settle on a clear pattern for how store data is updated (probably not directly from a component but rather using some kind of simple Action)
            Port the Personalization module to use MobX:
            * Rework the Store and components with @observer @observable
            * Settle on a clear pattern for how store data is updated (probably not directly from a component but rather using some kind of simple Action)
            * Implement a better way of fetching data from the API, especially one that cleanly prevents duplicate calls from happening
            * Experiment with mutable vs. Immutable.js data structures
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 173676 ] JNJira + In-Review [ 185859 ]
            cliffmeyers Cliff Meyers added a comment -

            Latest spike is here: https://github.com/jenkinsci/blueocean-plugin/tree/feature/JENKINS-36921-mobx-personalization

            I will look at this again tomorrow and figure out what next steps are.

            cliffmeyers Cliff Meyers added a comment - Latest spike is here: https://github.com/jenkinsci/blueocean-plugin/tree/feature/JENKINS-36921-mobx-personalization I will look at this again tomorrow and figure out what next steps are.
            jamesdumay James Dumay made changes -
            Sprint 1.0-m12 [ 76 ] 1.0-m12, 1.0-beta-1 [ 76, 86 ]
            michaelneale Michael Neale added a comment -

            cliffmeyers when you are back - did you want to proceed with this or should we move this to the backlog for beta2 onwards? (there are probably other areas that could do with mobx too).

            michaelneale Michael Neale added a comment - cliffmeyers when you are back - did you want to proceed with this or should we move this to the backlog for beta2 onwards? (there are probably other areas that could do with mobx too).
            michaelneale Michael Neale made changes -
            Link This issue is blocking JENKINS-37250 [ JENKINS-37250 ]
            cliffmeyers Cliff Meyers added a comment -

            michaelneale from memory, I think the basics here are close, so I can probably open a PR this week for more detailed feedback so the team can discuss patterns we want to use more broadly throughout the app. Full adoption of MobX will be a good-sized effort, and also requires some new infrastructure to really get right (in particular, how we intend to share stores across plugins / extension points).

            cliffmeyers Cliff Meyers added a comment - michaelneale from memory, I think the basics here are close, so I can probably open a PR this week for more detailed feedback so the team can discuss patterns we want to use more broadly throughout the app. Full adoption of MobX will be a good-sized effort, and also requires some new infrastructure to really get right (in particular, how we intend to share stores across plugins / extension points).
            ozgursonmez_erpilic Özgür Sönmez made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            cliffmeyers Cliff Meyers made changes -
            Status In Review [ 10005 ] In Progress [ 3 ]
            cliffmeyers Cliff Meyers made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            cliffmeyers Cliff Meyers added a comment -

            Putting this one on hold until we can get some infrastructure pieces in place to facilitate better usage of MobX (and JS in general)

            cliffmeyers Cliff Meyers added a comment - Putting this one on hold until we can get some infrastructure pieces in place to facilitate better usage of MobX (and JS in general)
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            jamesdumay James Dumay made changes -
            Priority Critical [ 2 ] Minor [ 4 ]
            michaelneale Michael Neale made changes -
            Priority Minor [ 4 ] Major [ 3 ]
            jamesdumay James Dumay made changes -
            Sprint 1.0-m12, 1.0-pre-beta-1 [ 76, 86 ] 1.0-m12 [ 76 ]
            jamesdumay James Dumay made changes -
            Sprint 1.0-m12 [ 76 ] 1.0-m12, 1.0-beta-1 [ 76, 96 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Sprint 1.0-m12, 1.0-beta-1 [ 76, 96 ] 1.0-m12, 1.0-beta-2 [ 76, 101 ]
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            jamesdumay James Dumay made changes -
            Sprint 1.0-m12, 1.0-beta-4 [ 76, 101 ] 1.0-m12, 1.0-beta-2 [ 76, 111 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            michaelneale Michael Neale added a comment -

            cliffmeyers I think this was actually done as part of the rerun feature of personalization some time ago right? Can we close this?

            michaelneale Michael Neale added a comment - cliffmeyers I think this was actually done as part of the rerun feature of personalization some time ago right? Can we close this?
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            jamesdumay James Dumay made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]

            People

              cliffmeyers Cliff Meyers
              cliffmeyers Cliff Meyers
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: