Configure as caixas de diálogo e guias de criação para exibir dados do objeto personalizado.
Requisitos
Três componentes são necessários para o suporte de objeto personalizado:
Por padrão, os três componentes são fornecidos no Data Standard. Esses componentes são pré-configurados para funcionar com um objeto personalizado do Vault chamado Task.
Por meio da configuração do Vault, crie uma definição de objeto personalizado e chame-o de Task.
Atribua as propriedades Title e Description à categoria Base.
Reinicie o Vault Explorer e faça login no Vault duas vezes:
O novo objeto personalizado Task é completamente inicializado e está pronto para usar.
Crie um novo objeto personalizado usando o comando Novo e o nomeie como desejar.
Clique com o botão direito do mouse no novo objeto personalizado. Agora, o menu de contexto mostra as opções Nova tarefa e Editar tarefa.
Para definir seu próprio objeto personalizado, copie os três componentes do exemplo Task e faça as modificações necessárias.
Veja a seguir exemplos de um objeto personalizado chamado Person.
As entradas do menu de contexto para a criação e a edição de uma caixa de diálogo são definidas aqui:
%programdata%\Autodesk\<versão do Vault>\Extensions\DataStandard\Vault\MenuDefinitions.xml
As definições das entradas de menu devem ser criadas:
Copie as definições (MenuItem NewTask, MenuItem EditTask) da amostra de Task.
Substitua Task por Person em todas as variáveis.
Modifique Description, Hint, Label e Navigation Types.
<NewTask Label="CreatePerson..."
Description="New Person"
Hint="Create a new person object"
PSFile="CreateCustomObject.ps1"
Image="NewCustomObject.ico"
ToolbarPaintStyle="TextAndGlyph"
NavigationTypes="Person"
MultiSelectEnabled="false"/>
<EditTaskLabel="Edit Person..."
Description="Edit Person"
Hint="Edit a person object"
PSFile="EditCustomObject.ps1"
Image="EditCustomObject.ico"
ToolbarPaintStyle="TextandGlyph"
NavigationTypes="Task"
MultiSelectEnabled="False"/>
Em seguida, crie um site de menu para o novo objeto personalizado.
Copie o site (CommandSite Task) da amostra de Task.
Substitua Task por Person em todas as variáveis.
<TaskLabel="Person"
DeployAsPullDown="False"
Location="Person">
<ItemName="NewPerson">
</Item>
<ItemName="EditPerson">
</Item>
Consulte Personalizar o arquivo MenuDefiniftions.xml do Data Standard para obter mais detalhes sobre a sintaxe do menu.
As definições de menu no arquivo MenuDefinitions.xml apontam para arquivos do PowerShell. Esses arquivos estão localizados em %programdata%\Autodesk\<versão do Vault>\Extensions\DataStandard\Vault\addinVault\Menus.
Os arquivos CreateCustomObject.ps1 e EditCustomObject.ps1 padrão do PowerShell são compatíveis com todos os objetos personalizados. Não há necessidade de criar arquivos adicionais do PowerShell. No entanto, ainda é possível personalizar e criar arquivos do PowerShell para o novo objeto personalizado ao executar estas tarefas:
Copie os arquivos de definição de menu CreateCustomObject.ps1 e EditCustomObject.ps1 e renomeie-os como CreatePerson.ps1 e EditPerson.ps1.
Assim como outros scripts, os scripts para criar e editar objetos personalizados apontam para um arquivo XAML relacionado.
Modifique o nome do arquivo XAML que define a caixa de diálogo do Data Standard substituindo Task por Person.
...
$xamlFile = New-Object CreateObject.WPF.XamlFile "PersonXaml", "%ProgramData%\Autodesk\Vault 2016\Extensions\DataStandard\Vault\Configuration\Person.xaml"
$dialog.XamlFile = $xamlFile
...
O arquivo XAML da caixa de diálogo de criação e edição do objeto personalizado é especificado nos arquivos do PowerShell (veja acima). Por padrão, os arquivos XAML de caixas de diálogo de criação e edição, bem como as guias, estão localizados aqui:
%programdata%\Autodesk\<versão do Vault>\Extensions\DataStandard\Vault\Configuration
O CustomObject.xaml padrão não precisa de nenhuma alteração. Contudo, você precisa usar o arquivo CustomObject.xaml como modelo para criar um arquivo XAML para o novo objeto personalizado.
Copie o arquivo CustomObject.xaml e nomeie-o Person.xaml.
Modifique o novo arquivo XAML com estas etapas:
TaskWindow
por PersonWindow
.UIString[LBL61]
e UIString[LBL62]
.Altere as seguintes funções em %programdata%\Autodesk\<versão do Vault>\Extensions\DataStandard\Vault\addinVault\Default.ps1 configurando:
InitializeWindow
para controlar o tamanho da caixa de diálogo.GetCategories
para oferecer suporte a propriedades dinâmicas baseadas em categorias.Validate
para implementar regras de validação.