基于 SharePoint Online 中的文件夹以编程方式设置默认列值

Programmatically set default column values based on folder in SharePoint Online

我正在努力增强我们的 SharePoint 在线 (O365) 环境中的元数据。由于我的一部分用户群习惯于使用文件夹(资源管理器风格),我已经开始使用默认列值自动设置添加到该特定文件夹的任何文件的值(我们目前的内容按文件夹分类组织)。一个例子是我们的人力资源文档库——我们有单独的文件夹用于招聘、工资单、人事档案等,这些文件夹会自动将添加到该文件夹​​的文件分类为相同的类别(招聘、工资单、人事等)。这同时支持 "search" 和 "click" 用户,并且在获取重要元数据的同时使采用方式更容易。

我想以更大、更动态的方式实现它,因此在每个文件夹上手动设置默认列值将无法扩展。

如何为每个新添加的文件引用库中的顶级文件夹(甚至当前文件夹)并使用该文件夹名称填充该新文件的 "category" 字段?我可以做一些非常基本的 C# 或 Java 代码 copy/paste,但非编码解决方案的奖励积分 =)

这个问题可以通过没有解决 coding.You 可以使用 SharePoint Designer 的工作流来实现。

  1. 为不同的职能团队创建不同的视图,然后使用视图过滤器来显示文档。

  2. 如果上传文件,请使用工作流程设置文件的元数据。有一些已知的限制:如果您同时上传多个文件,文件的元数据可能无法正常工作;或者,如果您上传文件夹,元数据将无法正常工作,并且文件夹中的文件可能未设置为正确的元数据。

我实际上能够使用 MS Flow 以非常简单直接的方式完成此操作,而无需管理每个团队的自定义视图。高层次的概念是:

  1. (触发)当在库中的文件夹中创建新文档时
  2. 获取新增文档的父文件夹link
  3. 创建一个变量(或者只是在流程步骤中将其编码出来)从父文件夹中解析出父文件夹的名称link(应该是最后一个“/”右边的所有文本")
  4. 将类别字段设置为变量

我相信您可以在 SharePoint 设计器工作流中做同样的事情,但我更喜欢流,因为它的视觉效果更容易进行故障排除。