Freigeben über


Abfragen bestimmter Änderungen aus dem Änderungsprotokoll

Letzte Änderung: Mittwoch, 29. Juli 2009

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Konstruieren einer Abfrage
Filtern nach Objekttyp
Filtern nach Änderungstyp

Sie können die Auswahl an Änderungen einschränken, die in einer Änderungsauflistung zurückgegeben werden, indem Sie ein SPChangeQuery-Objekt an eine Überladung der GetChanges-Methode der SPList-, SPWeb-, SPSite- oder SPContentDatabase-Klasse übergeben. Beim Konstruieren eines SPChangeQuery-Objekts können Sie angeben, dass Sie die Ergebnisse der Abfrage nach Objekttyp, Änderungstyp oder beidem filtern möchten.

Konstruieren einer Abfrage

Wenn Sie die von einem Aufruf der GetChanges(SPChangeQuery)-Methode zurückgegebenen Ergebnisse filtern möchten, verwenden Sie die Parameter des SPChangeQuery-Konstruktors in Kombination mit den Eigenschaften des SPChangeQuery-Objekts.

Die Signatur des Konstruktors lautet wie folgt:

public SPChangeQuery(bool AllChangeObjectTypes, bool AllChangeTypes);

So verwenden Sie die beiden Parameter des Konstruktors:

  • AllChangeObjectTypes

    Übergeben Sie true, um Änderungen an allen Objekttypen zurückzugeben. Übergeben Sie false, um die Abfrage auf bestimmte Objekttypen zu beschränken. Legen Sie dann true in den Eigenschaften des SPChangeQuery-Objekts fest, die den gewünschten Objekttypen entsprechen.

    Mit dem folgenden Code wird beispielsweise eine Abfrage nach Änderungen an SPGroup-Objekten konstruiert.

    // Construct a query.
    SPChangeQuery query = new SPChangeQuery(false, true); 
    
    // Specify the object type. 
    query.Group = true;
    
  • AllChangeTypes

    Übergeben Sie true, um alle Arten von Änderungen zurückzugeben. Übergeben Sie false, um die Abfrage auf bestimmte Arten von Änderungen zu beschränken. Legen Sie dann true in den Eigenschaften des SPChangeQuery-Objekts fest, die den gewünschten Arten von Änderungen entsprechen.

    Mit dem folgenden Code wird beispielsweise eine Abfrage nach Änderungen konstruiert, mit denen Objekte gelöscht werden.

    // Construct a query.
    SPChangeQuery query = new SPChangeQuery(true, false); 
    
    // Specify the change type. 
    query.Delete = true;
    

Wenn Sie die Abfrage auf bestimmte Arten von Änderungen an bestimmten Objekttypen einschränken möchten, können Sie false als Argument an beide Parameter übergeben. Mit dem folgenden Code wird beispielsweise eine Abfrage nach Änderungen konstruiert, mit denen Listenelemente hinzugefügt, gelöscht oder aktualisiert werden.

// Construct a query.
SPChangeQuery query = new SPChangeQuery(false, false); 

// Specify the object type.
query.Item = true;

// And the change types. 
query.Add = true;
query.Delete = true;
query.Update = true;

Filtern nach Objekttyp

In der folgenden Tabelle sind die Eigenschaften der SPChangeQuery-Klasse aufgeführt, mit der Sie die Objekttypen angeben können, für die Änderungen zurückgegeben werden sollen. Wenn Sie Änderungen für einen bestimmten Objekttyp abrufen möchten, legen Sie die entsprechende Eigenschaft auf true fest. Änderungseinträge werden als Unterklasse von SPChange mit für diesen Objekttyp spezifischen Eigenschaften zurückgegeben. Die SPChangeUser-Unterklasse stellt beispielsweise eine Änderung an einem SPUser-Objekt dar und besitzt eine IsSiteAdminChange-Eigenschaft, die ein Merkmal einer Änderung an diesem Objekttyp angibt.

Tabelle 1. Eigenschaften zur Angabe eines Objekttyps

Eigenschaft

Beschreibung

Zurückgegebene Unterklasse

Alert

Änderungen an SPAlert-Objekten sind eingeschlossen.

SPChangeAlert

ContentType

Änderungen an SPContentType-Objekten sind eingeschlossen.

SPChangeContentType

Field

Änderungen an SPField-Objekten sind eingeschlossen.

SPChangeField

File

