问题标签 [tridion-content-delivery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
172 浏览

tridion - 覆盖命名空间的最简单方法是什么

对于我的基于 ASP.Net 的 Tridion2011 驱动的站点,我需要用一些 < custom :ComponentLink/> 替换标准生成的 < tridion :ComponentLink /> 。

(我们假设这个自定义控件的语义是一样的,即:只需要替换命名空间部分。)

执行此操作的最简单和最少干扰的方法是什么?

我的猜测是我应该实现标准LinkTagHandler的替代方案。这是对的吗?

该解决方案唯一的 [infinitesimal] 缺点是它需要在 cd_deployer_conf 中显式配置所有标记处理程序。

编辑

找到了一个简单的简单解决方案来解决别名命名空间的非常具体的任务:

幸运的是,我的所有<tcdl:../>标签都映射到了<custom:../>,否则,这个小骗子将无法正常工作。

总的来说,我更赞成 Peter 和 Nuno 关于创建自定义 TCDL 标签处理程序的建议。

(只需要克服我的懒惰:-)。

编辑 2

哎呀,刚刚注意到,Nuno 建议的正是上述内容!

0 投票
1 回答
630 浏览

tridion - Tridion DynamicContent.Query 按组件模板搜索

我正在尝试使用某个组件模板呈现代理数据库中的所有组件演示文稿。到目前为止的查询代码如下:

我不断得到null结果。我确实有动态内容发布设置,cd_storage_conf.xml并且在 Broker 数据库中发布了一些组件演示文稿。

我从这个文档的理解是,我应该能够使用这种方法检索相关的组件 URI。

我的问题

  1. 我对Query班级能力的理解是否正确?
  2. 我错过了什么,配置和代码方面的吗?
  3. 还有其他方法可以通过组件模板检索代理内容吗?

编辑

附加信息:关于ItemTemplateCriteria,我只假设这用于按组件模板搜索记录。我假设是因为还有另一个标准类称为PageTemplateCriteria. 如果这个假设无效,请纠正我。

编辑

附加信息:我检查了代理数据库中的COMPONENTS,SCHEMATEMPLATES表,但没有找到已发布的组件。默认情况下cd_storage_conf.xml,发布的内容必须发送到代理。作为参考,这是我的配置:

0 投票
1 回答
1901 浏览

tridion - 页面和组件的发布陷入不同阶段

从 Tridion 5.3 升级到 Tridion 2011 SP1 后,我们再次发布大量页面和组件(因为我们将现有的组件模板和页面模板转换为复合模板。在发布时,少数页面和组件在“准备传输”或“正在传输”或“等待部署”状态,最终在不同的时间因不同的错误而失败

1) 传输失败:无法使用 HTTPS 传输 tcm_0-277383-66560.Content.zip 2) 轮询目的地通知:iH1DJ7u5t1piMKRZi9OS0Q== 已超出交易轮询尝试次数:tcm:0-277361-66560

解决此问题的任何想法,我们有 1 个线程用于发布和渲染。数据库是 SQL Server,使用 HTTPUpload.aspx 进行上传。

CD_Transport.log

在进行了很多与投票相关的整体之后,可以进行交易 277451

0 投票
1 回答
179 浏览

iis-7.5 - Windows 2008 R2 64 位机器上的 ComponentPresentationAssembler 错误 (Tridion 5.3)

我们正在使用 Tridion 5.3 并将我们的内容交付服务器从 32 位 Windows 2003 移动到 Windows 2008 R2 64 位。

我们确实重新安装了内容交付和发布工作正常,但是当我们在浏览器中浏览网站时出现以下错误。

由于以下错误,检索具有 CLSID {8602F9B1-4545-4B0E-BA98-CD927A34DAA9} 的组件的 COM 类工厂失败:80070005。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.UnauthorizedAccessException:检索具有 CLSID {8602F9B1-4545-4B0E-BA98-CD927A34DAA9} 的组件的 COM 类工厂失败,原因是以下错误:80070005。

ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 上的网络服务),如果应用程序不模拟,则使用该标识。如果应用程序通过 模拟,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。

要授予 ASP.NET 对文件的访问权限,请在资源管理器中右键单击该文件,选择“属性”并选择“安全”选项卡。单击“添加”以添加相应的用户或组。突出显示 ASP.NET 帐户,然后选中所需访问权限的框。

源错误:

我们确实为网络服务、IUSR 用户提供了访问网站文件夹的权限,但没有运气。

我们在新环境中有 IIS 7.5。

有谁知道什么会导致这个错误?

0 投票
1 回答
551 浏览

tridion - 无法在 SDL Tridion 中获取呈现的内容错误

我想知道在 SDL Tridion 中可能出现“无法获取呈现的内容”错误的情况。我们使用 VBScript 进行模板化,我的事件日志中列出了一些场景。但我无法确定它的头或尾。

场景一:无法获取Page (tcm:48-215280-64)的渲染内容。

场景二:

场景 3:

场景四:

场景 5:

场景 6:

如果你们中的任何人都可以给我任何关于问题可能出在哪里的线索,这将是有帮助的,这样我就可以有线索了。提前非常感谢!

0 投票
1 回答
333 浏览

tridion-2011 - 在负载均衡场景中使用代理数据库的 Tridion 部署程序配置

