Does Dataiku support plugin's versioning?

Dominic-S
Dominic-S Registered Posts: 17

Hi,

I have developed and deployed a custom dataset plugin to a production Dataiku instance. Now I am about to introduce a new feature (breaking change) to the my custom plugin.

I would appreciate your experience/advice on how to manage multiple versions of a custom plugin in Dataiku. I am interested in

  • How to manage multiple versions of a plugin in a Dataiku instance?
  • How to notify end-users of my plugin about a breaking change?
  • Are there any tools in Dataiku to help end-users to migrate to newer version of a custom plugin?
  • Any other concerns I should be aware of?

Thanks

Tagged:

Answers

  • Ioannis
    Ioannis Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 28 ✭✭✭✭✭

    Hi,

    For the first question, as far as I 'm aware of you can have one active version of a plugin per instance. If you try to change the active version of a plugin it will affect all the projects in that specific instance. One way to go is to have 2 plugins I guess. One version-1.0.1 and one version-2.0.0

  • Turribeach
    Turribeach Dataiku DSS Core Designer, Neuron, Dataiku DSS Adv Designer, Registered, Neuron 2023 Posts: 2,088 Neuron

    How to manage multiple versions of a plugin in a Dataiku instance?

    Not possible in a single instance. Use multiple Dataiku instances or create a v2 plugin version as a new plugin to allow you keep multiple concurrent versions and allow users to migrate

    How to notify end-users of my plugin about a breaking change?

    There is a Usages tab in the plugin screen to help you identify plugin usage (also available in the Python API). From there it will be up to you on how to communicate changes to users.

    Are there any tools in Dataiku to help end-users to migrate to newer version of a custom plugin?

    You can use Dataiku Python APIs to deploy plugins programatically. There are no other built-in tools or workflows for plugins. I have not tested it but it should be possible to change a recipe from one version of a plugin to another. Have a look at the get_settings(), get_recipe_raw_definition() and save() methods of the Python API. Maybe you can develop a plugin or macro that allows users to migrate recipes from one plugin version to the next one. Let us know how it goes, it's an interesting subject...

    Any other concerns I should be aware of?

    No.

  • Dominic-S
    Dominic-S Registered Posts: 17

    Thank you all for your feedback and suggestions.

    My understanding of plugin is that it contains many components. If I introduce a breaking change to one of the components in my plugin, do I have to create a new plugin or a new version of the component?

Setup Info
    Tags
      Help me…