我最近得到了要求一个人接受的每日摘要报警内的任何改变SharePoint网站;每个网站具有一个主人是谁负责的内容在其网站上。

目前的方式,我们有一些工作是自动地设置警报,对于每一个列表/图书馆网站。

// Get the Lists on this Site
SPListCollection siteLists = currentSite.Lists;
foreach (SPList list in siteLists)
{
    if (!list.ToString().Equals("Master Page Gallery"))
    {
        if (list.ReadSecurity == 1) // user has read access to all items
        {
            // Create an Alert for this List
            Guid alertID = currentUser.Alerts.Add(list, SPEventType.All, SPAlertFrequency.Daily);

            // Set any additional properties
            SPAlert newAlert = currentUser.Alerts[alertID];
        }
    }
}

这造成了两个问题:

  1. 对用户有很大的不同警报的创建。理想的:只有一个电子邮件每日摘要。
  2. 某种监督必须设立检查新列表或库的网站,并自动设置警报的用户。

问:我怎么可以创建一个每日摘要报警的所有变化在一个网站?

有帮助吗?

解决方案

我相信解决方案,你想寻找可以通过审计框架。审计是非常强大的SP,不幸的是它容易得到不堪重负的输出。

审计是一种财产可在SPSite SPWeb,SPList,并SPItem性质。

调整特定的审计标记(使用。审计。AuditFlags性)使用这酒店来您需求(具体情况将取决于你如何定义"改变"的,但几乎所有的东西你可以认为是可利用的)。

有关的详细信息 SPAudit对象 可在MSDN。

一旦你限定什么/您想要的审核,只有得到这些信息回到你的用户。

默认情况下,SP设立了一些很好的报告,可在网站集水平([url的网站收集]/_layouts/报告。aspx?Category=审计).这些可以满足你的需求。

您最初的解决方案所提到的警报通过电子邮件的用户。鉴于大多数用户要集中他们的信息的电子邮件(虽然他们页:为伟大的地方放一个链接到的报告) 你就会有更多的工作要做。

你可以将所需的审计信息是通过对象模型使用的SPAuditQuery和SPAuditEntryCollection的对象。再次, MSDN有一些信息 关于如何使用这些物体。

我会建议设立一个自定义SPJobDefinition运行在一天结束时,以电子邮件用户的审计报告对于他们的网站。安德鲁*康奈尔有一个很大的解释的 如何设置一个自定义的工作 在他的博客。

以总结:

  • 启用审计的SPWeb的问题
  • 创建一个报告使用SPAuditQuery和SPAuditEntryCollection每个SPWeb
  • 创建一个SPJobDefinition运行每一个晚上的电子邮件将报告每个SPWeb主人

其他提示

一个要考虑的事情之前启用审计政策的网站上,是性开销。

我将推荐保持的占用尽可能少的在这里!

我的意思是如果其唯一的某些内容的类型或某些列表中,你想要这个信息,确保仅使信息政策上的这些CT或清单!

也保持记录到最低限度。例如,如果你是唯一感兴趣的景色,不是删除或恢复,仅仅这些事件记录!

在大型网站,我们看到审计真是垃圾表演!

还应注意的一些注意事项:即使你可以启用审计表(作为在没有文献图书馆),很多活动(例如图的活动)不是登录的具体清单的项目。这不是描述的任何地方(事实上,我们甚至看到泰德帕蒂森提到的项目一级的审计在一个MSDN条),但我必须直接从CSS和产品的团队,项目一级的审计没有实现在SP2007因为业绩问题。而你只得到一个清单的事件在该日志指定的名单已经感动。

文件跟踪相当好,但我看到的问题与审查活动上发布网页(其中API被认为是一个文件不是一个列表中的项目)取决于如何和在那里审核组(例如,如果审计的政策是实现与继承CT)使那东西是知道的。

[编辑:做了一些测试围绕这个昨天和其甚至更糟糕的是:事实上 出版的网页 跟踪,如果你设置在现场一级的审计政策!如果你设置一个政策上的一个列表或内容类型(或者甚至是一种内容类型,继承了一种内容类型与政策),你会得到 没有 SPAuditItemType.文件级别活动。它设置在网站上,你会得到太多的审计!例如。便会触发x2查活动,并同与更新,所以你结束了太多的被记录。它依旧看起来像一个错误,没有什么是经审计的政策时把上名单和CT。]

的主要信息是:小心你的日志,因为它会影响你的网站能 试什么,你指望记录是真的记录!

禾田 安德斯*拉斯克

好了,它不是一个种情况下,没有项目级别审计。该项目一级的审计是实现的,但你必须把它放在对于具体项目。如果清单项目存在可以获得它的实例和关于审计一样你做到这一名单。问题是,如何把它当列表项是创建。也许工作流程可以帮助吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top