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

MobX proof of concept in Personalization plugin

    Details

    • Similar Issues:
    • Epic Link:
    • Sprint:
      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

            Hide
            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.

            Show
            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.
            Hide
            michaelneale Michael Neale added a comment -

            Cliff Meyers 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).

            Show
            michaelneale Michael Neale added a comment - Cliff Meyers 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).
            Hide
            cliffmeyers Cliff Meyers added a comment -

            Michael Neale 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).

            Show
            cliffmeyers Cliff Meyers added a comment - Michael Neale 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).
            Hide
            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)

            Show
            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)
            Hide
            michaelneale Michael Neale added a comment -

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

            Show
            michaelneale Michael Neale added a comment - Cliff Meyers I think this was actually done as part of the rerun feature of personalization some time ago right? Can we close this?

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: