DynamoDS / DynamoWishlist

This is a repository for all wishlist items for Dynamo Core
https://github.com/orgs/DynamoDS/projects/3
Apache License 2.0
15 stars 3 forks source link

Usability improvement: automatically demarcate/indicate ZeroTouch nodes as imported libraries in the graph view #62

Open ThomasMahon opened 7 years ago

ThomasMahon commented 7 years ago

Dynamo version

1.2.1

Operating system

Win 10

Improvement Suggestion

I'm noticing a potential usability issue with Dynamo and ZeroTouch nodes. As the library within Dynamo inherits the namespace and class names from the project solution, there is no control over how nodes from such libraries are named once placed on the graph; ZT nodes inherit the name of its class + its method name, and therein lies the problem.

For example, one of my ZT nodes inherits the name Curves.RemoveDuplicateCurves. The problem I foresee is this: any user, particularly those new to Dynamo, may stumble upon definitions that solve their problems which depend on such nodes (highly likely given that google is the gateway to most answers these days, and the forum is solid). If they see nodes from a ZT library that happens to clash with an OOTB library, like in my case, they may expect to find it in the OOTB library. Since it wont be there, they are left with the arduous process of establishing where it came from without any prompts.

From a usability standpoint, it would be a good start if ZT nodes and CNs (although CN's already have a slight visual difference) have an icon or some other marker which visually indicates they are from an external library. Ideally, it would be best if the node could indicate explicitly which library it came from.

mjkkirschner commented 7 years ago

You can use a customization .xml to place your nodes where you like and override their regularly imported names - you can supply this file with your package.

Check out meshtoolkit package for a sample or DynamoRevit

https://github.com/DynamoDS/DynamoRevit/blob/Revit2017/extern/DynamoRaaS/SimpleRaaS_DynamoCustomization.xml

ksobon commented 7 years ago

They can always right slick on a node and choose help:

image

Now, of course if they are looking at an image online, and then open a sample file that's a different story. We have requested that Dynamo provides notifications for any packages used in a definition but not currently installed on user machine. The name override for nodes was answered by @mjkkirschner above.

ThomasMahon commented 7 years ago

@ksobon thanks for the info

@mjkkirschner I've attempted to recreate the customisation XML from the mesh package by copying it into my solutions bin folder then changing as necessary. However, it appears to have no effect. Is there another step I am missing? I've tried all sorts of variations in the XML but it doesn't take effect.

Here's what I have:

Customisation XML saved in my bin folder: image

Result has no effect, the default library hierarchy is maintained: image

sharadkjaiswal commented 7 years ago

Since RemoveDuplicateCurves is not a class, you might want to update class element to <class name="BimorphNodesC.Curves" shortname="Test"/>

This customization will only update the organization of this node in library view, when you drop the node in canvas, I think it would still show up as Curves.RemoveDuplicateCurves.

ThomasMahon commented 7 years ago

@sharadkjaiswal thanks, however it has no effect. Even if I customise the Mesh Toolkit package the library doesn't reflect the change. Can you give me any pointers to workout how to get this to work?

image