给定具有组件A和组件A的页面已发布到LIVE目标。 之后,相同的组件A已经被修改并再次发布到Staging target。
我们需要知道哪个版本的组件A已发布到LIVE以及哪个版本的组件A已发布到Staging。 是否有可能获得已在每个目标中发布的组件版本?
答案 0 :(得分:3)
您正在寻找的东西是不可能的OOTB。您可以使用PublishEngine.GetPublishInfo(IdentifiableObject item)
来推断此信息,这会返回ICollection<PublishInfo>
,其中包含项目发布时的日期。
然后,您可以将此信息与项目的版本信息相结合,并确定(通过查看发布时间与版本签入时间)发布时使用的版本。
但是,版本可能会被删除,因此无法保证此方法能够为您提供正确的信息。
我建议你将你的页面版本发布为CustomMeta(可能使用类似于MetaDataProcessor的东西,这是TDFramework的一部分,用于动态创建元数据)。然后,您可以查询Content Delivery DB并检索此信息。
或者,对于CM端解决方案,您可以使用事件系统并拦截发布操作。然后由您来存储页面版本(例如,应用程序数据可能是一个很好的候选者)。