6

我想使用 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 服务器以从安装程序包中获取文档。

4

4 回答 4

9

我可以使用 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 完整文档”zip 中找到(需要登录)。

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

于 2012-06-25T10:57:13.437 回答
0

您可以将 C# 用于自动化任务。创建一个类并使用以下命令对其进行签名:

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

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

然后在自动化操作的脚本中你可以使用这个对象。

于 2012-06-25T08:14:50.850 回答
-1
  1. 安装 visio 插件后使用 visio 创建工作流程图(根据需求)。
  2. 通过提供凭据并选择相关出版物将工作流上传到 SDL Content Manager。
  3. 对于自动化活动:创建 ac# 类库并引用 tridion dll,以及解决方案中的用户 progid 和 comvisible = true。
  4. 为您的工作流程创建必要的功能。
  5. 在 SDL Tridion Content Manager 服务器中注册程序集。
  6. 在工作流“编辑脚本”中,使用 vb 脚本代码来获取 C# 对象及其方法。
  7. 这将简化 VBScript 代码并为开发人员提供使用 c# 工作的灵活性。
于 2012-06-25T11:36:06.087 回答
-2

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

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

于 2012-06-25T19:06:04.480 回答