Tridion 取消发布任何项目时是否向传输包清单(instructions.xml)添加信息?

Tridion 取消发布任何项目时是否向传输包清单(instructions.xml)添加信息?,tridion,Tridion,我有一个用例,我需要添加关于创建当前发布事务的用户的信息(不仅仅是他们的用户名,我还需要组成员身份和一些其他详细信息),并将其传递给部署器扩展 发布时,使用以下代码相对容易做到这一点 engine.PublishingContext.RenderedItem.AddInstruction( InstructionScope.Global, instruction); 您可能会注意到,此方法“AddInstruction

我有一个用例,我需要添加关于创建当前发布事务的用户的信息(不仅仅是他们的用户名,我还需要组成员身份和一些其他详细信息),并将其传递给部署器扩展

发布时,使用以下代码相对容易做到这一点

engine.PublishingContext.RenderedItem.AddInstruction(
                                      InstructionScope.Global, instruction);
您可能会注意到,此方法“AddInstruction”仅适用于“RenderItem”,但取消发布指令不会呈现项目,因此我无法使用相同的技术


除非在生成包清单时(例如在自定义解析器中)在文件系统中对其进行黑客攻击,否则您将如何处理此需求?

我想知道这是否是缺少的扩展点。毕竟,我明白了为什么你想用一个未发布的文件来传输额外的数据。因此,首先,我建议一个增强请求,添加一些功能来支持这个用例


说到你问题的重点。。。如何在不破坏软件包的情况下实现某些东西。也许你可以通过另一种机制提供这些信息。例如,您可以编写一个在content manager上运行的web服务,在查询给定的发布事务ID时为数据提供服务。

您是否在部署器中有关于如何处理此信息的更多信息。是否可以选择在事件处理程序执行取消发布操作后捕获该操作,然后创建第二个发布操作,该操作将消息和附加信息发送给部署人员?(我知道这意味着两次往返,但目前我想不出其他方法)。从R4开始,取消发布操作就有点棘手,回到R3,我们实际上有一些代码是在取消发布阶段由模板执行的(尽管当时都是Perl)。谢谢Chris,这可能是最简单的方法。无论如何,我都会提交一个增强请求。我将讨论发布一个“特殊”组件或页面只是为了传递此类信息,而deployer扩展必须理解这一点。我认为这确实是一个缺失的扩展点。已提交增强请求。