2016-05-23このCookBookでは、Formaのスクリプトからサーバサイドロジックを呼び出し、Ajax処理を実現する方法をご紹介します。APIを呼び出します。(8.0.11)以降のバージョンを前提にしています。完成イメージサンプルアプリケーションでは、Ajax処理にて指定したユーザの名称・所属組織を取得して画面に反映しています。ユーザコード・検索基準日への入力を行います。検索ボタンを押下します。APIが呼びだされ、サーバサイドの業務ロジックが実行されます。取得結果が画面に反映されます。完成サンプル以下の完成サンプルをダウンロードしてご活用ください。im_cookbook_110542_forma_ajax_sample-1.0.0.immローカル環境で表示させる場合は、テナント環境セットアップ後に以下のURLにアクセスしてください。http://localhost:8080/imart/forma/normal/view/regist_application_view/im_cookbook_110542_formaなおベースURLである以下の部分は、環境に合わせて適宜変更してください。サーバサイドロジックを作成する「IM-LogicDesigner」とは?IM-LogicDesignerは、Web上でビジネスロジックを簡単に作成することができるアプリケーションです。「タスク」(処理の部品)を並べ、「ロジックフロー」(フロー図)を作成することで、ビジネスロジックを作成できます。IMBoxへの投稿・ストレージ操作・メール送信・ジョブの実行などあらかじめ製品から提供されているタスクに加えて、「ユーザ定義タスク」を利用することで開発者がSQLやJavaScriptで独自のタスクを定義することも可能です。このCookBookでは、ユーザ定義タスク(JavaScript)を利用し、サーバサイドロジックを作成します。ユーザ定義タスク(JavaScript)の作成ユーザ定義タスク(JavaScript)の作成方法について簡単にご紹介します。JavaScript」を参照してください。「LogicDesigner」-「ユーザ定義一覧」からユーザ定義一覧画面を表示し、「JavaScript定義新規作成」のメニューを押下してください。JavaScript定義編集画面が表示されます。サーバサイドで動作させたい処理(JavaScript)をスクリプト欄に記述してください。記述したJavaScriptは、スクリプト開発モデルのファンクション・コンテナとして実行されます。result;}画面からスクリプトへ渡す情報を入力値欄に、スクリプトから画面へ返却する情報を返却値欄に設定してください。ユーザ定義ID・ユーザ定義名・カテゴリ・ソート番号のフィールドに適宜入力を行い、ユーザ定義タスク(JavaScript)を登録してください。ロジックフロー定義の作成ロジックフロー定義の作成方法について簡単にご紹介します。ロジックフロー定義編集画面を開く」を参照してください。「LogicDesigner」-「フロー定義一覧」からロジックフロー定義一覧画面を開き、「新規作成」のメニューを押下してください。ロジックフロー定義編集画面が表示されます。以下のタスクを配置してください。開始タスク「ユーザ定義タスク(JavaScript)の作成」にて作成したユーザ定義タスク終了タスク各タスク同士の線をつなぎます。開始タスクのoutとユーザ定義タスクのinをつなげます。ユーザ定義タスクのoutと終了タスクのinをつなげます。入出力設定を行います。入出力設定のリンクを押下し、入出力設定画面を表示してください。ユーザ定義タスクの設定と同様に、画面からロジックフローへ渡す情報を入力値欄に、ロジックフローから画面へ返却する情報を返却値欄に設定してください。マッピング設定を行います。ユーザ定義タスクを押下し、マッピング設定画面を表示してください。ロジックフローの入力値とユーザ定義タスクの入力値をマッピングしてください。終了タスクを押下し、マッピング設定画面を表示してください。「入力を追加」のリンクを押下し、ユーザ定義タスクの出力値を追加してください。ユーザ定義タスクの出力値とロジックフローの出力値をマッピングしてください。ロジックフローを保存します。保存のリンクを押下し、保存設定画面を表示してください。フロー定義名を入力し、作成したロジックフロー定義を保存してください。APIの登録方法について簡単にご紹介します。フロールーティングを設定する」を参照してください。「LogicDesigner」-「ルーティング定義一覧画面」からフロールーティング定義一覧画面を表示し、「新規作成」のメニューを押下してください。ロジックフロールーティング編集画面が表示されます。対象フローの検索ボタンを押下し、ロジックフローの一覧を表示してください。作成したロジックフローを選択してください。APIのURLとして利用したい文字列を入力してください。APIを呼び出す際のHTTPメソッドの種類を選択してください。「認証方法」:「IMAuthentication」を選択してください。IMAuthenticationは、Cookieに含まれるセッションIDを利用して認証を行います。特別な認証処理を行わず、Cookieに紐づくセッションの認証状態でアクセスしてください。APIのURLに対する認可リソースに対して設定したいURIを入力してください。APIを悪用したCSRF攻撃を防ぐために、「セキュアトークンを利用する」を選択してください。APIに対する認可設定を行います。APIの「認可」のメニューを押下してください。認可設定画面が表示されます。APIを利用するFormaアプリと同様の権限設定となるように、認可設定を行います。(8.0.11)をご利用の場合は、以下の手順の実施が必要です。APIの呼び出しに際してセキュアトークンのチェックが行われるため、Formaアプリの画面にセキュアトークンを埋め込みます。template.htmlをカスタマイズし、imSecureTokenタグを追加してください。template.htmlは、ストレージ上の以下のディレクトリに配置されているFormaアプリの画面のベースとなるHTMLです。/></form>template.htmlの詳細については、「Formaでのスクリプト開発生産性向上」を参照してください。template.htmlはメモリ上にキャッシュされているため、更新後にキャッシュをクリアする必要があります。テナント管理者としてログインし、「HTMLテンプレートキャッシュ削除」ジョブを実行してください。APIを呼び出すFormaのスクリプトを作成してください。APIへ渡す入力パラメータ・システムパラメータを取得してください。処理中はインディケータを表示し、ユーザの操作を防ぎます。8601の拡張形式の文字列で指定してください。リクエストURLのベースとなる部分を取得してください。template.htmlに埋め込んだimSecureTokenタグからセキュアトークンを取得してください。APIを実行してください。APIを実行してください。コメントをキャンセルメールアドレスが公開されることはありません。作成手順について紹介しています。...IM-Workflowの色々なコンテンツ画面へ遷移するURLこのCookbookでは、IM-Workflowの色々なコンテンツ画面へ遷移するURLをご紹介いたします。...後処理プログラムで画面アイテム「ファイルアップロード」にバリデーションを実行する方法このCookbookでは、画面アイテム「ファイルアップロード」に添付されたファイルをバリデーションする方法を紹介します。関数について紹介します。...IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(単一アイテム編)このCookBookでは、IM-FormaDesignerで作成したフォーム画面の中で、アイテムからアイテムへ値を渡す方法について紹介します。製品紹介・お知らせ週間ランキングまだデータがありません。アップデート版をリリースしました。アップデート版をリリースしました。アップデート版をリリースしました。アップデート版をリリースしました。アップデート版をリリースしました。パッチをリリースしました。パッチをリリースしました。パッチをリリースしました。パッチをリリースしました。パッチをリリースしました。アップデートしました。アップデートしました。アップデートしました。アップデートしました。アップデートしました。スポンサードサーチ削除パッチをリリースしました。スポンサードサーチ削除パッチをリリースしました。スポンサードサーチ削除パッチをリリースしました。スポンサードサーチ削除パッチをリリースしました。最新署名版ファイルアップロードJavaアプレットをリリースしました。