How to develop multiple versions of a connector?
I want to update a connector. I need to add a new parameter.
The point is: the current connector is used a lot in a lot of processes. Good time to use the version facility in Bonitasoft!
- I have a connector "longWork 1.0" with 40 parameters.
1/ New version?
I go to "connector > Development > New Definition," and I want to design my new version. Hum, I don't have any "copy from" or "new version" here. How can I design my new version? I just need to add one parameter. I don't want to copy the 40 parameters.
2/ Edit the version
Ok, so let's go to "Connector > Development > Edit definition" and edit the current definition. I change to "2.0" and add my new parameters.
Awesome! My new version is available, and I can use it!
Oops, when I want to access preview tasks, using version 1.0, it's not possible anymore, the "EDIT" button is gray. So, I lot my 1.0 version. Ouch.
Hopefully, I export before my 1.0 version, so I reimport the old version.
Perfect, now I can Edit my old version and my new version. In the "Edit Definition," I have my two versions visible: 1.0 and 2.0
QUESTION: Could you confirm this is the procedure to add a new version and keep the previous one?
3/ Add the implementation
So, I need to have an implementation for 1.0, and a different for 2.0
So, I go to "Development > Connector > New Definition."
On this screen, I have only one "connector definition": "Long Work". I expected "Long work 1.0" and "Long Work 2.0"
I get it. The Definition version is below! Let's choose the 2.0 then
The second screen proposes a version 1.0.0 for implementation. I change it to "2.0."
But I still have the warning
org.mycompany.connector.LongWorkImpl already exists for longWork-impl-1.0.0 implementation
Ok, so I change the class name to "LongWorkImpl20". Error disappears. So, now I can implement my 2.0 version.
I check, and I see in the Edit / Implementation that I have two implementations available.
QUESTION: Could you confirm this is the procedure to add a new implementation version and keep the previous one?
You should use the new connector-archetype to develop your connectors.
It allows you to have dedicated maven projects for your connectors. If you use git with that it will be quite easy to manage versioning.
All you will have to do will be to import the build of a given version of your connector in your Studio to get the definition / implementation you want.