我可以使用哪个 API 来编写 SDL Tridion 工作流活动



我想使用 SDL Tridion 2011 SP1 创建工作流,并且正在浏览实时内容门户中的文档。

当我浏览以下文档时,我有几个问题:

  1. 是否可以使用 C# (TOM.NET) 进行自动化活动/决策?还是应该只使用 VBScript (TOM)?实时内容门户中是否提供了用于自动化活动/决策的示例代码?

  2. 如果不允许在工作流中使用 C# (TOM.NET),为什么 TOM.NET API 文件中给出了它的命名空间/类/成员引用?

  3. 如果 VBScript 只允许在 WF 中使用,我在哪里可以获得 SDL 实时内容中的代码/TOM API 参考?到目前为止,我无法访问 SDL Tridion 服务器来从安装程序包中获取文档。

是否可以将 C# (TOM.NET) 用于自动化活动?还是我应该只使用 VBScript (TOM)?

可以在 C# 代码中使用 TOM 来编写自动化活动。为此提供了一个主互操作程序集 (IIRC)。

是否允许在工作流中使用 TOM.NET?

支持从现有 TOM.NET 代码(即 TBB 或 DataExtender)中访问工作流项。因此,您可以查询工作流中的项目、启动工作流等。但是,不支持使用 TOM.NET 编写自动化工作流活动

其原因与我记得的不兼容的线程模型有关。但我基本上只是相信开发人员的话;他们一定比我更清楚。

在哪里可以获得代码/TOM API 参考?

Tridion 的 API 参考文档不在 LiveContent 中,而是以 CHM(或压缩的 JavaDoc)文件的形式提供。有关 TOM API 的最新文档,请参见 SDL Tridion World 上 Tridion 2009 文档页面上的"SDL Tridion 2009 完整文档"压缩版(需要登录)。

感谢Quirijn和Alvin在评论中指出这一点。

可以将 C# 用于自动化任务。创建一个类并签名:

[ProgId("[Namespace].[Class Name]")]
[ComVisible(true)]

并使用 RegAsm 对程序集进行签名.exe并使用 /codebase 参数。

然后在自动操作的脚本中,您可以使用此对象。

    安装 visio
  1. 插件后,使用 visio 创建工作流图表(根据要求)。
  2. 通过提供凭据并选择相关出版物,将工作流上传到 SDL 内容管理器。
  3. 对于自动化活动:创建一个 c# 类库并引用 tridion dll,用户 progid 和 comvisible = true 在解决方案中。
  4. 为您的工作流程创建必要的功能。
  5. 在 SDL Tridion 内容管理器服务器中注册程序集。
  6. 在工作流"编辑脚本"中使用 VB 脚本代码获取 C# 对象及其方法。
  7. 这将简化 VBScript 代码,并为开发人员提供使用 c# 工作的灵活性。

使用 TOM .Net API 是可以的。但是,我们必须考虑到我们需要创建会话实例,因为我们新的 TOM .Net for Workflow 不允许您从 VBScript(Visio 中的"自动活动代码"选项卡)传递工作项实例,并且您被迫传递该工作项的 TcmUri。为了实例化 Tridion 对象,必须创建会话,因为您只有一个 tcmuri。此处的建议是使用 ComVisible 和 ProgId 属性将注册为 COM 类的 C# 类使用,但将 CoreServices 用于 COM 可见类中的所有处理。

如果您使用核心服务进行处理,则无需处理会话创建,并且您的核心将更快且可扩展。您可能显然有兴趣使用 TCP 绑定或网络管道绑定来提高性能。

最新更新