Voraussetzung
-
Die TIA Portal Openness-Anwendung ist mit dem TIA Portal verbunden.
Siehe Verbindung zum TIA Portal aufbauen -
Ein Projekt ist geöffnet.
Siehe Projekt öffnen -
Sie haben Zugriff auf die erforderliche Bibliothek.
-
Sie haben Zugriff auf eine Gruppe für Masterkopien.
Einleitung
Die Schnittstelle TIA Portal Openness API unterstützt den Zugriff auf Masterkopien in einer globalen Bibliothek und der Projektbibliothek:
-
Masterkopien erstellen
-
Masterkopien in Systemordnern und benutzerdefinierten Ordnern enumerieren
-
Masterkopien umbenennen
-
Informationen von Masterkopien abfragen
-
Informationen von Objekten in einer Masterkopie abfragen
|
Attribut |
Datentyp |
Beschreibung |
|---|---|---|
|
Author |
String |
Gibt den Namen des Autors zurück. |
|
ContentDescriptions |
MasterCopyContentDescriptionComposition |
Gibt eine Beschreibung des Inhalts der Masterkopie zurück. |
|
CreationDate |
DateTime |
Gibt das Erstellungsdatum zurück. |
|
Name |
String |
Gibt den Namen der Masterkopie zurück. |
Programmcode
Um alle Masterkopien im Systemordner einer Bibliothek zu enumerieren, ändern Sie folgenden Programmcode:
|
public static void EnumerateMasterCopiesInSystemFolder (MasterCopySystemFolder masterCopySystemFolder) { foreach (MasterCopy masterCopy in masterCopySystemFolder.MasterCopies) { //... } } |
Ändern Sie folgenden Programmcode, um mit der Methode "Find" auf eine einzelne Masterkopie zuzugreifen:
|
... MasterCopySystemFolder systemFolder = projectLibrary.MasterCopyFolder; MasterCopyComposition mastercopies = systemFolder.MasterCopies; MasterCopy masterCopy = mastercopies.Find("Copy of ..."); ... |
Ändern Sie folgenden Programmcode, um Gruppen und Untergruppen von Masterkopien zu enumerieren:
|
private static void EnumerateFolder(MasterCopyFolder folder) { EnumerateMasterCopies(folder.MasterCopies); foreach (MasterCopyUserFolder subFolder in folder.Folders) { EnumerateFolder(subFolder); // recursion } } private static void EnumerateMasterCopies(MasterCopyComposition masterCopies) { foreach (MasterCopy masterCopy in masterCopies) { ... } } |
Ändern Sie den folgenden Programmcode, um mit der Methode "Find" auf einen MasterCopyUserFolder zuzugreifen:
|
... MasterCopyUserFolderComposition userFolderComposition = ... MasterCopyUserFolder userFolder = userFolderComposition.Find("Name of user folder"); ... |
Um eine Masterkopie umzubenennen, ändern Sie folgenden Programmcode:
|
//Setting the name attribute var masterCopy = projectLibrary.MasterCopyFolder.MasterCopies.Find("SampleMasterCopyName"); masterCopy.Name = "NewMasterCopyName"; //Setting the name attribute dynamically var masterCopy = projectLibrary.MasterCopyFolder.MasterCopies.Find("SampleMasterCopyName"); masterCopy.SetAttributes(new[] {new KeyValuePair<string,object>("Name", "NewMasterCopyName")}); |
Informationen von Masterkopien abfragen
Um Informationen einer Masterkopie abzurufen, ändern Sie folgenden Programmcode:
|
public static void GetMasterCopyInformation(MasterCopy masterCopy) { string author = masterCopy.Author; DateTime creationDate = masterCopy.CreationDate; string name = masterCopy.Name; } |
Informationen von Objekten in einer Masterkopie abfragen
Das Objekt MasterCopy enthält den Navigator ContentDescriptions, bei dem es sich um eine Zusammensetzung von MasterCopyContentDescriptions handelt.
Eine Masterkopie kann mehrere Objekte enthalten. Das Objekt MasterCopy enthält ContentDescriptions für jedes direkt in der Masterkopie enthaltene Objekt. Wenn die Masterkopie einen Ordner enthält, der ebenfalls einige Elemente enthält, enthält das Objekt MasterCopy nur eine ContentDescription des Ordners.
|
MasterCopy multiObjectMasterCopy = ...; //Using ContentDescriptions MasterCopyContentDescriptionComposition masterCopyContentDescriptions = multiObjectMasterCopy.ContentDescriptions; MasterCopyContentDescription contentDescription= masterCopyContentDescriptions.First(); string name = contentDescription.ContentName; Type type = contentDescription.ContentType; |