Survey banner
The Dataiku Community is moving to a new home! Some short term disruption starting next week: LEARN MORE

Does Dataiku support plugin's versioning?

Dominic-S
Level 3
Does Dataiku support plugin's versioning?

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

0 Kudos
3 Replies
imanousar
Level 3

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

0 Kudos
Turribeach

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.

0 Kudos
Dominic-S
Level 3
Author

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?

 

0 Kudos