我们要求在页面发布时,我们需要:
我认为这是Deployer扩展或Storage扩展的一个很好的候选者 - 但我有点不清楚哪个以及为什么从未写过?
我已经排除了事件系统,因为这种代码会位于CM上,这对我来说似乎是错误的“一面” - 我的重点是扩展在页面之后在CD端发生的事情。公布
阅读一些关于Tridion World的文章(this,this,this和this),我认为存储扩展会是更好的选择吗?
Mihai's文章似乎非常接近我们需要的内容,他使用新的项目类型映射:
<ItemTypes defaultStorageId="brokerdb" cached="true">
<Item typeMapping="PublishAction" cached="false" storageId="searchdb" /></ItemTypes>
但是Tridion如何“知道”在发布内容时使用这个新项目类型(它不是defined TYPE_NAME中的一个,这是重点)?
我应该澄清一下我是一个.NET / C#dev而不是一个Java开发人员,所以这对Java人员来说可能是显而易见的 - 如果它是道歉的话!
干杯
答案 0 :(得分:5)
默认情况下,Tridion不会知道如何部署新实体。我的建议是创建一个Deployer模块(你的链接应该给你足够的信息,告诉你如何做到这一点),它在后处理阶段(部署过程)执行,处理部署/传输包中的所有组件,提取需要的信息,并使用自定义存储扩展来存储所需的信息。
注意:您需要在配置中设置新类型,但您还需要自己从该部署模块中使用它。
希望这有帮助。