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 full documentation」zip にあります (ログインが必要です)。

コメントでこれを指摘してくれた Quirijn と Alvin に感謝します。

于 2012-06-25T10:57:13.437 に答える
0

自動化されたタスクには C# を使用できます。クラスを作成し、次のように署名します。

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

そして、/codebaseパラメーターを使用して RegAsm.exe でアセンブリに署名します。

次に、自動アクションのスクリプトでこのオブジェクトを使用できます。

于 2012-06-25T08:14:50.850 に答える
-1
  1. visioプラグインをインストールした後、visioを使用して(要件に基づいて)ワークフロー図を作成します。
  2. クレデンシャルを提供し、関連するパブリケーションを選択して、ワークフローをSDLContentManagerにアップロードします。
  3. 自動化されたアクティビティの場合:ac#クラスライブラリを作成し、tridion dllを参照し、ソリューションでユーザーprogidおよびcomvisible=trueを指定します。
  4. ワークフローに必要な機能を作成します。
  5. SDL TridionContentManagerサーバーにアセンブリを登録します。
  6. ワークフロー「スクリプトの編集」では、vbスクリプトコードを使用してC#オブジェクトとそのメソッドを取得します。
  7. これにより、VBScriptコードが簡素化され、開発者がc#で作業できる柔軟性が提供されます。
于 2012-06-25T11:36:06.087 に答える
-2

TOM .Net API を使用しても問題ありません。ただし、ワークフロー用の新しい TOM .Net では、VBScript (自動アクティビティ用の Visio の [コード] タブ) から WorkItem インスタンスを渡すことができず、TcmUri を渡さなければならないため、Session インスタンスを作成する必要があることを考慮する必要があります。そのワークアイテム。tcmuri しかないため、インスタンス化された Tridion オブジェクトを取得するには、セッションの作成が必須です。ここで推奨されるのは、ComVisible および ProgId 属性を使用して COM クラスとして登録された C# クラスを使用することですが、Com Visible クラスのすべての処理には CoreServices を使用することです。

コア サービスを処理に使用すると、セッションの作成を処理する必要がなくなり、コアははるかに高速でスケーラブルになります。明らかに、パフォーマンスのために TCP バインディングまたは Net Pipes バインディングを使用することに関心があるかもしれません。

于 2012-06-25T19:06:04.480 に答える