Create!Webフローのサブフォームにkintoneデータを一覧表示させて使ってみた:CData kintone JDBC Driver

f:id:sennanvolar44:20200715221733p:plain

こんにちは!CData でエンジニアをしています宮本です!

今回はインフォテック社のワークフロー製品であるCreate!Webフローに、kintone のデータを活用できるようCData kintone JDBC Driver を使って検証してみました。

Create!Webフローとは

ブラウザで「紙と同じイメージの申請書が再現」できるインフォテック社が展開している ワークフローシステムです。 GUI が直感的で操作性が良いため、どのユーザーにとっても使いやすいようになっております。
https://www.createwebflow.jp/ 

また、最近はハンコ不要の流れがありますが、あえてハンコの枠を取り除かずに、以下のように苗字を入力するだけで簡単に印影画像を作成して使用することもできたりまします。
f:id:sennanvolar44:20200716162118p:plain

CData JDBC Driver とは?

kintone、Salesforce、Dynamics 365 といったさまざまなクラウドサービスやDB2 for IBM i、BigQuery といったRDBやDWHに対して、標準規格の JDBC でアクセスすることができる製品です。

CData では現在 270 近くのサービス向けの JDBC Driver を提供しています。

https://www.cdata.com/jp/jdbc/

kintone のデータをCreate!Webフローで利用する構成

Create!Webフローを起動しているマシンに CData kintone JDBC Driver をインストール&所定の場所に配置することで、Create!Webフローで使用する申請書を作成するフォームマネージャから、 kintone にアクセスすることができるようになります。フォームマネージャで作成した申請フォーマットは、ワークフローシステムにアップロードすることでユーザーが使用することができるようになります。

f:id:sennanvolar44:20200716172055p:plain

本記事では、kintone に保存されているデータをCreate!Webフローのサブフォームとして一覧表示させ、選択したデータを呼び元にフォームに設定する内容をやっていきます。
f:id:sennanvolar44:20200802000517p:plain

必要なもの

Create!WebフローとCData JDBC Driver の構築手順

今回使用しているOS はWindows Server です。
ではさっそく、Create!Webフロー、CData kintone JDBC Driver をインストールしていきます。

CData kintone JDBC Driver のインストール

以下のリンクから評価版をダウンロードし、インストーラーを実行します。インストールは「次へ」で進めて構いません。
https://www.cdata.com/jp/drivers/kintone/jdbc/

Create!Webフローのインストール

インストール自体はsetup.exe を実行して進めていきます。インストール手順書も同梱されているので、細かな設定をしたい場合は参照してください。
f:id:sennanvolar44:20200716174058p:plain

インストールの途中でデータベースの選択画面が表示されます。ここではCreate!Webフローのデータを保管するDB を選択します。任意のRDBを選択してください。
f:id:sennanvolar44:20200716191510p:plain

インストールが完了すると、サービスにCreate!Webフローが登録されます。
f:id:sennanvolar44:20200716192246p:plain

Create!WebフローにCData JDBC Driver を組み込む

Create!WebフローはTomcat をサーブレットコンテナとして使用していますので、そのTomcat の中にCData JDBC Driver を格納します。
コピーするのはドライバー本体とライセンスファイルになります。

コピー元

CData JDBC Drirver for kintone 2023バージョンの場合は「C:\Program Files\CData\CData JDBC Driver for Kintone 2023J\lib」のフォルダに「cdata.jdbc.kintone.jar」 「cdata.jdbc.kintone.lic」というドライバー本体とライセンスファイルが格納されています。

コピー先

  • C:\CREATE_HOME\Tomcat\lib

コピーが完了しましたら、サービスにてCreate!Web フローを再起動してください。

kintone へのコネクション定義を作成

WinodwsメニューからCreate!Web フローのフォームマネージャーをクリックします。
f:id:sennanvolar44:20200716225718p:plain

ログイン後、画面上部にあるデータベースアイコンをクリックします。
f:id:sennanvolar44:20200716230019p:plain

新規ボタンをクリックし、kintone へのコネクション情報を登録します。

  • ドライバ:cdata.jdbc.kintone.KintoneDriver
  • URL:jdbc:kintone:URL=https://xxxxx.cybozu.com/;User=xxxxx;Password=xxxxx;
    (Basic認証の場合)
  • ユーザー/パスワード:任意の内容でOKです。(URL内にkintone のユーザー、パスワードは設定済みのため)

f:id:sennanvolar44:20200716230347p:plain

ドライバの入力値について、他のデータソースを使用してドライバークラス名が不明な場合は、ヘルプドキュメントをご参照ください。

https://cdn.cdata.com/help/EKJ/jp/jdbc/pg_connectionj.htm

