16_create_workflow_1

ワークフローの日本語化対応

]project-open[ では、デフォルトの状態でワークフロー名やタスク名に日本語を利用すると文字化けが発生します。
この問題を回避し、ワークフロー名やタスク名に日本語を利用する方法について、プログラムの更新箇所などを以下にまとめました。

 

ワークフローを作成する際、識別名に日本語を利用すると、それぞれ以下の不具合が生じることを確認しました。

  • ワークフロー名に日本語を利用する
    ワークフロー名(Process Name)に日本語を利用したワークフローは、一つだけしか作成できない。二つ目以降は、エラーが発生し作成不可能となる。
    16_create_workflow_1
  • タスク名に日本語を利用する
    新規作成時、タスク名(Task name)に日本語を利用すると、エラーが発生し、ワークフローを作成できない。
    新規作成時はタスク名に半角英数を利用して、ワークフロー作成した後、編集でタスク名に日本語を利用することはできる。しかし、ワークフロー図は文字化けする。
    17_create_workflow_2
  • 分岐判定結果名に日本語を利用する
    新規作成時の日本語登録や編集は可能だが、ワークフロー図で文字化けする。
    18_create_workflow_3

 

上記の問題に対してプログラムを編集し、日本語化対応を行います。
対象のプログラムは以下のとおりです。

・ワークフロー名の日本語化対応
/web/projop/packages/acs-workflow/www/admin/wizard/create.tcl

・タスク名の日本語化対応
/web/projop/packages/acs-workflow/www/admin/wizard/task-add-2.tcl

・分岐判定結果名の日本語化対応
/web/projop/packages/acs-workflow/tcl/graph-procs.tcl

・ワークフロー図の日本語化対応
/web/projop/packages/acs-workflow/tcl/graph-procs.tcl

以下のとおり、プログラムを編集します。

 

・ワークフロー名の日本語化対応

# cd /web/projop/packages/acs-workflow/www/admin/wizard
# cp -p create.tcl create.tcl.org
# chmod 474 create.tcl
# vi create.tcl
# 以下を編集する(一番左は大よその行数)
# コメントアウト
61 #set workflow_key [wf_make_unique -maxlen 30 \
62 #       -taken_names [db_list object_types "select object_type from acs_object_types"] \
63 #       [wf_name_to_key $workflow_name] "_wf"]

# 追記
65 set workflow_key [wf_make_unique -maxlen 30 \
66         -taken_names [db_list object_types "select object_type from acs_object_types"] \
67         $workflow_name "_wf"]

 

・タスク名の日本語化対応

# cd /web/projop/packages/acs-workflow/www/admin/wizard
# cp -p task-add-2.tcl task-add-2.tcl.org
# chmod 474 task-add-2.tcl
# vi task-add-2.tcl
# 以下を編集する(一番左は大よその行数)
# コメントアウト
23 #set task(transition_key) [wf_name_to_key $task_name]

# 追記
24 set task(transition_key) $task_name

 

・分岐判定結果名とワークフロー図の日本語化対応

# cd /web/projop/packages/acs-workflow/tcl
# cp -p graph-procs.tcl graph-procs.tcl.org
# chmod 474 graph-procs.tcl
# vi graph-procs.tcl
# 以下を編集する(一番左は大よその行数)
# コメントアウト
253 #set workflow($type,$key,label) [ad_decode $type "transition" $workflow($type,$key,${type}_name) ""]

# 追記
254 set workflow($type,$key,label) [encoding convertto utf-8 [ad_decode $type "transition" $workflow($type,$key,${type}_name) ""]]

# コメントアウト
344 #set guard [ad_decode $workflow(arc,$arc,guard_description) \
345 #       "" $workflow(arc,$arc,guard_callback) $workflow(arc,$arc,guard_description)]

# 追記
346 set guard [encoding convertto utf-8 [ad_decode $workflow(arc,$arc,guard_description) \
347        "" $workflow(arc,$arc,guard_callback) $workflow(arc,$arc,guard_description)]]

 

上記のとおりプログラムを編集した後、] project-open [ の画面からパラメータ設定を行います。

管理者権限を持ったユーザでログイン後、上位ペインから [ 管理 ] -> [ パラメータ ] ->
acs-workflow 」 をクリックします。

Image89

(画面中段省略)

12_acs-workflow

 

日本語対応のフォントを利用するため、

[ Fonts ]
[ place_font_name ]
[ transition_font_name ]

のそれぞれに日本語フォントファイル名を絶対パス指定します。フォントファイルは適宜変更ください。
なお、ここでは「kochi-gothic-subst.ttf」を指定します。

13_acs_workflow_parm

 

プログラムの編集と、パラメータの設定が完了したら、AOLserverを再起動します。

管理者権限を持ったユーザでログイン後、上位ペインから [ 管理 ] -> [ Restart Server ] をクリックします。

Image140

 

サーバ起動後、ワークフロー名やタスク名に日本語を使い、ワークフローを作成して確認します。
ワークフロー作成については、「ワークフロー作成手順」を参照ください。

プログラム編集前と、編集後のワークフローは以下のとおりです。

 

・編集前

15_workflow_before

 

・編集後

14_workflow_after

 

ワークフローの日本語化対応については以上になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です