如果共享点中有工作流程,批量审批流程将不起作用

发布于 2024-07-26 14:09:52 字数 429 浏览 4 评论 0原文

我在网站上有一个工作流程设置。 以下是发生的情况:

  1. 我进入网站操作 -> 管理内容和结构
  2. ,然后转到页面列表; 然后选中待处理页面上的所有复选框;
  3. 点击菜单栏中的操作

在下拉列表中,批准选项呈灰色。 仅签入选项可用。 即使签入后,批准选项仍然是灰色的。 但是,对于每个单独的项目,我都可以批准

我的问题是:

  1. 如果有工作流程,是否无法进行批量审批?
  2. 您可以推荐什么方法来完成这项工作吗?

I have a workflow setup on the site. The following is what happened:

  1. I go site actions -> Manage content and structure
  2. and then go to the pages list; and then check all the check boxes on the pending pages;
  3. Click the actions in the menu bar;

in the drop down list, approve option is greyed out. Only check in option is available. Even after checking it in, the approve option is still greyed out. However, in each individual item, I can approve it.

My questions are:

  1. Is it bulk approval is not available if there is workflow?
  2. Is there any way that you can recommend to make this work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

星星的轨迹 2024-08-02 14:10:51

问题是,发布要求您在 _layouts/IniWrkflIP.aspx 表单中指定谁是审批者。 该页面不可能适用于 1 个以上的项目(它适用于要批准/发布的 1 个特定项目)。 因此没有批量发布/批准的按钮。

不过,可以在列表的操作面板中(即在站点的页面列表中)创建一个自定义操作,该自定义操作对该特定列表进行批量处理。 因为在代码中你可以遍历列表中的所有项目,检查它是否是 ScheduledItem,然后安排发布:

 if (PublishingPage.IsPublishingPage(item))
 {
   PublishingPage.GetPublishingPage(item).CheckIn("Checked in during import");
 }
 else
   if (ScheduledItem.IsScheduledItem(item))
   {
     try
     {
       ScheduledItem thisScheduled = ScheduledItem.GetScheduledItem(item);
       thisScheduled.Schedule("Page was automatically approved by the system");
     }
     catch (Exception)
     {
       //LOG ERROR
     }
   }

The problem is , is that publishing requires you to specify who is the approver in the _layouts/IniWrkflIP.aspx form. There is no way fpr that page to work for more than 1 item (it works on 1 specific item to be approved / published). Hence there is no button to bulk publish / approve.

What is possible though is to create a customaction in the actions panel of a list (i.e. in the pages list of your site) that does the bulk process for that specific list. Because in code you can traverse all items in the list, check if it is a ScheduledItem and then Schedule the publishing:

 if (PublishingPage.IsPublishingPage(item))
 {
   PublishingPage.GetPublishingPage(item).CheckIn("Checked in during import");
 }
 else
   if (ScheduledItem.IsScheduledItem(item))
   {
     try
     {
       ScheduledItem thisScheduled = ScheduledItem.GetScheduledItem(item);
       thisScheduled.Schedule("Page was automatically approved by the system");
     }
     catch (Exception)
     {
       //LOG ERROR
     }
   }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文