【问题标题】:Tridion 2011 workflow minor version increments using event handler custom code使用事件处理程序自定义代码的 Tridion 2011 工作流次要版本增量
【发布时间】:2012-11-28 05:49:41
【问题描述】:

我们也有 Tridion 2011 和页面处理工作流程。我们在页面预保存上有事件处理程序。当用户保存页面时,会调用事件处理程序来修改页面元数据并启动工作流。因此,每次编辑器保存单击时,页面的次要版本都会变为 0.3。所以基本上: 0.1 - 页面保存的 Tridion 版本 0.2 - 为保存页面元数据而执行的事件处理程序代码,并且由于 Save() 调用,此代码被再次调用以导致下一个次要版本 0.3 - 执行相同的事件处理程序代码。

我想要实现的是在每个用户保存点击时将次要版本保持为 0.1。

我尝试了 Pre Save Post Save、Pre Check in 和 Post Check in 并更改了执行顺序,即事件系统订阅调用的最后一个参数,但没有任何帮助。所以请。帮助:)

【问题讨论】:

标签: events workflow version tridion tridion-2011


【解决方案1】:

你为什么在你的活动中调用 Save()?如果您在保存页面之前进行更改,那么它应该一次性存储所有内容,而无需调用 Save。

public PageEvent()
{
    EventSystem.Subscribe<Page, SaveEventArgs>(ChangePageTitle, EventPhases.Initiated);
}
private void ChangePageTitle(Page page, SaveEventArgs args, EventPhases phases)
{
    page.Title = "Nuno was here " + page.Title;
}

这将改变页面标题,正如你所见,我没有调用 Save,因为编辑器已经这样做了。

【讨论】:

  • 删除 page.Save() 后,我看到该页面的历史记录有一个审核条目,用户设置为 Tridion Content Manager NT System...当我有 page.Save() - 它拥有保存页面的用户名。当我尝试 page.Session.User.Id.. 它是保存页面的人的用户 ID。
  • 保存正在您的工作流代理的上下文中执行,而不是用户...
猜你喜欢
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 1970-01-01
  • 2012-06-19
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多