Uploaded image for project: 'OpenShift Console'
  1. OpenShift Console
  2. CONSOLE-3202

SDK Extensions should be backwards compatible in OpenShift Console

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • None
    • None
    • Dynamic Plugins

      Once the specific existing extensions we have identified exist in the Core SDK and we have done a release, we'll be bringing it back into OpenShift Console. This will be to drive both HAC & OpenShift Console from the same base SDK. However, many plugins exist today with the usage of the extensions we moved. This is not ideal for backwards compatible support to change this on them, so we'll support this in a backwards compatible way by repackaging the Core SDK extensions back out as Console extensions.

      Acceptance Criteria

      • Bring in to console Core HAC SDK package
      • Create a new extension type in the OpenShift Console SDK; `RepackageExtension` that will allow for redefining the name of the extension (see below for an example snippet)
      • Verify that the core extensions didn't change types
      • Import Core extensions back to their `console.` variant by using `RepackageExtension` type

      Details

      This effort is for backwards compatible, and since OpenShift Console is the only one who needs it... we can add this to OpenShift Console.

      // OpenShift Console SDK will use this internally so it can redefine core extensions
      export type RepackageExtension<T extends string, E extends Extension> = ExtensionDeclaration<
        T,
        E['properties']
      >;
      
      
      // An example of an OpenShift Console SDK repackaging an imported Core Extension
      import { MyCoreExtension } from '@openshift/dynamic-plugin-sdk';
      
      type MyConsoleExtension = RepackageExtension<
        'console.something/other-thing',
        MyCoreExtension
      >;
      

              Unassigned Unassigned
              aballantyne Andrew Ballantyne
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: