]project-open[ では、デフォルトの状態でワークフロー名やタスク名に日本語を利用すると文字化けが発生します。
この問題を回避し、ワークフロー名やタスク名に日本語を利用する方法について、プログラムの更新箇所などを以下にまとめました。
ワークフローを作成する際、識別名に日本語を利用すると、それぞれ以下の不具合が生じることを確認しました。
- ワークフロー名に日本語を利用する
ワークフロー名(Process Name)に日本語を利用したワークフローは、一つだけしか作成できない。二つ目以降は、エラーが発生し作成不可能となる。
- タスク名に日本語を利用する
新規作成時、タスク名(Task name)に日本語を利用すると、エラーが発生し、ワークフローを作成できない。
新規作成時はタスク名に半角英数を利用して、ワークフロー作成した後、編集でタスク名に日本語を利用することはできる。しかし、ワークフロー図は文字化けする。
- 分岐判定結果名に日本語を利用する
新規作成時の日本語登録や編集は可能だが、ワークフロー図で文字化けする。
上記の問題に対してプログラムを編集し、日本語化対応を行います。
対象のプログラムは以下のとおりです。
・ワークフロー名の日本語化対応
/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 」 をクリックします。
(画面中段省略)
日本語対応のフォントを利用するため、
[ Fonts ]
[ place_font_name ]
[ transition_font_name ]
のそれぞれに日本語フォントファイル名を絶対パス指定します。フォントファイルは適宜変更ください。
なお、ここでは「kochi-gothic-subst.ttf」を指定します。
プログラムの編集と、パラメータの設定が完了したら、AOLserverを再起動します。
管理者権限を持ったユーザでログイン後、上位ペインから [ 管理 ] -> [ Restart Server ] をクリックします。
サーバ起動後、ワークフロー名やタスク名に日本語を使い、ワークフローを作成して確認します。
ワークフロー作成については、「ワークフロー作成手順」を参照ください。
プログラム編集前と、編集後のワークフローは以下のとおりです。
・編集前
・編集後
ワークフローの日本語化対応については以上になります。