DynamoDS / DynamoRevit

Dynamo Libraries for Revit
https://dynamobim.org
342 stars 188 forks source link

Dynamo does not support 2016 and 2019 simultaneously #2011

Open TimWaldock opened 6 years ago

TimWaldock commented 6 years ago

If this issue is not a bug report or improvement request, please check the Dynamo forum, and start a thread there to discuss your issue.

Dynamo version 1.3.3

(Which version of Dynamo are you using? Go to Help > About if you're not sure.)

Revit version 2016 & 2019

(Which version of Revit are you using?)

Operating system Win 7

(e.g. Windows 7, Windows 8.1, etc)

What did you do?

Install Revit 2019

What did you expect to see?

One version of dynamo to work in both Revit 2016 & 2019. In the real world we have projects that are still running in Revit 2016, while some are in 2017 or 2018. I am now testing 2019, but Dynamo does not allow me to do this - or maybe it does if I install different versions (dynamo doesn't normally like this). It is completely unrealistic and unreasonable to just stop supporting Dynamo on Revit 2016 without any overlap versions. Revit licensing allows 4 concurrent versions to be installed, so why not Dynamo. This nightmare situation will prevent us from upgrading any projects to Revit 2019 until all Revit 2016 projects are completed on site (could be years yet).

The very least you could do is support Revit 2016 in Dynamo 1.3.3 so that we have one version that works before discontinuing support in another version or two. Do you know how painful it is to support multiple versions of revit, Dynamo and all the packages in a real life office situation? It isn't fun, and you've just made it a whole lot worse.

What did you see instead?

Dynamo was uninstalled from Revit 2016

ksobon commented 6 years ago

@TimWaldock I think it does if you believe this: image

Give it a try installing both versions and report any issues if such arise. I have personally ran 1.3 and 2.0 on my machine without issues.

@kronz am I right saying that this is a non-issue?

Ps. I believe it's an installer issue. Revit 2019 installer will kill previous versions of Dynamo and install 1.3.3 for all, but then user has to just circle back, remove that and install what they need as far as I can tell.

dimven commented 6 years ago

There've already been a few topic on this in the forum too. There were very few changes in the Revit facing D4R codebase between 1.3.2 and 1.3.3:

https://github.com/DynamoDS/DynamoRevit/compare/RC1.3.2_Revit2018...RC1.3.3_Revit2018

and I don't see any great technical difficulties preventing the inclusion of the 2016 deployment in there. With the official release of 2.0, all 1.3x branches are technically EOL and would not be modified or supported any further, so testing and maintenance should be a non-issue.

I guess the intention is to covertly force the whole industry to move forward but that's usually not as easy as it sounds on multi-disciplinary contracts with multiple stakeholders :)

It would be nice if there could be a final "unofficial" 1.3.4 branch that adds the 2016 deployment back, intended only for people who need to both support legacy 2016 projects and work on newer 2019 projects at the same time, and are not ready to shift to 2.0.

ksobon commented 6 years ago

@dimven so enlighten me here. 1.3.2 was the last version that supported R2016. Right? Why can't you just uninstall the 1.3.3 that ships with R2019 and install that instead? Then for R2019 support you can run 2.0.0. Since that can be installed side by side, that would cover the whole spectrum. Am I missing something?

andydandy74 commented 6 years ago

@ksobon Maintaining graphs and library for two different dynamo versions instead of one?

dimven commented 6 years ago

@andydandy74 bingo. 2.0 is not backwards compatible, so that would mean twice the work.

ksobon commented 6 years ago

Backwards incompatibility is not exactly a new concept in Software. Majority of software is not backwards compatible for the same reason that Dynamo is not...major improvements requires breaking API changes, and that's just the name of the game. Could they have done it in a way that was not breaking it all apart? Maybe, but do you want to wait for two more years before finding out? If you ask me they have always stated that they will support three (3) major releases of Revit at the time. There is nothing new here. It's been out there for years. People should not be acting like they are surprised.

dimven commented 6 years ago

Agreed, everyone expected 2.0 to support only 3 versions of Revit, but the fact remains that 1.3.3 is a minor point release :)

andydandy74 commented 6 years ago

@ksobon Agreed, no surprises here. And fortunately enough I'm not even affected by this. :-) But @dimven has a point here in that it it would only require a minimal effort to provide an (unsupported) Dynamo 1.3.x release that would work for Revit 2016-2019. Could be a community effort by interested parties, could it not?

ksobon commented 6 years ago

@andydandy74 yeah that's a valid point, but I am a little surprised that it comes from a German guy. Rules are rules man...three (3) versions at a time, and that were the versions supported at the time. Also, your idea sounds reasonable and I pretty much have an issue with @TimWaldock projecting outrage that it was not implemented. Well it wasn't implemented because it would break the agreed upon pattern, and to do that i would expect some sort of conversation to take place first.

QilongTang commented 6 years ago

@dimven You definitely have a point here. The whole reason like @ksobon already mentioned, the decision of that Dynamo 1.3.3 needs to be shipped with Revit 2019 comes with the cost that three versions backwards, we stopped supporting for R2016.

@andydandy74 On the other hand, I think installer code is closed source ( the installer code in DynamoRevit repository is out-of-date) so it would be hard for you to do that. I will tag my dear POs @kronz @Racel here, if you POs agree, I think we can make a 1.3.4 installer supporting 4 versions of Revit with minimal cost (no new code change at all) which will be an exception of 3 versions supporting rule.

TimWaldock commented 6 years ago

@ksobon - My apologies for the rant. Its the usual siuation of writing while frustrated instead of waiting to be more rational. I should explain where I'm coming from: Although the Revit licensing typically supports only 3 concurrent years, I have it in writing from Autodesk (and spoken at an AU conference in front of hundreds) that in fact Autodesk will extend licenses to cover 4 years if we ask. Autodesk obviously accepts the reason that in the real world out here, any large company will have many projects running over many years, and we often have no choice on each project which version the whole team uses - so it is very common to have projects on 4 consecutive versions in a large company (I have a client with one lingering 2015 project).

My frustration was with the Revit installer removing Dynamo from 2016 without warning me; I was then further frustrated by a new technical limitation being introduced on how many Dynamo versions are supported concurrently - it may mean having to maintain two different Dynamo versions in the office, along with two sets of all the loaded packages and nodes (probably different versions for each?). Yes I understand that will happen with a major release (2.0), but hopefully we will be able to decide to move to 2.0 or stick with 1.3.4 (if that is a possible solution) until that last Revit 2016 project is out the door.

Yes we can uninstall 1.3.3 and reinstall a lesser version on the older revit installs but its just adds a whole new layer of manual intervention and complication for BIM managers in large offices. Personally it won't affect me much as I only have one install to do, and I don't have time to use Dynamo much (sacrilege!) but I just know that my clients will scream blue murder when they get to upgrading to Revit 2019 - so I was raising the issue quickly before others have to deal with it. So, a 1.3.4 that supports 4 years would be most welcome but of course it'll be too late to put it in the Revit 2019 installer (?), so there will still be some manual intervention but with a much better outcome.

Racel commented 6 years ago

FYI - http://dynamobim.org/working-with-dynamo-in-revit-2016-and-revit-2019-simultaneously/

TimWaldock commented 6 years ago

@Racel, Thanks for the link to the blog post. Yes I understand that we can have 1.3.2 and 2.0 running simultaneously - but the whole process is unnecessarily painful. Anything that involves uninstall, reinstall, Regedit etc etc, is not a good process to have to go through. The thing that concerns me is that this is all due to a decision somewhere by someone to only support 3 versions of Revit. Why? There is apparently no technical reason for it - and it just causes lots of pain in the industry. If we are going to have this issue every year, it is not a good industry approach - Autodesk could make our lives so much easier by allowing one overlap version each year that supports 4 revit versions (and this would be the one that ships with the Revit installer); After that version Dynamo could move on and drop the 4th Revit year for subsequent releases.

harlanbrumm commented 6 years ago

@TimWaldock and all. I wanted to provide a little insight in where we are trying to go with Dynamo for Revit. I do want to first acknowledge that we know the installation and update of Dynamo in relation to Revit isn't great and it creates a multitude of problems in all sorts of environments and it has a while now. The fundamental problem has been that Dynamo for Revit was, and is today, really separate from Revit itself, but the two are highly dependent on each other so thus version changes need to be aligned and any misalignment creates problems. In order to prevent this, the Revit team is taking more responsibility for how Dynamo for Revit install and behaves with Revit. Basically, we are moving towards a future state where there will be complete non-interference between Revit installs and Dynamo. We are moving forward that Revit will control how and when Dynamo for Revit installs and updates. This is not what you are asking for Tim, but it will have a similar effect in that you will not have to worry that a update breaks any functionality in old versions - they will be separate. This approach is the best way to ensure that future functionality doesn't break or change older version workflows and is aligned with how we would expect any in the box Revit functionality to work. Dynamo for Revit is to be like any other feature of Revit and will not be dependent on Dynamo separately. Feel free to post any feedback or questions about this and we will do our best to answer them.

TimWaldock commented 6 years ago

Thanks for the update @harlanbrumm - I'm not quite clear what you mean, but I'm very happy that you are looking at this. I don't specifically mind how you deal with this, as long as it doesn't cause us problems in the future. I actually like the idea of Dynamo being installed when you install Revit, but not the way it does it: My ideal would be for it to prompt you with a question about which version it should install (if at all), taking note of what is already installed on your earlier Revit versions and the compatibility implications of any upgrade. My other issue is the "accepted practice" for Dynamo to only support 3 versions of Revit - this is certainly not "acceptable" to BIM managers as it causes pain for no good reason. An issue for the Dynamo team, not the Revit team I suspect.

rbosborne commented 6 years ago

I have to somewhat agree with @TimWaldock on this. Revit licensing supports current + 3 previous versions if you are on subscription. https://knowledge.autodesk.com/customer-service/account-management/users-software/previous-versions/eligible-previous-version-subscription

Bigger projects (the ones with 300+ sheets that benefit even more from scripts that deal with setting submittal dates on sheets, dealing with revisions, etc) have longer lifespans, are often much less likely to upgrade Revit versions mid-project (especially if the jump is across the 2016/2017 text change) and are much more likely to be still alive and running on that older version. Losing access to the version of Dynamo that works is extremely painful - especially if you have to deal with the uninstall/regedit/reinstall on many users machines. Couple that with a hesitancy to adopt Dynamo 2.0 (since anything written in that won't be useable in projects with 1.3ish scripts, and since i happen to like being able to Copy/Paste) and it's just not a good solution in my opinion.

I think it would have been better to re-brand 1.3.3 as 1.4 for 2017-2019 and leave 1.3.2 intact in 2016. That way people could still use (with some risk - though relatively low) 1.4 scripts in 1.3.2 provided they managed their Node and Package paths well. And those that wished to go to 2.0 can do so.

The decision to support only 3 versions with new versions of Dynamo is fine in my opinion - but care needs to be taken to avoid what has happened to users of the oldest supported version of Revit - essentially overnight we were set back almost a year in terms of our Dynamo (a time machine from 1.3.2 back to 0.9.2) in 2016...not cool.