各个项目的分层到期策略

时间:2009-07-29 12:30:56

标签: sharepoint sharepoint-2007

我希望在自定义列表(而不是文档库)上实现项目到期的自定义策略。

此策略必须基于每个项目进行编辑,并根据用户定义的规则计算到期日期,例如:访问次数,到期时间跨度或上述两个规则的任何聚合。由于这种粒度,我不能使用默认的过期策略模型(或实现自定义的模型),也不能使用过期策略中的默认审核。

由于项目是在文件夹和子文件夹中组织的,我想分层应用策略(类似于OOTB权限模型)。

我的解决方案是为文件夹和项目创建自定义内容类型,以便包含一个包含序列化规则的列,而对此“规则”字段的访问将从代码手动同步。自定义Infopath表单将用于编辑列表中每个条目的附加规则(可以是文件夹或项目),自定义应用程序页面将使用此数据来授予对项目的访问权限(基于附加项目)字段,它也为每个项目执行实际工作)。 虽然我不确定上述解决方案是否会被批准(公司政策可能禁止我为同步方案编辑脚趾Global.asax文件),但我想知道是否有人可能会为此要求提供更好的架构?

1 个答案:

答案 0 :(得分:1)

好的,我会试一试。首先,我会忘记InfoPath并转到自定义ASPX页面来配置策略。整个项目应包装在WSP solution中,其中包含以下成分:

  1. _layouts文件夹中的策略配置aspx页面。此页面应该允许用户创建和编辑列表,文件夹和项目的策略。该页面可以依次序列化并将规则存储在列表项的属性包中。对于列表级规则,请使用SPWeb属性包。或者,创建一个隐藏列表,其中所有规则都存储在与列表,文件夹或项目关联的XML文件中。

  2. 网站集Feature,可将Custom Actions添加到您的自定义列表,以添加和修改政策。您可以在文件夹和项目的ECB菜单中添加“编辑策略”等自定义操作。对于列表级策略,您可以向列表操作菜单添加类似的操作。

  3. SharePoint Timer Job用于实施策略。使用服务器场级别功能可在激活时在功能接收器中安装计时器作业。

  4. 无论如何,我认为您将面临相当多的开发工作。