機械翻訳について

Webフォーム・データの保存

Webフォーム・データは、1つのプロセスの複数のポイントで取得でき、アーカイブや監査のためにデータベースやファイル・システムに保存できます。 たとえば、ユーザーがフォームを送信した後でWebフォームのスナップショットを取得した後、マネージャがフォームを承認した後で再度取得します。

保存プロセスはエンド・ユーザーには認識されません。

機能

  • すべてのWebフォームにはデータ・オブジェクトが関連付けられており、フォームの作成時に作成されます。
  • 入力/出力データ関連付けを使用して、Webフォーム・データ・オブジェクトのスナップショットをバイナリ・システムとして作成します。 データにアクセスするために、Form.getWebForm関数を使用する単純な式を作成します。 フォーム・データはPDF (デフォルト)またはイメージ(PNG、JPEGまたはJPG)ファイルとして保存できます。
  • データ・ストリームを消費するように、サービス・タスクを構成します。 サービス・タスクの入力データの関連付けでは、ストリーム・データをサービス・メソッドの入力パラメータに関連付けます。
  • データベースやファイル・システムなど、選択した場所にオブジェクトのデータを書き込むように、サービス・タスクのWebサービス・メソッドを構成します。

Form.getWebForm関数

Webフォームのデータ・ストリームには、次のような単純な式でForm関数を使用してアクセスします。

Form.getWebForm(webFormDataObject,[format],[formName], [presentationId])
  • webFormDataObject - データ・オブジェクトまたはタスク・ペイロード・オブジェクトです。
  • format (String) - 有効な値はPDFまたはPNG/JPEG/JPG (イメージの場合)です。 デフォルトはPDFです
  • formName (String) - データ・オブジェクトに関連付けられているフォーム。 フォーム名では大文字と小文字が区別されます
  • presentationName (String) - optional - 使用するフォーム用にレンダリングされるプレゼンテーションId

関数の例

  • Form.getWebform(taskWebFormDataObject, "PDF", "startWebForm")
  • Form.getWebform(taskWebFormDataObject, "PDF", "startWebForm", "8d4913a0-e237-dfc5-0eb5-831ddfb9e543")

Webフォーム・スナップショットの構成

サービス・タスクを構成し、Webフォーム・データのスナップショットを取得し、ローカルにPDFまたはイメージ・ファイルとして保存できます。

Webフォーム・スナップショットを構成するには:
  1. Webフォームとサービス・タスクを含むプロセスを構成します。

    フォーム開始イベントまたはWebフォームを使用するヒューマン・タスクに対してスナップショットを作成できます。 たとえば、次に示すプロセスでは、各サービス・タスクによってWebフォーム・スナップショットが取得されます。

    • 最初に、ユーザーが開始フォームの送信をクリックすると
    • 2つ目は、ユーザーがヒューマン・タスクの承認をクリックした場合です。
    snapshot-form1.pngの説明は以下のとおりです
    「図snapshot-form1.pngの説明」
  2. Webフォームのスナップショットを実行するサービス・タスクのために式を設定します。
    1. サービス・タスクを選択して、「Data Associations」を選択します。
    2. データ関連付けエディタの入力側で、「fx」(式)アイコンをクリックします。
    3. 式エディタで、「Operators」タブをクリックし、「Form」を展開して「Get WebForm」関数を選択し、「Insert Into Expression」をクリックします。 式フィールドに「Form.」を入力すると、オートコンプリートがトリガーされ、使用可能な3つの関数の形式がリストされることに注意してください。
    4. この式で、スナップショットを作成するデータ・オブジェクトを挿入し、PDFまたはイメージ(PNG/JPEG/JPG)の出力形式およびその他のオプションのパラメータを指定します。

      PDFはイメージ生成より高速です。

      PDFおよびイメージは静的(読取り専用)であるため、ラジオ・ボタンおよびビデオ・コントロールはレンダリングされません。 また、イベントは機能しません。

    5. 「Validate」をクリックします。

      この式は、サービス・メソッドの入力パラメータと関連付けることができるデータのバイナリ・ストリームを作成します。

  3. オプションで、スナップショットのファイル名を保存する2つ目のデータ関連付けを設定します。このファイル名は、サービス・メソッドのファイルの特定に使用できます。
  4. オプションで、サービス・タスクのデータ関連付けの入力として後で使用するために、スナップショット・ストリームをbase64Binaryデータ・オブジェクトに保存します。

    このステップでは、スナップショットをデータ・オブジェクトに格納しておき、プロセスの最後にすべてのフォーム・スナップショットを一度に保存できます。

    1. base64binaryプロセスのデータ・オブジェクトを作成して、取得したデータ・ストリームを格納します。
    2. 開始フォームまたはヒューマン・タスクの出力データの関連付けを使用してデータ・オブジェクトを移入します。 このメソッドは、開始フォームが送信されるか、ヒューマン・タスクが影響を受けると実行されます。
    3. このプロセス・データ・オブジェクトをサービス・タスクの入力データの関連付けで使用します。
      snapshot-form3.pngの説明は以下のとおりです
      「図snapshot-form3.pngの説明」

      Webフォームのデータ・オブジェクトには、常に、そのフォームの最新のデータが含まれます。 複数のプロセス・ステージで同じフォームを編集可能な場合、ステップ4で説明しているように、各レベルのフォーム・データを異なるプロセス・データ・オブジェクトに格納すると便利です。

  5. メソッドを呼び出してファイルに書き込むサービス・タスクのためのWebサービスを作成します。

    Webフォームのデータ・ストリームを取得してローカルのファイル・システムにファイルを保存するメソッドを含むサービス・クラスの実装例を次に示します。

    メソッドの例

    public String mySnap(byte[] content,String name) {
    try {
    String fileName = "/scratch/"+name;
    File file = new File(fileName);
    BufferedOutputStream writer = new BufferedOutputStream(new FileOutputStream(file));
    writer.write(content);
    writer.flush();
    writer.close();
    }catch (Exception ex) {
    }
    return "Done";
    }
  6. アプリケーションをデプロイし、必要に応じてフォームの送信および承認のテストを行います。 Webサービスによってフォーム・データが格納されたロケーションを確認し、PDFまたはイメージ・ファイルを表示します。