Конкретная информация об изменениях в списке / списке рассылки - PullRequest
1 голос
/ 11 августа 2010

Я пытаюсь создать новую функцию уведомлений Alert Me для sharepoint.

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

Я знаю о классе SPChange и методе list.GetChanges ().Однако единственная информация, которую я могу извлечь из этого, - это то, что было сделано, например, «Обновить» / «Переименовать» и т. Д.

Я хотел бы получить более конкретную информацию, например, что было создано / обновлено / удалено и кеми так далее.Должно ли это быть сделано с помощью класса SPAudit?или я что-то упускаю?

1 Ответ

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

Я бы порекомендовал проверить мой вопрос здесь: Как создать ежедневное сводное оповещение о любых изменениях на сайте SharePoint .

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

Похоже, вы можете захотеть оповещения только для одного списка, поэтому вам придется больше фильтровать. Также имейте в виду, что если вы хотите знать больше, чем базовую информацию (например: какие поля изменились), вам нужно взглянуть на создание собственных пользовательских записей SPAudit.

* ** Edit 1010 *

Для пользовательской записи аудита я сначала создал bean-компонент, который можно сериализовать. Затем вы можете просто сериализовать бин, содержащий всю вашу информацию из получателя событий, в запись SPAudit:

public static void AddEvent(MyCustomBeanClass e, SPSite site)
{
    StringWriter sw = new StringWriter();
    XmlSerializer xs = new XmlSerializer(typeof(MyCustomBeanClass));
    xs.Serialize(sw, e);
    site.Audit.WriteAuditEvent(SPAuditEventType.Custom, "MyCustomAuditing", sw.ToString());
}

Кроме того, я думаю, мой пост поможет вам визуализировать (1) как выглядят записи из коробки и (2) некоторую дополнительную обработку, которую вам нужно будет выполнить (например: определение, был ли создан элемент).

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