Tridion 发布最终会发布许多组件并耗尽内存
我们注意到组件发布需要很长时间 我们试图发布的组件中包含pdf和jpg。它还有到其他组件的链接 查看日志,我们发现publisher正试图从组件中发布多媒体项目,并从链接组件中发布MM组件。链接的零部件具有更多链接的零部件 有些组件在很长时间后发布,有些组件在引发内存异常时失败Tridion 发布最终会发布许多组件并耗尽内存,tridion,Tridion,我们注意到组件发布需要很长时间 我们试图发布的组件中包含pdf和jpg。它还有到其他组件的链接 查看日志,我们发现publisher正试图从组件中发布多媒体项目,并从链接组件中发布MM组件。链接的零部件具有更多链接的零部件 有些组件在很长时间后发布,有些组件在引发内存异常时失败 这是Tridion的一只虫子吗?以前是否有人遇到过此问题?这是出于设计考虑,如果要阻止SDL Tridion解析这些附加项,则需要修改发送给发布者的说明。如果您使用的是SDL Tridion 2009或更早版本,则需要使
这是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()
- 旧的
(在XSLT组件模板中),和/或publishbinary()
模板构建块(TBB),它是在包中发布二进制文件
TBB默认完成操作的一部分
将显示哪些项目正在使用您的项目使用位置
- 发布项目时,
选项应与上述内容匹配显示要发布的项目
除了扩展冲突解决程序外,还需要查找要发布的正确项。例如,不是发布从页面链接的组件,而是让作者发布页面或链接(未链接到)组件。Chris,我们仍在使用Tridion 2009 Tridion 2009也可以使用自定义解析程序,该版本中引入了它。谢谢你,努诺。我偶然发现了你的博客,对你很有帮助。很高兴知道,2011年同样的代码也能工作。小澄清(文本)组件不一定包含多媒体。它们要么有指向多媒体(mm)组件的组件链接,要么有指向mm的富文本字段。多媒体组件确实“有”二进制文件,但每个mm组件只有一个上载。区别很重要,因为二进制发布不是自动的,它是从模板逻辑开始的。