Étendues du journal des modifications

Windows SharePoint Services 3

Il est possible de rechercher les modifications contenues dans le journal de modification au niveau de quatre étendues : la base de données de contenu, la collection de sites, le site Web ou la liste. En fonction de l'application et de l'étendue de recherche du client, vous pouvez déterminer l'étendue à utiliser. Par exemple, si un client ne s'intéresse qu'aux modifications apportées à une liste spécifique dans un site Web, il peut rechercher les modifications au niveau de l'étendue de liste. Toutefois, si les modifications apportées à la base de données complète nécessitent une analyse, la recherche peut s'effectuer dans le journal des modifications au niveau de l'étendue de la base de données de contenu.

En règle générale, si les clients doivent analyser les modifications apportées à un objet spécifique, ils peuvent rechercher les modifications au niveau de l'étendue de l'objet parent. Par exemple, dans la mesure où Microsoft Office Outlook 2007 recherche les modifications apportées aux éléments des listes SharePoint, il recherche les modifications au niveau de l'étendue de liste dans plusieurs listes. En outre, SharePoint recherche les modifications au niveau de l'étendue de la base de données de contenus car il doit rechercher toutes les modifications de la base de données. Vous pouvez utiliser la méthode GetChanges pour rechercher les modifications.

Exemple

L'exemple suivant décrit, étape par étape, les différentes façons d'utiliser la méthode GetChanges pour renvoyer les modifications pour une collection de sites.

SPSite mySite = new SPSite("http://siteUrl");
/* Initial snapshot of the Change Log at the site collection scope.*/
SPChangeToken initToken = mySite.CurrentChangeToken; 

/* After a certain time, once the site collection has changed, the client can query for changes that occurred since the initial snapshot (in other words, since initToken). */

/* Return all changes to the site collection.*/
SPChangeCollection changes = mySite.GetChanges();

/* Return all changes since initToken.*/
SPChangeCollection changes1 = mySite.GetChanges(initToken); 

/* Final snapshot of the change log at the site collection scope.*/
SPChangeToken finalToken = mySite.CurrentChangeToken; 

/* Return all changes from initToken to finalToken.*/
SPChangeCollection changes2 = mySite.GetChanges(initToken,finalToken); 

/* Query for specific types of changes.*/
SPChangeQuery query = new SPChangeQuery(true, true);
SPChangeCollection changes3 = mySite.GetChanges(query);
Afficher: