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

            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?
            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)
            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).
            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).
            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.

            People

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

              Dates

                Created:
                Updated:
                Resolved: