Konfigurieren der Dialogfelder und Registerkarten für die Erstellung, um benutzerdefinierte Objektdaten anzuzeigen.
Anforderungen
Für die Unterstützung von benutzerdefinierten Objekten sind drei Komponenten erforderlich:
Alle drei Komponenten sind vorgabemäßig im Lieferumfang von Data Standard enthalten. Diese Komponenten sind darauf vorkonfiguriert, mit einem benutzerdefinierten Objekt in Vault mit dem Namen Task zusammenzuarbeiten.
Erstellen Sie über die Vault-Konfiguration eine Definition für das benutzerdefinierte Objekt, und nennen Sie es Task.
Weisen Sie die Eigenschaften Title und Description der Kategorie Base zu.
Starten Sie den Vault Explorer neu, und melden Sie sich zweimal bei Vault an:
Das neue benutzerdefinierte Objekt Task ist nun vollständig initialisiert und kann verwendet werden.
Erstellen Sie mit dem Befehl Neu ein neues benutzerdefiniertes Objekt, und geben Sie ihm einen beliebigen Namen.
Klicken Sie mit der rechten Maustaste auf das neue benutzerdefinierte Objekt. Im Kontextmenü werden nun die Menüoptionen Neue Aufgabe und Aufgabe bearbeiten angezeigt.
Um Ihr eigenes benutzerdefiniertes Objekt zu definieren, kopieren Sie die drei Komponenten aus dem Task-Beispiel und nehmen die erforderlichen Änderungen vor.
Im Folgenden sind Beispiele eines benutzerdefinierten Objekts mit der Bezeichnung Person angegeben.
Die Kontextmenüeinträge zum Erstellen und Bearbeiten eines Dialogfelds sind hier definiert:
%programdata%\Autodesk\<Vault-version>\Extensions\DataStandard\Vault\MenuDefinitions.xml
Die Menüeintrag-Definitionen müssen erstellt werden:
Kopieren Sie die Definitionen (MenuItem NewTask, MenuItem EditTask) aus dem Task-Beispiel.
Ersetzen Sie in allen Variablen Task durch Person.
Ändern Sie die Beschreibungs-, Hinweis-, Beschriftungs- und Navigationstypen.
<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"/>
Als Nächstes erstellen Sie eine Menü-Site für das neue benutzerdefinierte Objekt.
Kopieren Sie die Site (CommandSite-Task) aus dem Task-Beispiel.
Ersetzen Sie in allen Variablen Task durch Person.
<TaskLabel="Person"
DeployAsPullDown="False"
Location="Person">
<ItemName="NewPerson">
</Item>
<ItemName="EditPerson">
</Item>
Weitere Informationen zur Menüsyntax finden Sie unter Anpassen der Data Standard-Datei MenuDefiniftions.xml.
Die Menüdefinitionen in der Datei MenuDefinitions.xml verweisen auf PowerShell-Dateien. Diese Dateien befinden sich unter %programdata%\Autodesk\<Vault-version>\Extensions\DataStandard\Vault\addinVault\Menus.
Die vorgegebenen PowerShell-Dateien CreateCustomObject.ps1 und EditCustomObject.ps1 können für jedes benutzerdefinierte Objekt verwendet werden. Es ist nicht erforderlich, zusätzliche PowerShell-Dateien zu erstellen. Es ist jedoch möglich, PowerShell-Dateien für das neue benutzerdefinierte Objekt anzupassen und zu erstellen, indem Sie die folgenden Aufgaben ausführen:
Kopieren Sie die Menüdefinitionsdateien CreateCustomObject.ps1 und EditCustomObject.ps1, und benennen Sie sie in CreatePerson.ps1 und EditPerson.ps1 um.
Ähnlich wie andere Skripts verweisen die Skripts zum Erstellen und Bearbeiten von benutzerdefinierten Objekten auf eine zugehörige XAML-Datei.
Ändern Sie den Namen der XAML-Datei, die das Data Standard-Dialogfeld definiert, indem Sie Task durch Person ersetzen.
...
$xamlFile = New-Object CreateObject.WPF.XamlFile "PersonXaml", "%ProgramData%\Autodesk\Vault 2016\Extensions\DataStandard\Vault\Configuration\Person.xaml"
$dialog.XamlFile = $xamlFile
...
Die XAML-Datei für das Erstellungs- und Bearbeitungsdialogfeld des benutzerdefinierten Objekts wird in den PowerShell-Dateien angegeben (siehe oben). Vorgabemäßig befinden sich die XAML-Dateien für die Erstellungs- und Bearbeitungsdialogfelder sowie die Registerkarten hier:
%programdata%\Autodesk\<Vault-version>\Extensions\DataStandard\Vault\Configuration
Die vorgegebene CustomObject.xaml funktioniert ohne Änderungen. Sie müssen allerdings die CustomObject.xaml-Datei als eine Vorlage zum Erstellen einer XAML-Datei für ein neues benutzerdefiniertes Objekt verwenden.
Kopieren Sie die Datei CustomObject.xaml, und nennen Sie sie Person.xaml.
Ändern Sie die neue XAML-Datei, indem Sie die folgenden Schritte durchführen:
TaskWindow
durch PersonWindow
.UIString[LBL61]
und UIString[LBL62]
ersetzen.Ändern Sie die folgenden Funktionen unter %programdata%\Autodesk\<Vault-version>\Extensions\DataStandard\Vault\addinVault\Default.ps1, indem Sie Folgendes konfigurieren:
InitializeWindow
zum Steuern der Größe des DialogfeldsGetCategories
zur Unterstützung dynamischer Eigenschaften basierend auf KategorienValidate
zum Implementieren von Validierungsregeln