Tridion 2011 SP1 HR1 - 使用哪个扩展?

Nei*_*eil 4 tridion tridion-content-delivery tridion-2011

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

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

我认为这是Deployer扩展或存储扩展的一个很好的候选者 - 但是我有点不清楚哪个以及为什么从未写过?

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

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

Mihai的文章似乎非常接近我们需要的内容,他使用新的项目类型映射:

<ItemTypes defaultStorageId="brokerdb" cached="true">
    <Item typeMapping="PublishAction" cached="false" storageId="searchdb" /></ItemTypes>
Run Code Online (Sandbox Code Playgroud)

但是,当内容发布时,Tridion如何"知道"使用这个新的项目类型(它不是定义的TYPE_NAME之一,这有点重要)?

我应该澄清我是一个.NET/C#dev而不是Java开发人员,所以这对Java人员来说可能是显而易见的 - 如果它是道歉的话!

干杯

Dan*_*agu 5

默认情况下,Tridion不会知道如何部署新实体.我的建议是创建一个Deployer模块(你的链接应该给你足够的信息,告诉你如何做到这一点),它在后处理阶段(部署过程)执行,处理部署/传输包中的所有组件,提取所需信息并使用自定义存储扩展来存储所需信息.

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

希望这可以帮助.