補足
サイボウズが提供している「ワークフロー×ファイル管理連携プラグイン」は、この記事で紹介しているカスタマイズと同等の機能を持ち、さらに設定が容易になります。
このプラグインはクラウド版Garoonのみ対応しています。
詳細は、次のページを参照してください。
ワークフロー×ファイル管理連携プラグイン
はじめに
ワークフロー申請を承認したときのイベントを使い、ワークフローの申請内容をファイル管理に登録します(ファイルを登録する部分はGaroon SOAP APIを使用しています)。
前提条件と注意事項
- このカスタマイズには、クラウド版Garoonまたはパッケージ版Garoon 4.10以降の環境が必要です。
- ワークフローJavaScriptカスタマイズは、JavaScriptを適用した後に申請されたワークフローが対象です。
それ以前に申請されたワークフローには適用されません。 - 代理承認時にカスタマイズが動作しない不具合を確認しています。(2019/2/21追記)
できること
社内規程のような公文書など、登録する際に承認が必要となるファイルの登録を、承認ワークフローと連携させることができます。
申請時にファイルを複数登録することで、最大5つまで同時に承認を申請できます。
完成イメージ
Garoonのワークフローで承認すると、申請内容がファイル管理に登録されます。
- 「承認する」ボタンをクリックすると、ワークフローの内容がファイル管理の特定のフォルダーに登録されます。
ファイルの登録にはワークフロー側にJavaScriptファイルを設定しカスタマイズを行います。
また、ファイル管理の登録先フォルダーには承認者による書込み権限が必要となります。
Garoonワークフローの設定手順
ワークフローの項目の内容は、会社によって異なります。
ここでは、サンプルということで、ファイル管理へ登録可能な項目をおおむね網羅した申請フォームにJavaScript/CSSカスタマイズを設定する流れを説明します。
ワークフローの申請フォームを作成する
まずは以下の項目を配置して、ワークフローの申請フォームを作成していきます。
申請フォームの作成方法については、Garoonヘルプ - 申請フォームの作成の流れ
クラウド版
・
パッケージ版
を参照してください。
申請フォームは、ファイル管理の項目と対応付けます。それぞれの項目は以下のとおり設定してください。
項目コードは、JavaScriptコード内でそれぞれの項目を指定するための一意の文字列になります。
項目名 | 項目タイプ | 項目コード | 必須 | 備考 |
---|---|---|---|---|
ファイル1 | ファイル添付 | Attach1 | 最大ファイル数を1に設定します。 | |
タイトル1 | 文字列(1行) | Title1 | ||
説明1 | 文字列(1行) | Description1 | ||
ファイル2 | ファイル添付 | Attach2 | 最大ファイル数を1に設定します。 | |
タイトル2 | 文字列(1行) | Title2 | ||
説明2 | 文字列(1行) | Description2 | ||
ファイル3 | ファイル添付 | Attach3 | 最大ファイル数を1に設定します。 | |
タイトル3 | 文字列(1行) | Title3 | ||
説明3 | 文字列(1行) | Description3 | ||
ファイル4 | ファイル添付 | Attach4 | 最大ファイル数を1に設定します。 | |
タイトル4 | 文字列(1行) | Title4 | ||
説明4 | 文字列(1行) | Description4 | ||
ファイル5 | ファイル添付 | Attach5 | 最大ファイル数を1に設定します。 | |
タイトル5 | 文字列(1行) | Title5 | ||
説明5 | 文字列(1行) | Description5 |
上記のとおり設定が完了したら、土台となる申請フォームの作成は完了です。
Javascript/CSSファイルを適用する
申請フォームの作成が完了したので、ここから作成した申請フォームにJavaScriptファイルを適用していきます。
適用ファイルの準備
今回はサンプルということで、登録先のフォルダーを固定しています。まずは登録先のフォルダーを決定します。
ファイル管理から、登録したいフォルダーにアクセスします。URLに含まれるhid(フォルダーID)を確認します。のちほどプログラムの書き換えに使いますので、メモしておきましょう。
例:以下のイメージでは、登録するフォルダー「改定資料」にアクセスした際のURLがhttps://{subdomain}.cybozu.com/g/cabinet/index.csp?hid=20のため、フォルダーIDは[20]になります。
次のサンプルコードをエディタにコピーします。
15行目のHIDを先ほどメモしたフォルダーIDに書き換えます。
|
|
ファイル名を「wf_to_doc.js」、文字コードを「UTF-8」で保存します。
ファイル名は任意ですが、ファイルの拡張子は「js」にしてください。
補足
ワークフロー申請フォームでは、ユーザを選択する項目タイプがありません。
そのため、今回のサンプルでは、文字列(複数行)項目に対して選択ユーザを追加するカスタマイズを行います。
JavaScript/CSSファイルとして使用するファイルおよびリンクの追加
-
「申請フォーム情報」部分の右端にある「JavaScript / CSSによるカスタマイズ」をクリックします。
申請フォームの詳細画面に「JavaScript / CSSによるカスタマイズ」というリンクが表示されない場合、ワークフローのカスタマイズが許可されていません。
Garoonヘルプ - ワークフローのカスタマイズを許可する( クラウド版・ パッケージ版
)を参考に、カスタマイズを許可してください。
-
[カスタマイズ]項目に「適用する」を選択します。wf_to_doc.jsが使用するjQuery、Luxon、および作成した「wf_to_doc.js」ファイルを追加し、「設定する」をクリックします。
本カスタマイズでは、 Cybozu CDNの以下のライブラリーを使用します。
- jQuery
https://js.cybozu.com/jquery/3.6.4/jquery.min.js - Luxon
https://js.cybozu.com/luxon/3.3.0/luxon.min.js
jQueryとLuxonはwf_to_doc.jsより上位に登録してください。
以上ですべての設定は完了です。最初にお見せした完成イメージのとおり、動けば成功です。
おわりに
Garoon APIのカスタマイズサンプル ワークフローとファイル管理との連携方法を紹介しました。
ワークフローの承認実行のタイミングでGaroon内の別アプリにデータを登録することが簡単にできます。
更新履歴
- 2022年2月1日
添付ファイルのIDを取得する処理を、workflow.request.approve.submit.successイベントのワークフローオブジェクトを使う方法から、 SOAP API(受信した申請を取得する)を使う方法に変更
このTipsは、2023年4月版Garoonで動作を確認しています。