なお、Create!Webフローでは、データを取得する際に、テーブル一覧と項目一覧を一括で取得します。

その際にCData JDBC Driver ではAPIを経由して各テーブルの項目に都度アクセスすることがあり、テーブルが多いAPI では取得に時間がかかる場合があります。

その場合、予め「Tables」プロパティを使用して、利用するテーブルだけ参照できるようにしておくと、Create!Webフロー上でパフォーマンス良くテーブルの選択や設定を行うことができます。

https://cdn.cdata.com/help/EKJ/jp/jdbc/RSBKintone_p_Tables.htm

サブフォームの作成

今回は申請フォームにリンクを埋め込み、そのリンク先から顧客情報の一覧が表示されるサブフォームを作成します。

赤枠のアイコンをクリックします。
f:id:sennanvolar44:20200716232307p:plain

サブフォームでは1件だけ選択して、呼び元のフォームに選択レコードを返すようにしたいので、検索結果は単一を選択します。
一覧表示用の編集ボタンをクリックします。
f:id:sennanvolar44:20200717004212p:plain

利用データベースに先ほど作成したkintone へのコネクション定義の名前を選択し、選択ボタンをクリックしたら追加ボタンをクリックします。
f:id:sennanvolar44:20200716235749p:plain

サブフォームで使用したいテーブルとそのカラムを選択します。ここで注意点として赤枠のテーブル別名に英字のみで別名を付与する必要があります。
今回のような日本語を使用したテーブル名をそのまま使用することは出来ないようです。
f:id:sennanvolar44:20200717001227p:plain

次に、サブフォーム上に表示させる項目と、呼び元のフォームに返す際のオブジェクト名を指定します。
f:id:sennanvolar44:20200717002126p:plain

最後に入力フォーム設定情報表示ボタンを押し、今作成したサブフォームを呼び出すためのコードを確認します。後程、呼び元のフォームに埋め込みを行うのでコピーしておきます。
f:id:sennanvolar44:20200717003211p:plain

フォームからサブフォームを呼び出すリンクを作成

サブフォームの呼び元になる親のフォームにテキストボックスなどを設定します。
f:id:sennanvolar44:20200728164511p:plain

テキストボックスを配置したらプロパティ画面を開きます。HTML タブをクリックするとJavaScriptのトリガー設定を選択できます。今回はクリック後のアクションにしますので、「クリックする」を選択し、編集ボタンを押します。
f:id:sennanvolar44:20200911152623p:plain

赤枠部分にサブフォーム呼び出し時の処理を設定できますので、サブフォーム作成時に確認した呼び出し時のコードを貼り付けします。
f:id:sennanvolar44:20200726171500p:plain

設定が完了しましたら、あとはフォームを保存してFormエディターを閉じます。

作成したフォームをCreate!Webフローのワークフローシステム側にアップロードします。アップロードボタンクリック後、コメントをつけてあげてOKボタンでアップロードします。
f:id:sennanvolar44:20200726172650p:plain

これで、実際のワークフローが更新されました。

ワークフローシステムから申請

それでは、Create!Webフローにアクセスし、管理者アカウントでログインします。(サービスにCreate!Webフローが登録されているので、自動起動しています)

f:id:sennanvolar44:20200730222931p:plain

左上の申請するをクリックします。
f:id:sennanvolar44:20200730223823p:plain

先ほどフォームマネージャで更新したフォームをクリックします。
f:id:sennanvolar44:20200730223936p:plain

画面に表示されましたら、サブフォームを呼び出すリンクをクリックします。
f:id:sennanvolar44:20200730224132p:plain

サブフォームにてkintone に保存されているデータが表示されるようになりました。
f:id:sennanvolar44:20200801235430p:plain

あとは対象データを選択すると、呼び元のフォームに自動で値がセットされるようになります。
f:id:sennanvolar44:20200801235705p:plain

おわりに

いかがでしたでしょうか。CData kintone JDBC Driver を使うことで、kintone のデータをCreate!Webフローで容易に利用することができます。
CData では kintone 以外にもさまざまなクラウドサービス(Salesforce、Sansanやスマレジなど)への Driver を提供していますので、是非 JDBC Driver のラインナップを参照いただき、ご興味があるものがあればお試しいただければ幸いです。 (評価版は30日間無料でお使いいただけます)

www.cdata.com

インフォテック社のCreate!Form(帳票ツール)とCData 製品を使用した記事も書いていますので、よろしければこちらもご参照ください。

https://www.cdata.com/jp/blog/2020-06-23-161808

https://www.cdata.com/jp/blog/2020-06-23-162141

トライアル・お問い合わせ

関連コンテンツ