メタデータスクリプト

10 分読む 最終更新日 2023年01月11日

メタデータスクリプト

メタデータスクリプトノードは、ワークフローでファイルに関連付けられているメタデータの管理に使用される高度な処理です。このノードでは、メタデータの変更、コピー、削除、または新規追加ができます。たとえば、このノードを使用して、メタデータから末尾のスペースを削除できます。

メタデータスクリプトウィンドウを開くには、メタデータスクリプトの処理ノードを追加し、ノードをダブルクリックします。

メタデータスクリプト

  • ワークフローに複数の処理がある場合は、 [有効] チェックボックスをオンにします。オフにするとこの処理は無視されます。ドキュメントはあたかもノードが存在しないかのように通過します。無効になっているノードは論理条件やエラー条件をチェックしないことに注意してください。

  • [ノード名] フィールドに、メタデータスクリプトノードのわかりやすい名前を入力します。

  • [説明] フィールドに、メタデータスクリプトノードの説明を入力します。これは必須ではありませんが、複数の処理を互いに区別するのに役立ちます。説明が長い場合、このフィールドにマウスを合わせるとその内容全体を読むことができます。

  • [ルールの詳細ログの有効化] チェックボックスをオンにすると、スクリプトのデバッグ用に、より詳細なログメッセージをアクティビティログに挿入できます。

  • メタデータスクリプトの定義を保存するには、 [保存] ボタンを選択します。 [ヘルプ] ボタンを選択してオンラインヘルプにアクセスすることもできます。また、 [キャンセル] ボタンを選択して、変更を保存しないでウィンドウを終了することもできます。

ルールの作成

はじめに、メタデータスクリプティングノードウィンドウのメタデータルールビルダー領域でメタデータルールを作成する必要があります。以下の操作を行います。

  1. [新しいルールの追加] - ツールバーの [新しいルールを追加] ボタンを選択し、表示されるドロップダウンパレットからルールの種類を選択します。オプションは次のとおりです。

    • [メタデータの変更] - このオプションは、既存のメタデータを変更するときに使用します。

    • [メタデータのコピー] - このオプションは、既存のメタデータを新しいメタデータキーにコピーするときに使用します。

    • [メタデータの追加] - このオプションは、新しいメタデータを作成するときに使用します。返された値は、[出力キー]フィールドで定義する新しいメタデータキーに代入されます。

    • [メタデータの削除] - このオプションは、メタデータキーを削除するときに使用します。

    • [関数の呼び出し] - このオプションは、既存のメタデータ上の関数を実行し、他の関数呼び出しで使用する値を格納するときに使用します。

  2. [関数の定義] - ルールオプションを追加したら、 [関数] 列でメタデータの関数を指定できます。ウィンドウの右側の[関数リファレンス]領域に表示される事前定義関数を使用することも、ユーザー独自の関数を定義することもできます。フィールドの横の矢印をクリックすると、次の図のように[関数の選択]パレットが開き、選択できる関数の候補が表示されます。

    関数の定義

    ユーザー独自の関数を定義する場合は、上部ツールバーの [関数の追加および編集] ボタンを選択して、Luaスクリプトエディターを開きます。

    注: メタデータの削除オプションは、そのメタデータに関数が定義されていなくても使用できます。

  3. [出力キーの指定] - [出力キー] 列で、関数から返される値の新しいメタデータキーを定義します。出力キーには任意のグループ名を含めることができます(例:{myGroup:custom_zone})。

  4. [範囲の定義] - [範囲] 列で、メタデータルールのページ範囲と出現範囲を定義します。

    [ページ] のオプションは次のとおりです。

    • [ドキュメント] - ドキュメント全体で見つかったメタデータを処理します。

    • [すべてのページ] - すべてのページで見つかったメタデータを処理します。

    • [すべての偶数ページ] - すべての偶数ページで見つかったメタデータを処理します。

    • [すべての奇数ページ] - すべての奇数ページで見つかったメタデータを処理します。

    • [最初のページ] - 最初のページで見つかったメタデータだけを処理します。

    • [最後のページ] - 最後のページで見つかったメタデータだけを処理します。

    • [カスタム範囲] - 特定のページ範囲内のメタデータを処理します。このオプションを選択すると、ページ範囲を入力するための空のフィールドが表示されます。以下の操作を行います。

      • カンマ記号またはダッシュ記号(あるいはその両方)を使って、ドキュメントの先頭から数えたページ範囲を指定します。たとえば、「1, 2, 5-7」と入力すると、1、2、5、6、7ページが処理されます。

      • カッコを使用して、ページ範囲内の特定の処理の並びを指定します。たとえば、「1-10(3)」と入力すると、1~10ページが2ページおきに処理されます。

      • 「end」を使用して、最後のページを指定します。たとえば、「end(-5) - end」と入力すると、20ページあるドキュメントの15~20ページ目が処理されます。

      その他の例には次のようなものがあります。

      • 20ページあるドキュメントの1、2、5、6、7、19ページを処理するには、「1,2,5-7,end(-1)」と入力します。

      • 20ページあるドキュメントの10~15ページを処理するには、「10-end(-5)」と入力します。

      • 20ページあるドキュメントの10~15ページを1ページおきに処理するには、「10-end(-5)(2)」と入力します。

      • 25ページあるドキュメントの15~20ページを処理するには、「end(-10)-end(-5)」と入力します。

      • 20ページあるドキュメントの10~20ページを処理するには、「end(-10)-end」と入力します。

    [出現] のオプションは次のとおりです。

    • [すべての出現] - 見つかったメタデータのすべての出現箇所を処理します。

    • [すべての偶数番目の出現] - ページで見つかったメタデータの偶数番目の出現箇所をすべて処理します。

    • [すべての奇数番目の出現] - ページで見つかったメタデータの奇数番目の出現箇所をすべて処理します。

    • [最初の出現] - ページで見つかったメタデータの最初の出現箇所を処理します。

    • [最後の出現] - ページで見つかったメタデータの最後の出現箇所を処理します。

    • [カスタム範囲] - ページで見つかったメタデータの特定の出現箇所を処理します。このオプションを選択すると、ページ範囲を入力するための空のフィールドが表示されます。カンマ記号またはダッシュ記号(あるいはその両方)を使用して、ドキュメントの先頭から数えた出現範囲を指定できます。たとえば、「1-2」と入力すると、メタデータの1番目と2番目の出現箇所が処理されます。

  5. [フロー検証] - ルールの作成が完了したら、上部ツールバーの [フロー検証] ボタンをクリックして、このルールを検証できます。ルールが正常に検証されない場合は、画面下部に赤字でエラーメッセージが表示されます。

  6. [テスト] - ルールをテストするには、上部ツールバーの [テスト] ボタンをクリックします。次の図のように、[テスト]ウィンドウが表示されます。

