This chapter covers the following topics:
Note:
You can provide access to the Imaging solution from Oracle E-Business Suite Oracle Application Framework (OAF) applications. For information, see Configuring Other Services on OAF Pages (Optional).
Note:
To make certain modifications to Imaging solutions, such as changing the profiles displayed to users in the Task List and task actions and metadata displayed to users in the Task Viewer, you can use the Imaging Solution Editor. For information about the Solution Editor, see Solution Editor Page in Administering Oracle WebCenter Content: Imaging.
Configuring the BPEL connection for use by an AXF solution involves the following tasks:
The Credential Store Framework (CSF) enables you to create a user name/password alias for use in an Imaging connection configuration. With a CSF alias, you supply a key instead of a user name and password, and use this key in creating an Imaging connection. (You can use one CSF key for multiple imaging connections.)
For information about creating keys and aliases, see Key and Certificate Storage in Oracle Fusion Middleware in Administering Oracle Fusion Middleware.
Note:
When implementing an AXF solution using MS LDAP as a user repository, the credential user must be the administrator belonging to the Administrators group within the Builtin CN in MS LDAP. The AXF uses this credential user when making certain calls (for example, when retrieving a task list from SOA). In addition, you must configure the Group Base DN (in WLS Console, Provider Specific) to import CN=Builtin.
Follow these steps to create a connection and specify the CSF alias key, BPEL server name, and port.
Follow this step to identify the Imaging connection to the AXF solution, as described in Creating a Connection in Imaging Connections. Run the command from SQL Developer (or other suitable tool that can connect to the imaging database schema).
Note:
If using an implementation accelerator (including the HelloBPEL solution), this step is not needed.
Insert into AXF_SOLUTION_ATTRIBUTES (SOLUTION_NAMESPACE,PARAMETER_KEY,PARAMETER_VALUE) values \ ('InvoiceProcessing','BPEL_CONNECTION','axfconnection');
After completing installation and configuration of the Imaging solution, complete one of the following steps for implementation:
Configure the AXF tables and AXF-related Oracle E-Business Suite or Oracle PeopleSoft tables. Table descriptions and example implementations are provided in BPEL Imaging Solution Reference.
OR
Apply a solution implementation accelerator. To obtain an accelerator, contact your systems integrator, Oracle Consulting, or Oracle Support.
Access the driver page of the AXF web application to verify functionality. For more information about the driver page, see Verifying the AXF for BPEL Installation and Configuration with HelloWorld in Installing and Configuring Oracle WebCenter Content.
Following are the optional configurations for the Imaging solution:
Follow the steps below to prevent users from having to log in to Imaging the first time they access the Imaging viewer per session. You set the front end HTTP host and port so that the Imaging hostname and the AXF server hostname match.
Follow these steps to set the front end HTTP host and port:
You can allow the authenticated Oracle WebLogic Server user to perform tasks, such as BPEL tasks, rather than the user passed from Oracle E-Business Suite or Oracle PeopleSoft. This allows you to use different user stores for Oracle E-Business Suite/Oracle PeopleSoft and the Oracle WebLogic Server.
The related AXF_SOLUTION_ATTRIBUTES table configuration is shown in Table 5-1; also see AXF_SOLUTION_ATTRIBUTES Table.
Table 5-1 AXF_SOLUTION_ATTRIBUTES Table, USERNAME_PASS_THROUGH Configuration
SOLUTION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE |
---|---|---|
AXF |
USERNAME_PASS_THROUGH |
TRUE or FALSE |
where:
TRUE (default): Uses the passed-in user from Oracle E-Business Suite or Oracle PeopleSoft to perform tasks.
FALSE: Uses the authenticated Oracle WebLogic Server user to perform tasks.
Note:
For Managed Attachments configurations, the USERNAME_PASS_THROUGH parameter should be set to TRUE. The AXF_ATTACHMENTS_CONFIG.SQL script for Managed Attachments (described in Configuring Elements for UCM Web Service Implementation of Managed Attachments) sets this value to TRUE. If no value is provided, the value defaults to TRUE. Also see Restoring Business Application User Pass Through for Managed Attachments.
Note:
After changing the value of USERNAME_PASS_THROUGH in the database, stop and start the Imaging application in the Oracle WebLogic Server Administration Console.
To enhance performance and scalability, AXF in Imaging Managed Servers uses coherence by default for its data caching solution. The Oracle Coherence license available in Oracle WebCenter Content: Imaging is restricted. By default, Imaging supports a local caching scheme without any distributed data caching. In a High Availability (HA) environment, the cached entries are not shared across Java Virtual Machines (JVMs) or other machines.
In a clustered system, AXF requires the cache to be distributed. If the cache is not distributed, conversation might not be available in some machines.
For more information about configuring coherence, see Configuring and Managing Coherence Clusters in Administering Clusters for Oracle WebLogic Server.
Following topics provide information on coherence caches:
For information on the basic types of cache modes provided by Coherence, see Introduction to Coherence Caches in Developing Applications with Oracle Coherence.
Following table lists the AXF Coherence cache entry that you can configure for WebCenter Content: Imaging:
Table 5-2 AXF Coherence cache in WebCenter Content: Imaging
Cache Name | Purpose | Default Coherence Configuration |
---|---|---|
oracle.imaging.axf |
Cache for AXF |
Imaging60MinuteCache |
Following table enlist the default Coherence configuration properties:
Table 5-3 Coherence Configuration Properties
Default Configuration | Eviction Policy | High Units | Expiration Delay |
---|---|---|---|
Imaging60MinuteCache |
Hybrid |
0(No Limit) |
1 hour |
Defines the coherence configuration properties, where:
High Units is the maximum number of units that can be placed in the cache before pruning occurs.
Hybrid Eviction Policy chooses the entries to evict based on the combination (weighted score) of how often and how recently they were accessed. Those entries that are accessed least frequently and those that were not accessed for the longest period are evicted first.
Expiration Delay specifies the amount of time from the last update till the time the entries are marked as expired. Any attempt to read an expired entry results in reloading the entry from the configured cache store. Expired values are periodically discarded from the cache.
In AXF configurations with multiple simultaneous users, collisions may occur when end users attempt to acquire tasks in Autotask mode. (For details about Autotask mode, see Autotask Command). To prevent collisions, enable autotask locking for each named BPEL connection in the AXF database. When locking is enabled, only one user may automatically acquire a task at a given time.
Enabling the lock functionality prevents an error from appearing on the Task List if two users acquire a task simultaneously, and is the recommended setting. In situations where simultaneous acquisition is unlikely, disabling the lock functionality may increase performance.
The setting is configured in the AXF_SOLUTION_ATTRIBUTES Table by inserting the following row:
SOLUTION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE |
---|---|---|
BPEL.default |
USE_AUTOTASK_LOCKING |
TRUE |
The Update Task From Procedure command calls a stored pl/sql procedure using a specified data source and updates the task payload using XPATH, as described in Update Task From Procedure Command.
The pl/sql procedure that follows loads the xml into the DOM, retrieves the invoice ID, queries for the invoice amount for that transaction, and based on that amount, returns a set of users.
To use this example, modify this procedure to retrieve the specific pieces of data from the payload you would like. The only requirement is that the pl/sql function you create must take a VARCHAR2, set up two VARCHAR2 out parameters, and return an INTEGER. The name of the function is in the AXF configuration.
create or replace FUNCTION axfretrieveuserlist(xmlPayload IN VARCHAR2, pDataString OUT VARCHAR2, pMsgString OUT VARCHAR2) RETURN INTEGER IS v_node xmldom.DOMNode; v_node2 xmldom.DOMNode; v_nl xmldom.DOMNodeList; v_doc xmldom.DOMDocument; v_elem xmldom.DOMElement; v_parser xmlparser.Parser; invoiceID VARCHAR2(256); invoiceAmount NUMBER(8,2); userList VARCHAR2(256); rtnCode INTEGER; BEGIN rtnCode := 0; -- execute CMD_NO_DATA -- rtnCode := -1; -- execute CMD_ERROR pmsgstring := ''; -- empty msg string (task is updated with this value) v_parser := xmlparser.newParser; xmlparser.parseBuffer(v_parser, xmlPayload); v_doc := xmlparser.getDocument(v_parser); xmlparser.freeParser(v_parser); -- Retrieve the invoice ID v_nl := xmldom.getElementsByTagName(v_doc, 'invoiceID'); v_node := xmldom.item(v_nl, 0); v_node2 := xmldom.getFirstChild(v_node); invoiceID := xmldom.getNodeValue(v_node2); -- Retrieve Invoice Amount for given invoice id select INVOICE_AMOUNT into invoiceAmount from ap_invoices_all where INVOICE_ID = invoiceid; if invoiceamount > 10000 then pdatastring := 'jlondon'; rtnCode := 1; -- execute CMD_DATA else pdatastring := 'jcooper,mtwain'; rtnCode := 1; -- execute CMD_DATA pmsgstring := ''; end if; RETURN rtnCode; END;
You can configure the Oracle E-Business Suite adapter to target the same instance/conversation when multiple instances of a particular Oracle E-Business Suite window are displayed. Enable this feature using the AXF_MULTINSTANCE parameter in the AXF_PROPERTIES Table (Oracle E-Business Suite).
If AXF_MULTINSTANCE is set to TRUE, each Oracle E-Business Suite window is treated as a separate conversation and a separate Imaging or AXF window is targeted.
If AXF_MULTINSTANCE is set to FALSE (default), each Oracle E-Business Suite instance window is treated as the same conversation and uses the same Imaging or AXF target window.
The Validate Task command validates BPEL system attribute or BPEL payload data, and based on validation results, executes a subsequent command, as described in Validate Task Command.
The following example and corresponding steps add a validation that verifies that a Transaction ID is present before allowing a task to complete. This example assumes that you have installed the Invoice Processing solution implementation accelerator data.
Note:
Apply this configuration change only in use cases where users must create the business application invoice before completing the task. This configuration would not apply in use cases where users may not create an invoice before completing the task (typically, for example, when the task is being completed with an outcome of SupplierMaintenance).
You can also deploy custom commands to work within the AXF infrastructure. Custom commands must implement the oracle.imaging.axf.commands.AxfCommand interface. The execute(AxfRequest) method is invoked by the infrastructure. Configure the implementation to execute in the AXF configuration database.
In addition, commands may implement the oracle.imaging.axf.commands.ValidatableCommand interface, which provides a way for the AXF infrastructure to validate the configuration and operation of a command without executing it to provide a system command status.
Some AXF commands have parameter keys that specify what occurs after the command completes, allowing you to chain them. For example, Table 5-7 shows a portion of the AXF_SOLUTION_PARAMETERS table. After the CompleteTask command executes, additional AXF commands are executed (StartInvoiceProcessing and AutoOpenTask, based on program logic).
Table 5-7 Example AXF_SOLUTION_PARAMETERS Table for CompleteTask Command (InvoiceProcessing Solution)
COMMAND_NAMESPACE | CONFIGURATION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE |
---|---|---|---|
DuplicateInvoice |
oracle.imaging.axf.commands.bpel.CompleteTaskCommand |
CMD_AUTOTASK_OFF |
StartInvoiceProcessing |
DuplicateInvoice |
oracle.imaging.axf.commands.bpel.CompleteTaskCommand |
CMD_AUTOTASK_ON |
AutoOpenTask |
DuplicateInvoice |
oracle.imaging.axf.commands.bpel.CompleteTaskCommand |
OUTCOME |
DUPLICATE_INVOICE |
In the Task Viewer, you can display a table of dynamic data from the BPEL payload XML, such as General Ledger lines for an invoice processing solution, as shown in the bottom tabs in Figure 1-5. You configure the table in the AXF_METADATA_BLOCKS Table and its data lines in the AXF_METADATA_ATTRIBUTES Table. For information on formatting XML data in the BPEL payload, see Formatting XML Data For a Dynamic Data Table; also see Task Viewer Web Tool.
The bottom row of Table 5-8 shows an example dynamic data table called GL Lines configured.
Table 5-8 Example AXF_METADATA_BLOCKS Table
BLOCK_ID | BLOCK_LOCATION | LABEL | DISPLAY_ORDER | TASK_FLOW_ID | SOLUTION_NAMESPACE | BLOCK_TYPE | METADATA_STYLE |
---|---|---|---|---|---|---|---|
1 |
LEFT_SIDEBAR |
Summary |
1 |
axf-taskviewer-tfd |
InvoiceProcessing |
METADATA |
null |
2 |
LEFT_SIDEBAR |
Comments |
2 |
axf-taskviewer-tfd |
InvoiceProcessing |
COMMENT |
null |
3 |
BOTTOM_PANEL |
GL Lines |
3 |
axf-taskviewer-tfd |
InvoiceProcessing |
METADATA |
TABLE |
Table 5-9 shows the GL Lines table's data lines configured. This example results in three data columns in the table. It assumes that the XPATH attributes exist in the AXF_XPATH_ATTRIBUTES Table.
Fields not shown include: DATA_TYPE=String
Table 5-9 Example AXF_METADATA_ATTRIBUTES Table for Dynamic Data Table
BLOCK_ID | ATTRIBUTE_ID | LABEL | ATTRIBUTE_KEY | IS_XPATH | DISPLAY_ORDER |
---|---|---|---|---|---|
2 |
8 |
Line Number |
DistributionLines_LineNumber |
TRUE |
0 |
2 |
9 |
Dist Account |
DistributionLines_DistributionAccount |
TRUE |
1 |
2 |
10 |
Amount |
DistributionLines_Amount |
TRUE |
2 |
After adding the table in the AXF_METADATA_BLOCKS Table and configuring its data lines in the AXF_METADATA_ATTRIBUTES Table, follow the guidelines below to ensure that the XML data in the BPEL payload is correctly formatted for display in the table.
Below is an XML sample for display at any level within the XML payload. The First column XPATH retrieves the parent and its peer elements (collectionItem). Each of the configured XPATHs point to an itemValue element used to retrieve the cell values for the table from each collectionItem.
Note:
All columns must display within the same direct parent element.
<rootElement> <collectionContainerElement> <collectionItem> <--First row for table <itemValue1>value1</itemValue1> <--First column XPATH <itemValue2>value2</itemValue2> <itemValue3>value3</itemValue3> </collectionItem> <collectionItem> <--Second row <itemValue1>value1</itemValue1> <itemValue2>value2</itemValue2> <itemValue3>value3</itemValue3> </collectionItem> <collectionItem> <itemValue1>value1</itemValue1> <itemValue2>value2</itemValue2> <itemValue3>value3</itemValue3> </collectionItem> </collectionContainerElement> </rootElement>
The first column XPATH for the above XML should be similar to the following:
/task:payload/task:rootElement/collectionContainerElement/collectionItem/itemValue1
If your imaging solution does not utilize the bottom panel on the Task Viewer, you can disable it in the AXF solution. For example, for an invoice processing solution, you may want to hide the bottom panel displaying General Ledger lines. Hiding the panel increases performance speed and page space.
Follow these steps to hide the bottom panel:
Installing and configuring the Managed Attachments solution automatically disables the Oracle E-Business Suite attachments paperclip icon and functionality. To reenable the paperclip functionality for an Imaging Solution only configuration, follow these steps to disable the Managed Attachments solution:
Note:
This section applies to Oracle E-Business Suite use only.
You can change the default system-wide size for all Oracle PeopleSoft popup windows that display as part of solutions. Note the following:
The default popup window size is 600 pixels high by 800 wide, set in the PS_AXF_PROPERTIES Table. When a size is set in this table, users cannot set and save popup window size themselves.
To change window size, enter new values in the table, as shown in PS_AXF_PROPERTIES Table.
To remove the popup window size (and allow individual users to change and save popup window size using standard browser controls), remove the WINDOW_HEIGHT and WINDOW_WIDTH rows from the PS_AXF_PROPERTIES Table.