Share via


Aktualisieren untergeordneter Inhaltstypen

Letzte Änderung: Mittwoch, 1. Dezember 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Aktualisieren untergeordneter Inhaltstypen über die Benutzeroberfläche
Aktualisieren untergeordneter Inhaltstypen über das Objektmodell
Überlegungen beim Aktualisieren untergeordneter Inhaltstypen

Verfügbar in SharePoint Online

Jeder Inhaltstyp enthält einen Verweis auf den Websiteinhaltstyp, auf dem er basiert. Dies ermöglicht Microsoft SharePoint Foundation 2010, bei Änderungen an einem übergeordneten Inhaltstyp einen Pushdownvorgang auszuführen, d. h. die Änderungen an untergeordnete Website- und Listeninhaltstypen zu verteilen.

Wenn Sie Änderungen an einem Websiteinhaltstyp vornehmen, können Sie über die Benutzeroberfläche oder das Objektmodell einen Pushdownvorgang der Änderungen an alle untergeordneten Inhaltstypen ausführen. Wenn die Änderungen durch den Pushdownvorgang auf die Website- oder Listeninhaltstypen kopiert werden, die auf diesem Websiteinhaltstyp basieren, wird nicht der gesamte Inhaltstyp überschrieben. Der Bereich des überschriebenen Inhalts hängt davon ab, ob Sie die Änderungen und den Pushdownvorgang über die Benutzeroberfläche oder über das Objektmodell ausführen.

Aktualisieren untergeordneter Inhaltstypen über die Benutzeroberfläche

Wenn Sie einen Websiteinhaltstyp über die Benutzeroberfläche bearbeiten und eine Änderung an einer Seite mit Inhaltstypeinstellungen vornehmen, werden alle Einstellungen auf dieser Seite durch den Pushdownvorgang überschrieben. Daher ist die Granularität der Änderungen, für die Sie einen Pushdownvorgang ausführen können, durch die Gruppierung der Einstellungen auf der jeweiligen Seite definiert. Bei jeder Änderung auf einer Seite mit Inhaltstypeinstellungen werden alle Einstellungen auf dieser Seite durch den Pushdownvorgang überschrieben.

Im Folgenden sind die Einstellungen zusammengefasst, die die verschiedenen Seiten mit Inhaltstypeinstellungen enthalten:

  • Erweiterte Einstellungen   Diese Seite enthält folgende Einstellungen:

    • Dokumentvorlagen-URL

    • Die tatsächliche Dokumentvorlagendatei, wenn Sie eine vorhandene Vorlage auf der Website ausgewählt oder die Vorlagendatei hochgeladen haben

    • Nur-Lese-Attribut

  • Einstellungen für neue Spalte   Auf dieser Seite wird das Hinzufügen einer neuen Spalte zu dem Websiteinhaltstyp verwaltet.

  • Spalteneinstellungen   Diese Seite enthält folgende Einstellungen:

    • Erforderlich

    • Ausgeblendet

    • Entfernen einer Spalte aus dem Websiteinhaltstyp

Aktualisieren untergeordneter Inhaltstypen über das Objektmodell

Die Verwendung des Objektmodells bietet eine höhere Granularität bei Pushdownvorgängen. Wenn Sie über das Objektmodell Änderungen an einem Websiteinhaltstyp vornehmen, werden die Änderungen durch den Code tatsächlich an der Darstellung des Websiteinhaltstyps im Speicher ausgeführt. Erst wenn Sie die Update-Methode aufrufen, wird von SharePoint Foundation ein Commit für die Änderungen zurück in die Websitedatenbank ausgeführt.

Beispiel: Hinzufügen einer Spalte zu einem Inhaltstyp

Im folgenden Codebeispiel wird eine Websitespalte erstellt und der Auflistung der Felder, die zu dem benutzerdefinierten Inhaltstyp gehören, eine Spalte hinzugefügt (im Beispiel: "Specification"). Anschließend wird ein Pushdown der Änderungen an alle Inhaltstypen ausgeführt, die auf "Specification" basieren.

HinweisHinweis

Sie können einem vorhandenen Websiteinhaltstyp nicht deklarativ, d. h. durch Aktualisieren der XML-Featuredateien, Spalten hinzufügen.

using (SPWeb oWebsite = new SPSite("http://MyServer/sites/MySiteCollection/MyWebSite").OpenWeb())
{
    SPList oList = oWebsite.GetList("MyWebSite/Lists/MyList");
    SPFieldCollection collFields = oWebsite.Fields;

    string strNewColumn = collFields.Add("MyNewColumn", SPFieldType.Text, false);

    SPFieldLink oFieldLink = new SPFieldLink(fields[strNewColumn]);
    SPContentType oContentType = oList.ContentTypes["Specification"];
    oContentType.FieldLinks.Add(oFieldLink);

    oContentType.Update(true);
}
Using oWebsite As SPWeb = New SPSite("http://MyServer/sites/MySiteCollection/MyWebSite").OpenWeb()
    Dim oList As SPList = oWebsite.GetList("MyWebSite/Lists/MyList")
    Dim collFields As SPFieldCollection = oWebsite.Fields

    Dim strNewColumn As String = collFields.Add("MyNewColumn", SPFieldType.Text, False)

    Dim oFieldLink As New SPFieldLink(fields(strNewColumn))
    Dim oContentType As SPContentType = oList.ContentTypes("Specification")
    oContentType.FieldLinks.Add(oFieldLink)

    oContentType.Update(True)
