4

我收到以下错误。我在其他 SO 帖子(此处)中看到了这一点,并且我联系了 SDL 支持,但我仍然无法解决问题。有人可以提供一个简单的解决方案吗?我认为导致这种情况的步骤如下:

1) 发布带有 PDF 1001 链接的页面。
2) 从页面中删除 PDF 1001 并将其从 CM 中删除
3) 上传与 1001 同名的 PDF 1002。
4) 现在如果您尝试并发布,您将收到错误消息。

所以我需要取消发布 PDF 1001,但它已从 CM 中删除。我该如何解决这个问题?SDL 支持建议修复涉及编辑发布事务期间生成的 ZIP 文件。但我什至取消了出版物的所有页面并确认它们已经消失。错误仍然存​​在...

错误:阶段:部署准备提交阶段失败,无法准备事务:tcm:0-11111-66560,尝试将二进制文件 1002 部署到已存储不同二进制文件的位置现有二进制文件:1001:,尝试部署二进制文件1002 到已经存储了不同二进制文件的位置现有二进制文件:1001:,无法准备事务:tcm:0-13573-66560,尝试将二进制文件 1002 部署到已存储不同二进制文件的位置现有二进制文件:1001 :, 尝试将二进制文件 1002 部署到已存储不同二进制文件的位置现有二进制文件:1001:

4

3 回答 3

8

所以该文件已从 CM 中删除,但 CD 仍然有对它的引用(根据 CD,它仍然存在并且仍然被某些东西使用)。

您应该在删除 1001之后、添加 1002之前发布页面。这应该会从 CD 数据库中删除引用。然后你应该可以添加 1002 并再次发布页面。

[编辑]对不起,现在才读到您说您未发布所有内容。显然不是,因为仍然有对它的引用……打开虚拟机,将返回更新。

[EDIT2] 如果您取消发布,仍然不明白它是如何保持冲突的,但这是我在服务器上观察到的:

  • 将二进制文件添加到页面,发布
    • 添加到 CD 中“REFERENCE_ENTRIES”表的参考
  • 从页面中删除二进制文件,发布
    • 从“REFERENCE_ENTRIES”表中删除引用,删除二进制文件
  • 取消发布页面(重新添加二进制文件后,重新发布)
    • 从“REFERENCE_ENTRIES”表中删除引用,删除二进制文件

所以,就我而言,我看到了我所期望的。在删除二进制文件后尝试发布页面,如果可能,请检查 REFERENCE_ENTRIES 表中的内容。

于 2013-02-13T15:27:27.023 回答
2

此错误通常是由于默认情况下,Tridion 使用上传二进制文件的原始文件名作为其在内容交付端的文件名。如果您没有指定要部署到的不同结构组,那么如果您有两个具有相同原始上传文件名的多媒体组件,Tridion 将尝试将它们部署到内容交付的相同位置。幸运的是,Content Delivery 库足够聪明,可以检测到潜在的覆盖,但您却得到了这个错误。

Firstly - this scenario is way more likely in testing situations. For example, you need to create a bunch of test MMCs, so you copy and paste some that you already have. Guess what - their upload filenames will be the same.

The solution is to ensure that the filename is unique in the structure group you're deploying to. You have a lot of choice about how to do this, but a common approach is to introduce the component ID into the filename when you call AddBinary().

于 2013-02-13T22:23:02.460 回答
0

We encounter this failsafe pretty much every install. While sure, it is a lot more common on development and testing environments, the failsafe can happen in other situations as well. In fact, it can effectively break your entire site if you try and publish an image that's already there (where images are being replaced by the imfamous 'broken image' icon). Not sure how that works, but it can.

To make absolutely sure that uploaded binaries are posted are unique, I'd recommend writing a TBB that checks all binaries and adds the tcm uri to the filename. Add this on every page template to ensure this does not happen. The sooner you do this, the less likely the error occurs. Do bear in mind that this might mean that the upload will always publish a new binary, and if you add the tbb to COMPONENT templates, pages tend to get conflicted. However, it will save you the hassle of explaining the workflow to editors who don't understand (or better, accept) the failsafe.

this page might help you get started: Unique Binary filenames

于 2013-02-15T08:38:00.647 回答