用途:当用户需要一份 SharePoint 治理报告,覆盖尚未发布且超过指定天数未编辑的文档与站点页面时使用。典型场景包括陈旧草稿、待审批或已拒绝内容、已签出页面、未发布的更改等。报告必须按距最后编辑天数降序排序,并保存在某个文档库中。
输入:当前 SharePoint 站点 URL 与上下文;未活跃天数阈值(用户未提供时默认 14 天);目标文档库(用户未提供时默认 Reports);可选报告文件名(否则使用 Unpublished-content-inactive-<days>-days.html)。范围是面向用户的文档库中的文档,加上站点 Site Pages 库中的页面;除非用户明确要求,否则排除系统、资产、样式、保存、模板、报告和 AgentAssets 类库。
使用方式:先获取当前日期时间以计算相对时间;发现站点的列表与库(含 Site Pages 库),识别面向用户的文档库并排除系统库;确认目标库存在,不存在则创建为文档库并附清晰的报告用途说明;查询前先获取架构,识别可用内部字段(FileLeafRef、FileRef、Modified、Editor、_ModerationStatus、_UIVersionString、CheckoutUser,以及 Title、FirstPublishedDate、PromotedState 等页面字段);以等于已知条目数的行限制递归查询全部文件(未知时用 50,000),先取完整数据集再过滤。
发布状态依据 SharePoint 元数据而非文件名判定:启用审核的库中,_ModerationStatus 等同于已批准/已发布视为已发布,待审批、草稿、已拒绝等非批准值视为未发布;启用版本的库中,以 .0 结尾的版本为已发布主版本,以非零次版本号结尾表示草稿或未发布更改;仅签出的页面、从未发布的页面、存在草稿更改的页面均视为未发布。不得仅因库未启用审核或次版本就判定为未发布;若无可靠的发布状态信号,则省略该条目并在报告中注明跳过的库。计算距 Modified 的整日数,保留大于等于阈值的条目;将匹配项规范化为名称与链接、类型、库、发布状态、版本、最后编辑日期时间、编辑者、距最后编辑天数;按距最后编辑天数降序、再按条目名称升序稳定排序。
报告构建:使用 Report.html,并在可行时使用 LiveData.html,使结果在打开时从源库刷新;将每个源列表标识传给实时数据工具,不手写 REST 或 Graph 调用。包含总条目、文档、页面三张摘要卡片,简明的条件说明,以及包含全部匹配项的表;插入原始 HTML 前转义用户可控值。生成的 HTML 经输出数据引用传递,再用该引用在目标库创建 .html 文件,不得从截断的预览重建内容;验证文件已创建并返回链接。任何工具失败或数据不完整时如实说明,不得编造结果。
输出:返回简洁完成消息,含所创建 HTML 报告的 Markdown 链接、阈值与目标库、报告在打开时刷新(若使用 LiveData)或为时点报告(否则)的说明、因无法可靠判定发布状态而跳过的库。HTML 报告须包含标题“Unpublished content inactive for <days>+ days”、站点与条件说明、KPI 卡片(总条目、文档、页面)、表格列(条目、类型、库、发布状态、版本、最后编辑、编辑者、距最后编辑天数),行按距最后编辑天数降序。示例请求:创建一份 HTML 报告,显示未发布且 30 天未编辑的文档与页面,保存到 Governance Reports。
限制:依赖 SharePoint 元数据中可用的发布状态信号;对无可靠信号的库会跳过并注明;实时刷新依赖 LiveData 的使用。