我在 SDL Tridion 项目上使用 DD4T,并在存储配置中使用以下配置,以便将二进制文件(在这种情况下,二进制文件是多媒体组件中存储的任何内容)发布到文件系统,但将页面保留在内容交付数据库中。
我发现随着对所需二进制文件的要求发生变化,例如客户想要提供 Adobe Illustrator 文件以供下载,我需要通过更改配置并重新启动部署程序来将更多类型添加到列表中,这并不理想。
<ItemTypes defaultStorageId="defaultdb" cached="false">
<Item typeMapping="Page" cached="false" storageId="defaultFile"/>
<Publication Id="9" defaultStorageId="defaultdb" cached="true">
<Item typeMapping="Binary" itemExtension=".jpg" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".gif" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".pdf" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".doc" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".docx" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".xls" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".xlsx" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".xlsm" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".jpeg" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".png" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".ico" storageId="defaultFile" cached="true"/>
</Publication>
</ItemTypes>
Run Code Online (Sandbox Code Playgroud)
谁能告诉我是否有办法更改上述内容,以便给定出版物的所有多媒体组件的内容都转到文件系统?我似乎无法在文档中找到这个。
Tridion 2011 将所有日志配置集中在 logback.xml 文件中。如何在 Tridion 2011 中配置链接解析的详细日志记录?
我不认为是这样,因为它使用了 DeployerLog。我错过了什么吗?
<logger name="com.tridion.tcdl">
<appender-ref ref="rollingDeployerLog"/>
</logger>
Run Code Online (Sandbox Code Playgroud) 按照安装指南解压缩 webservice.zip,复制 JDBC 驱动程序和配置 XML 后,当我尝试在浏览器中访问时,我看到:
{"error":"invalid_grant"}
Run Code Online (Sandbox Code Playgroud)
一些挖掘表明这与 OAuth 有关。有任何想法吗?
在客户的 SDL Tridion 2009 SP1 实现中,我希望将一些 DCP 作为 HTML 片段发布到文件存储中。这是因为当前的实现使用文件存储上的 ASCX 组件,我们需要用 HTML 片段作为输出替换此功能。
查看 2009 SP1 内容交付实施手册,似乎只有 4 个配置设置可以在 cd_broker_conf.xml 文件中的 Publication -> Dcp 配置节点中使用。这些是:
是否可以将 DCP HTML 片段存储在文件存储中,如果可以,应选择哪个配置设置?
我知道我可以将它们存储为 .txt 文件,但我更希望它们是 .html 文件。
我们正在我们的 Tridion 2011 SP1 HR1 环境中设置 SmartTarget/Fredhopper 并且遇到了障碍——因此问题来了!
<SmartTarget addToFredhopper="true"/>发送给部署者的包中的条目。2013-01-23 10:46:08,148 INFO FredhopperDeployerModule - 开始向 Fredhopper 部署传输包“D:\Tridion\incoming\Zip\tcm_0-22268-66560.Content\”。
Fredhopper 安装在不同的服务器上,因此我们使用 SmartTarget Web 服务(非 J2EE 和 Tomcat)并在 smarttarget_conf.xml 中进行了配置:
Location>http://server:8080/SmartTargetDeploymentWebService/SmartTargetDeploymentWebService?wsdl</Location>
Run Code Online (Sandbox Code Playgroud)
在浏览器中快速检查此 URL 会成功响应 WSDL。我们还将服务配置为调试级别,但从未写入任何日志文件,这表明部署者从未成功向其发送任何内容。
所以:
任何人都可以就下一步检查或我们遗漏的任何明显问题提出建议吗?
更新_
核心日志中的附加信息 - 这里似乎无法执行 onSuccess ,这看起来有点可疑!
2013-01-23 14:53:12,094 INFO FredhopperDeployerModule - 开始将传输包“D:\Tridion\incoming\Zip\tcm_0-22272-66560.Content\”部署到 Fredhopper。
2013-01-23 14:53:12,109 调试 RMICacheChannelConnector …
我已经实现了一个基于 Tridion UGC API 的垃圾邮件过滤器,现在我希望配置我的 UGC Web 服务来使用它。到目前为止,通过服务添加评论时似乎没有调用垃圾邮件过滤器。我目前的配置如下:
我已将程序集 DLL 放在 Web 服务应用程序的 bin 目录中。我编辑了该web.config文件以添加以下内容:
<appSettings>
<add key="Comment.SpamFilter.Implementation" value="UGCDemo.BadWordsFilter"/>
<add key="Comment.SpamFilter.Assembly" value="SpamFilter.dll"/>
</appSettings
Run Code Online (Sandbox Code Playgroud)
我能够验证实现类和程序集的名称,如以下 PowerShell 输出所示:
PS C:\inetpub\LiveCDService
> ls
Directory: C:\inetpub\LiveCDService
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/28/2012 5:05 PM bin
-a--- 11/4/2011 3:38 PM 212 access_token.svc
-a--- 11/4/2011 3:38 PM 323 Global.asax
-a--- 11/4/2011 3:38 PM 138 linking.svc
-a--- 11/4/2011 3:38 PM 198 odata.svc
-a--- 5/28/2012 5:41 PM 11073 Web.config
-a--- 5/28/2012 5:10 …Run Code Online (Sandbox Code Playgroud) 我有一个运行 ISAPI 过滤器的网站,提供 SSO 功能以及匿名和基本身份验证。
ISAPI 过滤器使用基本凭据填充每个请求的“授权”标头,例如基本 base64EncodedString(用户名:密码),我可以使用 Fiddler 看到它。
接下来,我有一个 HTTP 模块从“授权”标头中获取基本凭据,对它们进行解码并将用户名放入新的标头值中。然后 Tridion 选取新标头并由内置 SSO 模块使用。
此解决方案适用于 IIS6,但不适用于 IIS7.5;在 IIS7.5 中,请求中不存在“授权”标头。我检查了 HTTP 模块和虚拟 ASPX 页面中的标头。
当我们尝试在数据库向导中添加 MTSUser 详细信息时,我们收到错误:
“警告:MTSUser 在本地计算机上的登录尝试失败,原因:未授予登录类型。如果您为管理系统服务器输入的值正确,请选择“确定”,否则选择“取消”以返回上一个对话框”。
我非常确定帐户详细信息是正确的,并且我偶然发现了 2003 年的一篇旧 Tridion 论坛帖子,该帖子指出这是在某些情况下向导尝试的登录类型可能失败的已知问题。它旨在尝试提供一些即时反馈,例如,如果密码错误。
九年后还是这样吗?我想点击继续,但也想避免进一步出现问题!
我们要求允许我们的用户提交有关他们“项目”的信息——他们上传的一小段文本和单个图像。最终,我们将有一个用户贡献项目的列表页面,其他人可以对其进行评论和评分。
我们决定在第一阶段使用 Tridion 的 UGC 进行站点范围内的评级和评论,这让我开始思考 - UGC 与 Tridion 发布的页面和组件相关联,如果我们希望在用户提交的项目中使用 UGC,他们将拥有要在 Tridion 中作为组件本身创建,而不是位于某些自定义数据库表中?
这是核心服务可以进来的地方吗?我的理解是 CD Web 服务用于检索,而不是用于与内容管理器交互。
在架构上是否可以(!)只向我们的实时应用程序服务器公开核心服务,以便我们的后端 .NET 代码可以创建“项目组件”,然后可以由编辑器发布,允许对其进行评论?
除了“将核心服务暴露给实时服务器”之外,一切听起来都非常整洁。如果没有这个,尽管我必须编写一种自定义方式将其“传输”回内容管理器 - 也许像 Audience Manager Sync 一样工作?
以前有人做过这个吗?
只是想检查一下阅读文档后我不是 100% 确定,但在我们的场景中,我们有一个单独的服务器运行部署程序(HTTP 上传),一个单独的 SQL Server 和 Broker 和两个演示服务器,每个服务器都带有 API已安装服务器角色。
我们想利用 Tridion 对象缓存
在每个演示服务器上:
在部署服务器上:
我这对吗?基本上我不确定 CCS 是否在每个 API 服务器上运行以被 Deployer 通知,或者它是否在 Deployer 服务器上运行并且 API 服务器指向它?
干杯