CData のコラボフロー API Profile がクラウド版に加えてパッケージ版にも対応しました。
1.コラボフローとは
コラボフローは、申請・承認業務を電子化できる、Web ワークフローシステムです。
Web ブラウザーを使って稟議書や経費申請などの社内申請業務を効率化する事ができます。
Excel からフォームデザインをインポートすることができ、現在使っているExcel で作られた書式を、そのままの形で入力フォームとして利用することができるため、現在のフローをそのままシステム化することができるのが特徴です。
2.クラウド版とパッケージ版の違い
クラウド版とパッケージ版で最も異なるのは接続先で、クラウド版は、コラボフローの提供しているサーバーに接続を行います。
パッケージ版は、サーバーを用意し、そこにパッケージをインストールするため、用意したサーバーに接続を行います。
また、コラボフローでは新しい機能の追加などが行われることがありますが、初めにクラウド版がリリースされ、その数か月後にパッケージ版がリリースされるといったように、リリース時期が異なることがあります。
3.ODBC Driver for API とCollaboflow API Profile を使ってパッケージ版のコラボフローに接続します
1) API ドライバーとコラボフローのAPI Profile をダウンロードします
今回は例としてODBC ドライバーを使用しますが、この他にもExcel Add-In やPower BI Connector などもあります。
API ドライバー・プロファイル | SaaS のデータにノーコードで接続できるAPI ドライバー・プロファイルをダウンロード | CData Software Japan
2) APIドライバーをインストールします
3) API Keyを取得します
4) ODBC データデータソースの設定を行います
Profile=<プロファイルのファイルパス>
URL=<コラボフローのサーバー>
APIKey=<取得したAPI Key>
AppCd=1
Instance=collaboflow
データモデルタブからクエリを実行してデータを参照することができます。
4.文書を取得する
下記のような休暇届のデータをコラボフローから取得してみます。
まず、MyRequests ビューで文書のDocumentId を取得します。
次に、DocumentContent でDocumentId を指定すると、Contents カラムでフォームに入力された内容をJSON 形式で取得することができます。
5.JSON_EXTRACT 関数を使って、Contents カラムから値を取得する
Contents カラムの中身はJSON 形式になっています。
JSON_EXTRACT 関数を使うと、このJSON 形式のデータからフォームで入力された値を取得することができます。
Contents カラムの値はこのようになっています。
{
"fid3": { "display": true, "writable": false, "label": "1", "value": 1.000000000000, "type": "number" },
"fid4": { "display": true, "writable": false, "label": "有給休暇", "value": "有給休暇", "type": "radio" },
"fid5": { "display": true, "writable": false, "label": "私用のため", "value": "私用のため", "type": "textarea" },
"fid6": { "display": true, "writable": false, "label": "備考です", "value": "備考です", "type": "textarea" },
"fid7": { "display": true, "writable": false, "label": "2024年10月31日(木)", "value": "2024-10-30T15:00:00Z", "type": "date" },
"fid8": { "display": true, "writable": false, "label": "2024年10月31日(木)", "value": "2024-10-30T15:00:00Z", "type": "date" },
"fid9": { "display": true, "writable": false, "label": "システム管理者", "value": "システム管理者", "type": "text" },
"fid10": { "display": true, "writable": false, "label": "システム部", "value": "システム部", "type": "text" }
}
fid3 ~fid10 という部分はフォームの項目Id です。
項目Id は、デザイン画面で確認することができます。
CData Driver では、JSON_EXTRACT 関数を使って、次のように指定することで、Contents カラムのJSON 形式の値から、各項目の値を取得できます。
6.カスタムスキーマを使ってフォームごとのビューを作成する
上記のようにSQL を指定して項目を取得する方法の他に、カスタムスキーマを使うことで、そのフォーム専用のビューを作ることもできます。
API Driver のAPI Profile を新規作成する (cdata.com)
~API Profile の定義を使ってカスタムスキーマを作成する方法~
1) apip ファイルの拡張子をzip に変更して展開します
2) 元にしたいビューのrsdファイル(DocumentContents.rsd) ファイルを任意のフォルダー(C:\CDataJAPIProfile\CollaboFlow\)にコピーします
3) ファイル名を任意名前(DocumentContents休暇届.rsd) に変更します
4) rsd ファイルをテキストエディタなどで開きます
5)次のようにカラムの情報を追加します
rsdファイルの書式
xs:type="データ型" readonly="true(読み取り専用)" other:xPath="<取得する値のパス>" />
xPath は、レスポンスデータのパスを指定します。
レスポンスデータは、Verbosity=3 を指定してログファイルを取得することで確認することができます。
6) 接続設定を下記のように変更します
Profile=フォルダー名
Other=Location=フォルダーパス
7) データモデルで追加したカスタムスキーマにアクセスできることを確認します
カスタムスキーマを使用することで、コラボフローの文書に入力されている値を簡単に取得することができます。
また、カスタムスキーマでは、日程はDate 型、期間日数はinteger 型のようにカラムに合わせて適切なデータ型を定義するなど細かなカスタマイズを行うこともできます。
7.まとめ
コラボフローの文書を連携したいとお考えの方は、ぜひ一度、CData 製品の無償トライアルをお試しください。
関連コンテンツ