Imagingの中心となるのは、ユーザーに関連するドキュメントを取得する検索を定義および実行する機能です。検索の管理では、特定のドキュメントを検索するために他のユーザーが使用できる検索を作成および変更できます。
検索を管理できるかどうかは、ユーザーがアプリケーションに対して持っているセキュリティ権限によって制御されます。つまり、セキュリティを確保するために、Imagingで定義されているアプリケーションに割り当てられたセキュリティによって、検索を管理するユーザーに検索の作成を限定できます。検索マネージャは、表示権限を持っているアプリケーションの検索のみを作成または変更できます。マネージャがアプリケーションに対する表示権限を持っていない場合、そのアプリケーションの検索を作成したり、変更することはできません。セキュリティ権限の詳細は、「セキュリティの管理」を参照してください。
大まかにいうと、検索を作成する手順は次のとおりです。
検索するアプリケーションを選択します。
結果に表示するフィールドを構成します。
検索のWHERE句を構成する条件を選択します。
検索で使用するパラメータおよび演算子をカスタマイズします。
グループおよび個人が検索を使用または変更できるようにセキュリティ権限を割り当てます。
Imagingはほとんどの場合、Oracle E-Business SuiteやPeopleSoftなどのERPシステムと統合されることを念頭に置いて、次のような例を検討してみましょう。
Clarkは、XYZカンパニーの米国の購買部門の出荷担当者として勤務しています。その日のタスク・リストを見ると、請求書が承認待ちになっていました。表示されている請求書には、請求書番号および関連する発注番号が記載されています。Clarkは、請求書に記載されている発注番号をERPシステムのフィールドに入力し、その発注番号に関連付けられた複数の受領書のリストを表示するボタンをクリックします。関連付けられた受領書は、ImagingのShippingReceipts_USアプリケーション内のドキュメントです。そのため、返されるリストは、その発注番号に関連付けられたアプリケーション内のすべてのドキュメントに対して、あらかじめ定義された検索を実行することによって生成されたものです。
Clarkは、請求書および各受領書をブラウザ・ページに表示し、請求書に記載されている品目を受領書と比較して、品目を受け取っていることを確認します。すべての品目を受け取っていることがわかると、Clarkはイニシャルと日時を記載して請求書に注釈を付け、ワークフローの次のステップに請求書を送信します。実際には、ドキュメントはImagingビューアに表示されました。Clarkは、ShippingReceipts_USアプリケーション内のドキュメントに対する標準の注釈付けセキュリティ権限を持っているため、注釈を付けることができました。
請求書がワークフローの次のステップに進むと、請求書を承認する必要があることがHR部門のマネージャであるBobに通知されます。Bobが発注番号を入力すると、その発注書に関連付けられたすべての請求書および受領書のリストが表示されます。大規模なオーダーの納入は数か月に及んでおり、各品目グループが納入された時点でベンダーから請求書が送信されているため、複数の請求書および受領書が表示されます。このリストは、ShippingReceipts_USアプリケーションとInvoices_USアプリケーションの両方のドキュメントを使用した検索の結果です。
Bobがリストを確認していると、ベンダーが今月までに納入することを確約したという注釈が発注書に記載されているにもかかわらず、発注書の重要な品目がまだ納入されていないことがわかりました。Bobは請求書に「保留中」のスタンプを付け、ベンダーに連絡して重要な品目が納入されていない理由を確認するとともに、重要な品目が納入されるまでその発注書に対するこれ以降の支払いを保留することを説明する必要があるという注釈を発注書に付けます。
この例は、検索の作成および管理にはImaging管理インタフェースが使用されますが、通常、検索の実行にはERPシステムなどの他の手段が使用されることを示しています。また、この例から、ビジネス・ニーズによって1つの検索で複数のアプリケーションを検索することが求められる場合が多いため、効果的なソリューションを実現するには、慎重に考慮してアプリケーションおよび検索を作成する必要があることがわかります。
検索を作成するには、Imagingユーザー・インタフェースのナビゲータ・ペインの「検索の管理」パネルを使用します。
既存の検索定義をImaging内で再利用できます。そのためには、目的の定義をXMLにエクスポートします。その後、エクスポートした定義ファイルを他のシステムにインポートし、必要に応じて変更できます。エクスポートとインポートの詳細は、「定義のエクスポートおよびインポート」を参照してください。
注意:
Imagingユーザー・インタフェースは、セキュリティ権限によって異なります。ナビゲータ・ペインに「検索の管理」パネルが表示されるには、「作成」または「管理者」の検索定義管理セキュリティ権限を持っているか、「変更」、「削除」または「アクセス権の付与」の検索定義セキュリティ権限を持っている必要があります。
検索を作成する手順は次のとおりです。この手順で使用する各ページの詳細は、「ユーザー・インタフェース」の「検索プロパティ・ページ」から「検索設定の確認ページ」を参照してください。
「検索の管理」パネルを開き、「新規検索の作成」アイコンをクリックします。1つ以上のアプリケーションに対する「表示」セキュリティ権限を持っていれば、検索プロパティ・ページが表示されます。
注意:
1つ以上のアプリケーションに対する「表示」セキュリティ権限を持っていない場合は、エラー・メッセージが表示されます。
「検索名」フィールドに、検索のわかりやすい名前を入力します。たとえば、HR請求書などのように入力します。この検索名は、ナビゲータ・ペインの「検索」パネルに表示されます。このフィールドは必須です。また、Imaging内で一意である必要があります。
「説明」フィールドに、ユーザーにとって参考になる新規検索の説明を入力します。たとえば、人事管理部門の請求書などのように入力します。この説明は、ナビゲータ・ペインの検索名にカーソルが重なったときに表示されます。このフィールドには、最大1000文字まで入力できます。
「指示」フィールドに、検索に関する指示を入力します。検索する条件や検索の使用方法に関する参考情報を入力します。たとえば、「発注番号または受領書番号を入力して、関連する請求書を表示します。」などのように入力します。これらの指示は、検索フォームおよび「検索」タブに表示されます。このフィールドには、最大1000文字まで入力できます。
「検索結果の最大数」フィールドに、返される検索結果の最大数を入力します。これによって、検索対象のアプリケーションの数に従って、リポジトリから取得された結果のうち、表示される結果の数が制限されます。たとえば、検索がShippingReceipts_USアプリケーションとInvoices_USアプリケーションの両方にまたがる場合、「検索結果の最大数」を10に設定すると、結果表には最大で20行が表示される可能性があります。0に設定すると、Imaging MBean構成変数で設定されている最大行数がデフォルトで使用されます。
注意:
返される検索結果の最大数には、次の3つの構成変数が影響します。
検索を定義する際に「検索結果の最大数」フィールドで指定された値。最初にこの値がチェックされ、Content ServerのMaxAppSearchResultsの設定を超えていなければ、この値が使用されます。デフォルトは0です。
MaxSearchResults MBeanで指定された値。「検索結果の最大数」フィールドで指定された値が0の場合、MaxSearchResults MBeanの値がContent ServerのMaxAppSearchResultsの値を超えていなければ、この値が使用されます。MaxSearchResultsのデフォルトは100です。MBean属性の詳細は、「MBean属性の構成」を参照してください。
Content Serverの構成ファイルconfig.cfgのMaxAppSearchResultsで指定された値。MaxAppSearchResultsのデフォルト値は、使用している検索エンジンによって異なります。OracleTextSearchを使用している場合、デフォルトは2000です。サポートされている他のすべての検索エンジンについては、デフォルトは10000です。
各設定は、検索対象のアプリケーションの数に従います。
たとえば、2つのアプリケーションを含むように検索が定義されており、「検索結果の最大数」フィールドの値が100、MaxSearchResults MBeanが50、Content ServerのMaxResultsが300にそれぞれ設定されている場合、「検索結果の最大数」フィールドで指定されている値が使用され、検索した各アプリケーションについて100件ずつ、合計200件の結果が返されます。
2つのアプリケーションを含むように検索が定義されており、「検索結果の最大数」フィールドの値が0、MaxSearchResults MBeanが300、Content ServerのMaxResultsが200にそれぞれ設定されている場合、Content ServerのMaxResultsで指定されている値が使用され、検索した各アプリケーションについて200件ずつ、合計400件の結果が返されます。
「次へ」をクリックします。検索結果フォーマット・ページが表示されます。
「ソース・アプリケーション」フィールドで、検索するアプリケーションを選択します。たとえば、Invoices_USアプリケーションとShippingReceipts_USアプリケーションを選択します。全文検索の場合、選択したアプリケーションが、全文索引を作成するように構成されている必要があります。全文アプリケーションを定義する方法の詳細は、「一般プロパティの指定」を参照してください。Imagingで全文検索を有効にする方法の詳細は、「ドキュメントの全文検索」を参照してください。
検索結果に表示するメタデータを選択します。選択項目は、検索対象のアプリケーションのメタデータ・フィールド・オプションによって決まります。たとえば、請求書番号、ベンダー名、受領日、支払日、合計請求額などを表示できます。
注意:
デフォルトでは、メタデータ検索では大/小文字が区別されます。メタデータ・フィールドに対する検索で大/小文字が区別されないようにするには、「大/小文字を区別しない検索の有効化」に記載されている手順に従ってください。
注意:
複数のアプリケーションにまたがる検索を作成する場合、データおよびデータ型が類似するフィールドを1つの列に整列し、類似しないデータおよびデータ型は別々の列に配置することをお薦めします。これによって、ユーザーは列ヘッダーをクリックし、列内のデータを効果的にソートできます。たとえば、「数値」データ型の発注書フィールドがある1つのアプリケーションと「数値」データ型の発注番号フィールドがある別のアプリケーションを検索する場合、これらのフィールドを1つの列に整列すると、ユーザーはヘッダーをクリックし、数値に基づいて結果を順番にソートできます。ただし、「日付」データ型の受領日という名前のフィールドと「テキスト」データ型のメモという名前のフィールドを1つに列に整列しても、データ型に互換性がないため、ユーザーは情報をソートできません。
列ヘッダーに鉛筆アイコンとして表示されている列オプション・アイコンをクリックして、列の表示方法を変更します。変更オプションは次のとおりです。
列名の変更: 列ヘッダーの名前を変更できます。これは、メタデータの名前が異なる複数のアプリケーションから同じメタデータ情報が返される場合に便利です。たとえば、Invoices_USアプリケーションに発注番号という名前のメタデータ列があり、ShippingReceipts_USアプリケーションにはPOという名前の列があるとします。このオプションを使用すると、PO番号というヘッダー名で情報を統合できます。
列を左に移動: 列を1つ分左に移動します。
列を右に移動: 列を1つ分右に移動します。
列の削除: 列を削除するかどうかを確認するダイアログ・ウィンドウを表示します。
「次へ」をクリックします。検索条件ページが表示されます。
選択したアプリケーションでドキュメントを検索するために使用するフィールド、演算子および値を選択します。「ドキュメント作成日」、「ドキュメント作成者」および「ドキュメントのバッチID」という3つのシステム・フィールドを検索に使用できます。それ以外のフィールド・オプションは、検索対象のアプリケーションによって異なります。たとえば、ShippingReceipts_USアプリケーションで発注番号を検索するには、「フィールド」として「PO」、「演算子」として「=」、「値」として「パラメータ値」を選択します。これによって、発注番号を入力すると、関連する受領書が返されます。複雑な検索条件は、カッコを使用してグループ化したり、ANDまたはOR論理積を使用して結合できます。
各アプリケーションの条件は個々に入力します。「アプリケーションの選択」メニューからアプリケーションを選択して、そのアプリケーションの条件を入力します。各条件は、表の1つの行に入力されます。新しい条件を入力する場合は、条件演算子を選択すると、新しい行が生成されます。表内で条件を上下に移動できますが、それぞれの句に正しい条件演算子を適用するように注意してください。
カッコを使用すると、条件の評価の順序が変更されます。通常の順序では、すべてのAND条件が最初に評価され、その後でOR条件が評価されます。A OR B AND Cは、条件Bおよび条件Cがtrueである必要があるか、または条件Aがtrueである必要があるとして評価されます。カッコを使用すると、評価の順序が変更される場合があります。(A OR B) AND Cは、条件Aまたは条件Bがtrueである必要があり、かつ、条件Cがtrueである必要があるとして評価されます。
たとえば、特定の担当者によって特定の場所(条件C)に配送された出荷の出荷伝票を検索するとします。その担当者は、運転手(条件A)または交代運転手(条件B)である可能性があります。この例には、次の2つのパラメータがあります。
担当者名
宛先郵便番号
パラメータを空白のままにすると、検索を実行したときに、その条件は事実上破棄されます。ユーザーが両方のパラメータを空白のままにした場合、検索結果の最大数までのすべてのドキュメントが返されます。宛先郵便番号を空白のままにした場合、指定した担当者が運転手または交代運転手であるすべてのドキュメントが、検索結果の最大数まで返されます。担当者名を空白のままにした場合、指定した宛先郵便番号を含むすべてのドキュメントが、検索結果の最大数まで返されます。
ただし、検索の作成時にカッコが使用されていない場合、ユーザーが両方のパラメータの値を入力すると、望ましくない結果が返されることがあります。条件は、BおよびC(交代運転手と宛先郵便番号)がtrueであるか、またはA(運転手)がtrueであるように評価されます。そのため、返されるドキュメントには、正しい交代運転手および宛先郵便番号が含まれるか(望ましい結果)、または宛先郵便番号に関係なく、正しい運転手が含まれます(望ましくない結果)。カッコを使用して運転手と交代運転手をグループ化すると、この問題は解決します。(A OR B) AND Cのようにグループ化すると、入力した名前が運転手または交代運転手であり、かつ、入力した番号が宛先郵便番号である結果が返されます。
また、ユーザーに対して非表示になっている静的値を含む検索条件を入力して、検索を絞り込むこともできます。たとえば、Invoices_USアプリケーションで特定の地域の企業からの請求書を検索する場合、条件として「郵便番号」フィールドを選択し、特定の地域の郵便番号の静的値を設定できます。これによって、その郵便番号と一致する地域からのすべての請求書が表示されます。
複数の条件で同じパラメータ値を使用する必要がある場合は、パラメータの編集アイコンを選択し、共通のパラメータ名を選択できます。パラメータ名は一意であるため、複数の条件を特定のパラメータ・エントリにマップできます。新しい値の作成を選択して、複数のアプリケーション間で1つ以上の条件にマップする情報の新しいプロンプトを作成することもできます。たとえば、あるアプリケーションではベンダーと呼ばれ、別のアプリケーションではIDと呼ばれているベンダーID番号の値をユーザーが入力するようにする場合、新しい値の作成を使用して、フィールド・プロンプトをベンダーまたはIDの入力に設定できます。
「次へ」をクリックします。検索パラメータ・ページが表示されます。
検索のパラメータの入力をユーザーに要求する際の方法を選択します。
パラメータの入力に使用する各フィールドの名前を入力します。たとえば、発注番号と入力します。フィールド名を入力しなかった場合、アプリケーションで定義されているフィールドの名前が使用されます。
各フィールドのプロンプト・テキストを入力します。プロンプト・テキストは、パラメータの必須エントリをより明確に定義するために、検索フォームの演算子の前に表示されます。これによって、フィールド名を明確にすることができます。これは、パラメータが複数のフィールドにまたがる場合に特に便利です。
「演算子テキスト」列のアイコンをクリックします。「演算子プロパティ」ダイアログ・ボックスが表示されます。「演算子プロパティ」ダイアログ・ボックスを使用して、演算子の名前を変更したり、「ユーザーによる演算子の選択の許可」を有効にします。有効にすると、「演算子プロパティ」ダイアログ・ボックスが開いて、有効な演算子のリストから、ユーザーが使用可能な演算子を選択できます。目的の有効な演算子をすべて選択済の列に移動したら、「OK」をクリックします。
デフォルト値を指定する場合は、「デフォルト値」列のアイコンをクリックします。「デフォルト値の変更」ダイアログ・ボックスが表示されます。値の選択リストがフィールドに定義されている場合、選択リストを使用してデフォルト値を指定します。選択リストの定義済値は、アプリケーションの作成時に作成されます。フィールドに選択リストがない場合は、デフォルト値を入力します。パラメータが日付値の場合、静的な日付値または相対的な日付値を入力します。相対的な日付値は、現在の日付からの日数を示す正または負の整数です。「OK」をクリックします。
選択リストがフィールドに定義されている場合、ユーザーが選択リストから値を選択できるようにします。
必須または読取り専用にするパラメータを有効にし(ある場合)、「次」をクリックします。検索セキュリティ・ページが表示されます。
「追加」をクリックし、検索へのアクセス権を必要とするユーザーおよびグループを検索して選択します。セキュリティ・メンバーの追加ページが表示されます。
セキュリティ・メンバーの追加ページで、グループとユーザーのどちらを検索するかを選択し、「検索」をクリックします。結果のリストが表示されます。
追加するユーザーまたはグループを選択し、「追加」をクリックします。検索を実行できるように検索に対する「表示」権限を付与するには、ユーザーまたはグループを追加する必要があります。次の手順で、必要に応じて追加の権限を付与できます。キーボードの[Ctrl]キーを押しながら検索結果をクリックすると、結果リストから複数の結果を選択できます。セキュリティ・メンバーの追加ページが閉じます。
各ユーザーおよびグループに付与する追加の権限(「変更」、「削除」または「アクセス権の付与」)を選択し、「次」をクリックします。権限オプションの詳細は、「検索セキュリティ・ページ」を参照してください。検索プレビューとテスト・ページが表示されます。
検索プレビューとテスト・ページで、検索フォームがユーザーにどのように表示されるかを確認します。テストし、必要であれば、前に戻って変更を加えます。表示および操作に問題がなければ、「次」をクリックします。検索設定の確認ページが表示されます。
新しい検索の詳細を確認し、必要であれば、ナビゲーション・トレインで前に戻って変更を加えます。検索に問題がなければ、検索設定の確認ページに戻り、「送信」をクリックします。
既存の検索を変更する手順は次のとおりです。
注意:
ドキュメントとは異なり、変更中に定義をロックすることはできません。そのため、異なるユーザーが同じ定義を同時に変更している場合、最後に送信された変更のみが保存されます。
注意:
検索結果表の数値フィールドに-1が表示されることがあります。これは、ドキュメントを格納しているアプリケーションが変更されて、数値フィールドが追加された場合に発生します。新しいフィールドが追加される前にContent Serverに保存されていたドキュメントで、新しいフィールドに-1が表示されます。フィールドを追加した後で新しいドキュメントがアップロードされた場合、数値フィールドが空白のままであれば、数値フィールドの値として、検索結果に0が表示されます。
次の構成手順を実行して、Content ServerとImagingでメタデータの大/小文字を区別しない検索を有効化します。
Content Serverの「管理サーバー」の一般構成ページで、構成変数IpmCreateCaseInsensitiveIndexをtrueに設定します。これによって、新しく作成されたImagingアプリケーション内のすべてのフィールドで大/小文字を区別しない検索が有効になります。既存のアプリケーション内のフィールドに対して検索を実行すると、以前と同様に大/小文字を区別する検索が実行されます。ただし、大/小文字を区別しないメカニズムに変換できます。
既存のアプリケーション内のテキスト・フィールドで大/小文字を区別しない検索を有効にする手順は、次のとおりです。
Imagingコンテンツに対して全文検索を有効にするには、Content Serverのリポジトリで全文索引が構成されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージメント』を参照してください。
Content Serverで全文索引を構成した後に、次のステップを実行してImagingでの全文検索を有効にします。