Details

    • Similar Issues:
    • Epic Link:
    • Sprint:
      1.0-japan-m9, 1.0-m10

      Description

      The ExtensionPoint JSX component API is confusing and bloated, as is the store API.

      E.g.:

      • store API has methods like addExtensionPoint and then addExtension. Can't see any reason why both are needed.
      • store API has getExtensions and loadExtensions. Really seems like only one of these is needed and it should be the async version (i.e. loadExtensions - it takes a callback) - the sync version is weird.
      • store.loadExtensions loads extension point "implementations". Maybe we rename it to match that e.g. store.loadExtensionPointImpls.
      • From a "user" perspective, the ExtensionPoint JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. <RenderExtensionPoint>?
      • The ExtensionPoint.registerExtensionPoint static is dumb and will probably be even more dumb once ExtensionPoint gets a more meaningful name. Remove it and replace usages of it with calls to store.loadExtensions.

        Attachments

          Issue Links

            Activity

            tfennelly Tom FENNELLY created issue -
            tfennelly Tom FENNELLY made changes -
            Field Original Value New Value
            Description The {{ExtensionPoint}} JSX component API is confusing and bloated, as is the {{store}} API.

            E.g.:
            * {{store}} API has methods like {{addExtensionPoint}} and then {{addExtension}}. Can't see any reason why both are needed.
            * {{store}} API has {{getExtensions}} and {{loadExtensions}}. Really seems like only one of these is needed and it should be the async version (that takes a callback) - the sync version is weird.
            * From a "user" perspective, the {{ExtensionPoint}} JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. {{<RenderExtensionPoint>}}?
            * The {{ExtensionPoint.registerExtensionPoint}} static is dumb and will probably be even more dumb once {{ExtensionPoint}} gets a more meaningful name. Remove it and replace usages of it with calls to {{store.loadExtensions}}.
            The {{ExtensionPoint}} JSX component API is confusing and bloated, as is the {{store}} API.

            E.g.:
            * {{store}} API has methods like {{addExtensionPoint}} and then {{addExtension}}. Can't see any reason why both are needed.
            * {{store}} API has {{getExtensions}} and {{loadExtensions}}. Really seems like only one of these is needed and it should be the async version (i.e. {{loadExtensions}} - it takes a callback) - the sync version is weird.
            * From a "user" perspective, the {{ExtensionPoint}} JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. {{<RenderExtensionPoint>}}?
            * The {{ExtensionPoint.registerExtensionPoint}} static is dumb and will probably be even more dumb once {{ExtensionPoint}} gets a more meaningful name. Remove it and replace usages of it with calls to {{store.loadExtensions}}.
            tfennelly Tom FENNELLY made changes -
            Description The {{ExtensionPoint}} JSX component API is confusing and bloated, as is the {{store}} API.

            E.g.:
            * {{store}} API has methods like {{addExtensionPoint}} and then {{addExtension}}. Can't see any reason why both are needed.
            * {{store}} API has {{getExtensions}} and {{loadExtensions}}. Really seems like only one of these is needed and it should be the async version (i.e. {{loadExtensions}} - it takes a callback) - the sync version is weird.
            * From a "user" perspective, the {{ExtensionPoint}} JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. {{<RenderExtensionPoint>}}?
            * The {{ExtensionPoint.registerExtensionPoint}} static is dumb and will probably be even more dumb once {{ExtensionPoint}} gets a more meaningful name. Remove it and replace usages of it with calls to {{store.loadExtensions}}.
            The {{ExtensionPoint}} JSX component API is confusing and bloated, as is the {{store}} API.

            E.g.:
            * {{store}} API has methods like {{addExtensionPoint}} and then {{addExtension}}. Can't see any reason why both are needed.
            * {{store}} API has {{getExtensions}} and {{loadExtensions}}. Really seems like only one of these is needed and it should be the async version (i.e. {{loadExtensions}} - it takes a callback) - the sync version is weird.
            * {{store.loadExtensions}} loads extension point implementations. Maybe we rename it to match that e.g. {{store.loadExtensionPointImpls}}.
            * From a "user" perspective, the {{ExtensionPoint}} JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. {{<RenderExtensionPoint>}}?
            * The {{ExtensionPoint.registerExtensionPoint}} static is dumb and will probably be even more dumb once {{ExtensionPoint}} gets a more meaningful name. Remove it and replace usages of it with calls to {{store.loadExtensions}}.
            tfennelly Tom FENNELLY made changes -
            Description The {{ExtensionPoint}} JSX component API is confusing and bloated, as is the {{store}} API.

            E.g.:
            * {{store}} API has methods like {{addExtensionPoint}} and then {{addExtension}}. Can't see any reason why both are needed.
            * {{store}} API has {{getExtensions}} and {{loadExtensions}}. Really seems like only one of these is needed and it should be the async version (i.e. {{loadExtensions}} - it takes a callback) - the sync version is weird.
            * {{store.loadExtensions}} loads extension point implementations. Maybe we rename it to match that e.g. {{store.loadExtensionPointImpls}}.
            * From a "user" perspective, the {{ExtensionPoint}} JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. {{<RenderExtensionPoint>}}?
            * The {{ExtensionPoint.registerExtensionPoint}} static is dumb and will probably be even more dumb once {{ExtensionPoint}} gets a more meaningful name. Remove it and replace usages of it with calls to {{store.loadExtensions}}.
            The {{ExtensionPoint}} JSX component API is confusing and bloated, as is the {{store}} API.

            E.g.:
            * {{store}} API has methods like {{addExtensionPoint}} and then {{addExtension}}. Can't see any reason why both are needed.
            * {{store}} API has {{getExtensions}} and {{loadExtensions}}. Really seems like only one of these is needed and it should be the async version (i.e. {{loadExtensions}} - it takes a callback) - the sync version is weird.
            * {{store.loadExtensions}} loads extension point "implementations". Maybe we rename it to match that e.g. {{store.loadExtensionPointImpls}}.
            * From a "user" perspective, the {{ExtensionPoint}} JSX component renders extension point implementations, so why not give it a name that reflects that fact e.g. {{<RenderExtensionPoint>}}?
            * The {{ExtensionPoint.registerExtensionPoint}} static is dumb and will probably be even more dumb once {{ExtensionPoint}} gets a more meaningful name. Remove it and replace usages of it with calls to {{store.loadExtensions}}.
            kzantow Keith Zantow made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jamesdumay James Dumay made changes -
            Sprint 1.0-m9 [ 46 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            michaelneale Michael Neale made changes -
            Epic Link JENKINS-35749 [ 171790 ]
            jamesdumay James Dumay made changes -
            Sprint 1.0-japan-m9 [ 46 ] 1.0-japan-m9, 1.0-m10 [ 46, 66 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            kzantow Keith Zantow made changes -
            Link This issue is blocking JENKINS-35860 [ JENKINS-35860 ]
            michaelneale Michael Neale made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            kzantow Keith Zantow made changes -
            Status In Progress [ 3 ] Resolved [ 5 ]
            Resolution Done [ 10000 ]
            kzantow Keith Zantow made changes -
            Link This issue is blocking JENKINS-36164 [ JENKINS-36164 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 172628 ] JNJira + In-Review [ 199288 ]

              People

              • Assignee:
                kzantow Keith Zantow
                Reporter:
                tfennelly Tom FENNELLY
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: