6 Managing Searches
At the core of Imaging is the capability to define and execute searches that retrieve the relevant documents for the user. Search management allows the creation and modification of searches that other users may use to find specific documents.
The ability to manage searches is controlled by the security rights that a user has to applications. This means that to ensure security, a person managing searches can be limited to creating searches by the security assigned to the applications defined in Imaging. A search manager may only create or modify a search of applications to which the manager has view rights. If the manager does not have view rights to an application, the manager cannot create or modify a search of that application. For a detailed description of security rights, see Managing Security.
At a high level, creating a search involves the following:
-
Selecting the applications to search.
-
Configuring the fields that are displayed in the results.
-
Selecting the conditions that comprise the where clause of the search.
-
Customizing the parameters and the operators used in the search.
-
Assigning security rights so that groups and individuals may use or modify the search.
6.1 Search Overview
Remembering that most often Imaging is integrated with an Enterprise Resource Planning (ERP) system such as Oracle E-Business Suite or PeopleSoft, consider the following example:
Clark works as a shipping clerk in the US Shipping and Receiving department at XYZ Company. He sees in his daily task list that an invoice is queued for his approval. The listed invoice shows the invoice number and associated purchase order number. Clark enters the purchase order number from the invoice into a field of their ERP system and clicks a button that displays a list of several shipping receipts associated with that purchase order number. The associated receipts are documents in the ShippingReceipts_US application of Imaging, and the returned listing was generated by running a predefined search for all documents in the application associated with that purchase order number.
Clark views the invoice and each shipping receipt in a browser page and compares the items listed on the invoice with the shipping receipts to verify that the items were received. When satisfied that all items were received, Clark annotates the invoice with his or her initials and the date and time and sends it on the next step of the workflow. In actuality, the documents were viewed in the Imaging viewer, and because Clark has Standard Annotation security rights to the documents in the ShippingReceipts_US application, he was able to annotate it.
Once the invoice moves on in the workflow, the HR department manager, Bob, is notified that the invoice needs his approval. Bob enters the purchase order number and a list is displayed of all invoices and shipping receipts associated with that purchase order. Several invoices and shipping receipts are listed because the large order was delivered over several months and invoices were sent from the vendor as each group of items was delivered. The list is the result of a search through the documents in both the ShippingReceipts_US application and the Invoices_US application.
Bob reviews the list and sees that a critical item on the purchase order still has not been delivered, despite an annotation on the purchase order that the vendor had promised delivery by this month. He stamps the invoice On Hold and annotates the purchase order that the vendor must be contacted to determine why the critical item was not delivered and explain that anymore payments against that purchase order will be withheld until the critical item is delivered.
This example illustrates how searches are created and managed through the Imaging administration interface, but are generally executed through some other means, such as an ERP system. It also shows that a business need often requires one search to search multiple applications and that careful thought should be applied to application and search creation to ensure successful solutions.
6.2 Creating a Search
Create a search using the Manage Searches panel in the navigator pane of the Imaging user interface.
You can reuse an existing search definition within Imaging by exporting the desired definition to XML. You can then import that definition file into other systems and modify it appropriately. For more information about exporting and importing, see Exporting and Importing Definitions.
Note:
The Imaging user interface changes based on your security rights. You must have either Search Definition Management security rights of Create or Administrator, or have Search Definition security rights of Modify, Delete, or Grant Access for the Manage Searches panel to display in the navigator pane.
To create a search, complete the following steps. Additional information about each page used in the procedure can be found in Search Properties Page through Search Review Settings Page of User Interface.
-
Open the Manage Searches panel and click the Create New Search icon. If you have View security rights to at least one application, the Search Properties Page displays.
Note:
If you do not have View security rights to at least one application, and error message is displayed.
-
In the Search Name field, type a descriptive name for the search. For example, HR Invoices to Pay. This search name is displayed under the Searches panel in the navigator pane. This field is required, and it must be unique within Imaging.
-
In the Description field, type a description of the new search that will be helpful to the user. For example, Invoices for the Human Resources Department. The description is displayed when the cursor hovers over the search name in the navigator pane. The field contains a maximum of 1000 characters.
-
In the Instructions field, enter instructions for the search. The instructions provide helpful information about what criteria is being searched for and how a user should use the search. For example, Enter a purchase order number or shipping receipt number to view associated invoices. These instructions are available on the search form and also appear on the Search Tab display. The field contains a maximum of 1000 characters.
-
In the Maximum Search Results field, enter the maximum number of search results returned. This limits how many results retrieved from the repository are displayed, per the number of applications being searched. For example, if the search spans both the ShippingReceipts_US application and the Invoices_US application, and the Maximum Search Results is set to 10, the results table could have up to 20 rows. A setting of 0 defaults to the maximum number of rows set in the Imaging MBean configuration variable.
Note:
Three configuration variables affect the maximum number of search results returned:
-
The value specified in the Maximum Search Results field when defining a search. This value is checked first and used if it does not exceed the Content Server MaxAppSearchResults setting. The default is 0.
-
The value specified in the MaxSearchResults MBean. This value is used if the value specified in the Maximum Search Results field is 0, provided the MaxSearchResults MBean value does not exceed the Content Server MaxAppSearchResults value. The default for MaxSearchResults is 100. For more information about MBean attributes, see Configuring MBean Attributes.
-
The value specified in the MaxAppSearchResults Content Server configuration file config.cfg. The default value for MaxAppSearchResults is dependent on the search engine being used. If OracleTextSearch is used, the default is 2000. For all other supported search engines, the default is 10000.
Each setting is per the number of applications being searched.
For example, if a search is defined to include two applications, and the Maximum Search Results field value is set to 100, the MaxSearchResults MBean is set to 50, and the Content Server MaxResults is set to 300, then the value specified in the Maximum Search Results field is used and 200 results are returned - 100 for each application searched.
If a search is defined to include two applications, and the Maximum Search Results field value is set to 0, the MaxSearchResults MBean is set to 300, and the Content Server MaxResults is set to 200, then the value specified in the Content Server MaxResults is used and 400 results are returned - 200 for each application searched.
-
-
Click Next. The Search Results Formatting Page is displayed.
-
Select the application or applications in which to search from the Source Application field. For example, the Invoices_US application and the ShippingReceipts_US application. For full-text searching, the application selected must be configured for full-text indexing. See Specifying General Properties for more information on defining a full-text application. See Searching Full Text in Documents for more information on how to enable full-text search in Imaging.
-
Select the metadata to be displayed on the search results. Choices are determined by the metadata field options in the applications being searched. For example, you may want to display the invoice number, the vendor name, the received date, the paid date, the invoice total.
Note:
By default, metadata searching is case-sensitive. If you want the search on metadata fields to be case-insensitive, follow the steps listed in Making Search Case-Insensitive.
Note:
If creating a search across multiple applications, it is a good idea to align the fields with like data and data types and put data and data types that are not alike in separate columns. This allows a user to click the column header and sort the data in a column effectively. For example, if searching one application with a Purchase Order field of the Number data type and another with a PO No. field also of the Number data type, aligning the fields would allow a user to click the header and sort the results sequentially based on the number. However, aligning a field of the data type Date and named Received Date with a Text data type field named Notes would not allow a user to sort the information because the data type is incompatible.
-
Modify how the columns are displayed by clicking the Column Options icon, displayed as a pencil in the column header. Modification options are:
-
Modify Column Name: Allows you to rename the column header. This is useful if the same metadata information is returned from multiple applications that have different names for the metadata. For example, in the Invoices_US application the metadata column may be named Purchase Order No., but in the ShippingReceipts_US application it is named PO. Using this option you can consolidate the information under the heading name PO No.
-
Move Column Left: Moves the column one space to the left.
-
Move Column Right: Moves the column one space to the right.
-
Delete Column: Displays a dialog window asking you to confirm deleting the column.
-
-
Click Next. The Search Conditions Page is displayed.
-
Select the fields, operators, and values you want to use to find the documents in the selected applications. Three system fields are available for searching: Document Creation Date, Document Created By, and Document Batch Id. Otherwise field options are dependent on the applications being searched. For example, select PO as the Field, = as the Operator, and Parameter Value as the Value to search for the purchase order number in the ShippingReceipts_US application. This enables a person to enter a PO number and return the associated shipping receipts. Complex search conditions can be grouped using parentheses and combined using AND or OR conjunctions.
The conditions for each application are entered independently. Select the application from the Application Selection menu to enter conditions for that application. Each condition will be entered on one line of the table. To enter a new condition, select the conditional operator and a new line will be generated. The conditions may be moved up or down within the table, but be careful to apply the correct conditional operators to each clause.
Using parentheses changes the order of evaluation of the conditions. The normal order is to evaluate all AND conditions first and then evaluate the OR conditions. A OR B AND C would be evaluated as condition B and condition C need to be true or condition A needs to be true. Using parentheses the evaluation order may be changed. (A OR B) AND C would be evaluated as either condition A or condition B needs to be true and condition C needs to be true.
For example, you want to find shipping documents for shipments driven to a specific location (condition C) by a specific person. The person could be either the driver (condition A) or the co-driver (condition B). In this example there would be two parameters:
-
the person's name
-
the destination zip code
Leaving a parameter blank effectively drops the condition from the search when it is run. If a user leaves both parameters blank, all documents up to the maximum search results are returned. Leaving the destination zip code blank returns all documents where the specified person is the driver or co-driver, up to the maximum search results. Leaving the person's name blank returns all documents with the specified destination zip code, up to the maximum search results.
However, if no parenthesis are used when constructing the search and values are entered for both parameters by the user, an undesired result could be returned. The conditions would be evaluated so that either B AND C would be true (co-driver and destination zip code) OR A would be true (driver). So the returned documents would either have the correct co-driver and destination zip code (a desired result), or the correct driver regardless of destination zip code (an undesired result.) Using parenthesis to group the driver and co-driver solves this problem. Grouping (A OR B) AND C returns results where the entered name is either driver or co-driver, and the entered number is the destination zip code.
You can also enter search conditions that have a static value hidden from the user to help narrow the search. For example, if looking for invoices in the Invoices_US application from companies in a specific region, you could select the Zip Code field as a condition and set a static value of the zip code for the specific region. Then all invoices from the region matching the Zip Code will display.
If more than one condition needs to use the same parameter value, you can select the edit icon for the parameter and select the common parameter name. The parameter names are unique and this allows you to map more than one condition to a specific parameter entry. You can also select Create New Value to create a new prompt for information that maps to one or more conditions across multiple applications. For example, if you want the user to enter a value for a vendor identification number that may be called Vendor in one application and ID in another, you can use Create New Value to set the field prompt to Enter Vendor or ID.
-
-
Click Next. The Search Parameters Page is displayed.
-
Select how you want the user to be prompted to enter parameters into the search:
-
Enter a name for each field to be used to enter parameters. For example, Purchase Order Number. If no field name is entered, the name of the field as defined in the application is used.
-
Enter the prompt text for each field. The prompt text precedes the operator on the search form to more clearly define the required entry for the parameter. This can help clarify the field name and is especially useful if the parameter spans multiple fields.
-
Click the icon in the Operator Text column. The Operator Properties Dialog Box is displayed. The Operator Properties dialog box is used to change the name of the operator or to enable Allow user to choose operator. If enabled, the Operator Properties dialog box expands so you can select what operators are available to a user from a valid operators listing. Once all desired valid operators are moved to the selected column, click OK.
-
If you want to specify a default value, click the icon in the Default Value column. The Modify Default Value dialog box is displayed. If a picklist of values is defined for the field, use the picklist to specify a default value. Defined values for a picklist are created when the application is created. If a field does not have a picklist, then enter the default value. If the parameter is a date value, enter either a static date value or a relative date value. The relative date value is a positive or negative integer that specifies number of days from the current date. Click OK.
-
If a picklist is defined for the field, enable to allow a user to select a value from the picklist.
-
Enable which parameters, if any, that you want to be required or Read Only, and click Next. The Search Security Page is displayed.
-
-
Click Add to search for and select users and groups who need access to this search. The Add Security Member Page page is displayed.
-
On the Add Security Member Page, select whether you want to search for groups or users and click Search. A listing of results is displayed.
-
Select the users or groups you want to add and click Add. Users or groups must be added in order to gain View rights to the search so that they can execute it. Additional permissions can be granted as necessary in the next step. You can select more than one from the results listing by holding the Ctrl key on your keyboard while clicking on the search results. The Add Security Member Page closes.
-
-
Select additional permissions each user and group will have: Modify, Delete, or Grant Access and click Next. For a description of the permission options, see Search Security Page. The Search Preview and Test Page is displayed.
-
On the Search Preview and Test Page, review how the search form will display for the user. Test it and if necessary, go back and make modifications where necessary. When satisfied with the display and operation, click Next. The Search Review Settings Page is displayed.
-
Review the details of the new search and go back in the navigation train to make changes, if necessary. When satisfied with the search, return to the Search Review Settings Page and click Submit.
6.3 Modifying an Existing Search
To modify an existing search, complete these steps:
Note:
Unlike documents, definitions cannot be locked while being modified. Consequently, if the same definition is being modified at the same time by different people, only the last changes submitted are saved.
Note:
In some circumstances, a -1 may be listed in a number field on a search results table. This happens when an application containing documents is modified to have a number field. The new field displays a -1 on documents that were in Content Server prior to when the new field was added. When a new document is uploaded after the field is added and the number field is left blank, search results will display 0 for the number field value.
6.4 Making Search Case-Insensitive
Complete the following configuration steps to enable case-insensitive metadata search on Content Server and Imaging:
-
Set the configuration variable IpmCreateCaseInsensitiveIndex to true on the Admin Server's General Configuration page in Content Server. This will enable all the fields in newly created Imaging applications to provide case-insensitive searching. Performing searches on fields in already existing applications will continue with case-sensitive searching as before. These can be converted to the case-insensitive mechanism though.
Complete the following steps to enable case-insensitive searching on text fields in already existing applications:
6.5 Searching Full Text in Documents
To enable full-text search for Imaging content, full-text indexing must be configured on the Content Server repository. For more information, see the Managing Oracle WebCenter Content.
After configuring full-text indexing on the Content Server, follow these steps to enable full-text search in Imaging:
- Select the Full Text Search check box on the Applications General Properties page in Imaging.
- Re-index the application fields by deselecting and then reselecting all the indexes in the Field definition page of an application in Imaging.
- Create a Document Content field in the search with the contains operator. The Document Content field will be used when conducting a full-text search. See Creating a Search for more information on creating a search.