Definir a organização de pacotes personalizados no Dynamo 2.0 e superior

A obtenção de um layout desejado para o pacote depende dos tipos de nós que você incluirá no pacote. Os nós derivados do modelo de nó, os nós ZeroTouch e os nós personalizados têm um processo ligeiramente diferente para definir a categorização. É possível misturar e combinar esses tipos de nó dentro do mesmo pacote, mas isso exigirá uma combinação das estratégias descritas abaixo.

NodeModel

Por padrão, as bibliotecas NodeModel são organizadas com base na estrutura de classes.

namespace SampleLibraryUI.Examples
// Class Attribute
[NodeName("MyNodeModel")]
public class MyNewNodeModel : NodeModel

// or

// Constructor
public ButtonCustomNodeModel()
{
    this.Name = "MyNodeModel";
}

O nó ficará localizado em Complementos em:

SampleLibraryUI/Examples/MyNodeModel

Também é possível substituir a categoria usando o atributo NodeCategory na classe ou no construtor, como mostrado abaixo.

O nó agora ficará localizado em Complementos em:

ZeroTouch

As bibliotecas ZeroTouch também são organizadas com base na estrutura de classes por padrão.

O nó ficará localizado em Complementos em:

Também é possível substituir a localização da estrutura da classe usando um arquivo XML de personalização do Dynamo.

  • O arquivo XML deve ser nomeado adequadamente e ser incluído na pasta extra do pacote

    • PackageName_DynamoCustomization.xml

CustomNodes

Os nós personalizados são organizados com base no Category Name especificado durante a criação dos nós (usando a caixa de diálogo Novo nó personalizado).

AVISO O uso da notação de ponto em nomes de nós ou categorias resultará em subcategorias aninhadas adicionais. O . funcionará como um delimitador para determinar a hierarquia adicional. Esse é um novo comportamento na biblioteca para o Dynamo 2.0.

Propriedades do nó personalizado

O nome da categoria pode ser atualizado posteriormente no arquivo .dyf (XML ou JSON)

Estratégias de migração de nós do pacote

Quando o autor de um pacote decide renomear um nó existente anterior em uma nova versão, ele deve fornecer um meio para migrar gráficos que contêm nós com os nomes antigos. Isso pode ser feito das seguintes maneiras:

Os nós ZeroTouch usam um arquivo Namespace.Migrations.XML localizado na pasta bin dos pacotes, como:

MyZeroTouchLib.MyNodes.SayHello para MyZeroTouchLib.MyNodes.SayHelloRENAMED

Os nós derivados do NodeModel usam o atributo AlsoKnownAs na classe, como:

SampleLibraryUI.Examples.DropDownExample para SampleLibraryUI.Examples.DropDownExampleRENAMED

Last updated