我目前正在将应用程序升级到 Tridion 2011。

我们有两个负载平衡的网络服务器和一个托管代理数据库的数据库服务器。所有内容都存储在代理数据库中,所有页面都本地部署在网络服务器上(Tridion 部署程序安装在网络服务器上)。

因为代理会将内容和元数据写入共享数据库,所以当我们部署到两个网络服务器时会出现错误,因为它们都会尝试存储内容。我知道有几种方法可以解决这个问题..

  1. 部署到将内容写入 Broker DB 的一个网络服务器,并使用 ftp 同步将页面和目录复制到第二个网络服务器。
  2. 部署到一个网络服务器,让代理将文件写入共享网络磁盘,并将两个网络服务器都指向共享网络磁盘,而不是将文件存储在本地。
  3. 部署到两个网络服务器并让它们在单独的数据库上工作。

我想知道 Tridion 2011 是否具有更高级的代理功能来启用我发布到两个网络服务器的场景,但只有一个网络服务器实际将内容写入数据库(但都是读取),所以我可以使用 1 个代理数据库代替2。

我希望这更清楚一点。

0 投票
1 回答
1125 浏览

tridion - 我应该使用 tcdl、Tridion 标签还是 RenderComponentPresentation?

使用 Tridion 管理“全球”徽标

例如,要使用 SDL Tridion 管理网站范围的徽标及其文本元素,我希望它在一个组件中,由(动态)组件模板呈现,并由页面模板放置。我的要求包括:

  1. 徽标作为组件——图像作为多媒体 (mm) 组件和链接、alt(即“home”)和可选容器组件中的其他文本
  2. 动态组件展示 (DCP) - 能够管理徽标的标记展示并发布更改,而无需发布每个页面
  3. 可共享——能够在较低的出版物中本地化组件中的多媒体和文本,而不是模板

作者不需要将徽标作为组件演示 (CP) 放置在每个页面上,尽管仅在主页上的徽标 CP 可以提供动态链接。

RenderComponentPresentation(), TCDL, 或Tridion“非 CP”的标签

对于这种无 CP 方法,我认为 RenderComponentPresentation() 或TCDL 标记将是正确的“不可知论”方法。一个比另一个更受欢迎吗?

例如,我的模板输出:

这些在文件系统上转换为以下内容。

每个都呈现交付端,以便用户在浏览器中看到正确的 CP。

问题):

  1. 任何方法都可以让我们获得从 PT 引用的 DCP,其格式不可知,可以在演示端检索,避免全站点发布。它实际上不在页面上,因此我们必须确保使用动态 CT 发布徽标(在本例中为 html 片段)。我错过了什么吗?

  2. RenderComponentPresentation() 是优先于 TCDL 还是特定的表示端语法?有什么我真正想要的理由<tridion:ComponentPresentation runat="server">吗?

编辑:我错过了Type="Dynamic"属性和值,还有片刻认为 RenderComponentPresentation 没有创建正确的 CP 引用。

0 投票
1 回答
94 浏览

tridion - Success 文件夹中的传输包

cd_deployer_conf我们设置Cleanup="false的文件中,传输包在发布后不会被删除,但我们可以看到 3 个不同的包用于单个发布操作,例如

tcm_0-264891-66560.COMMIT

tcm_0-264891-66560.Content

tcm_0-264891-66560.PREPARE

这是正常行为吗?或者我们可以做一些配置以便只创建一个(.content)包?

0 投票
1 回答
412 浏览

tridion - Tridion Query:根据关键字列表过滤/排除组件

我正在使用 Tridion.ContentDelivery.DynamicContent.Query。我正在尝试过滤组件并通过分类关键字排除其中一些组件,我的代码:

问题是,结果我有一个仅按分类关键字标准之一过滤的列表。应用 excludeKeywords 列表中的第一个条件,而忽略所有其他条件。

0 投票
1 回答
988 浏览

tridion - Tridion Experience Manager (XPM) 实施

我试图了解围绕实现 Tridion XPM 的不同工件。不幸的是,我没有找到任何可以回答我的问题的文章。

例如,内容交付服务器(在 WebSphere 上)可以有四种不同的应用程序,一种用于内容交付(处理发布),一种用于 Web 服务(oData 实现),一种用于 XPM(带有会话预览)和实际预览应用程序。我假设我们可以将这些应用程序中的一个或多个合并为一个以实现简单的实现(使用一个或两个消费网站)。

我的问题是:

  1. 我们如何简化要制作的应用程序 (WAR) 的数量?虽然我总是喜欢将预览应用程序与 Tridion 的框架分开。将 Content Delivery 会话预览 Web 服务作为独立的 Java/JSP Web 应用程序与将其添加到现有应用程序相比有哪些好处?
  2. 如何将 webservice(oData) 关联/集成到 XPM 或其他常见的基本功能,如组件链接?

例如,如果我在未启用 oData 的情况下发布页面,它将拆分tridion:ComponentLink标签,就像我启用它一样,它将拆分tcdl:Link标签。所以我需要想出自定义类来阅读这些标签?这最终需要在预览应用程序中添加 Tridion 框架。(假设我没有在我的预览中包含任何 Tridion 框架来获得干净的应用程序依赖项)

我查看了 Tridion 的实时站点以获取更多信息,但我找不到很多有用的信息来解决我的问题。