End Using

Aktualisieren untergeordneter benutzerdefinierter Informationen in Inhaltstypen

Sie können auch für benutzerdefinierte Einstellungen in der Granularität eines XML-Dokuments mithilfe des Objektmodells einen Pushdownvorgang ausführen. Jeder Inhaltstyp verfügt über eine XML-Dokumentauflistung, in der Lösungen von Drittanbietern benutzerdefinierte Einstellungen speichern können. Sie können bestimmte XML-Dokumente mithilfe von Pushdownvorgängen überschreiben. Beachten Sie, dass von SharePoint Foundation vor dem Überschreiben nicht überprüft wird, ob das XML-Dokument aktuell verwendet oder für einen Vorgang benötigt wird. Sie können auch ganze XML-Dokumente im Rahmen eines Pushdownvorgangs löschen.

Weitere Informationen zum Speichern von XML-Dokumenten mit benutzerdefinierten Informationen in Inhaltstypen finden Sie unter Benutzerdefinierte Informationen in Inhaltstypen.

Überlegungen beim Aktualisieren untergeordneter Inhaltstypen

Beachten Sie, dass bei Pushdownvorgängen Änderungen an untergeordneten Inhaltstypen überschrieben werden, wenn diese Änderungen in die Granularität des Pushdownvorgangs fallen. Angenommen, Sie ändern eine Spalte in einem untergeordneten Inhaltstyp. Wenn Sie dann weitere Änderungen an dieser Spalte in der übergeordneten Vorlage vornehmen oder die Spalte sogar löschen und anschließend einen Pushdownvorgang für die Änderungen ausführen, werden von SharePoint Foundation die Änderungen überschrieben, die Sie (oder jemand anders) ursprünglich im untergeordneten Inhaltstyp vorgenommen haben.

Bei jedem Pushdownvorgang werden nur die Änderungen weitergegeben, die zu diesem Zeitpunkt am übergeordneten Inhaltstyp vorgenommen wurden. Wenn Sie nicht sofort einen Pushdownvorgang für die Änderungen ausführen, ist dies später nicht problemlos möglich. In den meisten Fällen wären Sie gezwungen, die vorherigen Änderungen rückgängig zu machen, diese erneut vorzunehmen und dann für diese Änderungen einen Pushdown auszuführen. Angenommen, Sie löschen eine Spalte aus einem übergeordneten Inhaltstyp, führen jedoch nicht sofort einen Pushdown aus. Jeder nachfolgende Pushdownvorgang würde die Löschung der Spalte aus den untergeordneten Inhaltstypen nicht enthalten. Um die Spalte später aus den untergeordneten Inhaltstypen zu löschen, müssten Sie die Spalte dem übergeordneten Inhaltstyp wieder hinzufügen, sie erneut löschen und dann einen Pushdownvorgang ausführen.

Wenn Sie einen Pushdownvorgang für Änderungen ausführen, die nicht mehr auf einen untergeordneten Inhaltstyp zutreffen, werden diese Änderungen ignoriert. Wenn Sie beispielsweise einen Pushdown für Änderungen an Spalteneinstellungen für eine Spalte ausführen, die aus einem untergeordneten Inhaltstyp gelöscht wurde, werden diese Änderungen ignoriert. Die Spalte wird dem untergeordneten Inhaltstyp nicht erneut von SharePoint Foundation hinzugefügt.

Wenn Sie einen Pushdownvorgang für einen untergeordneten Inhaltstyp versuchen, der als schreibgeschützt gekennzeichnet ist, tritt ein Fehler auf, sofern Sie nicht im Rahmen des Pushdownvorgangs für den übergeordneten Inhaltstyp Lese-/Schreibzugriff festgelegt haben.

Der Pushdown von Änderungen ist kein Alles-oder-Nichts-Vorgang. Wenn beim Pushdown ein Fehler bei einem untergeordneten Inhaltstyp auftritt, setzt SharePoint Foundation den Pushdown der Änderungen an alle verbleibenden untergeordneten Inhaltstypen fort. Am Ende des Pushdownvorgangs gibt SharePoint Foundation eine Liste mit den aufgetretenen Fehlern zurück.

Wenn ein untergeordneter Inhaltstyp als versiegelt definiert ist, liefert der Pushdownvorgang für diesen Inhaltstyp einen Fehler.

HinweisHinweis

Sie benötigen das Zugriffsrecht Webdesigner für eine Website, um einen Websiteinhaltstyp für die Website erstellen oder verwalten zu können. Wenn Sie nicht über die entsprechenden Zugriffsrechte für eine untergeordnete Website verfügen, wird bei Pushdownvorgängen für Inhaltstypen, die in dieser untergeordneten Website enthalten sind, ein Fehler gemeldet.

Weitere Informationen zu schreibgeschützten und versiegelten Inhaltstypen finden Sie unter Steuern von Änderungen am Inhaltstyp.

Siehe auch

Konzepte

Einführung zu Inhaltstypen

Website- und Listeninhaltstypen

Inhaltstypbereich

Erstellen von Inhaltstypen

Zugriffssteuerung für Inhaltstypen

Löschen von Inhaltstypen