Änderungen an Dateien, die sich außerhalb einer Liste befinden und für die keine entsprechenden Elemente vorhanden sind, sind eingeschlossen.

SPChangeFile

Folder

Änderungen an Ordnern, die sich außerhalb einer Liste befinden und für die keine entsprechenden Elemente vorhanden sind, sind eingeschlossen.

SPChangeFolder

Group

Änderungen an SPGroup-Objekten sind eingeschlossen.

SPChangeGroup

Item

Änderungen an allen Objekten in einer Liste sind eingeschlossen: Listenelemente, Dateien und Ordner.

SPChangeItem

List

Änderungen an SPList-Objekten sind eingeschlossen.

SPChangeList

SecurityPolicy

Änderungen an Sicherheitsrichtlinien, die auf Webanwendungsebene vorgenommen werden und Auswirkungen auf die gesamte Inhaltsdatenbank haben, sind eingeschlossen.

SPChangeSecurityPolicy

Site

Änderungen an SPSite-Objekten sind eingeschlossen.

SPChangeSite

User

Änderungen an SPUser-Objekten sind eingeschlossen.

SPChangeUser

View

Änderungen an SPView-Objekten sind eingeschlossen.

SPChangeView

Web

Änderungen an SPWeb-Objekten sind eingeschlossen.

SPChangeWeb

Filtern nach Änderungstyp

In der folgenden Tabelle sind die Eigenschaften der SPChangeQuery-Klasse aufgeführt, mit der Sie die Arten von Änderungen an Objekten angeben können, die von einer Abfrage zurückgegeben werden sollen. Wenn Sie eine bestimmte Art von Änderung abrufen möchten, legen Sie die entsprechende Eigenschaft auf true fest. Beachten Sie jedoch, dass nicht alle Arten von Änderungen für alle Objekttypen gelten.

Tabelle 2. Eigenschaften zur Angabe einer Art von Änderung

Eigenschaft

Beschreibung

Add

Objekthinzufügungen sind eingeschlossen. Für Elemente, Dateien und Ordner sollte der TimeLastModified-Wert im Protokoll mit der Created-Eigenschaft des Objekts übereinstimmen.

Delete

Objektlöschungen sind eingeschlossen.

GroupMembershipAdd

Änderungen, mit denen Benutzer Gruppen hinzugefügt werden, sind eingeschlossen.

GroupMembershipDelete

Änderungen, mit denen Benutzer aus Gruppen entfernt werden, sind eingeschlossen.

Move

Verschiebungen sind eingeschlossen.

Navigation

Änderungen an der Navigation sind eingeschlossen.

Rename

Namensänderungen sind eingeschlossen. Dies bedeutet, dass der Teil des URLs mit dem Dateinamen geändert wurde.

Restore

Änderungen, mit denen Objekte aus dem Papierkorb oder aus einer Sicherung wiederhergestellt werden, sind eingeschlossen. Durch Wiederherstellungsänderungen wird dem Leser des Änderungsprotokolls eines Synchronisierungsclients angezeigt, dass das Objekt und alle untergeordneten Elemente erneut synchronisiert werden müssen.

RoleAssignmentAdd

Änderungen, mit denen eine Rollenzuweisung im Objektbereich hinzugefügt wird, sind eingeschlossen.

RoleAssignmentDelete

Änderungen, mit denen eine Rollenzuweisung im Objektbereich entfernt wird, sind eingeschlossen.

RoleDefinitionAdd

Änderungen, mit denen eine Rollendefinition hinzugefügt wird, sind eingeschlossen.

RoleDefinitionDelete

Änderungen, mit denen eine Rollendefinition gelöscht wird, sind eingeschlossen.

RoleDefinitionUpdate

Änderungen, mit denen eine Rollendefinition geändert wird, sind eingeschlossen.

SystemUpdate

Änderungen, mit denen ein Objekt geändert wird, ohne dass die Modified- oder Modified By-Eigenschaft geändert wird, sind eingeschlossen. Der TimeLastModified-Wert im Protokoll sollte die Zeit angeben, zu der die Aktualisierung erfolgte, nicht die Modified-Eigenschaft.

Update

Änderungen, mit denen ein Objekt geändert wird, sind eingeschlossen.

Siehe auch

Aufgaben

Gewusst wie: Filtern des Änderungsprotokolls nach Objekttyp

Gewusst wie: Filtern des Änderungsprotokolls nach Änderungstyp