In this section: |
This section explains how to create and configure the indexing process flow, which will be incorporated in the iWay channel.
How to: |
This section explains how to use the iWay Designer tool to create, validate, and test the transaction indexing process flow. For additional information on iWay Designer, see the iWay Designer User's Guide.
The following image shows an indexing process flow created with iWay Designer. For illustrative purposes, the names of the objects in this process flow match their function, but you can use other descriptive names, as needed.
As you add objects, such as Store Values and Create HTML, to the process flow, you must build a relationship between them. The relationship between objects is represented by colored lines connecting the objects. These lines also show the movement of a document through the process flow.
The following procedure explains how to create the indexing process flow.
iWay Designer opens, as shown in the following image.
Note: A Designer project can contain more than one process flow, so this step is not necessary if you want to create the process flow under an existing project. In this case, go to Step 4.
The new project appears under the repository.
Our example project is named Sporting Goods.
The new process flow node appears under Processes in the Navigation pane and a Start object appears in the workspace, as shown in the following image.
Our example process flow is named Goods_Index1.
The Start object begins the process flow by accepting the XML document containing data from your data source by way of the iWay listener.
To view the Start object properties, right-click the object in the workspace and select Properties. While in this dialog box, you can rename the object (Name tab).
Continue creating the process flow using the instructions found in Storing Metadata Values.
How to: |
Next, you must configure a Service object to define the metadata that will identify the fields in the incoming XML document that you want to appear in the Categorization Tree, as well as the field or fields that will uniquely identify the record when it is indexed.
The metadata parameters you will use are FXVn and FXKn. Keeping with the example in Overview of Implementing Magnify, we will define metadata parameters for Brand, Category, Color, Department, Gender, Price Range, Promotion, Sports, and Style. And the identifier will be product ID.
You can use multiple identifiers for a record, if necessary. For example, if you were indexing employee information, you could use the last name of the employee as the unique identifier, or you could use the last name and the first name to ensure there would be no duplicate records. To define multiple identifiers, use the parameters FXK, FXK2, FXK3, FXK4, and so on. (The FXK parameter implies FXK1.)
You can also specify multiple values for a field by using the FXMn parameter. FXMn is used in place of FXVn when using multiple values and contains a unique delimiter that is used to assign each value its own category in the dynamic categorization tree. The delimiter can be any value, but it should be unique and not used in the field value. You must use delimiter as the metadata parameter name to define the delimiter value. The delimiter value is defined once and applied to all FXMn meta tags in the Service Object. Therefore, the delimiter must be the same for all FXMn values.
Note: The FXMn metadata parameter is not available in the Magnify Prototype Wizard.
Using our example, the object name is Store Values.
The Service Type dialog box opens.
Important: This is not an arbitrary name. XDSREGAgent is the exact name of the class.
The following image shows the Service Type dialog box with the class name field populated.
The Properties dialog box opens.
The User Defined Properties dialog box opens, as shown in the following image.
In this dialog box we can identify and the specific which metadata from the incoming XML document you want to appear in the Dynamic Categorization search results tree using the following metadata parameters:
For example, the following image shows several FXM values and a ZXZ delimiter value specified by the delimiter user-defined property name:
Note: The FXM metadata parameter is not available in the Magnify Prototype Wizard.
For more information on metadata parameters, see About the Magnify Feed Process.
Note: An XML Path Language (XPath) expression defines the path to a specific value (or values) within an XML document. This path is based on the hierarchal structure of the XML document. This step ties the property name (FXVn) to the location in the XML file that holds the property value (the XPath expression).
The XPath Builder wizard opens.
The XML document appears in the document pane. The following image shows an XML document in the Load a document instance dialog box.
The Build an XPath dialog box opens.
In our example, we want to include the value of Brand, therefore, expand the RetailDB node, and select the Brand field, retaildb.Brand.
The following image shows an XML structure in the left pane with the Brand element selected for the XPath expression.
Using our example, the path to the Brand element appears in the XPath field, and the Brand element value and occurrence in the XML document appears in the right pane.
The XPath expression appears in the Value field, as shown in the following image.
With the FXV1 parameter, we have identified an item we want to appear in the Dynamic Categorization tree by locating the XML field where it resides.
The subsequent parameter names for our example field values are:
FXV2 with a value of an XPath expression pointing to the retaildb.Category field.
FXV3 with a value of an XPath expression pointing to the retaildb.Color field.
And so on, through to FXV10 pointing to the retaildb.Style field.
In our example, the productid is the unique identifier of this record.
Note: The order in which you enter the values and the key identifier is not critical. However, the FX meta tags must be in sequential order. If a set of FX meta tags are removed, the remaining meta tags must be renumbered. Otherwise, the links on the Dynamic Categorization tree will produce an error.
The following images shows the User Defined Properties dialog box with our example of ten defined parameters and their unique identifier.
The following image shows the process flow with the Store Values object.
Continue creating the process flow using the instructions found in Creating the HTML Document.
How to: |
Once you have identified the incoming data field values you want, you must convert the XML document to an HTML document using a Transform object. In this HTML document, you define the links associated with the field values that were set up in the Store Values object.
A Transform object within the process flow triggers an XML-to-HTML transform that has been designed with the iWay Adapter Transformer tool. As you configure the Transform object, you can design a transform that maps the XML elements to HTML elements. As a minimum you must map the fields that were designated for the Dynamic Categorization tree, and then map any additional metadata, content, and paths to images and WebFOCUS reports to be invoked from the search results interface.
The Dynamic Categorization tree fields we will map from our example are Brand, Category, Color, Department, Gender, PriceRange, Promotion, Price, and Style. We will also add the information to call the WebFOCUS report, include the two additional links, and add a few images, as noted in About the Magnify Feed Process.
The following procedure provides the details to create the XML-to-HTML mapping while maintaining the required HTML format. You can refer to your Configuration Worksheet for the information needed to set up the mapping.
To create an HTML document from the incoming XML document:
In our example, the object name is Create HTML.
The Transform Type dialog box opens, as shown in the following image. By default, New Transformer appears in the Transform field.
Note: Once a transformation is created and published, it becomes available in the Transform drop-down list. This procedure explains how to create a new transform.
The iWay Adapter Transformer tool, shown in the following image, opens in a separate window.
The Project Location dialog box opens, as shown in the following image.
The transform for our example is named XMLtoHTML_Search.
The Project Type dialog box opens, as shown in the following image.
Note: Because XML provides a certain flexibility and can be used to produce an HTML document, you can choose XML as the output format for the XML-to-HTML transform.
The Input Properties dialog box opens, as shown in the following image.
Note: All iWay listeners produce an XML formatted file.
The following image shows the Validation options.
The Output Properties dialog box, shown in the following image, opens.
Note: If you have a template of the output structure, browse to it in the Structure field. This is helpful, but not necessary, when building the output structure in the mapping step of this procedure.
For the required HTML output structure, see Creating the HTML Document.
The project appears in the main Transformer window, as shown in the following image. The Input Items Structure pane reflects the XML input file structure and the Output (unless you provided a template) contains the Target_Root tag. You will build the HTML output structure under this root tag.
As noted in Creating the HTML Document, the HTML document you send to the search engine must have a specific format. The following tables list the required HTML parameters and values when using:
Use the information you recorded in the configuration worksheets as you build the HTML output. For more information, see Magnify Meta Tags.
In the subsequent steps of this procedure, we will build our HTML output using the standalone report procedure parameters.
Give the TITLE tag a value, as noted in the previous table, that corresponds to the title you want to appear as the search result link.
When you assign a value to an output item, you can:
The Edit - Output Item Mapping dialog box opens, as shown in the following image.
In our example, the title is Acme Delux ClassicBaseball Spike Mens.
The TITLE tag mapping field (in the Output Items Mapping pane) is populated. The following image shows these elements in the Output Mapping pane.
An Output_Attribute appears under the META tag.
Using our example, we type Department.
The name Mapping field is populated with your entry.
Select the retaildb.Department field to point to the value for Department in the database, as shown in the following image.
The name Mapping field is populated with your entry.
The following image shows the new mapping for the Department META entry. (You can set the View to represent the mapping between input and output items as a line.)
FOCEXEC_FOR_TITLE
The name Mapping field is populated with your entry.
The FOCEXEC in our example is prddet.
The content Mapping field is populated with your entry, as shown in the following image.
FOCSOURCEDATABASE_FOR_TITLE
FOCEXECAPPNAME_FOR_TITLE
The additional links in our example are Product Sheet and Summary Report.
LINK_DISPLAY_NAME1
The name Mapping field is populated with your entry.
In our example, the link name is Product Sheet. We also want a PDF icon to appear next to this name, so we include the path to the image in this element content, as follows:
content = "Product Sheet <img src="http://vlamdemo.ibi.com:8080/ ibi_html/javaassist/images/mr/mr_ex_pdf.gif" border="0">"
FOCEXEC1
FOCSOURCEDATABASE1
FOCEXECAPPNAME1
The following shows the META elements in the Output Items Mapping pane.
In our example, the second link is Summary Report. Our entries for this example are:
META name = "LINK_DISPLAY_NAME2" content = "Summary Report" META name = "FOCEXEC2" content = "prdsum" META name = "FOCSOURCEDATABASE2" content ="retaildb" META name = "FOCEXECAPPNAME2" content = "retail"
Note: Because this element can contain lengthy content, you can use the concatenate function to join strings, as shown in this procedure.
The Parameter and Parameter Value fields appear below the function pane.
Note: We recommend that you include all of the items from the XML document in the body. You can also add additional words or phrases you think will help locate this record.
Tip: Use the following guidelines when working with the concatenate functions.
To illustrate nesting Concatenate functions, use our example XML document, which contains 13 items that we want to include in the BODY element. In addition, we want to include the word Sporting to make a total of 14. Because we have so many items to include, we select the @CONCAT(Param1, Param2, Param3, Param4) function to start. The following diagram shows the structure of the nested concatenate functions to join the desired string values and spaces for the record in our example.
Note:
The Edit -- Param1 window opens with the same options (Edit from Input, Use Functions, Type in Constant, and Use Expression).
The value of our example Param1 will be @CONCAT(Param1, Param2, Param3, Param4). The following image shows the first concatenate selection (Step d) in the left Edit window, and the Param1 Edit window in the right Edit window.
Note: An additional Edit window appears each time you select a function as a parameter value.
From our example, we select Department for the Param1 value.
The Parameter Value field is populated with this value.
Using our example, we choose Category for Param3.
The Parameter Value field is populated with this value.
The following image shows the original Edit window and the Edit -- Param1 window. In the Edit -- Param1 window, we have assigned values for the 4 parameters of the Parma1 concatenate. Note that parameters 2 and 4 contain spaces.
The Edit -- Param1 window closes and the concatenate value appears in the Parameter Value field of the original Edit window, as shown in the following image.
The XML to HTML transform project is now complete. The following image is an example of the mapping between the input and output structure that shows the META tags and the BODY tags mapped to the original XML elements. (This image only shows one expanded META element to reveal its mapping.)
The transformation output is then indexed and becomes part of the content of a record.
The test results, which are the resulting HTML documents, appear in the Test Transform pane.
For more information on the structure of the document, see Magnify Protocols for Indexing Documents.
The Transform Location dialog box opens.
Note: The Transforms pane lists the transform projects that exist in the selected folder.
The transform now resides on the iWay server and configuration you selected and is available for selection in the Adapter Designer Transform object.
For our example, select XMLtoHTML_Search.
The Transform object appears in the Designer workspace.
The following image shows the process flow with the Create HTML object.
How to: |
The Feed to Search Engine object is another Adapter Designer Service object. Here you will include the database field values we stored in the Store Values object (FXVn, FXMn, and FXK) and add two parameters to define the items in the search results Dynamic Categorization tree:
The FXK meta tag is not used in building the Dynamic Categorization tree.
Security parameters are added to this Service object to enforce access to search results. See the Magnify Security and Administration Manual for information on the security feature.
For more information on feeding HTML documents to Magnify, see Magnify Protocols.
If the IEI_Feeder type is not an option in the Type drop-down list, complete the following steps using the iWay Service Manager Console:
The IEI Feed Agent is manually selected during the iWay Service Manager installation. If the IEI Feed Agent is not available, please contact your systems administrator.
All items marked with a red asterisk require a value.
The Properties are:
http//host:[port]/wf_context_root/saxfeed
where:
Is the servlet.
Note:
? indexname : sizelimit
where:
Is the name of the index library.
When the index reaches the size limit, a new index library is created. For example, a value of 100m creates a new index folder when the current index reaches 100MBs. A new folder with the datasource name and a sequential number is created. For example, retail, retail1, retail2.
Base URL. URL to the WebFOCUS servlet (WFServlet), which runs WebFOCUS reports. When a search result link is clicked, the Base URL is prepended to the parameters associated with the link, allowing the parameters to be passed to the WebFOCUS servlet to run the report.
The Base URL format is
http//host:[port]/wf_context_root/WFServlet
where:
Is the server and port number where WebFOCUS is installed.
Is the WebFOCUS web application context root. The default is ibi_apps.
When the Batch Size is greater than 1, the same datasource must be used for all items in the batch.
If the Batch Size parameter is set, it is recommended to use the Idle Limit setting as well. If the Batch Size is not met after the Idle Limit time has expired, the process flow sends Magnify the records that have been collected. For example, if Batch Size is set to 4 and only three records are sent to the process flow, the Batch Size setting has not been met. However, after the Idle Limit time is met, the IEI Feed Agent sends the three records to Magnify for indexing.
Note: The IEI Feed Agent is semi-synchronous. Once the document is sent to Magnify, the connection no longer exists. If the agent does not successfully send the document to Magnify, it stores the document in the iWay60\config\base\etc\iei directory for later retrieval.
The User Defined Properties dialog box opens. As noted in Feed HTML Document to the Search Engine, you will define the database field (FXFn), the title for the result search category (FXTn), as well as include the field values (FXVn and/or FXMn) and unique identifier(s) (FXKn) defined in the Store Values Service object (See Storing Metadata Values). In addition to these properties, you can define the security parameters to enable the security feature.
For more information on Magnify security, see the Magnify Security and Administration Manual.
Note: The FX meta tags must be sequential in order. If a set of FX meta tags are removed, the remaining meta tags must be renumbered. Otherwise, the links on the Dynamic Categorization tree will produce an error.
Type the names and values manually using the following steps.
From our example, we will type Department.
Using our example, the title for this field will be Department.
Important: When adding the information for a field that contains multiple values, you must specify FXM as the meta tag name instead of FXV. You must also specify the delimiter that is used for the multiple values. The delimiter value is defined once and applied to all FXMn meta tags in the Service Object. Therefore, the delimiter must be the same for all FXMn values.
For example, the following image shows several FXM values and a ZXZ delimiter value specified by the delimiter user-defined property name:
Important: When adding the information for a field that includes a designation, such as a dollar sign ($79.99) that appears in the Price field, you need to include a parameter to hold the raw data, that is, data without the designation. This field is named FXR.
For instance, in our example the Price field includes a dollar sign. In the Feed to Search Engine object properties, shown in the following image, three parameters are used to define the Price:
The following image shows the User Defined Properties dialog box with the items from our example.
The Feed to Search Engine Service object appears in the workspace.
The following image shows the process flow with the Feed to Search Engine Service object.
How to: |
All process flows must have at least one End object.
The process flow structure is now complete, as shown in the following image.
The process flow is ready for validation and testing.
iWay best practices, such as error handling, can be added to the process flow. For more information, see the iWay Service Manager User’s Guide.
How to: |
Validating a process flow verifies that the flow structure is valid. For example, it will verify that each object contains the required properties and that all objects are connected.
To validate the process flow, in the navigation pane, right-click the process flow and select Validate from the drop-down list. The Message Log pane displays a message that the process flow has been validated. If there is a validation error, review the process flow for missing relationships or undefined properties, and run the validation again.
Once the validation is successful, test the process flow to verify that it is functional.
The following steps explain how to verify that the process flow you created is functional.
The Trace and Transaction Options dialog box opens, as shown in the following image.
Note: Use one of the XML documents that was emitted from the channel you configured in Configuring an iWay Channel.
The sample file contents appear in the Input Document pane. The following image shows our example file in this pane.
The test results appear in the Message Log pane and the following message appears:
The current selected process has successfully been tested. Do you want to view the detail results?
To see the detailed results, click Yes. The Process Test Viewer opens from which you can see the input and output document content. The following image shows the output document for our example process flow.
How to: |
Now that the process flow has been designed and tested, you need to publish it to the Registry so that is available to incorporate it into the working channel.
The Select Publication Locations dialog box opens, as shown in the following image. (When you use the Default Publish option, this window automatically opens to the Registry, since that is where the process flow was created.)
The Message Log pane displays the publishing status, for example:
Process successfully published to the registry
You are now ready to reconfigure the channel to use the published process flow. Continue to Reconfiguring and Deploying the iWay Channel for the final steps in configuring Magnify.
In this section: |
The following section describes considerations when creating a process flow in the iWay Designer tool.
To verify whether a process flow has been checked out, right-click on the process flow name and ensure that a key icon displays. If the process flow is not checked out, all inputs are disabled or grayed out.
To create a new process flow using an existing one as a base, it is recommended that you export the current process flow and then re-import it. Copying and pasting a process flow results in two process flows with the same unique identifier. When the new process flow is published it overwrites the previous one in the iWay Registry.
WebFOCUS |