当前位置: 首页 > 知识库问答 >
问题:

为什么他会这么做。CopyDocument是否将新文档放入“已发布”工作流步骤?

丁光华
2023-03-14

我正在尝试使用Kentico 11 API复制一个文档,当使用文档时。CopyDocument生成的TreeNode会自动放入“已发布”工作流步骤,而不是像人们所期望的那样进行“编辑”。有没有办法防止这种情况发生?

对于DocumentHelper,我尝试了这两种方法。包括使用CopyDocumentSet的方法的Copy文档,都没有给出指定初始工作流步骤的选项。

TreeNode newDoc = DocumentHelper.CopyDocument(document, parentDoc, true, _treeProvider);
// also tried this
TreeNode newDoc = DocumentHelper.CopyDocument(new CopyDocumentSettings(document, parentDoc, _treeProvider));

也不给我指定工作流步骤的选项,他们只把它推到“已发布”。我可以创建文档的新版本,但这并不妨碍副本最初发布。

共有2个答案

雍阳
2023-03-14

我应该等更长的时间来发布这个问题,结果发现你可以使用API中的WorkflowManager将文档推送到工作流的第一步:

newDoc.WorkflowManager.MoveToFirstStep(newDoc);

这会在不影响工作流历史的情况下将文档推到“编辑”步骤,就好像文档从未发布过一样。

何楷
2023-03-14

我相信它复制了当前页面的工作流状态,但我可能错了。我的建议如下。这段代码检查页面是否正在使用签入/签出,然后使用工作流将新创建的页面设置为工作流的第一步(应该是“编辑”)。

TreeProvider tree = new TreeProvider();
var treeNode = DocumentHelper.GetDocument(4, tree);
var targetNode = DocumentHelper.GetDocument(5, tree);
CMS.DocumentEngine.TreeNode newPage = DocumentHelper.CopyDocument(treeNode, targetNode, false);

WorkflowManager workflowManager = WorkflowManager.GetInstance(tree);
WorkflowInfo workflow = workflowManager.GetNodeWorkflow(page);

if (!newPage.IsCheckedOut)
{
    newPage.CheckOut();
}

if (workflow != null)
{
    if (!workflow.WorkflowAutoPublishChanges)
    {
        newPage.MoveToFirstStep("Copying the page from another page.");
    }
}

if (newPage.IsCheckedOut)
{
    newPage.CheckIn();
}
 类似资料:
  • 如果你知道为什么会这样,为什么还会这样,请告诉我,这是我的代码:

  • 一种新的文档类型,该文档无需下载,即可多人实时在线查看和编辑同一个文档,并且多端同步。   以前:      一个文档在很多情况下都是多人同时使用,甚至编写,比如一些项目文档,通常都是多人分别填写各自部分再进行汇总。随着文档的一次次更新,你发给我,我发给你就变的相当频繁,不仅效率低下,而且容易在很多环节上出错,又因为没有文档的操作记录,导致错误的责任互相推诿。这样不但影响了团队合作的效率,也给团队

  • 在Jenkins的工作中,我找不到任何关于“归档工件”选项到底做了什么的文档。 它是否将从机工作区的工件复制到主服务器上的某个文件夹? 或者它是否将文件从从属的工作区保存到同一个从属的“归档”位置?在这种情况下,如果从服务器被摧毁,这些文件就会消失。

  • maven发布插件到底是什么?它的目的是什么?我在教程中找到了它,但不明白它有什么用处。此外,老师还向我们展示了如何在GitHub上创建标记。maven发布插件和GitHub有什么共同点?

  • 问题内容: 我有一台Jenkins主服务器,外加多台从属计算机,这些服务器一直在被创建和销毁。 我找不到有关Jenkins作业中“归档工件”选项的确切功能的任何文档。 它会将工件从从属机器的工作空间复制到主服务器上的某个文件夹吗? 还是将文件从从站的工作区保存到同一从站的“归档”位置?在这种情况下,如果从属服务器被破坏,这些文件将消失。 如果删除工作空间,那些归档的工件是否还可以生存? 如果删除构

  • ApachePOI的文档(版本3.17)说 无效关闭() 抛出java。伊奥。IOException 关闭从中读取工作簿的基础输入资源(文件或流)。 我的代码从模板文件创建工作簿,并对其进行处理,然后将其写入新文件。模板文件应该保持不变。但是当我调用close()方法时,文件的更改方式与输出文件相同。 有人能解释一下吗?close()方法中是否有类似于内置write()调用的功能?这是一个bug还