Включение SPAudit автоматически для новых файлов в списке - PullRequest
0 голосов
/ 17 августа 2010

Я работаю со структурой аудита в MOSS 2007, и я программно включил аудит для двух конкретных списков в группе сайтов в семействе сайтов (то есть у сайтов есть два собственных списка). Я включил только маску обновления, так как хочу знать только, когда что-то было изменено или добавлено.

Тем не менее, я могу войти, только когда что-то добавлено, с моими текущими настройками. Чтобы увидеть изменения в элементах списка, я знаю, что для самого элемента списка должен быть включен аудит. Но как добавить новый элемент в список, как автоматически включить аудит для этого элемента? Если возможно, я бы предпочел не создавать приемник событий для этого.

* EDIT

Код, который я использую для включения аудита, выглядит примерно так:

foreach (SPSite site in webApp.Sites) {
    foreach (SPWeb website in site.AllWebs) {
       website.Lists["MyList"].Audit.AuditFlags = SPAuditMaskType.Update;
       website.Lists["MyList"].Audit.Update();
    }
}

И прочитать это:

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);
    }
}

Я понимаю, что ограничиваю список здесь, но когда я этого не сделал, я получил изменения и из других списков на сайте. Хотя логически я бы предположил, что я получил только те изменения из списка, который я назвал «GetEntries» в ...

Спасибо

Ответы [ 2 ]

1 голос
/ 17 августа 2010

Если в библиотеке включен аудит, будут проверяться новые элементы.Я не знаю ни одного конкретного документа аудита

0 голосов
/ 11 января 2011

Немного опоздал с ответом на этот вопрос, но вот некоторая дополнительная информация на тот случай, если другие найдут этот пост.

Можно отслеживать события аудита на уровне документа.Эта ссылка объясняет, как это можно сделать.Они используют обработчик событий, чтобы заставить его работать.Я знаю, вы упомянули, что не хотите делать это таким образом, но это то, что нужно для автоматического отслеживания событий документа.Задание типа маски аудита в библиотеке документов позволяет отслеживать только события DL, а не отдельные элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...