テスト

  • メタデータルールをテストするには、[サンプルデータ]列にテストデータを入力し、 [テストの実行] ボタンを選択します。次の図のように、[結果]列にルールの結果が緑色で表示されます。

テスト

  • ルールのテストを実行すると、次の図に示すように、ノードウィンドウの[メタデータビルド]領域に表示されているルールの横に [テスト結果の表示/非表示] アイコンが表示されます。

テスト

このアイコンをクリックすると、次の図のようにテスト結果が表示されます。テスト結果を非表示にするには、 [テスト結果の表示/非表示] アイコンをもう一度クリックするか、緑色のボックス内の [X] をクリックします。

テスト

関数の追加および編集

業務上の独自の目的に合わせてLua関数を作成したり編集したりする場合、組み込みのLuaスクリプトテキストエディターを使用できます。このエディターにアクセスするには、上部ツールバーの [関数の追加および編集] ボタンをクリックします。このスクリプトエディターは、Luaスクリプティングの構文強調表示に完全対応しています。また、組み込み関数リファレンスも用意されており、テキストエディターへのコピーや挿入に使用できます。

次の図の例を参照してください。

関数の追加および編集

ツールバーの使用

ツールバー

ツールバーの各アイコンで次の操作ができます(左から順に)。

  • 外部LUAスクリプトの内容をエディターにロード
  • LUAスクリプトの内容を保存
  • LUAスクリプトを新しいファイルにエクスポート
  • テキストをカット
  • テキストをコピー
  • テキストを貼り付け
  • 最後の操作を元に戻す
  • 最後の「元に戻す」をやり直す
  • 行番号を表示
  • スペース/タブを表示
  • テキストの折り返し
  • テスト用の統合コマンドシェル切り替え
  • 関数のテスト
  • 組み込み関数ライブラリを切り替え

関数リファレンスライブラリの使用

すぐに関数の作成に取りかかれるように、メタデータスクリプトノードには関数リファレンスライブラリが付属しています。これらの標準関数を閲覧したり、必要に応じて特定の関数をスクリプトエディターにコピーまたは挿入し、ビジネス要件に合わせて変更したりできます。

以下の操作を行います。

  1. はじめに、ライブラリから関数を選択します。関数リファレンスライブラリパネルの下部にその関数が表示されます。次の図では、trim関数が選択されました。

    関数リファレンス

  2. 選択した関数をLuaスクリプトエディターに挿入するには、 [挿入] ボタンを選択します。次の図のように、スクリプトエディターの下部にその関数が表示されます。

    関数挿入

  3. 関数をコピーして、Luaスクリプトエディターや他のアプリケーションに貼り付けるには、 [クリップボードにコピー] ボタンを選択します。

関数のテスト

関数を作成または変更したら、その関数をLuaテキストエディター内からテストできます。以下の操作を行います。

  1. ツールバーの [テスト] ボタンをクリックします。次の図のような[テスト]ポップウィンドウが表示されます。

    テスト

  2. [関数] フィールドの 矢印をクリックして、テストする関数を選択します。ドロップダウンパレットに、メタデータスクリプトノードに用意されているすべての組み込み関数と、任意に作成したカスタム関数が表示されます。例については次の図を参照してください。

    テスト

  3. テストするサンプルデータを [サンプルデータ] フィールドに入力します。このフィールドの横にある省略記号ボタンをクリックするとフィールドを展開できます。

  4. [テストの実行] ボタンを選択して、テストを開始します。

  5. 画面下部にコマンドシェルが表示され、そこにテスト結果が表示されます。例については次の図を参照してください。

    テスト

次のワークフローでは、受け取った請求書から日付、請求書番号、納入業者名、および請求額が抽出され、メタデータとして取り込まれました。すべての請求書の名前が納入業者名を使用して変更され、処理後のファイルと抽出されたメタデータがOnBaseコンテンツ管理システムに格納されます。ただし、OnBaseへ送信する前に、抽出された日付の形式をmm/dd/yyからyyyy-mm-ddに変更する必要があります。

次の図は、このワークフローを図示したものです。

ワークフロー

メタデータスクリプトノードを使用して、次のようにメタデータが操作されました。

メタデータスクリプトノード

  • フォーム処理ノードの日付メタデータ(この場合は{forms:InvDate})を使用して、メタデータ変更ルールが作成されました。

  • Luaテキストエディターを使用して、次のように日付をmm/dd/yyからyyyy-mm-ddに変換するconvert_dateというユーザー定義関数が作成されました。

ユーザー定義関数