TeamSiteワークフローの作り方

2020.03.19  株式会社エクサ

リードエンジニアブログ 『OpenText™ TeamSiteのススメ』
第2話 TeamSiteワークフローの作り方

TeamSiteの特長の1つとして、ワークフローを柔軟に作成できることがあげられます。エクサでも異なる業務・要望に合わせた多種多様なワークフローを柔軟に開発し、様々なお客様向けにご提供してきています。よく、TeamSiteの製品説明としてワークフローが優れているという情報は見かけますが、作り方についての情報は少ないのではないかと思います。

TeamSiteのワークフローを作成するにあたっては、最初に、お客様の業務フローを整理・確認させていただき、ワークフロー設計書を作成します。設計書の内容に基づいて、実際にTeamSite上にワークフローを作成していきます。そこで、今回はTeamSiteワークフローの作り方について、4つのステップに分けて具体的に説明します。

ワークフローモデルの作成

ワークフローモデルとは、ワークフロー遷移を定義したものです。TeamSiteでは、ワークフロー作成用GUI(ワークフローモデラー)を利用してワークフローモデルを作成します。

teamsite-wf-modelar.png

【ワークフローモデラー画面イメージ】

ワークフローモデラー画面でタスク(画面中央にならんでいるグレーのボックス)を配置し、リンク(タスクをつなぐ矢印)でタスクの前後関係を指定していくことでワークフローモデルを定義します。タスクは、ユーザタスク(ユーザが「承認」や「却下」などの遷移をボタンで選択する)や外部タスク(プログラムで任意の処理を実行する)、CGIタスク(ユーザが情報を入力する画面を表示する)など、あらかじめ複数用意されています。各タスクには、そのタスクを操作できるユーザや、ユーザによるファイル更新を許可するか、ファイルをロックするか、などといったいくつかのプロパティ情報も持つことができ、それらもワークフローモデラーで一緒に設定します。

このように、このステップでは設計書の内容に合わせてタスクを配置しリンクをつなげていくことにより遷移を定義し、ワークフローモデルを作成します。

ワークフロー起票時の入力画面の作成

次にワークフロー起票時の情報入力画面を作成します。ワークフローの件名や承認者、コンテンツを公開する日時などを入力するための、以下のような画面を作成できます。

teamsite-wf-draft.png

【ワークフロー起票画面イメージ】

ワークフローの起票画面はXMLファイルで定義します。

teamsite-wf-xml.png

【ワークフロー起票画面XMLファイルイメージ】

「text」「textarea」「select」など、HTMLのformと似たような形式で入力項目を定義することができます。また、必須入力の指定や正規表現を利用した入力内容のチェックもできます。ある項目を選択したときには、別の入力項目を表示するなどの複雑な画面表示処理については、JavaScriptを利用して実装することができます。

起票画面で入力した情報は、そのワークフロー内のタスクに受け渡すことができます。例えば、起票時に選択した承認者をコンテンツ公開確認のユーザタスクに受け渡すことで、そのユーザがコンテンツ公開確認の「承認」や「却下」のボタンを押すことができるようになります。

各タスク固有処理の設定・プログラム作成

このステップでは、各タスクの固有処理を設定します。ワークフローで送信するメール文面作成やWebサーバへの公開設定、お客様業務に特化した処理がある場合はそのプログラムの実装・呼び出し設定をします。

メール文面については、JavaベースのテンプレートエンジンであるVelocityを利用したエクサ独自のメール送信ライブラリを用意しているので、メール文面のテンプレートファイルを作成し、外部タスクのプロパティにメール送信ライブラリ名とメールテンプレートのファイル名を指定するだけで簡単に作成することができます。

teamsite-wf-mail.png

【メールテンプレートファイルイメージ】

Webサーバへの公開は、OpenText OpenDeployというファイル配信に特化したアプリケーション製品と連携して実行できます。OpenDeployを使うことにより、時刻指定配信やトランザクション配信(複数サーバへの同時配信や同時ロールバックをする)の設定が可能となります。

お客様業務に特化した独自の処理を組み込む場合は、TeamSiteが提供しているJava APIを利用してプログラムを実装し、外部タスクのプロパティにプログラム名を指定します。また。ワークフローの途中でユーザに情報を入力させる場合は、その画面をJava(JSP)やPerlで実装し、CGIタスクのプロパティに指定します。

弊社ではこれまでに様々なお客様向けに実装してきたワークフロー作成のノウハウをもとに、よく使われる共通機能などをエクサ・ライブラリーとして独自に整備していますので、素早く簡単にワークフローを作成しご提供できるようにしています。

ワークフローを起票できるユーザやブランチの設定

ワークフローモデル、ワークフロー起票時の入力画面、各タスク固有処理が作成できたら、最後にそのワークフローの起票を許可するユーザやブランチ(サイト)を設定します。設定はXMLファイルベースでの作業となります。許可するユーザについてはユーザ単位で細かく設定することもできますし、グループやロールを使い組織・職制といった単位で設定することもできます。

起票許可の設定ができたらワークフローを動作させることができるようになりますので、テストを実施して、リリースします。

まとめ

今回はTeamSiteワークフローの作り方について少し具体的に説明しました。ご参考になりましたでしょうか。エクサでは多数のお客様へ様々なワークフローを開発・導入している実績があります。そのノウハウを生かしてお客様業務に合わせたワークフローをご提案させていただきますので、興味がありましたらご相談ください。

[Blog][Footer]TeamSiteご紹介資料

RECENT POST「CMS」


TeamSiteワークフローの作り方