小编Gus*_*itt的帖子

Tridion工作流 - 如何在事件处理程序中的活动中获取组件

我需要在事件系统中获取与Activity关联的组件.

我尝试使用以下方法获取组件ID:

    public void OnActivityInstanceFinishPost(ActivityInstance activityInstance, string finishMessage, string nextActivity, string dynamicAssignee)
    {

        if (activityInstance.ProcessInstance.ProcessDefinition.Title.Equals("Component Process IESE"))
        {
            if (activityInstance.ActivityDefinition.Title.Equals("Create or Edit Component"))
            {
                WFE workflow = tdse.GetWFE();
                try
                {
                    Component comp = (Component)activityInstance.ProcessInstance.Item;

                    XMLReadFilter filter = new XMLReadFilter();
                    String processHistoryId = activityInstance.ProcessInstance.ID.Replace("131076", "131080");

                   ProcessHistory hist = (ProcessHistory)tdse.GetObject(activityInstance.ProcessInstance.ID, EnumOpenMode.OpenModeView, Constants.URINULL, filter);

                }
                catch (Exception e)
                { }

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我们尝试不同的选择:

    Component comp = (Component)activityInstance.ProcessInstance.Item;
Run Code Online (Sandbox Code Playgroud)

但是此解决方案返回null.

然后我在网上找到了下一个解决方案:

 XMLReadFilter filter = new XMLReadFilter();
 String processHistoryId = activityInstance.ProcessInstance.ID.Replace("131076", "131080");

 ProcessHistory hist = …
Run Code Online (Sandbox Code Playgroud)

workflow tridion

6
推荐指数
1
解决办法
582
查看次数

如果我要发布或取消发布,如何在自定义解析器中确定?Tridion 2009 SP1

我正在尝试捕获未发布组件的时间.我尝试了一些方法,但我没有想要的结果.我的尝试是:

  1. 在事件系统中.但这不起作用,因为Windows中有一个关于MSXML和COM +的已知错误.

  2. 我尝试构建自己的IResolver但在那里我无法确定它是否是发布或取消发布操作.

  3. 我尝试构建自己的ITransportPackageHandler.在那里,我有一个名为HandleResolvedItemForUnPublishing的函数,但是我没有关于PublicationTarget的任何信息,我不知道它是否从staging或live中取消发布.

有人能帮我吗?我认为如果以下情况我可以解决问题:

  1. 在IResolver,我可以确定组件是否取消发布.
  2. 在ITransportPackageHandler,我可以访问PublicationTarget信息
  3. 如果我可以在上下文变量或类似的东西中将信息从IResolver传递给ITransportPackageHandler.

非常感谢你.

古斯塔沃.

tridion tridion2009

4
推荐指数
1
解决办法
180
查看次数

Redis - 在过期之前重新加载内容

在 Akamai 中,当过期时间已过 90% 时,我们可以命令从源重新加载内容。在这种情况下,Akamai 正在提供缓存的内容,但正在访问源以重新加载新内容。

Redis中有类似的功能吗?

例如,我将一个内容在缓存中放置了 5 个小时。但如果有人在仅剩 30 分钟或更短的时间内访问此内容,我想重新加载它。如果用户在此期间访问它,我将提供缓存的内容,但在后台我们将重新加载新内容。

是否可以?

谢谢。

redis

1
推荐指数
1
解决办法
1532
查看次数

标签 统计

tridion ×2

redis ×1

tridion2009 ×1

workflow ×1