Is it possible to have multiple versions of Node Packages?

Is it possible to have multiple versions of any Custom Node Package in Dynamo? I created a lot of Scripts with Packages that work quite well. If I update the packages now, I also need to update a lot of my Scripts and test them again. This I want to avoid.
My idea would be to somehow rename the Package to have e.g. “Clockwork V1” and then the latest one as “Clockwork V2” and in some month probably “Clockwork V3” when I update again.
Does anyone know how to do that?

Thanks a lot in advance

Hello erfajo,

thanks for your reply. I know its possible to have different versions of Custom Packages in different Dynamo Versions.
I am looking for a way to have multiple Custom package Versions in the same Dynamo Version like shown in the Picture below.
I want to have your new Package but also the old one as it is. Is there a way to rename on of these two so that Dynamo thinks these packages are not the same? I tried with renaming the folder, renaming the package.json but without success.
DynamoForum1
Thanks

I would not recommend this - you’re more likely to break Dynamo in unexpected ways.

It is possible to document all packages in a given graph (monocle view extension), and you can then build a database from that info to limit the amount of testing required. Or better yet build a graph or two that tests every nodes in a given package, and produces outputs which should result in a verifiable outcome, IE:

ResultList == (1…4) ? “UpgradeAway!” : “Test This Index” ;

1 Like

I would choose to make two different network paths to my packages.
Save the updates after testing to the new location leaving the working old nodes where they are now.
When you are done updating switch to the new location. Thing is that this will probably happen again in the future (i hope).

1 Like

Alright Thanks Guys, then I will do it that way that I will have them seperately and replace them after the upgrade :slight_smile:

Hello @erfajo

I updated now the package and i have troubles with some nodes. Following the example with Directory.ContentsAll that gives me an error that I do not understand.
aaa
The Folder where I always put the nodes is under “AppData\Roaming\Dynamo\Dynamo Revit\2.0\packages”.
Could you please help me whats the problem here?
Regards

Hi @erfajo - 1. what version of Dynamo core do you reference in your dlls? I’m not sure why the dynamo core dlls are being searched for in this core location - 2. do you do anything special to search there for it?

@gerhard.schindler what version of dynamo are you using?

in general as a package author I would target the earliest major version possible to get compatibility with other dynamo versions that users may have installed. While we do try to avoid binary compatibility breaks to meet semantic versioning https://semver.org/ - it’s not always possible, having said this, I don’t think 2.0.2 and 2.0.1 have many changes - here is the diff.

1 Like

I learn more in two minute posts like this involving people like @erfajo and @Michael_Kirschner2 than I do in nearly every other aspect of my day. Thanks to both of you for the insight :slight_smile:

First of all thanks for your help and investigation in that specific case :slight_smile: U guys are just amazing.

@Michael_Kirschner2 I am using The Following Dynamo Core and Dynamo Revit Version:
2019-02-01%2007_29_23-Einstellungen1
I know the versions are not up to date, but we have this Version in a Pre-defined Installation Package and as long as there are not really crucial changes, we dont want to update to newer versions to make sure everything is still working. Is this fear useless and we should update? I just want to be sure that with an update our Scripts still work.

@erfajo I uploaded the easiest script with your Directory.ContentsAll that I found. I also included the node Formula.SetValue because here I get the same error.
TestScript.dyn (9.0 KB)

Thanks already :slight_smile:

1 Like