Tridion 发布最终会发布许多组件并耗尽内存

Tridion 发布最终会发布许多组件并耗尽内存,tridion,Tridion,我们注意到组件发布需要很长时间 我们试图发布的组件中包含pdf和jpg。它还有到其他组件的链接 查看日志,我们发现publisher正试图从组件中发布多媒体项目,并从链接组件中发布MM组件。链接的零部件具有更多链接的零部件 有些组件在很长时间后发布,有些组件在引发内存异常时失败 这是Tridion的一只虫子吗?以前是否有人遇到过此问题?这是出于设计考虑,如果要阻止SDL Tridion解析这些附加项,则需要修改发送给发布者的说明。如果您使用的是SDL Tridion 2009或更早版本,则需要使

我们注意到组件发布需要很长时间

我们试图发布的组件中包含pdf和jpg。它还有到其他组件的链接

查看日志,我们发现publisher正试图从组件中发布多媒体项目,并从链接组件中发布MM组件。链接的零部件具有更多链接的零部件

有些组件在很长时间后发布,有些组件在引发内存异常时失败


这是Tridion的一只虫子吗?以前是否有人遇到过此问题?

这是出于设计考虑,如果要阻止SDL Tridion解析这些附加项,则需要修改发送给发布者的说明。如果您使用的是SDL Tridion 2009或更早版本,则需要使用事件系统来执行此操作。如果您使用的是2011版或更高版本,则可以利用新的自定义解析器。也许您可以指定您正在使用的版本

如果您在2011年,请阅读这篇关于自定义解析器的文章:

如果您在2009年,您可能会发现此活动示例非常方便

public void OnComponentPublishPre(Component Component, IXMLDOMDocument2 publishInstruction)
{
    //Code to prevent publishing linked components

    XmlNode nodePropagateLinks = (XmlNode)publishInstruction.selectSingleNode("ResolveComponentLinks");
    if (nodePropagateLinks == null)
    {
        IXMLDOMNode nodeResolveLinks = publishInstruction.createNode(XmlNodeType.Element, "ResolveComponentLinks", "http://www.tridion.com/ContentManager/5.0");
        nodeResolveLinks.text = "false";
        publishInstruction.documentElement.appendChild(nodeResolveLinks);

    }
}

发布一个“连接良好”的组件会触发大量要包含在发布操作中的项目,这一点确实很常见。在这种情况下,Tridion在确定要包含哪些链接项时通常采用全有或全无的方法


如果你想对发布的内容有更多的控制,你应该考虑写一个自定义解析器,如这里所描述的:

< P>雪崩弗兰克通常指的是3个部分的混合:

  • 二进制出版
  • 动态模板
  • 由项目使用
二进制发布

您的模板发布多媒体项目时通常包括:

  • addbinary()
  • 旧的
    publishbinary()
    (在XSLT组件模板中),和/或
  • 在包中发布二进制文件
    模板构建块(TBB),它是
    默认完成操作的一部分
    TBB
如果我们跳过这一步,作者需要单独发布多媒体,通常使用动态组件模板

每个动态模板

多个动态组件模板可以为每个动态组件表示发布二进制文件。三个动态模板可能意味着三倍于(二进制)发布请求的数量。此外,如果您的逻辑收集了这些链接,任何给定的模板都可以在其他组件中发布二进制文件

“所用”控制传播 链接到项目的不应发布(除上述二进制文件外)。另一种方法是——使用您的项目发布已经发布的项目。这包括包含链接到项目的项目或组件的页面

如何检查

  • 使用位置
    将显示哪些项目正在使用您的项目
  • 发布项目时,
    显示要发布的项目
    选项应与上述内容匹配

除了扩展冲突解决程序外,还需要查找要发布的正确项。例如,不是发布从页面链接的组件,而是让作者发布页面或链接(未链接到)组件。

Chris,我们仍在使用Tridion 2009 Tridion 2009也可以使用自定义解析程序,该版本中引入了它。谢谢你,努诺。我偶然发现了你的博客,对你很有帮助。很高兴知道,2011年同样的代码也能工作。小澄清(文本)组件不一定包含多媒体。它们要么有指向多媒体(mm)组件的组件链接,要么有指向mm的富文本字段。多媒体组件确实“有”二进制文件,但每个mm组件只有一个上载。区别很重要,因为二进制发布不是自动的,它是从模板逻辑开始的。