4

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

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

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

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

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

Mihai 的文章似乎和我们需要的很接近,他使用了一个新的项目类型映射:

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

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

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

干杯

4

1 回答 1

5

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

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

希望这可以帮助。

于 2013-02-05T11:59:28.437 回答