当前用户的任务列表视图

时间:2015-11-19 08:18:25

标签: sharepoint-2013 sharepoint-online tasklist

我有一个任务列表。如果任务未分配给他/她或任务未分配给他/她的部门,我想隐藏当前用户的任务。 必须有3个级别:老板,经理和用户。 老板可以看到每一项任务。 经理可以看到他所在部门的所有任务。此外,他/她可以担任多个部门的经理。 用户可以看到他所在部门的所有任务。

1 个答案:

答案 0 :(得分:0)

在提出明确答案之前,有许多问题需要回答,因为提出的问题包括一些含糊不清的问题。所以在这个答案中,我的目的也是对一些挑战的一般描述。

隐藏或无权限

如果用户没有权限查看任务列表项,那么它也会隐藏"。但是也有可能隐藏列表项(例如,以最简单的形式显示视图)。在后一种情况下,仍然可以通过适当导航到任务列表项来检索任务列表项的信息。在某些情况下,这是一个非常好的解决方案,而在其他情况下则不是。然后,解决方案必须包括在网站集,Web,任务列表或任务列表中的特定项目(或者可能是所有创建的任务列表?)上设置正确的权限。根据要求,这可能采取不同的形式。在最简单的形式中,您只有一个任务列表。

<强>目标对象

如果部门数量很少,则可以在Sharepoint中配置相同的受众群体,并且一旦在任务列表上启用了受众群体,就可以将适当的内容查询Web部件添加到页面中。这将解决仅显示属于用户部门的任务列表项的问题。在内容查询Web部件上添加简单过滤器将负责不显示分配给与当前登录用户不同的用户的任务列表项。

如果正确设置了受众群体,那么属于许多AD群组的任何用户都应该受益于此解决方案。

然而:

  • 受众群体增加了复杂性,因为您必须创建和配置它们 并在任务列表项目上设置正确的受众。
  • 内容查询网络部分是,它是过去的一波。
  • 受众群体不适用于列表视图网页部件。

因此,在大多数情况下,受众群体远远不能满足要求。

手动添加更多列数据(不好)

当然有一种解决方案是在任务列表中添加更多列,并要求必须将所有或部分列设置为与链上的不同管理器以及部门相对应。然后可以在过滤器视图中使用这些列以仅显示相关项目。但是这些解决方案通常最终会让用户抱怨说将数据输入Sharepoint并因此不使用它太困难了。他们将通过其他方式解决他们的问题(Outlook,我在看着你!)

我的网站

如果我的站点已配置,则工作管理api正在运行,用户应在其上显示所有已分配的任务列表项。另一方面,经理将无法自动查看经理所管理的部门的所有任务。所有这些任务的内容汇总可以通过添加搜索Web部件来完成,该部件检索管理员具有查看(或更多)权限的所有任务。这将有效地显示经理(分配给经理用户)的所有任务以及经理所管理的部门的所有其他任务。 (至少如果网站,网站,任务列表的权限设置正确!如果Sharepoint中的权限设置不正确(如果包括经理在内的所有用户都是所有网站的成员)也许这是个好主意在任务列表中添加查找列表列,用户可以在其中添加负责部门(但是,我没有注意到这种解决方案不是最佳解决方案。)。)。

使用这个解决方案你会走很长的路。缺点是用户必须导航到我的网站。

搜索

假设权限设置正确(以及搜索服务应用程序!)我解决它的方法是使用搜索。完全可以通过使用搜索REST api端点来检索所有任务,并且基本上仅使用分配的那些与登录用户的相同。对于所有管理员而言,它同样容易,因为所有返回的任务列表项都是管理员用户有权访问的所有项。 (同样,如果在Sharepoint中未正确设置权限,则会遇到一些麻烦,负责过滤任务列表项的逻辑将更加复杂,实际上可能无法实际执行。)将代码Web部件添加到页面是不是我会说微不足道,但有一系列json格式的任务列表项目,并添加这些将需要一个经验丰富的开发人员,而不是一天完成。我有使用knockout轻松创建此表的经验。互联网&#34;应该有充足的例子。 : - /。桌子的样式可能需要很长时间,但是可能会随着时间的推移而变化。单击任务列表项可以将用户导航到单击的任务列表项的编辑页面。

将网页部件保存到图库也可以将其提供给其他网站。