Je travaille avec le framework Audit dans MOSS 2007, et j'ai activé par programmation Auditing pour 2 listes spécifiques dans un ensemble de sites dans une collection de sites (ce qui signifie que les sites ont tous leur posséder deux listes). J'ai seulement activé le masque de mise à jour, car je veux seulement savoir quand quelque chose a été changé ou ajouté.Activation automatique de SPAudit pour les nouveaux fichiers de la liste
Cependant, je ne peux me connecter que lorsque quelque chose a été ajouté, avec ma configuration actuelle. Pour permettre de voir les modifications apportées aux éléments de la liste, je suis conscient que l'audit de l'élément de liste doit être activé. Mais lors de l'ajout d'un nouvel élément à la liste, comment activer automatiquement l'audit pour cet élément? Si possible, je préférerais éviter de créer un récepteur d'événement pour accomplir ceci.
* EDIT
Le code que j'utilise pour activer l'audit ressemble à quelque chose comme ceci:
foreach (SPSite site in webApp.Sites) {
foreach (SPWeb website in site.AllWebs) {
website.Lists["MyList"].Audit.AuditFlags = SPAuditMaskType.Update;
website.Lists["MyList"].Audit.Update();
}
}
Et pour le lire:
SPUserToken sysAdmin = website.Site.SystemAccount.UserToken;
using (SPSite elevatedSite = new SPSite(website.Site.ID,sysAdmin)) {
using (SPWeb elevatedWeb = elevatedSite.OpenWeb(website.ID)) {
SPAuditQuery auditQuery = new SPAuditQuery(elevatedSite);
auditQuery.SetRangeStart(myDatetime);
auditQuery.RestrictToList(elevatedWeb.Lists["MyList"]);
listChanges = elevatedWeb.Lists["MyList"].Audit.GetEntries(auditQuery);
}
}
Je me rends compte que je suis à restreindre énumérer ici, mais quand je n'ai pas eu j'ai eu des changements d'autres listes sur le site aussi bien. Même si logiquement je suppose que je ne suis arrivé les changements dans la liste que j'ai appelé « getEntries » sur ...
Merci
J'ai mis à jour mon post avec des détails sur la façon dont j'active l'audit - peut-être que je fais quelque chose de mal, et l'activer uniquement pour la liste, et ne pas lister les éléments de la liste? – Dynde