【问题标题】:Tridion 2011 SP1 HR1 - which extension to use?Tridion 2011 SP1 HR1 - 使用哪个扩展?
【发布时间】:2013-01-20 07:26:07
【问题描述】:

我们有一个要求,在页面发布时,我们需要:

  1. 查找具有基于特定架构的组件的组件表示。
  2. 从该组件中提取某些字段值并将它们存储在我们的 .NET 应用程序(在内容交付端)可用的自定义数据库表中。

我认为这对于 Deployer 扩展或存储扩展来说都是一个不错的候选者 - 但我有点不清楚哪个以及为什么从未编写过任何一个?

我已经排除了事件系统,因为这种代码将位于 CM 上,这对我来说似乎是错误的“一面”——我的重点是扩展页面后 CD 端发生的事情已发布。

阅读一些关于 Tridion World 的文章(thisthisthisthis),我认为存储扩展会是更好的选择?

Mihai's 的文章似乎很接近我们所需要的,他在这里使用了新的项目类型映射:

<ItemTypes defaultStorageId="brokerdb" cached="true">
    <Item typeMapping="PublishAction" cached="false" storageId="searchdb" /></ItemTypes>

但是,当发布内容时,Tridion 如何“知道”使用这种新的项目类型(它不是defined TYPE_NAMEs 之一,这很重要)?

我应该澄清一下,我是 .NET/C# 开发人员而不是 Java 开发人员,所以这对 Java 人来说可能真的很明显 - 如果是,请道歉!

干杯

【问题讨论】:

    标签: tridion tridion-2011 tridion-content-delivery


    【解决方案1】:

    默认情况下,Tridion 不知道如何部署您的新实体。我的建议是创建一个部署模块(您的链接应该为您提供有关如何执行此操作的足够信息),该模块在(部署过程的)后处理阶段执行,处理部署/传输包中的所有组件,提取所需信息并使用自定义存储扩展来存储所需信息。

    注意:您需要在配置中设置新类型,但您还需要自己从该 Deployer 模块中使用它。

    希望这会有所帮助。

    【讨论】:

    • 谢谢丹尼尔 - 所以我需要两个扩展 - 一个来处理组件并设置类型(部署者分机),一个来处理在我的自定义数据库中持久保存新类型(存储分机) -那正确吗?似乎 Mihai 的文章缺少部署程序分机。解释,除非我误解了?
    • 我可能是错的,但是 cd_storage_conf 中的“捆绑包”不是告诉 Tridion 这个存储层除了“只是”默认值之外还有更多内容吗?您不需要部署器扩展来扩展 JPA 级别(否则它将永远无法在网站上运行,只能在部署器上运行)。在我看来,部署者扩展是一个更简单的扩展点。
    • 嗨,尼尔。您完全正确,Mihai 的文章(“在 SDL Tridion 2011 中扩展内容交付存储”)缺少 Deployer 扩展,但 Jaime 的文章没有(使用 Eclipse 的部署扩展 - 第 5 步:实现您的自定义模块类)。详情请查看“sdltridionworld.com/articles/sdltridion2011/tutorials/…”。
    • @NunoLinhares:你说得对,“捆绑包”只向 Tridion 介绍新类型,但 Neil 提到他想从每个组件中提取一些信息并将其添加到数据库中。 Tridion 方法是将自定义信息转换为实体,创建存储扩展,同时创建部署扩展。总结一下:首先应该构建 Deployer Extension,然后构建存储以实际处理额外数据。请记住,第二部分确实是可选的,但如果我是你,我希望与 Tridion 所做的保持一致
    猜你喜欢
    • 2012-11-29
    • 2012-04-16
    • 2013-01-24
    • 2012-07-02
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    相关资源
    最近更新 更多