PK
jo@oa, mimetypeapplication/epub+zipPK jo@ iTunesMetadata.plista
This section contains information about troubleshooting Oracle WebCenter Content: Imaging.
This section includes information about the following topics.
Section 11.10, "Shared Temp Directory in Linux Causes Display Failure"
Section 11.13, "Tracking Events in the Imaging and Content Server Log Files"
Section 11.14, "Using Oracle Dynamic Monitoring System with Imaging"
Section 11.15, "Reviewing Audit History of Deleted Documents"
Section 11.17, "Imaging Session Time Out When Using OSSO Requires Browser Refresh"
Section 11.18, "Content Server 10g Provides Incorrect Dates for Workflow"
Section 11.20, "Required Fields Added to Content Server Must Have Default Value Specified"
Section 11.21, "Imaging Viewer Fails On UNIX, AIX, and Solaris SPARC"
Section 11.22, "Viewer Displays Blank Page Instead of Document"
Section 11.23, "HTML Login Form Displayed Instead of Document in Advanced Viewer Mode"
Section 11.25, "Invalid Skin Preference Displays Generic User Interface"
Section 11.26, "Problem Displaying Second Page of Microsoft PowerPoint 2007 Document"
Section 11.27, "Configuring Viewer for Use in UNIX Exalogic Environment with Solaris 11g"
Imaging supports 15 digits of precision independent of the location of the decimal separator. Note the min/max values are not inclusive. Some examples:
Scale of 2:
Value must be less than 10,000,000,000,000.00
Value must be greater than -10,000,000,000,000.00
Scale of 5:
Value must be less than 10,000,000,000.00000
Value must be greater than -10,000,000,000.00000
Imaging uses Oracle Outside In Technology which requires certain libraries to be installed that are not part of Imaging. These libraries must be installed on the Imaging server, Content Server, and client machines using the advanced viewer mode, regardless of the machine platform. For more information on what libraries are required for each platform and how to obtain, install, and configure them, see the Oracle WebCenter Content Installation Guide.
When a search is executed on an application with a number field that returns hits with documents with nothing entered in a number field, either a 0 or a -1 appears in the field. When an application containing documents is modified to have a number field, the search returns -1 for those documents. When a document is uploaded and the number field is left blank, the search returns 0. If a search is executed with the number field as a condition, they are treated as empty fields and when viewed in Content Server, the fields are empty.
The null number field issue is a result of Content Server functionality.
By default, the maximum document size that will be indexed is 10MB. This is changed by setting the MaxIndexableFileSize configuration variable in the Content Server repository. The default is MaxIndexableFileSize=10485760
. If larger documents require full-text indexing, the value of MaxIndexableFileSize should be increased.
Each Imaging application that is created increases the structure complexity of the underlying Content Server repository. Imaging monitors multiple factors to estimate when then structure complexity of its Content Server might be hampering its performance. Once that threshold is exceeded, the Imaging system will consider the Content Server to be full and no longer allow the creation of new applications. The factors used to calculate fullness are configurable and are listed below. This fullness is a reflection of structural complexity of the Content Server, not its ability to continue to accept additional documents. To resolve fullness issues the configuration values below can be adjusted, provided the Content Server system continues to perform well, or an additional Content Server installation can be used to contain new Imaging applications.
A Content Server repository is considered full if any of the following are true:
The number of security groups exceeds the value of the environment variable IpmMaxGroupLimit.
The number of roles assigned permission to security groups exceeds the value of the environment variable IpmMaxGroupRoleLimit.
The number of metadata fields exceeds the value of the environment variable IpmMaxMetadataFields.
The Content Server configuration setting IpmRepositoryForceFull=True
Setting IpmRepositoryForceFull equal to True allows you to configure Content Server to identify itself as full to Imaging in order to prevent additional applications from being created. This does not prevent documents from being uploaded.
To get additional space for applications, do one of the following:
Install an additional independent WebCenter Content system and define a new connection to it in Imaging. For information on how to configure a an additional Content Server repository, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Increase the values of the IpmMaxGroupRoleLimit and IpmMaxMetadataFields environment variables by editing the config.cfg file directly or by using the Content Server administrative server. For more information about changing Content Server environment variables, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
You can also change these environment variable values in the config.cfg file for your Content Server Repository. For more information, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Documents with text content require the fonts necessary to render the document to be available to the Oracle Outside In rendering engine, which uses TrueType fonts. Fonts are not provided by Oracle. If the font used in a document is not available to Oracle Outside In, then a suitable substitute will be used. Font substitutions can cause a document to be unreadable, create incorrect text formatting, or cause shifting of data or repagination on text documents, including potentially exposing redacted content.
Indicators of font problems are when a document renders properly in the advanced Viewer mode but not the basic Viewer mode, or if TIFF documents display properly but rendered Microsoft Office documents do not.
To ensure that proper fonts are used when rendering documents, the administrator should install them to the client and server system. The server MBean GdFontPath should be set to the directory where the fonts are installed. For more information on setting MBeans, see Section 3.7.1, "Configuring MBeans."
When using the advanced viewer mode on Linux systems, the fonts can be installed and the environment variable GDFONTPATH set to that directory. If the environment variable is not found, the user will be prompted for that path the first time the advanced viewer mode is used. In cases where an attempt to download a document as a TIFF before the path is set, an error may occur that prevents downloading the TIFF rendition.
The following issues involve input agents or input files.
If the input agent will not pick up input files, try the following steps to determine a solution.
Check the settings of the following Imaging MBeans:
CheckInterval: Make sure this is set to a reasonable amount of time for your environment (for example, maybe 1 minute for test systems or 30 minutes for production systems that do not need to get data right away) and ensure that enough time has expired for at least one polling interval to have occurred.
InputDirectories: Examine the list of directories and ensure that they are the correct directories where the input files are stored.
Ensure that the input file has Read/Write permissions for WebLogic Server.
Check the permissions on the input directory paths and make sure they are accessible to the user that is running the WLS managed server.
Look at the input definition in the user interface and make sure the input that is supposed to be processing is marked online and that the input file mask matches the files that are in the directory.
If the input agent is still not running then examine the log files to see if an error was encountered that is preventing the agent from functioning.
Auto-detect does not work if the provided sample file is not large enough to get an accurate determination of the character set. If the sample file is too small, disable Auto-detect input file character set and manually select the character set.
For the steps below, refer to the following directory structure:
Input - Errors – Processed — YYYY-MM-DD – Samples – Stage
If some or all of the entries in the input file have errors, try the following steps to determine a solution.
Look at the Errors directory in which the input file was placed and see if an error file was created. If an error file exists, then open it and examine the last column of the file to determine the specific error.
Examine the input file and verify that the path to the image file is accessible to the user that is running the Imaging managed server and that the user has permissions to the path and image files.
Copy one of the failing input files to the samples directory and load it into the input definition editor UI. Verify that the mappings are correct and that one of the columns has not shifted.
Finally, look at the Imaging log file and examine the errors that are listed for the individual lines to determine the exact cause of the problems.
Once you have determined the cause of the error and are able to correct it, copy the corrected input file back into the input directory. For additional information, see Section 9.5, "Checking Results and Error Files."
In cases where the advanced viewer applet experiences transformation errors, the first response is to delete temporary files on the user's workstation. Doing so will remove the distribution of Oracle Outside In files which will cause a new deployment next time the applet is used.
The Advanced Viewer mode renders Group 6 and Group 7 TIFFs, while the Basic Viewer mode supports Group 7 but not Group 6 TIFFs. Group 7 TIFFs must conform to the TIFF standard for JPEG compression. Color images should use YCbCr for photometric interpretation or the image will be treated as a grayscale image. YCbCr is the standard color for JPEG images.
When using Imaging in a multi-user Linux environment, ensure that individual temp directories are set up for each user. Using a temp directory shared among several users can cause the Advanced Viewer to delete temp files for one user that are necessary for another, causing a problem with documents not displaying. Ensure that each user has a temp directory created and configured as recommended by the operating system documentation.
Annotations are placed based on coordinates, and in some circumstances, content underneath the annotation may shift. This can be a particular problem when a redaction annotation shifts, potentially exposing sensitive information. For example, if a document contains text data and the font used in a document is not available to the Oracle Outside In rendering engine, then a suitable substitute will be used. Font substitutions can cause a document to be unreadable, create incorrect text formatting, or cause shifting of data and repagination on text documents, including potentially exposing redacted content.
If annotations become misaligned and expose text they originally covered, ensure that a consistent set of fonts is being used across the servers and clients. For information on font errors, see Section 11.6, "Font Errors."
By default, not all exceptions caught within Imaging are logged. In the event that all exceptions need to be monitored, the following steps will help identify all exceptions thrown. Imaging exception handlers do not inherit a log level from a parent logger (oracle.imaging.service). To get exceptions from the core Imaging services, you must explicitly set the logger named oracle.imaging.service.exceptions.To enable some degree of flexibility, it uses the following log levels:
ERROR 1(SEVERE): Logs SYSTEM and DATABASE ImagingExceptions
NOTIFICATION(INFO): Logs SYSTEM, DATABASE, and SECURITY ImagingExceptions
TRACE(FINE): Logs SYSTEM, DATABASE, SECURITY, and USAGE ImagingExceptions
For example, all ImagingExceptions would be logged at throw time by setting oracle.imaging.service.exceptions to TRACE:32.
When investigating events in Imaging, start with the Imaging log files. In cases where the event occurs in Content Server, reviewing the Content Server log files may provide additional information. Both Imaging and Content Server logs can be viewed in Oracle Enterprise Manager. The Content Server logs can also be viewed from the Content Server administrative links.
Tracing sections can be enabled in Content Server for more or less detail in the logging information. The IpmRepository component installed into Content Server does not generate its own logging, but includes entries into the standard Content Server logs. Turn on tracing for the section named ipmrepos in Content Server for detailed logging information of the IpmRepository component. For more information about Content Server logging, see Oracle WebCenter Content System Administrator's Guide for Content Server "Finding Error and Status Information."
Oracle Dynamic Monitoring Service (DMS) can display statistics of your system using the Oracle DMS Spy application to aid in troubleshooting and diagnostics. The Oracle DMS Spy application is launched by entering http://machine_name:port/dms/ into your browser URL address field. The following metric tables are available:
Metric Table | Description |
---|---|
IPM_API | Records timing statistics on imaging API operations. Statistics are recorded on a per service operation basis. |
IPM_Activity | Records general system activity. Counts of system activity occurrences are recorded including:
|
IPM_BPEL_Agent | Records workflow process instance injection statistics on a per imaging application basis. |
IPM_Input_Agent | Records input process instance statistics on a per imaging input basis |
IPM_Rendering | Records detailed metrics on the rendering subsystem including details on: |
IPM_Repository | Records detailed metrics on repository calls. |
IPM_Search | Records Imaging search execution timings. Statistics are recorded on a per search definition basis. |
IPM_UCMRequest | Records detailed metrics on requests to Universal Content Server. |
AXF_API | Records timing for AXF (Oracle Application Adapters for ECM) operations in the system infrastructure, commands, and user interface. |
AXF_BPEL_API | Records timing for AXF (Oracle Application Adapters for ECM) operations which communicate to the workflow server. |
If documents are deleted from Imaging, administrators can view the entry for the delete action in the Content Server DocumentHistory table. This is the only place for administrators to view audit entries for deleted documents.
A nested stack error, also called a nested exception, is basically an error that has been wrapped by another error, which is standard with Java and other languages to help provide more context to the issue. You can usually find the nested exception by locating the caused by string in the stack trace as shown in bold in the following example. If there is not enough information provided by the Imaging error, look deeper into the error message to see if other components are involved. Imaging uses nested stack errors to display repository related problems, workflow issues, or problems caused by other components. After you locate the possible initial error, check the diagnostic logs for more troubleshooting information.
In the following example, the TCM-00787 error is occurring because the default provider within the Content Server repository was corrupted and reset (see boldface text).
[2009-06-11T09:56:21.720-07:00] [ipm_server1] [ERROR] [] [oracle.imaging.ui.backing.application.LifecycleState] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 0000I7GFuQ9F8DT6uBj8EH1AC2Ut0000WK,0] [APP: imaging#11.1.1.1.0] IPM UI Exception[[ oracle.imaging.ImagingException: TCM-00787: A repository error has occurred. Contact your system administrator for assistance. stackTraceId: 9-1244739381674 faultType: SYSTEM faultDetails: ErrorCode = oracle.stellent.ridc.protocol.ServiceException, ErrorMessage = File '/app/stellent/content/10gR3/proxy1/data/providers/defaultfilestore/provider.hda' does not exist. at oracle.imaging.repository.ucm.UcmErrors.convertRepositoryError(UcmErrors.java:108) at oracle.imaging.repository.ucm.UcmLifecycleOperationImpl.getStorageRules(UcmLifecycleOperationImpl.java:58) ... <...snip...> at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: oracle.stellent.ridc.protocol.ServiceException: File '/app/stellent/content/10gR3/proxy1/data/providers/defaultfilestore/provider.hda'does not exist. at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:116) at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:92) at oracle.imaging.repository.ucm.UcmResponse.<init>(UcmResponse.java:61) at oracle.imaging.repository.ucm.UcmRequest.makeOneServiceCall(UcmRequest.java:310) at oracle.imaging.repository.ucm.UcmRequest.makeServiceCallWithRetries(UcmRequest.java:228) at oracle.imaging.repository.ucm.UcmRequest.makeServiceCall(UcmRequest.java:210) at oracle.imaging.repository.ucm.UcmLifecycleOperationImpl.getStorageRules(UcmLifecycleOperationImpl.java:53) ... 234 more
When using Oracle Single Sign On, POST requests to WebLogic Server will return an internal server error when the Imaging session has expired. Refreshing the page returns to the Imaging log in page for reauthentication to start a new session.
When using Content Server 10g, the BPEL payload is populated with the incorrect date when the date is less than 1969 or greater than 2068. As a workaround, it is recommended that if you are using dates that fall outside the range of 1969-2068, use four digit years for the date. You can set this using the Content Server System Properties utility.
Users that are getting a host name or IP address that they don't expect for the document URL probably need to configure the Listener Address in their WLS server. This can be done either by setting listen-address in config.xml for the WLS server, or by using the WLS console. To use the console, expand Environment and click Servers in the Domain Structure window. In the Servers Configuration tab, click on the desired server name. Set Listen Address on this page. Restart WLS. For more information about WLS configuration, see Oracle Fusion Middleware Administrator's Guide.
Adding a metadata field to an Content Server instance using Configuration Manager can cause problems if the field is set as required but no default value is specified. Any metadata fields set as required in Content Server that do not have default values specified in Content Server prevents Imaging from creating documents on the Content Server instance. Administrators can prevent issues within Imaging by either setting a default value for the metadata field or by using Content Server profiles to address the field.
To view documents on a UNIX operating system, you must ensure that library path and display environment variables are properly set. For more information, see the section on setting a library path in an environment variable on a UNIX platform in the Oracle WebCenter Content Installation Guide.
In some situations Content Server may return a document in a search result that the user does not have View rights to in the application. If the user tries to view the document in the Viewer, a blank page is presented instead. This occurs when a user is mapped to the admin group in Oracle Internet Directory, which is then mapped to the admin role in Content Server. Users having the admin role in Content Server have rights to all security groups in Content Server. When a user having the admin role in Content Server uses an Imaging search, all documents matching the search criteria are returned in the search result, even if the user does not have View rights to the documents. Attempting to view a document to which the user does not have the Imaging View right defined in the associated Imaging application presents a blank page.
The Imaging advanced viewer is a Java applet that needs to submit cookies in its requests to authenticate a session and properly display documents. If a system is configured to limit cookies to HTTP only requests, the Viewer cannot authenticate and so the HTML login form is displayed instead of the requested document. To allow the advanced viewer applet to authenticate properly, cookies cannot be limited to HTTP only requests.
If Imaging is integrated with Oracle Access Manager and the /imaging directory is incorrectly configured as protected, a magic number error is reported by the Viewer in advanced mode. To correct this, ensure that Oracle Access Manager is properly configured to protect the /imaging/faces directory. For more information, see Section 2.3.5, "Integrating Imaging With Oracle Access Manager 11g" and Section 2.3.6, "Integrating Imaging With Oracle Access Manager 10g".
If an invalid value is set in the DefaultColorSet MBean, or if a user has specified a UI skin in their preferences that has been deprecated when Imaging is upgraded, then a generic user interface is displayed when the user logs in. The generic interface has a larger font and does not display a logo. Correcting the invalid value of the DefaultColorSet MBean or applying a current skin from the User Preference page corrects the problem.
There is a know issue with the Oracle Outside In Technology libraries that causes a memory error when attempting to display the second page of a Microsoft PowerPoint 2007 .pptx file. To avoid this, save the original PowerPoint 2007 file to an older PowerPoint version.
When running Imaging in an Exalogic environment with Solaris 11g, you must set the display environment variable in order for the Imaging Viewer to work properly in basic mode. To set the display variable, do the following:
Open a new terminal and run the command xhost +.
In the IPM_server terminal, set the DISPLAY environment variable.
Restart the Imaging server.
Imaging runs within Oracle WebLogic Server and connects to one or more Content Server repositories. This section describes the configuration options available to an Imaging administrator and how they are accessed.
This section contains the following topics:
Imaging configuration is done in one of the following ways:
Using Content Server repository product configuration tools to set configuration settings, such as adding users and managing user roles and system access rights. For more information, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Using the Imaging web-based interface for the creation and modification of applications, searches, inputs, and connections to set application security, searches security, document security, repository connections and BPEL configurations.
Using WebLogic Scripting Tools (WLST) to configure MBeans. For more information about changing Imaging custom MBeans, see Section 3.6, "Configuring MBeans."
Using Enterprise Manager (EM) to configure MBeans. For more information about using Enterprise Manager to configure MBeans, see Oracle Fusion Middleware Administrator's Guide.
If this is an initial installation of Imaging and WebCenter Content in the same Oracle WebLogic Server domain, you must do the following before logging in to Imaging:
Log in to Content Server
Accept the Content Server configuration
Restart Content Server.
Once Content Server is configured and ready, the first user who logs in to Imaging is granted security rights to complete the following post-installation configuration steps:
connecting to an Content Server repository
configuring Content Server Storage Provider for production use. See Section 3.3.1, "Storage Management" for more information.
on Linux systems, configuring the GDFontPath MBeans
setting environment variables for Oracle Outside In
connecting to a workflow server
These steps and the full installation procedure are documented in the Oracle WebCenter Content Installation Guide.
Imaging uses the functionality of the Content Server to store and retrieve documents. Documents are stored and secured based on criteria specified in the application into which they were uploaded. You must create a connection for Imaging to recognize the repository you are using. For more information about creating a connection, see Section 7, "Managing Connections."
Configuring repository options, such as defining the maximum number of search results returned or if the full-text of a document can be indexed, must be done through the Content Server repository. It is recommended that you make all necessary repository configuration prior to defining any application, input, search, or connection objects in Imaging. For more information, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Content Server uses file store providers to determine where and on what type of media content is stored. Note that the default storage provider configured when Content Server is installed is not intended for a production environment and is not adequate for large numbers of ingested documents. The default can be used for demonstration systems of less than 10,000 documents, but production systems require more advanced configurations. File store providers are configured in Content Server independent of Imaging. For more information, see Section 3.3.4, "Content Server File Store Provider Rules" and the Oracle WebCenter Content System Administrator's Guide for Content Server.
When integrated with Oracle URM, Content Server has the option to move documents from one media to another based on time, and documents can be deleted based on lifecycle. If Imaging is not integrated with Oracle URM and you need to move content to a different file store or delete documents and all revisions, you must do so explicitly using the Content Server Archiver or the Content Server Repository Manager tool.
For more information about configuration options provided by Imaging on the Storage Policy page, see Section A.29, "Application Storage Policy Page." For more information on retention management using Oracle URM, see Oracle WebCenter Content Setup Guide for Records.
An Content Server repository can get full to the point of reducing its operating efficiency at which time it will not accept any new Imaging applications. However, you may continue to upload documents to existing applications in that repository.
An Content Server repository is considered full if any of the following are true:
The number of security groups exceeds the value of the environment variable IpmMaxGroupLimit.
The number of roles assigned permission to security groups exceeds the value of the environment variable IpmMaxGroupRoleLimit.
The number of metadata fields exceeds the value of the environment variable IpmMaxMetadataFields.
The Content Server configuration setting IpmRepositoryForceFull=True
Setting IpmRepositoryForceFull equal to True allows you to configure Content Server to identify itself as full to Imaging in order to prevent additional applications from being created. This does not prevent documents from being uploaded.
To get additional space for applications, do one of the following:
Install an additional Content Server repository as a master, or set it as a proxy to the main Content Server. For information on how to configure a master or proxy server, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Increase the values of the IpmMaxGroupRoleLimit environment variable (maximum number of security group versus security group role mappings that have privileges assigned before a Content Server is considered full) and IpmMaxMetadataFields environment variable (maximum number of metadata fields before a Content Server is considered full) by editing the config.cfg file directly or by using the Content Server administrative server. The default value for both of these variables is 500. For more information about changing Content Server environment variables, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Content Server defines where and how it stores content using file store providers, which are configured in Content Server and can be a combination of any media supported by Content Server. Because document storage location is not defined by the media being used for storage, the term volume is used to represent a storage location when defining an application in the Imaging user interface. Note that Imaging cannot be used to create or define a volume. It only connects to one defined and configured by a Content Server administrator from within Content Server.
File Store Provider functionality within Content Server allows you to have more control over how and where files are stored and managed within Content Server. For example, typically you would only be able to store all content on a single file system in the vault and weblayout directories. However, using FileStoreProvider, you have the ability to store content across multiple file systems, while also being able to store content within a database.
Content Server traditionally uses a weblayout directory on a file system to store content in a format for viewing in a web browser, even though the main storage volume may be set up in a database. This can allow for faster retrieval of content when Content Server is being used to manage a web site, or can be used to store a secondary file used to describe the primary content item, but it doesn't have much use in an Imaging solution. Retaining a web layout directory for an exclusively Imaging solution would copy files to a web layout directory that would never get used, taking up unnecessary storage space. It is recommended that any file store provider configured for use as an Imaging volume should have the weblayout functionality disabled. For information about disabling the weblayout directory, or about FileStoreProvider in general, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
Imaging uses Content Server components to provide compatibility and additional options. Ensure that they are installed and enabled.
The following component is required to be installed and enabled to ensure compatibility with Content Server:
IpmRepository: Sets global profile rules to support document profiles specific to Imaging applications, for compatibility with other products supported by Content Server, including:
Content Server Folders
Oracle Universal Records Manager (URM)
Oracle Information Rights Management (IRM)
When deploying an Imaging solution, you must define applications, searches, inputs, and connections. Applications are the core of Imaging. An application is a type of management container for documents, defining a metadata set, storage information, and security for all documents within it. Searches enable a user to quickly retrieve a document they need, and an input definition is used to map information from an input file to the metadata fields defined in an application. Applications, searches, inputs, and connections are defined using the Imaging user interface.
You can reuse the application, search, and input definitions by exporting the desired definition to an XML file format. You can then import that definition file into other systems to make those same items available there. For example, if you created an Invoices application for Accounts Receivable and now want to create a similar application for Accounts Payable, you can start with the imported application definition and then modify it as necessary in the Imaging user interface.
Note that when exporting an application, you can explicitly export it by selecting the application and following the procedure detailed in Section 3.4.1, "Exporting Definitions." However, you can also implicitly export application definitions by selecting a search or input that references the application and following the export procedure. Explicitly exported application definitions can modify existing application definitions if you specify them to do so. Implicitly exported application definitions cannot modify existing definitions.
To export a definition file, do the following:
Under Tools in the navigator pane, select Export Definitions. The Export Definitions: Export Comments Page page displays.
Enter any comments about the exported definitions, such as the need for exporting, and click Next. The Export Definitions: Applications Page is displayed.
Enable any application definitions needed for export.
Click Next. The Export Definitions: Searches Page is displayed.
Enable any search definitions needed for export.
Click Next. The Export Definitions: Inputs Page.
Enable any input definitions needed for export.
Click Next. The Export Definitions: Summary Page is displayed.
Review the information on the summary page and ensure it is accurate. Use the navigation train to go back and make any changes. When satisfied, click Create Export File.
After you have created a definition file, complete the following steps to import it:
Under Tools in the navigator pane, click Import Definitions. The Import Definitions: File Location Page displays.
Enter the path or click Browse to navigate to the definition file that contains the exported definitions you want to import and click Next. The Import Definitions: Select Imports Page displays.
Note: If using your keyboard rather than your mouse to select the Browse button, tab to the Browse button and then use the Space bar to execute the Browse button function and open the dialog box. The Enter key does not execute the Browse button function. |
Select the action for each application, input and search definition to be imported. Options are:
Overwrite: the imported definition overwrites the current definition
Add: the imported definition is added to the system
Note: Remember that implicitly exported application definitions cannot overwrite existing definitions. Implicitly exported application definitions are those applications that were not explicitly selected for export, but are referenced by a search or input definition that was selected. |
If more than one repository is available, select the repository to be used with the imported definition. Click Next. The Import Definitions: Validate Imports Page displays.
Select your decisions about whether to change the Security, Document Security, Storage Policy, Workflow, and Full-Text Option settings of the imported definitions. Click Submit. The Import Summary page displays.
Review the information on the summary page and ensure it is accurate. Use the navigation train to go back and make any changes. When satisfied, click Close.
File size limitations are primarily a factor when retrieving a document for viewing. System architecture, hardware limitations, network load and other factors can influence document retrieval times and cause the viewer to time out. Imaging has been optimized to store tiff image files of sizes to 200KB. If the documents you need to upload and view are larger than to 200KB, test the performance of with those files in the specific network architecture you are planning to use while simulating peak network load.
Java Management Beans, called MBeans, are part of the greater Java Management eXtensions (JMX) standard which defines ways for administration applications to configure and control Java applications externally. At installation, Imaging registers its MBeans with the hosting application server's MBean server. This allows other applications to interact with Imaging's configuration data. This includes WebLogic Scripting Tools (WLST) and Oracle Enterprise Manager MBean browser.
The following table describes MBeans specific to Imaging.
WebLogic Server Scripting Tool (WLST) is a command line scripting environment that you can use to create, manage, and monitor Oracle WebLogic Server domains including Imaging MBeans. For a list of custom Imaging MBeans, see Section 3.6.1, "Imaging MBeans." WLST commands are issued on a command line and provide a way to navigate through Oracle WebLogic Server domains into MBean servers and down to specific application MBeans. From there, you can change Imaging MBean settings. To view or change these settings, you can use the WebLogic Server Scripting Tool (WLST) provided with Oracle WebLogic Server. To learn more about the WLST commands and command line protocol, see Oracle Fusion Middleware Administrator's Guide.
Note that:
Strings must be surrounded by single quotation marks (')
Boolean must be entered as: Boolean(true) or Boolean(false)
MBean settings are case-sensitive
Long must be entered as: Long(123456)
The following procedure describes how to use WLST to view Imaging MBean settings.
Log in to the target system on which the Imaging installation resides.
Open a command-line shell.
Change directories to Middleware Home.
For Windows systems, enter:
>cd ('%MW_HOME%/wlserver_10.3/common/bin')
For Linux systems, enter:
>cd ('$MW_HOME/wlserever_10.3/common/bin')
Start WebLogic Server Scripting Tool.
For Windows systems, enter:
wls> wlst.cmd
For Linux systems, enter:
wls> ./wlst.sh
This starts the WLST shell in a disconnected mode.
Connect to the WebLogic administration server using the correct Imaging managed server port. For example:
wls:/offline>connect() wls:/base_domain/serverConfig> connect() Please enter your username [weblogic]: <enter> Please enter your password [welcome1]: <enter> Please enter your server URL [t3://localhost:7001]:t3://localhost:16000 Connecting to t3://localhost:16000 with userid weblogic... Successfully connected to managed Server 'IPM_server1' that belongs to domain 'base_domain'.
Note that the port listed in the above example is the default listening port of the Imaging managed server and not that of the WLS administration server. Both the host name and port must point to the Imaging server. In some cases the Imaging host name may be different from the administration server.
Switch to the custom MBean server where the Imaging MBean is exposed.
wls:/base_domain/serverConfig> custom()
Location changed to custom tree. This is a writable tree with no root.
wls:/base_domain/custom> ls() drw- EMDomain drw- JMImplementation drw- com.oracle.igf drw- com.oracle.jdbc drw- com.oracle.jps drw- oracle.adf.share.config drw- oracle.adf.share.connections drw- oracle.as.util drw- oracle.dfw drw- oracle.dms drw- oracle.dms.event.config drw- oracle.imaging drw- oracle.j2ee.config drw- oracle.joc drw- oracle.jocssl drw- oracle.jrf.server drw- oracle.logging
The ls() command in this example lists the contents of the custom directory. Locate the oracle.imaging entry. Note that if the oracle.imaging MBean is not listed, you are not connected to the correct Imaging managed server port and should disconnect and then reconnect using the correct port.
The MBeans are arranged in a directory structure, so change to the directory that contains the Imaging settings.
wls:/base_domain/custom> cd('oracle.imaging') wls:/base_domain/custom/oracle.imaging> cd('oracle.imaging:type=config')
Now you are in the directory that contains all of the Imaging settings. Enter the ls() command to see all of the configuration options and their settings, or the get('<name>') function to get a specific value.
wls:/base_domain/.../> ls() . . . wls:/base_domain/.../> get('TiffCompressionType') 'FAX4'
Use the set(name, value) function to change a value. See Section 3.6.1, "Imaging MBeans" for information about when the change will take effect because it differs for each MBean.
wls:/base_domain/.../> set('CheckInterval', 5)
If you use Enterprise Manager (EM) to monitor server performance, you may want to also use the Enterprise Manager System MBean Browser to view and change Imaging MBean values. To use the System MBean Browser, following this procedure:
Log on to Enterprise Manager.
Under Deployments, click the appropriate target (such as IPM_server1). The Summary page displays.
To view MBeans, select System MBean Browser on the WebLogic Server menu. On the left navigation pane, under Application Defined MBeans, expand oracle.imaging. Select the appropriate server.
Expand the appropriate server.
Expand config.
Double-click config to display the list of Imaging MBeans and their settings.
Change the appropriate MBean setting and click Apply. See Section 3.6.1, "Imaging MBeans" for information about when the change will take effect because it differs for each MBean.
Using unsupported fonts in your documents can cause the document to be unreadable, create incorrect text formatting, or cause shifting of data on text documents, including potentially exposing redacted content. For example, a redaction annotation is laid on top of a document. If that document is rendered using fonts on one system and the redaction is placed over a word based on the rendering, different fonts on a different system may cause the document text to render in a slightly different position. It would be possible for the data hidden beneath a redaction annotation to move and be exposed.
To help ensure that rendered text does not mistakenly shift beneath a redaction, ensure that all client machines being used to place redactions have the same fonts as the Imaging server. This allows the Oracle Outside In rendering engine to render the document using the same fonts as the client machine used to place the redaction. Once a TIFF image of the redacted file is rendered, redactions and text are displayed as an image, without use of fonts, unless a person has the proper security rights to see redacted text. This ensures that a user cannot try to force text to shift below a redaction by deleting a font and attempting to view the document, because the viewed document has already been converted to an image.
If running Imaging on a UNIX system, ensure that your UNIX servers are configured to use TrueType fonts (*.ttf or *.ttc files). Use WLST or Oracle Enterprise Manager 11g Fusion Middleware Control to set the Imaging server GDFontPath configuration MBean to include one or more paths to supported font files. If GDFontPath cannot be located, the current directory is used, which may or may not have the required fonts.
Note: Setting the GDFontPath is required for UNIX systems only. It is not required to be set on Windows systems. |
The following steps are used to configure MBeans and detail specifically how to set the GDFontPath
MBean.
To configure GDFontPath MBeans with Fusion Middleware Control:
Access the Imaging domain in Oracle Enterprise Manager 11g Fusion Middleware Control at the following URL:
http://adminServerHost:adminServerPort/em
For example:
http://machineName:7001/em
Log in as the Administration user (for example, weblogic
).
In the navigation tree, expand Application Deployments, and then click the imaging application.
On the Application Deployment menu, select System MBean Browser.
Expand the oracle.imaging folder under Application Defined MBeans.
Expand the Server: <server_name> and config folders, where <server_name> is the name of an Imaging server, such as IPM_server1. Repeat steps 6 through 10 for each Imaging server.
Click config.
Set GDFontPath to the location of your TTF files on the UNIX system (for example: /usr/share/X11/fonts/TTF
).
Click Apply.
Restart the Imaging server.
By default, the Content Server repository is not set to return seconds to Imaging when returning time information for display in a search results table. If you require seconds to be displayed in a search results table date and time field, you must configure the Content Server repository to return seconds using the SystemProperties applet. In order to run the SystemProperties applet, you must first temporarily disable JpsUserProvider. To configure Content Server to return seconds, do the following:
Log in to the target system on which the Content Server installation resides.
Open a command-line shell.
Change directories to <domain_home>/ucm/cs.
For Windows systems, enter:
>cd ('%UCM_HOME%/ucm/cs')
For Linux systems, enter:
>cd ('$UCM_HOME/common/bin')
Run ComponentTool and disable JpsUserProvider using the following command:
./bin/ComponentTool --disable JpsUserProvider
Launch the SystemProperties applet by using the following command:
./bin/SystemProperties
The SystemProperties applet is displayed.
In the SystemProperties user interface, click the Localization tab.
Select the Locale you want to modify. For example, English-US, then click Edit. The Configure Locale dialog box is displayed.
Remove the square brackets ([]) from around the seconds in each field to require seconds be displayed. For example, change
M/d/yy {h:mm[:ss] {aa}[zzz]}!mAM,PM
to
M/d/yy {h:mm:ss {aa}[zzz]}!mAM,PM
Click OK. The Configure Locale dialog box closes.
Run ComponentTool and enable JpsUserProvider using the following command:
./bin/ComponentTool --enable JpsUserProvider
Restart Content Server. For information on how to restart Content Server, see the Oracle Universal Content Management Getting Started with Content Server guide.
Configure and view log files for Imaging using Oracle Enterprise Manager (EM) by doing the following:
Log in to Enterprise Manager.
Expand the WebLogic Domain navigation tree for Application Deployments and select your imaging server. The status of your Imaging server is displayed.
On the Application Deployment menu, select Logs then Log Configuration.
Select the Log Levels tab, which allows you to control the logging level. Under the Logger name section, expand Root Logger, oracle, then oracle.imaging to display the logger names associated with Imaging. From here you can change the logging level which affects the severity level of error messages collected.
Optionally enable the Persist log level state across component restarts to ensure logging levels between restarts.
Click Apply.
Select the Log Files tab to display the Handler Name, Log Path, Log File Format and Rotation Policy of the logging file. From here you can create a new file, or copy, edit, or view the configuration of an existing file.
For more information about managing log files, log levels, and diagnostic data, see the Oracle Fusion Middleware Administrator's Guide.
The Input Agent is an Imaging service used to upload and index documents in bulk into the Imaging system. This section describes how to enable the Input Agent and create the input files for batch uploading in Imaging.
This section contains the following topics:
Input Agent indexes Imaging documents in bulk by using an application definition, input definition, and a specially formatted text file called an input file. The input file specifies the list of images to index and the metadata to associate with them in the application. Input Agent is multithreaded and is configurable to handle large and small volumes of data.
To configure the Input Agent, do the following:
Start the managed servers and navigate to the Imaging configuration MBean using WLST or the Enterprise Manager MBean browser.
Set CheckInterval to a value that is appropriate for your environment. The CheckInterval MBean is a system setting that specifies how many minutes to pause before checking for new work to do. The default is 15 minutes.
Set the InputAgentRetryCount to control how many times a job can be retried after it has failed. The default is 3, after which the job is placed in the failed directory.
Set the InputDirectories MBean to specify the paths to the input files. This value can be expressed as an array of locations. If using a multinode installation of Imaging, this location is shared among all the Input Agents and must be accessible by all agents. If Input Agents are on different machines, this must be a shared network.
After completing these steps, the Input Agent is active and ready to process work. Once you create an application (see Section 4.2, "Creating An Application") and input definitions (see Section 5.2, "Creating Input Definitions"), the Input Agent will start processing jobs.
The Input Agent performs work based on input files. These are simple text documents, similar to CSV (comma-separated values) files, that contain lists of files and associated metadata to index into the Imaging system. The input file can use different encodings as long as the correct encoding is specified in the input definition. Input Agent looks for all input files that match the input mask of the input definition and not the sample file that is used to define the input definition. Note that sample files are not required when creating an input through the API. They are only used when creating an input through the user interface so a user can see the data to help choose the columns.
A sample input file looks like:
C:\IPMData\Input Files\print\NewPrintstreams\doc16.txt|NEW ORDER|10/06/94|B82L|218482 C:\IPMData\Input Files\print\NewPrintstreams\doc17.txt|NEW ORDER|10/06/94|N71H|007124 C:\IPMData\Input Files\print\NewPrintstreams\doc18.txt|NEW ORDER|10/06/94|B83W|24710
The detailed structure of an input file is defined as:
[path to document file][delimiter][metadata value 1]<[delimiter]<metadata value 2> ... <delimiter>>
Items in brackets ([]) are required and items in angle brackets (<>) are optional.
path to document file
is the location of the tiff, jpeg, doc or other file type that is being saved to Imaging. It must be a path that is accessible to the user account running the Input Agent.
delimiter
is the character that separates the values from one another, such as the | character.
metadata value x
are the index values that the application uses to index the document.
The delimiter character must be the same character throughout the entire input file and match what is specified in the input definition. The default is a pipe character (|).
Only one metadata value is required per required field in the application. For example, if a Name and Date field are both marked as Required in an application, then the input file must have values for both the Name and Date field as well. Additional values are optional but they must continue to follow the [delimiter]<metadata value> format.
There is no length restriction per line, but all metadata pertaining to the file must be on a single line because the newline character specifies the start of a new document.
Each value is separated by a delimiter, with the delimited values treated by the Input Agent as Column 1... Column N. Any commands on the line do not count as a column. See Section 9.3, "Using Input Filing Commands."
Columns in the input file need not match the ordering of the Application, but they must be in the same locations as specified in the input definition to be indexed correctly.
Note: Dates and times specified in the input file are subject to current Daylight Savings Time rules, and not the DST rules in effect for the specified date. This can cause the timestamp of the document to shift forward or back up to two hours. If the timestamp shifts forward or back across midnight, the date used for the document input may also shift. |
Input Agent gives users more control over the filing process by inserting special command sequences in the input file. An Input Definition applies to all files, but commands can be inserted by Input Agent in the input file as needed and can change from file to file, offering the flexibility of setting a specific behavior per file, such as the file locale for changing date formats or numeric display.
These commands can be used for processing the entire input file or just a single row of the file, depending on the command. The details of the individual commands are specified below.
The locale command changes the locale which the agent uses to parse the data. This command can only be used once at the beginning of the input file before any documents are specified. If the command is used after data has been processed then an error will occur and the filing will stop.
Syntax
@Locale[delimiter][locale]
Example
@Locale|es-es
Notes
This command can only be used at the very beginning of the input file and applies to the whole file. If multiple locales need to be used then that data must be separated into different files. The delimiter must be the same as is used throughout the input file. The locale follows the format of ISO Language - ISO Country code.
The new command creates a new document in the Imaging system and behaves the same as leaving the index data on a line by itself. The command only applies to the line that is annotated and will reset on the next line.
Syntax
@New[delimiter][line data]
Line Data: The metadata values for the document as would exist on a typical input file.
Example
@New|TestTiff.TIF|98.765|Good Company LTD|10/08/2003|0000|1.733,12|10/09/2003
Notes
The @New at the beginning of the line is not counted as one of the columns to be mapped.
The supporting content command allows the user to apply a file as supporting content to a document instead of creating a new document. The content is applied to the last new document line that appears in the input file unless an explicit document ID is specified in the command. If the last new document fails to index then the supporting content command also fails since the intended document to add content to doesn't exist.
Syntax
@Support[delimiter][key][delimiter][content path]<[delimiter][document id]>
Key: The supporting content key to store the file under. It must be unique for the document.
Content Path: The path to the file to save as supporting content.
Document ID (optional): The Imaging document ID that the supporting content should be applied to. If this value is given then the previous new document is ignored and the supporting content is placed on the document ID given.
Example
@Support|supporting content key 1|C:\temp\sample.tif
The apply annotations command applies a pre-generated annotation file to a document. The annotation is applied to the last new document line that appears in the input file unless an explicit document ID is specified in the command. If the last new document fails to index then the apply annotations command also fails since the intended document to apply annotations to doesn't exist.
Note that multiple annotation commands overwrite each other. They are not cumulative.
Syntax
@Annotation[delimiter][file path]<[delimiter][document id]>
File Path: The path to the annotation file to apply to the document.
Document ID (optional): The Imaging document ID that the annotation should be applied to. If this value is given then the previous new document is ignored and the supporting content is placed on the document ID given.
Example
@Annotation|C:\temp\annot.xml
The workflow inject document command kicks off a workflow injection for the specified document id. The command is only intended for use in the error file and is documented here for informational purposes only.
Syntax
@WorkflowInjectDoc[delimiter][document id]
Document ID (required): The Imaging document ID to inject into workflow.
Example
@WorkflowInjectDoc|2.IPM_014404
This section describes how the Input Agent processes the input files.
The input directory specified in the configuration MBean is the top level of the directory structure. Below the top level input directory, the Input Agent creates and manages other directories in the following structure to process its work. Directory definitions follow the following file structure.
Input - Errors – Holding – Processed — YYYY-MM-DD – Samples – Stage
Directory | Definitions |
---|---|
Input | This is the top level that is defined in the configuration MBean. This is where Input Agent looks for new input files. There can be multiple input directories defined in the MBean and each entry in the MBean will have this same structure below it. |
Errors | Whenever an input file has a mixture of failed index attempts along with some successful indexes, an error file is created for that filing in this directory. |
Holding | If CleanupExpireDays and CleanupFileExclusionList MBeans are enabled, the holding directory stores any successfully processed file, including annotation and supporting content files. The images remain there until the number of days specified in the CleanupExpireDays setting elapses. After that point the files and the batch folder are deleted. Specify any files that should not be deleted in the CleanupFileExclusionList setting with exact file names. |
YYYY-MM-DD | These directories are date values in the form of year-month-day (such as 2009-04-01) that organize the input files by the date they were processed. This gives the date of when the file was processed and prevents any one directory from getting too many files in it. |
Processed | Files under this directory have been parsed all the way through the filing process. If an error occurred during processing, then an error file is placed in the Errors directory and the original file is placed in the Processed directory even if no document is created in the Imaging system. |
Samples | This directory contains all the sample files that work with input objects via the user interface. Files in this directory are visible in the input wizard under the user interface and should not contain production data. Note that the Samples directory location is configured separately from the input directories and may not be under the input directory. |
Stage | Files in this directory have been selected for processing and are being worked on by the agent. Once the filing is complete, the file is moved to the Processed directory. If the processing fails, an error report is generated. |
Input Agent polls for input files, stages them, and posts a message to the JMS queue that there are files available for processing. Input ingestors listen to the JMS queue and start processing staged files. The sequence of events is as follows:
First, Input Agent polls for files:
Upon Input Agent wake up (specified by the CheckInterval MBean), Input Agent gets a list of the currently online input definitions.
For each of the input definitions, Input Agent checks all input directories for files that match the input file mask.
When a file is found, it is moved to the Stage directory and a message is generated on a JMS queue to process the file, at which point input ingestors are notified and processing can begin.
Steps 2 and 3 are repeated until all input definitions and directories have been checked.
Once input ingestors are notified that there are files staged for processing in the JMS queue, they begin processing the files:
The ingestor opens a connection to the repository and creates an error file and a new batch object for tracking the documents.
The thread begins parsing the input file and indexing the documents into Imaging. Any errors that are encountered during indexing are recorded in the error file. This step is repeated for all entries in the input file.
After all the documents have been processed, the batch is closed and, if there were no error entries, the error file is deleted.
The ingestor closes the connection to the repository and the input file is moved to the current date directory under the Processed or Failed directory, and the ingestor moves on to the next staged input file.
A work manager is an Oracle WebLogic Server concept for controlling how many threads are assigned to a process. In Imaging, they are used to control how many threads are assigned to the Input Agents and for increasing or decreasing their load on the system. On a new installation, Input Agent is assigned 10 threads. You can reconfigure how many threads Oracle WebLogic Server should provide to the Input Agents by changing the default settings of the WebLogic Server work manager InputAgentMaxThreadsConstraint (default 10) to match your system needs. The number of maximum threads should be adjusted equally on all systems to avoid one machine falling behind and creating a backlog. A value of -1 or 0 disables the constraint. Values above 1 constrain the number of threads to the specified number.
To update thread settings, complete the following steps from the WebLogic Server administration console. For more information about WebLogic Server, see Oracle® Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.
Bring up the WebLogic console for the domain and go to the deployments section.
Select the Imaging application to display the details for Imaging.
Select the Configuration and then Workload tabs to get to the Work Manager list.
Select InputAgentWorkManager to adjust.
Select InputAgentMaxThreadsConstraint at the bottom of the page.
Update the count to the new maximum thread count and click Save.
Restart the managed server(s) and the new thread count will be in effect.
Input Agent has a retry mechanism to allow it to reattempt processing the input file in the event of a recoverable error. An example of this type of error is when the repository is not yet available and needs to finish initializing. When Input Agent detects a recoverable error, it puts the filing back on the JMS queue. The queue has a configurable retry wait timer that prevents the input file from being reprocessed immediately. You can also set the InputAgentRetryCount MBean to control how many times a job can be retried. The default is 3, after which the job is placed in the failed directory.
To troubleshoot any input file errors, do the following:
Determine if a severe error is preventing the input file from being parsed by examining the Errors directory. In the case of a severe error, two files are placed in the Errors directory: the original input file and an error file. The original input file is renamed by appending an error code, date and time the error occurred to the original file name in the following format:
original name-error code.YYYY-MM-DD.HH-mm-SS.original ext
The error file is named using the original input file name appended with the date and time of the error with a .err extension in the following format:
original name.YYYY-MM-DD.HH-mm-SS.err
For example, the failed input file invoices.dat would be renamed and placed in the Processed directory as invoices.dat-errorcode.05-21-2010.16_36_07.dat and have an associated error file of invoices.dat.05-21-2009.16_36_07.err.
Note: The file name character limitations of the file system being used should be considered when naming input files. Input file names should be at least 55 characters less than the file system limit in order to allow for the appended error codes and date-time stamps.For example the Windows NTFS file system restricts the file name plus the length of the file path to 256 characters. If the Errors directory path is 150 characters long, then no input file name should exceed 51 characters: 256 character limit - 150 character directory path - 55 character error code date-time stamp = 51 characters left for a file name. In this example, if more than 51 characters is required for input file names, then the Errors directory must be moved to a shorter path. |
If an error report does exist it will contain a list of all lines from the original input file that failed with an additional column containing the error message. So, an original line of:
C:\IBPM Data\WorkFiles\Filer\input\Images\C885|Identifier 165|27/06/2008|28215|495.75|
would be listed in the error file as the following:
C:\IBPM Data\WorkFiles\Filer\input\Images\C885|Identifier 165|27/06/2008|28215|495.75|Could not find file C:\IBPM Data\WorkFiles\Filer\input\Images\C885
If a more detailed logging level is enabled for Imaging and a filing was placed in the processed directory, a log entry is created stating:
Filing <Input Name> completed successfully with <indexed doc count> documents processed successfully out of <total doc count> documents.
If the filing failed, then a log entry is created that states:
An error occurred while completing a batch.
Common causes of errors on a line by line basis are problems with proper formatting of metadata to be loaded, or invalid value ranges and truncation of data.
Refer to the server's Oracle Diagnostic Logging (ODL) framework logs. The most common way to check this is via the Enterprise Managers's Log viewer for the imaging application. Typical problems here are from underlying repository or file permissions issues.
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 Section 2, "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.
This section discusses the following topics:
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.
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 Section 3.4, "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 Section A.16 through Section A.23 of Appendix A, "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:
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 Section 4.2.1, "Specifying General Properties" for more information on defining a full-text application.
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: 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 Section A.20, "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.
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. |
Expand the Manage Searches panel in the navigator pane.
Click the name of the search you want to change. The Search Review Settings Page is displayed.
Click Modify. The Search Properties Page for that search is displayed.
Note: If you only have the Grant Access security rights, the Search Security Page is displayed. The Search Security Page and the Search Review Settings Page are the only two you will have access to. |
Navigate to the appropriate page or pages to make the desired modifications using the navigation train. Review the section Section 6.2, "Creating a Search" for information regarding page options. Once you have made the desired modifications, return to the Search Review Settings Page.
On the Search Review Settings Page, click Submit to enter the changes.
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. |
Business Process Management (BPM) technology is a framework for applications that can effectively track and orchestrate business processes. BPM solutions can automatically manage processes and process flow, yet also allow for manual intervention when necessary.
This section contains the following topics:
BPM might coordinate the extraction of customer information from a database or manage a new customer information transaction. BPM could generate transactions in multiple related systems or support complete through processing automatically, without human intervention. BPM allows you to automate tasks involving information from multiple systems with rules to define the sequence in which the tasks are performed, as well as responsibilities, conditions and other aspects of the process. BPM not only allows a business process to be executed more efficiently, it also provides the tools to allow you to measure performance and identify opportunities for improvement. A benefit of BPM is that changes can be easily made in processes or flow by adding, removing or updating a process.
To best take advantage of BPM, the software application components of an Oracle process follow a Service-Oriented Architecture (SOA). These components are published as web services for reuse and ease of integration using BPEL.
Business Process Execution Language (BPEL) is an executable language for specifying interactions with web services. It extends and enables the web services interaction model to support business transactions and human interaction. BPEL is emerging as the clear standard for composing multiple synchronous and asynchronous services into collaborative and transactional process flows. BPEL is to business process management what SQL is to data management.
You can use BPEL to define services that can be used by other applications. You define all aspects of a process, from the definitions of data required to start a process to the available forms for human interaction with a process. These components are bundled into a composite and deployed to an workflow server.
To integrate a workflow process with Imaging, you must complete the following steps:
Create a workflow connection (see Section 7.2, "Creating a Workflow Connection").
Create an application with a workflow process defined within it (see Section 4.2, "Creating An Application").
Configure workflow properties, which is part of the process to create an application in the Imaging user interface (see Section 10.2.1, "Configuring Workflow Properties").
A workflow process can be added to an application when the application is created, or by modifying an existing application. Adding a workflow process begins with the Application Workflow Configuration Page. Before configuring an application to use a workflow, you must ensure that a connection to a workflow server has been created and the required workflow component is available on the server. The workflow server connection must include a name, protocol, server, and port (for example, name=t3://sta00319:7001). Then when creating an application, select the workflow connection on the Workflow Server Properties Page. Imaging must authenticate with the server to discover the deployed workflow components.
Once a server connection is selected for the application, a list of workflow components is identified. A workflow component can provide many different services, so you must identify the service you want to use on the Workflow Component Properties Page. Services can be invoked in multiple ways, so you must also identify the operation used to start a process. This operation is assumed to be asynchronous; it is a one-way communication into the workflow. Imaging uses it to initiate a process instance and does not wait for a response. A business process may take hours or days to complete.
Once the operation is selected, Imaging knows which data has to be provided to start the process. This is called the payload. A workflow uses web services so the payload reflects the data contained in the Web Services Description Language (WSDL) that defines the service. This data is represented as a schema with defined data types. On the Workflow Payload Properties Page, the payload type and a list of allowed values are displayed which are called mapping functions. Workflow Payload Mapping Functions return a value of a given type: text, number, date, and so on. If the payload value can accept a date, mapping functions that return a date are shown. If a text function cannot properly evaluate to a date, it is excluded from the list of available functions. If the payload value can accept a string, then all mapping functions are allowed since they can all be represented as text.
The Workflow Payload Properties Page is used to map Imaging application metadata fields to elements within a workflow process service payload. Predefined mapping functions are associated with simple typed elements in the payload. At runtime, when a document is created and the workflow agent is triggered to create a workflow process instance for the document, the mapping function for each element is evaluated to transform metadata from the document into payload element values. The mapping functions that are available may provide the raw metadata of the document, including system properties and application defined field values. A special mapping function named Format Value is also provided, allowing mapping of any value. The format is custom concatenation of constant values as well as values from other mapping functions.
Mapping functions are typically specific to type and must match the schema type of the payload element. This means that numeric, decimal, and date types in the payload may only map be mapped with mapping functions that return these types. String types in the payload can typically be mapped with any mapping function. Also, the Format Value mapping function can be mapped to any payload element. However, The Format Values return type is technically a string, and care must be taken to ensure that the return value is a valid string representation of the payload schema type.
The following table lists the available specific payload BPEL schema types and their compatible mapping functions:
BPEL Schema Types | Mapping Function |
---|---|
string, normalizedString, token | All Functions
All Field Values Doc URL Path |
anyType | All Functions
All Field Values Doc URL Path |
anyUri | DocUrl
DocUrlRoot Format Value |
byte
unsignedByte integer positiveInteger negativeInteger long unsignedLong short unsignedShort Note: Imaging uses integer bounded types to store numbers. Mapping to schema elements with lower bounds is allowed but may result in errors or loss of data during mapping execution | AppId
BatchId DocSize Version Format Value Number Field Values |
time
date dateTime | Create Date
Modify Date Volume Date Format Value DateField Values |
Boolean | True
False Boolean Field Values |
Supporting Content | Format Value |
All other schema types | Format Value |
The following table lists the available specific payload BPM schema types and their compatible mapping functions:
BPM Argument | BPM Schema Types | Mapping Function |
---|---|---|
String | string | All Functions
All Field Values |
Int | int
Note: Imaging uses integer bounded types to store numbers. Mapping to schema elements with lower bounds is allowed but may result in errors or loss of data during mapping execution | AppId
BatchId DocSize Version Format Value Number Field Values |
Bool | boolean | True
False Boolean Field Values |
Real | double | Format Value |
Decimal | decimal | Format Value
Decimal Field Values |
Time | dateTime | Create Date
Modify Date Volume Date Format Value DateField Values |
Interval | duration | Format Value |
Binary | base64binary | Format Value |
Format Values for types other than string-based types must return valid string representation of the schema type. Also, there are many other valid payload schema XSD types that may be present in a payload. Format Value is the only mapping function supporting types other than those specifically listed in the table above. As with other Format Value usages, it is up to the application and workflow process implementer to ensure that the format string returns a compatible type. Because the actual value returned is only known at runtime, Imaging cannot do any validation on such a configuration. It is recommended that payloads use the known types listed in the above table whenever possible.
Workflow payload elements annotated with minOccurs are defined as being required when mapping Imaging application fields. These elements are designated with a (*) symbol on the Workflow Payload Properties Page of the Imaging user interface.
Payload elements with a minOccurs=1 are interpreted as being required and Imaging requires a mapping for them. In this case, required means that the element must be supplied in the payload, but does not need a value. It is possible for a field value mapped to a payload element to be null even when mapped to a minOccurs=1 payload element. In this case, an empty element will be passed. In cases where the workflow process wants required to mean that a value must be supplied, the application field value mapped to the element can be marked as required in the application definition to ensure that it has a value. The workflow payload mapping does not enforce this.
Payload elements with a minOccurs=0 are interpreted as being optional and need not be supplied in the payload if there is no mapping for the element. This means that providing a mapping is optional as well. If no mapping is provided, the node will not be included in the payload sent to the workflow server. If a mapping is provided, however, the node will always be included, even if the value returned by the mapping function is empty. In this case, an empty element node is passed.
Note: In the workflow payload, Imaging does not support types where the minOccurs or maxOccurs attributes are greater than one. |
For mapping functions that map to a payload schema date or time based type (time, date, dateTime), values are encoded to ISO 8601 compliant formats as follows:
Schema Type | Format | Example |
---|---|---|
time | hh:mm:ss±tz | 12:45:15-05:00 |
date | yyyy-MM-dd | 2009-11-09 |
datetime | yyyy-MM-ddThh:mm:ss±tz | 2009-11-09T12:45:15-05:00 |
As indicated, types that include a time use the positive/negative time zone designator as an offset in hours and minutes (hh:mm).
Document property functions assign the value of a system property of the document to a payload element. Document Id, Application Name, Create Date, etc.
The Field Value function assigns application field values from a document to a payload element. Although "Field Value" is technically the name of the function, with the name of the field as a parameter, the Workflow Payload Properties Page presents each of an application's field definitions as a item in the mapping function selection box listed by the field's name. As with all mapping functions, the field definition type is used to determine whether or not it is compatible with the payload element schema type. Only compatible field values are listed as options next to any particular payload element.
Format value is a special mapping function that allows assigning any string value to a payload element. The format value can also embed multiple other mapping function values in the format string value as variables that will be supplied at runtime.
A format value is assigned to a payload item on the Workflow Payload Properties Page by selecting Format Value as the mapping function and then clicking the Edit Format Value button that appears next to selection box. On the "Edit Format Value" dialog that appears, the format value is entered at the bottom. A selection list at the top provides the available mapping functions, which can be inserted into the edit box. (Items append to the end of any currently entered text.)
When creating a format value string manually, mapping function variables are encoded in the value using the mapping function name surround by square brackets (e.g., "[DocUrl]"). Field Values are coded by include the mapping function (Field Value), a colon, and then the desired field name, all within square brackets.
For an example, suppose that the workflow process includes a data variable that is expected to contain custom URL. The custom URL must include a customerId, which is available in the metadata of the document, and the document's unique identifier. The root of the URL is hard coded. This example might be coded in a format value as follows:
http://example.com/svc.jspx?custId=[FieldValue:custId]&docId=[DocId]
The Supporting Content function maps supporting content data associated with a document to a workflow process payload element. Supporting content can be mapped to any complex node within the process payload. When the supporting content function is mapped, a supporting content key and XPath parameter are both required. The supporting content key is used to associate the XML content with the document and is limited to 30 characters. The XPath expression identifies the node within the XML content to be mapped to the payload element and is limited to 224 characters.
When mapping to a complex payload element at runtime, the supporting content is treated as a mapping of elements into the payload complex element rather than just copying the supporting content element in verbatim. Each element in the payload element is processed one by one. For each element, a matching element sought in the supporting content, starting at the node identified by the XPath parameter. If a match is found, the value of the matching element in the XML is assigned to payload element. Processing the supporting content avoids namespace conflict issues between the supporting content XML and the payload XML.
Supporting content can also be assigned to an anyType node in the payload. When mapped this way, the supporting content identified by the XPath is copied into the anyType element. When used this way, namespace prefixes should be avoided in the supporting content because the namespaces may not be defined correctly in the payload.
In general, the workflow payload mapping can handle payloads containing nesting of complex types. However, there are of number of standard XSD constructs that it cannot handle. Workflow process service payload definitions containing any of the following cannot be used:
Hierarchical depth greater than 10
Choice element types
List elements with minOccurs greater than 1
Payload definitions containing list like structures (maxOccurs is greater than 1 or unbounded) with a minOccurs equal 0 or 1 can be used, but only support mapping to a single element in the array.
When the Workflow Process service has server-side Oracle Web Services Manger (OWSM) policies applied to it, additional parameters need to be supplied in the imaging application's workflow configuration such that the client-side policy is also used. These additional configuration parameters are provided on the Workflow Payload Properties Page with the normal workflow process instance payload mappings. If the service has a OWSM policy applied, Imaging detects this policy and provides an additional payload mapping section labeled with the policy name. The full set of keys that are possible for all OWSM policies is provided by the OWSM API in the class oracle.wsm.security.util.SecurityConstants. Imaging however filters out the full set and lists only those parameters relevant to the server policy in use. Currently, only parameters are provided for wss_username_token and wss11_username_token_with_message_protection policies.
The following parameters are possible:
Parameter | Description | Policies |
---|---|---|
csf.key | Provides the username and password for the policy. | wss_username_token
wss11_username_token_with_message_protection policies |
recipient.key.alias | Provides the key store alias for encrypting the sent message. | wss11_username_token_with_message_protection policies |
When configuring message protection policies, the proper credentials and certificates must also be configured to support encryption of the message. In default installations, the exact keys required are defined in the jps-config.xml file located in the $DOMAIN_HOME/config/fmwconfig directory. This file also defines the location of the default keystore file. The jps-config.xml file is generally configured to look for this file in the fmwconfig directory with the file name default-keystore.jks. However, this file does not exist by default and must be provided. The default jps-config.xml file defines the following:
Description | Policies |
---|---|
keystore-csf-key | Provides the credentials for opening the keystore file. Only the password portion of the credential is used. |
enc-csf-key | Provides the credentials for accessing the encryption certificate within the keystore used to encrypt the message. |
sign-csf-key | Provides the credentials for accessing the certificate used to sign the message. Note that the jps-config.xml file may be configured to use the enc-csf-key for both encryption and signing. In such a case the sign-csf-key is not necessary but does not cause a problem if defined. |
For more information on setting up keystores, CSF keys and aliases for Oracle Web Services Manager, see Oracle Web Services Manager Administrator's Guide.
The user used to connect to a workflow for a SAML policy is provided by the "basic.credential" CSF key value. In order for the server to be allowed to authenticate as the user provided by the CSF key, the following policy grant must be issued from WebLogic Scripting Tool (WLST), where MW_HOME is the correct path to the installations Oracle Fusion Middleware Home directory:
grantPermission(permClass="oracle.wsm.security.WSIdentityPermission", permTarget="resource=imaging",permActions="assert",codeBaseURL="file:<MW_HOME>/oracle_common/modules/oracle.wsm.agent.common_11.1.1/wsm-agent-c8ore.jar")
A work manager is a WebLogic server concept for controlling how many threads are assigned to a process. In Imaging, they are used to control how many threads are assigned to the input and workflow agents and for increasing or decreasing their load on the system. On a new installation, the workflow agent is assigned 20 threads. You can reconfigure how many threads WebLogic server (WLS) should provide to the input and workflow agents by changing the default settings of the WLS work managers WorkflowAgentMaxThreadsConstraint (default 20) to match your system needs. The number of maximum threads should be adjusted equally on all systems to avoid one machine falling behind and creating a backlog. A value of -1 or 0 disables the constraint. Values above 1 constrain the number of threads to the specified number.
To update thread settings, complete the following steps from the WLS administration console. For more information about the WebLogic server, see Weblogic Web Services Reference for Oracle Weblogic Server.
Open the WebLogic Server console and click Deployments.
Select the Imaging deployment to display the details for Imaging.
Click the Configuration tab and then the Workload tab to display the Work Manager list.
Select the agent you want to adjust, such as WorkflowAgent.
Select the Max Threads Constraint.
Update the count to the new maximum thread count and click Save.
Restart the managed server or servers and the new thread count will be in effect.
A credential store framework (CSF) credential is a username/password pair that is keyed by an alias and stored inside a named map in the CSF. Because of its integration with Oracle Web Services Manager (OWSM), Imaging leverages the standard OWSM CSF map named oracle.wsm.security.
A credential can be created through Enterprise Manger (EM) or through WebLogic Scripting Tool (WLST). For details, see Section 7.2.2, "Configuring a Workflow Connection CSF Credential."
If the workflow agent cannot connect to the workflow server, there will be three immediate attempts at connection. If all three attempts fail, the message is returned to the JMS queue for deployed process. The BpelInjectorQueue JMS queue is configured for a five minute retry delay. Each subsequent retry attempt to process the message is again manually retried three times. Like the manual retry mechanism, the message is returned to the queue two times (for three process attempts). After the third message processing attempt fails, the document details are written to a workflow agent faults table, including the exception message from the last exception received, and the message is not returned to the queue. This provides nine retries over a time period of 10 minutes. Note: If for any reason the attempt to record the document details to the fault table fails, the message is returned to the queue to avoid dropping the request.
Workflow agent processing faults that are recorded to the faults table are managed using a set of WebLogic Scripting Tool (WLST) diagnostic commands. To access these commands, you must execute WLST from the Enterprise Content Management $ORACLE_HOME/common/bin directory. Also, when connecting to WLST, you must connect to an Imaging managed server instance, not the admin server. These commands are only available when the Imaging managed server is online.
The following workflow diagnostic commands are available using WLST:
sumIPMWorkflowFaults: Counts processing failures during workflow agent processing, grouped by choice of date, application ID, or batch ID.
clearIPMWorkflowFaults: Clears processing failures that occurred during workflow agent processing.
listIPMWorkflowFaults: Provides details of processing failures that occurred during workflow agent processing.
repairIPMWorkflowFaults: Repairs processing failures that occurred during workflow agent processing.
Details about use and syntax of these faults can be found in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.
Once a user has configured all of the workflow properties, they are ready to be used to initiate workflow processes. When a document is uploaded to Imaging, a message is sent to the workflow agent indicating new content. The workflow agent monitors these messages, and when it receives a message that the document's application has been configured to use workflow, it uses the configuration to build a payload of values for that specific document and then calls the service to initiate a workflow process.
The workflow process must be designed in such a way that if a user needs to look at a document from Imaging, it has the necessary information needed to launch the viewer. This can be accomplished by defining a payload value to hold the viewer URL. It is up to the workflow designer to create a form that includes a button or link to open the target of the viewer URL property. If the business process must update information in Imaging, it can do so by using the Imaging API. For more information about APIs, see Oracle® WebCenter Content Developer's Guide for Imaging. The Imaging API is exposed as a web service which can easily be added to any workflow process by a process designer. Again, the designer needs to ensure that he or she has collected enough information at the start of the process to communicate updated data for the document. For example, the document ID and application field names would be necessary.
Note: A document can be resubmitted to a workflow using WebLogic Scripting Tools by calling the submitIPMToWorkflow() WLST command. A confirmation message is displayed stating that the document has been submitted, however if the document is stored in an application that is not configured with a workflow, no action is taken. |