Oracle9iAS Forms Services Deployment Guide Release 9.0.2 Part Number A92175-01 |
|
This chapter contains the following sections:
During the installation, the following configuration files were installed onto your system:
When a user first starts an Oracle9iAS Forms application (by clicking a link to the application's URL), the baseHTML file is read by Forms Servlet. Any variables (%variablename%) in the baseHTML file are replaced with the appropriate parameter values specified in the formsweb.cfg file, and from query parameters in the URL request (if any).
You can modify the configuration files as your needs change.
For a description and the location of the Forms Servlet configuration file (formsweb.cfg), see Chapter 2, formsweb.cfg.
Make sure the EnvFile parameter specifies the physical path to the environment file that contains the environment variable settings you want to use.
The four baseHTML parameters should also be set to point to appropriate files. Typically, lines like the following should appear in the default section at the start of the formsweb.cfg file:
baseHTML=base.htm baseHTMLie=baseie.htm baseHTMLJinitiator=basejini.htm baseHTMLjpi=basejpi.htm envfile=default.env
All of these parameters give file names. If no paths are given (as in this example), the files are assumed to be in the same directory as the Forms Servlet configuration file (formsweb.cfg), that is <ORACLE_HOME>/forms90/servlet.
You can create specific named configurations in the formsweb.cfg file. These configurations can be requested in the end-user's query string of the URL used to run a form.
Create special configurations by adding the name of the configuration in brackets at the end of the formsweb.cfg file. Then, specify the parameters (only those you want to change) for this special configuration.
For example, to create a configuration to run forms in a separate browser window with a "generic" look and feel, add the following code to the formsweb.cfg file:
[sepwin] forms=<module> separateFrame=True lookandfeel=Generic
The end-user would type the following URL to launch a form that uses the "sepwin" configuration:
http://server:port/forms90/f90servlet?config=sepwin
You can also use Enterprise Manager to create named configuration sections (see Chapter 6, "Enterprise Manager and Oracle9i Forms").
See Default formsweb.cfg File for other examples of special configurations.
Parameter | Required / Optional | Parameter Value |
---|---|---|
These parameters control the behavior of the Forms Servlet. They can only be specified in the servlet configuration file (formsweb.cfg) and cannot be specified as URL query parameters. |
||
baseHTML |
optional |
Physical path to HTML file that contains applet tags. |
baseHTMLJInitiator |
required |
Physical path to HTML file that contains JInitiator tags. |
baseHTMLjpi |
optional |
Physical path to HTML file that contains Java Plug-in tags. Used as the baseHTML file if the client browser is not on Windows and the client browser is either Netscape or IE without the IE native settings. |
baseHTMLie |
optional |
Physical path to the HTML file that contains Internet Explorer 5 tags, for example the CABBASE tag. The default path is <ORACLE_HOME>baseie.htm. This is required when using the Internet Explorer native JVM. |
HTML delimiter |
required |
Delimiter for variable names. Defaults to %. |
workingDirectory |
required |
Defaults to <ORACLE_HOME>/forms90 if not set. |
envFile |
required |
This is set to default.env in the formsweb.cfg file. |
IE |
recommended if there are users with Internet Explorer 5.0 or above browsers |
Specifies how to execute the Forms applet under Microsoft Internet Explorer 5.0 or above. If the client is using an Internet Explorer 5.0 or above browser, either the native JVM or JInitiator can be used. A setting of "JInitiator" uses the basejini.htm file and JInitiator. A setting of "Native" uses the browser's native JVM. |
Runform parameters (serverArgs parameters) All parameters from here on match variables (%parameterName%) in the baseHTML file. These variables are replaced with the parameter values specified in the URL query string, or failing that, in the formsweb.cfg file. |
||
form |
required |
Specifies the name of the top level Forms module (fmx file) to run. |
userid |
optional |
Login string. For example: scott/tiger@ORA8. |
otherparams |
optional |
This setting specifies command line parameters to pass to the Forms runtime process in addtion to form and userid. debug=%debug% buffer_records=%buffer% debug_messages=%debug_messages% array=%array% query_only=%query_only% quiet=%quiet% render=%render% host=%host% port=%port% |
HTML page title, attributes for the BODY tag and HTML to add before and after the form For security reasons these may not be set using URL query parameters. |
||
pageTitle |
optional |
Oracle Forms Server |
HTMLbodyAttrs |
optional |
Attributes for the <BODY> tag of the HTML page. |
HTMLbeforeForm |
optional |
HTML content to add to the page above the area where the Forms application will be displayed. |
HTMLafterForm |
optional |
HTML content to add to the page below the area where the Forms application will be displayed. |
All of the following are specified in the baseHTML file as values for object or applet parameters. For example: <PARAM NAME="serverURL" VALUE="%serverURL%"> |
||
serverURL |
required |
/forms90/l90servlet (see Chapter 1, Forms Listener Servlet) |
codebase |
required |
Virtual directory you defined to point to the physical directory <ORACLE_HOME>/forms90/java, where, by default, the applet JAR files are downloaded from. The default value is /forms90/java. |
width |
required |
Specifies the width of the form applet, in pixels. Default is 650. |
height |
required |
Specifies the height of the form applet, in pixels.Default is 500. |
separateFrame |
optional |
Determines whether the applet appears within a separate window. Legal values: True or False. |
splashScreen |
optional |
Specifies the .GIF file that should appear before the applet appears. Set to NO for no splash. Leave empty to use the default splash image. To set the parameter include the file name (for example, myfile.gif) or the virutal path and file name (for example, images/myfile.gif). |
background |
optional |
Specifies the .GIF file that should appear in the background. Set to NO for no background. Leave empty to use the default background. |
lookAndFeel |
optional |
Determines the applications look-and-feel. Legal values: Oracle or Generic (Windows look-and-feel). |
colorScheme |
optional |
Determines the application's color scheme. Legal values: Teal, Titanium, Red, Khaki, Blue, Olive, or Purple. Note: colorScheme is ignored if lookAndFeel is set to Generic. |
serverApp |
optional |
Replace default with the name of your application file (if any). Use application classes for creating application-specific font mapping and icon path settings. To set the parameter include the file name if file is in OracleHome\forms90\java\oracle\forms\registry or include the virtual path and file name. |
archive |
optional |
Comma-separated list of archive files that are used when the browser detected is neither Internet Explorer using native JVM nor JInitiator. (The default is f90all.jar.) To set the parameter include the file name if the file is in the codebase directory or include the virtual path and file name. |
archive_jinit |
optional |
Comma-separated list of JAR file(s) that is used when the browser detected is JInitiator. (The default is f90all_jinit.jar.) To set the parameter include the file name if the file is in the codebase directory or include the virtual path and file name. |
archive_ie |
optional |
Comma-separated list of CAB file(s) that is used when the browser detected is Internet Explorer using native JVM. (The default is f90all.cab.) |
networkRetries |
optional |
In situations of high load or network failures, you can specify the number of times (up to 10) the client will attempt to send a request to the intended servlet engine. The default setting is 0, in which case the Forms session will terminate after one try. |
mapFonts |
optional |
<PARAM NAME = "mapFonts" VALUE = "yes" > to trigger font mapping. As a result of some font rendering code changes in JDK 1.3, the font heights set in JDK 1.1 increased in JDK 1.3. As this may cause display issues, you can map the JDK 1.3 fonts so that the font sizes are the same as they were in JDK 1.1. |
Parameters for JInitiator |
||
jinit_download_page |
required (Netscape only) |
If you create your own version of the Jinitiator download page, set this parameter to point to it. Default is /forms90/jinitiator/us/JInitiator/jinit.download.htm. |
jinit_classid |
required (IE only) |
Default is clsid:CAFECAFE-0013-0001-0002-ABCDEFABCDEF |
jinit_exename |
required |
Default is jinit.exe#Version=1.3.1.2 |
jinit_mimetype |
required (Netscape only) |
Default is application/x-jinit-applet;version=1.3.1.2 |
Parameters for Sun's Java Plug-in |
||
jpi_codebase |
required |
Sun's Java Plug-in codebase setting |
jpi_classid |
required |
Sun's Java Plug-in class id |
jpi_download_page |
required |
Sun's Java Plug-in download page |
Enterprise Manager configuration parameters |
||
em_mode |
required |
1 is to enable. 0 is to disable. Applies only to the HTML-based version of the Enterprise Manager. TRUE indicates that all Enterprise Manager information is available, including metrics and servlet status. FALSE indicates that only configuration information is available. |
OID (Oracle Internet Directory) configuration parameters |
||
oid_formsid |
required |
Configured during the Oracle9iAS installation, so you do not need to change this. |
oracle_home |
required |
Configured during the Oracle9iAS installation, so you do not need to change this. |
The default formsweb.cfg file contains the following:
# formsweb.cfg - Forms Servlet default configuration file # ------------------------------------------------------- # This file defines parameter values used by the FormsServlet (f90servlet) # ******************************** # DEFAULT CONFIGURATIONS # ******************************** # # These are the default settings. Any of them may be overridden in the # Named Configurations section. If they are not overridden, then the # values here will be used. # System Paremeters cannot be overridden in the URL. User Parameters can. # # # SYSTEM PARAMETERS # ----------------- # These have fixed names and give information required by the Forms # Servlet in order to function. They cannot be specified in the URL query # string. But they can be overriden in a named configuration (see below). # Some parameters specify file names: if the full path is not given, # they are assumed to be in the same directory as this file. If a path # is given, then it should be a physical path, not a URL. # baseHTML=base.htm baseHTMLjinitiator=basejini.htm baseHTMLjpi=basejpi.htm baseHTMLie=baseie.htm HTMLdelimiter=% # # WorkingDirectory defaults to <oracle_home>/forms90 if unset. # workingDirectory= envFile=default.env # # The next parameter specifies how to execute the Forms applet under # Microsoft Internet Explorer 5.x. Put IE=native if you want the # Forms applet to run in the browser's native JVM. # IE=JInitiator # # USER PARAMETERS # --------------- # These match variables (e.g. %form%) in the baseHTML file. Their values # may be overridden by specifying them in the URL query string # (e.g. "http://myhost.mydomain.com/servlet/f90servlet?form=myform&width=700") # or by overriding them in a specific, named configuration (see below) # # # 1) Runform arguments: # form=test.fmx userid= # # These settings support running and debugging a form from the Builder: # otherparams=debug=%debug% buffer_records=%buffer% debug_messages=%debug_messages% array=%array% query_only=%query_only% quiet=%quiet% render=%render% host=%host% port=%port% play=%play% record=%record% debug=no buffer=no debug_messages=no array=no query_only=no quiet=yes render=no host= port= # # 2) HTML page title, attributes for the BODY tag, and HTML to add before and # after the form: # pageTitle=Oracle9iAS Forms Services HTMLbodyAttrs= HTMLbeforeForm= HTMLafterForm= # # 3) Values for the Forms applet parameters: # serverURL=/forms90/l90servlet codebase=/forms90/java imageBase=DocumentBase width=650 height=500 separateFrame=false splashScreen= background= lookAndFeel=Oracle colorScheme=teal logo= serverApp=default # # The following archive settings are for # archive_jini - settings for JInitiator # archive_ie - settings for IE native JVM # archive - settings for all other cases (Java Plugin, Appletviewer, etc) # archive_jini=f90all_jinit.jar archive_ie=f90all.cab archive=f90all.jar # # Number of times client should retry if a network failure occurs. Only # change after having read the documentation. # networkRetries=0 # # 4) Parameters for JInitiator (used with Windows clients) # # # Page displayed to Netscape users to allow them to download JInitiator. # If you create your own page, you should set this parameter to point to it. # jinit_download_page=/forms90/jinitiator/us/jinit_download.htm # # Parameters related to the version of JInitiator. # jinit_classid=clsid:CAFECAFE-0013-0001-0003-ABCDEFABCDEF jinit_exename=jinit.exe#Version=1,3,1,3 jinit_mimetype=application/x-jinit-applet;version=1.3.1.3 # # 5) Parameters for the Java Plugin (used with non-Windows clients) # # # Page displayed to users to allow them to download the JPI # (NOTE: you should check this page and possibly change the settings) # jpi_download_page=http://java.sun.com/products/plugin/1.3/plugin-install.html # # Parameters related to the version of the Java Plugin # jpi_classid=clsid:8AD9C840-044E-11D1-B3E9-00805F499D93 jpi_codebase=http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0 jpi_mimetype=application/x-java-applet;version=1.3 # # 6) EM config parameter # Set this to "1" to enable Enterprise Manager to track Forms processes # em_mode=0 # # 6) OID Config parameters (for Single Sign-On) # oid_formsid=%OID_FORMSID% oracle_home=%ORACLE_HOME% # ******************************** # NAMED CONFIGURATIONS # ******************************** # # You may define your own specific, named configurations (sets of parameters) # by adding special sections as illustrated in the following examples. # Note that you need only specify the parameters you want to change. The # default values (defined above) will be used for all other parameters. # Use of a specific configuration can be requested by including the text # "config=<your_config_name>" in the query string of the URL used to run # a form. For example, to use the sepwin configuration, your could issue # a URL like "http://myhost.mydomain.com/servlet/f90servlet?config=sepwin". # # # Example 1: configuration to run forms in a separate browser window with # "generic" look and feel (include "config=sepwin" in the URL) # [sepwin] separateFrame=True lookandfeel=Generic # # Example 2: configuration affecting users of MicroSoft Internet Explorer 5.x. # Forms applet will run under the browser's native JVM rather than # using Oracle JInitiator. # [ienative] IE=native # # Example 3: configuration forcing use of the Java Plugin in all cases # (even if the client browser is on Windows) # [jpi] baseHTMLJInitiator=basejpi.htm baseHTMLie=basejpi.htm # # Example 4: configuration running the Forms ListenerServlet in debug mode # (debug messages will be written to the servlet engine's log file) # [debug] serverURL=/servlet/l90servlet/debug
For a brief description and the locations of base.htm, basejini.htm, basejpi.htm, and baseie.htm, see Chapter 2, base.htm, basejini.htm, basejpi.htm, and baseie.htm.
Four baseHTML files are created for your system by the Oracle Universal Installer during Oracle9iAS installation and configuration. In most cases, you will not need to modify these files. If you do need to modify these files, you should create your own versions and reference them from the formsweb.cfg file. The default files may be overridden by a patch installation.
When a user first starts an Oracle9i Forms application (by clicking a link to the application's URL), a baseHTML file is read by Forms Servlet.
Any variables (%variablename%) in the baseHTML file are replaced with the appropriate parameter values specified in the formsweb.cfg file described in formsweb.cfg, and from query parameters in the URL request (if any). Query parameter values override the values in the formsweb.cfg file.
Then, the baseHTML file is downloaded to the user's Web browser.
Note:Any baseHTML variables that you want to modify can be changed by modifying the corresponding parameter values in the formsweb.cfg file, described in formsweb.cfg.
The following baseHTML starter files are available in the <ORACLE_HOME>/forms90/server directory:
If you decide to create a new baseHTML file:
order.htm).
The baseHTML and baseHTMLJInitiator tags can also be set in the specific named configuration section, overwriting the system default value. This is recommended if an individual custom baseHTML template needs to be used. However, if a custom template is used for all applications, then it is recommended you change the default configuration section in the formsweb.cfg file.
If you do not want to use a parameter tag that is provided in the base.htm or basejini.htm file, delete it from the file.
We recommend that you specify the rest of the parameter values as variables (%variablename%) in the baseHTML file. For example:
<PARAM NAME="logo" VALUE="%logo%">
Then, specify the actual parameter values in the formsweb.cfg file, which are defined in Parameters in the formsweb.cfg File. All variables are replaced with the appropriate parameter values at runtime.
You must then assign a value to %Archive% either in the formsweb.cfg file or in the URL query string.
<HTML> <!-- FILE: base.htm (Oracle Forms) --> <!-- --> <!-- This is the default baseHTML file for running a form on the --> <!-- web using a generic APPLET tag to include Forms applet. --> <!-- --> <!-- IMPORTANT NOTES: --> <!-- Default values for all the variables which appear below --> <!-- (enclosed in percent characters) are defined in the servlet --> <!-- configuration file (formsweb.cfg). It is preferable to make --> <!-- changes in that file where possible, rather than this one. --> <!-- --> <!-- This file will be REPLACED if you reinstall Oracle Forms, so --> <!-- you are advised to make your own version if you want to make --> <!-- want to make any modifications. You should then set the --> <!-- baseHTML parameter in the Forms Servlet configuration file --> <!-- (formsweb.cfg) to point to your new file instead of this one. --> <HEAD><TITLE>%pageTitle%</TITLE></HEAD> <BODY %HTMLbodyAttrs%> %HTMLbeforeForm% <!-- Forms applet definition (start) --> <APPLET CODEBASE="%codebase%" CODE="oracle.forms.engine.Main" ARCHIVE="%archive%" WIDTH="%Width%" HEIGHT="%Height%"> <PARAM NAME="networkRetries" VALUE="%networkRetries%"> <PARAM NAME="serverArgs" VALUE="module=%form% userid=%userid% sso_userid=%sso_userid% %otherParams%"> <PARAM NAME="separateFrame" VALUE="%separateFrame%"> <PARAM NAME="splashScreen" VALUE="%splashScreen%"> <PARAM NAME="background" VALUE="%background%"> <PARAM NAME="lookAndFeel" VALUE="%lookAndFeel%"> <PARAM NAME="colorScheme" VALUE="%colorScheme%"> <PARAM NAME="serverApp" VALUE="%serverApp%"> <PARAM NAME="logo" VALUE="%logo%"> <PARAM NAME="imageBase" VALUE="%imageBase%"> </APPLET> <!-- Forms applet definition (end) --> %HTMLafterForm% </BODY> </HTML>
<HTML> <!-- FILE: basejini.htm (Oracle Forms) --> <!-- --> <!-- This is the default baseHTML file for running a form on the --> <!-- web using JInitiator-style tags to include the Forms applet. --> <!-- --> <!-- IMPORTANT NOTES: --> <!-- Default values for all the variables which appear below --> <!-- (enclosed in percent characters) are defined in the servlet --> <!-- configuration file (formsweb.cfg). It is preferable to make --> <!-- changes in that file where possible, rather than this one. --> <!-- --> <!-- This file will be REPLACED if you reinstall Oracle Forms, so --> <!-- you are advised to make your own version if you want to make --> <!-- want to make any modifications. You should then set the --> <!-- baseHTMLJinitiator parameter in the Forms Servlet configuration --> <!-- file (formsweb.cfg) to point to your new file instead of this. --> <HEAD><TITLE>%pageTitle%</TITLE></HEAD> <BODY %HTMLbodyAttrs%> %HTMLbeforeForm% <!-- Forms applet definition (start) --> <OBJECT classid="%jinit_classid%" codebase="/forms90/jinitiator/%jinit_exename%" WIDTH="%Width%" HEIGHT="%Height%" HSPACE="0" VSPACE="0"> <PARAM NAME="TYPE" VALUE="%jinit_mimetype%"> <PARAM NAME="CODEBASE" VALUE="%codebase%"> <PARAM NAME="CODE" VALUE="oracle.forms.engine.Main" > <PARAM NAME="ARCHIVE" VALUE="%archive_jini%" > <PARAM NAME="networkRetries" VALUE="%networkRetries%"> <PARAM NAME="serverArgs" VALUE="module=%form% userid=%userid% sso_userid=%sso_userid% %otherParams%"> <PARAM NAME="separateFrame" VALUE="%separateFrame%"> <PARAM NAME="splashScreen" VALUE="%splashScreen%"> <PARAM NAME="background" VALUE="%background%"> <PARAM NAME="lookAndFeel" VALUE="%lookAndFeel%"> <PARAM NAME="colorScheme" VALUE="%colorScheme%"> <PARAM NAME="serverApp" VALUE="%serverApp%"> <PARAM NAME="logo" VALUE="%logo%"> <PARAM NAME="imageBase" VALUE="%imageBase%"> <COMMENT> <EMBED SRC="" PLUGINSPAGE="%jinit_download_page%" TYPE="%jinit_mimetype%" java_codebase="%codebase%" java_code="oracle.forms.engine.Main" java_archive="%archive_jini%" WIDTH="%Width%" HEIGHT="%Height%" HSPACE="0" VSPACE="0" networkRetries="%networkRetries%" serverArgs="module=%form% userid=%userid% sso_userid=%sso_userid% %otherparams%" separateFrame="%separateFrame%" splashScreen="%splashScreen%" background="%background%" lookAndFeel="%lookAndFeel%" colorScheme="%colorScheme%" serverApp="%serverApp%" logo="%logo%" imageBase"="%imageBase%" > <NOEMBED> </COMMENT> </NOEMBED></EMBED> </OBJECT> <!-- Forms applet definition (end) --> %HTMLafterForm% </BODY> </HTML>
<HTML> <!-- FILE: basejpi.htm (Oracle Forms) --> <!-- --> <!-- This is the default baseHTML file for running a form on the --> <!-- web using the JDK Java Plugin. This is used for example when --> <!-- running with Netscape on Unix. --> <!-- --> <!-- IMPORTANT NOTES: --> <!-- Default values for all the variables which appear below --> <!-- (enclosed in percent characters) are defined in the servlet --> <!-- configuration file (formsweb.cfg). It is preferable to make --> <!-- changes in that file where possible, rather than this one. --> <!-- --> <!-- This file will be REPLACED if you reinstall Oracle Forms, so --> <!-- you are advised to create your own version if you want to make --> <!-- any modifications. You should then set the baseHTMLjpi --> <!-- parameter in the Forms Servlet configuration file (formsweb.cfg) --> <!-- to point to your new file instead of this one. --> <HEAD><TITLE>%pageTitle%</TITLE></HEAD> <BODY %HTMLbodyAttrs%> %HTMLbeforeForm% <!-- Forms applet definition (start) --> <OBJECT classid="%jpi_classid%" codebase="%jpi_codebase%" WIDTH="%Width%" HEIGHT="%Height%" HSPACE="0" VSPACE="0"> <PARAM NAME="TYPE" VALUE="%jpi_mimetype%"> <PARAM NAME="CODEBASE" VALUE="%codebase%"> <PARAM NAME="CODE" VALUE="oracle.forms.engine.Main" > <PARAM NAME="ARCHIVE" VALUE="%archive%" > <PARAM NAME="networkRetries" VALUE="%networkRetries%"> <PARAM NAME="serverArgs" VALUE="module=%form% userid=%userid% sso_userid=%sso_userid% %otherParams%"> <PARAM NAME="separateFrame" VALUE="%separateFrame%"> <PARAM NAME="splashScreen" VALUE="%splashScreen%"> <PARAM NAME="background" VALUE="%background%"> <PARAM NAME="lookAndFeel" VALUE="%lookAndFeel%"> <PARAM NAME="colorScheme" VALUE="%colorScheme%"> <PARAM NAME="serverApp" VALUE="%serverApp%"> <PARAM NAME="logo" VALUE="%logo%"> <PARAM NAME="imageBase" VALUE="%imageBase%"> <COMMENT> <EMBED SRC="" PLUGINSPAGE="%jpi_download_page%" TYPE="%jpi_mimetype%" java_codebase="%codebase%" java_code="oracle.forms.engine.Main" java_archive="%archive%" WIDTH="%Width%" HEIGHT="%Height%" HSPACE="0" VSPACE="0" networkRetries="%networkRetries%" serverArgs="module=%form% userid=%userid% sso_userid=%sso_userid% %otherparams%" separateFrame="%separateFrame%" splashScreen="%splashScreen%" background="%background%" lookAndFeel="%lookAndFeel%" colorScheme="%colorScheme%" serverApp="%serverApp%" logo="%logo%" imageBase"="%imageBase%" > <NOEMBED> </COMMENT> </NOEMBED></EMBED> </OBJECT> <!-- Forms applet definition (end) --> %HTMLafterForm% </BODY> </HTML>
<HTML> <!-- FILE: baseie.htm (Oracle Forms) --> <!-- --> <!-- This is the default baseHTML file for running a form on the --> <!-- web with Internet Explorer version 5.0 or above, using that --> <!-- browser's native JVM. --> <!-- --> <!-- IMPORTANT NOTES: --> <!-- Default values for all the variables which appear below --> <!-- (enclosed in percent characters) are defined in the servlet --> <!-- configuration file (formsweb.cfg). It is preferable to make --> <!-- changes in that file where possible, rather than this one. --> <!-- --> <!-- This file will be REPLACED if you reinstall Oracle Forms, so --> <!-- you are advised to make your own version if you want to make --> <!-- want to make any modifications. You should then set the --> <!-- baseHTMLie parameter in the Forms Servlet configuration file --> <!-- (formsweb.cfg) to point to your new file instead of this one. --> <HEAD><TITLE>%pageTitle%</TITLE></HEAD> <BODY %HTMLbodyAttrs%> %HTMLbeforeForm% <!-- Forms applet definition (start) --> <APPLET CODEBASE="%codebase%" CODE="oracle.forms.engine.Main" WIDTH="%Width%" HEIGHT="%Height%"> <PARAM NAME="networkRetries" VALUE="%networkRetries%"> <PARAM NAME="serverArgs" VALUE="module=%form% userid=%userid% sso_userid=%sso_userid% %otherParams%"> <PARAM NAME="separateFrame" VALUE="%separateFrame%"> <PARAM NAME="splashScreen" VALUE="%splashScreen%"> <PARAM NAME="background" VALUE="%background%"> <PARAM NAME="lookAndFeel" VALUE="%lookAndFeel%"> <PARAM NAME="colorScheme" VALUE="%colorScheme%"> <PARAM NAME="serverApp" VALUE="%serverApp%"> <PARAM NAME="logo" VALUE="%logo%"> <PARAM NAME="imageBase" VALUE="%imageBase%"> </APPLET> <!-- Forms applet definition (end) --> %HTMLafterForm% </BODY> </HTML>
For a description and the location of web.xml, see Chapter 2, web.xml.
Advanced users might want to edit the web.xml file to:
If you are having difficulty running Oracle9i Forms in your Oracle9iDS or Oracle9iAS installation, it can be useful to enable certain test options which are not usually enabled for security reasons. To use these options, edit the web.xml file to set the testMode f90servlet parameter to true. Then restart the Web server (or OC4J). The additional options are then visible on the Forms Servlet adminstration page (which can be accessed at a URL like http://<your_web_server_hostname>:<port>/forms90/f90servlet/admin).
This can be done by uncommenting and changing the f90servlet's "configFileName" servlet parameter.
When Oracle9i Forms applications are run using a method other than the Forms Servlet (for example, static HTML pages, or JSPs), parameter settings in the formsweb.cfg file are not used. You may therefore need to define servlet parameters for the Listener Servlet, such as workingDirectory and envFile (specifying the current working directory for the Forms runtime processes, and the file containing environment settings to be used).
- <web-app> <display-name>Forms 9i Services</display-name> <description>Oracle 9iAS: Forms 9i Services</description> - <welcome-file-list> <welcome-file>l90servlet</welcome-file> </welcome-file-list> - <!-- Forms 9i page generator servlet --> - <servlet> <servlet-name>f90servlet</servlet-name> <servlet-class>oracle.forms.servlet.FormsServlet</servlet-class> - <!-- During product installation the configFileName parameter is specified in the orion-web.xml file as a context parameter override (in iDS), or as a Java system property (in iAS). It is set to <oracle_home>/forms90/server/formsweb.cfg. You can override that value here by editing and uncommenting the following servlet parameter setting: --> - <!-- <init-param> <param-name>configFileName</param-name> <param-value><your configuration file name goes here></param-value> </init-param> --> - <init-param> - <!-- Turn on or off sensitive options on the f90servlet/admin page. For security reasons this should be set to false for production sites. --> <param-name>testMode</param-name> <param-value>false</param-value> </init-param> </servlet> - <!-- Forms 9i listener servlet --> - <servlet> <servlet-name>l90servlet</servlet-name> <servlet-class>oracle.forms.servlet.ListenerServlet</servlet-class> </servlet> - <!-- Forms 9i servlet mappings. Allow these paths to the servlets: /forms90/f90servlet or /forms90/f90servlet/*: FormsServlet /forms90/l90servlet or /forms90/l90servlet/*: ListenerServlet --> - <servlet-mapping> <servlet-name>f90servlet</servlet-name> <url-pattern>/f90servlet*</url-pattern> </servlet-mapping> - <servlet-mapping> <servlet-name>l90servlet</servlet-name> <url-pattern>/l90servlet*</url-pattern> </servlet-mapping> - <!-- The following context parameter is only defined here so it can be overriden by the (site-specific) value in the orion-web.xml file. --> - <context-param> <param-name>configFileName</param-name> <param-value /> </context-param> </web-app>
For a description and the location of forms90.conf, see Chapter 2, forms90.conf.
The following table describes the virtual paths and servlet mappings:
# $Id: forms90.conf,v 1.6 2001/10/26 00:52:16 cbarrow Exp $ # Name # forms90.conf # Purpose # Apache mod_oc4j and mod_jserv configuration file for Forms 9i Services. # This file should be included into the Oracle Apache HTTP Listener # configuration file (typically by adding an include statement to the # oracle_apache.conf file) # Remarks # If Forms is to be used with JServ, the jserv.properties file needs editing # to add the "forms90" servlet zone with properties file forms90.properties # Notes # Virtual paths: We use AliasMatch when defining virtual paths for # security reasons (prevents directory browsing). # Virtual path mapping for Forms Java jar and class files (codebase) AliasMatch ^/forms90/java/(..*) "%FORMS_ORACLE_HOME%/forms90/java/$1" # Virtual path for JInitiator downloadable executable and download page AliasMatch ^/forms90/jinitiator/(..*) "%FORMS_ORACLE_HOME%/jinit/$1" # Virtual path for runform.htm (used to run a form for testing purposes) AliasMatch ^/forms90/html/(..*) "%FORMS_ORACLE_HOME%/forms90/html/$1" # Configuration for JServ (if mod_jserv.c is available and not mod_oc4j.c) <IfModule mod_jserv.c> # Only configure for JServ if mod_oc4j is NOT available: <IfModule !mod_oc4j.c> # Virtual path mapping for FormsServlet and ListenerServlet. # Purpose: paths to invoke the servlets should be /forms90/f90servlet # and /forms90/l90servlet respectively. # We map f90servlet to servlet.if90, and l90servlet to servlet.ifl90. # The apJServAction directives (below) will then remap those. AliasMatch ^/forms90/f90servlet(.*) "/servlet.if90" AliasMatch ^/forms90/l90servlet(.*) "/servlet.ifl90" ApJServMount /forms90/servlet /forms90 # # Let the servlets be called by file extension (e.g /servlet.if90) # ApJServAction .if90 /forms90/servlet/f90servlet ApJServAction .ifl90 /forms90/servlet/l90servlet # Prevent access to the Forms Servlets by paths other than # /forms90/f90servlet and /forms90/l90servlet. # 1. Prevent access via the .if90 and .ifl90 file extensions: <LocationMatch ^.*\.if.*90> order deny,allow deny from all </LocationMatch> # 2. Stop access by class (by paths like # /forms90/servlet/oracle.forms.servlet.FormsServlet) <LocationMatch ^/forms90/servlet/oracle\.forms.*> order deny,allow deny from all </LocationMatch> </IfModule> </IfModule> # Config. for OC4J <IfModule mod_oc4j.c> Oc4jMount /forms90 ProductGroup2 Oc4jMount /forms90/f90servlet ProductGroup2 Oc4jMount /forms90/f90servlet/* ProductGroup2 Oc4jMount /forms90/l90servlet ProductGroup2 Oc4jMount /forms90/l90servlet/* ProductGroup2 </IfModule>
For a description and the location of registry.dat, see Chapter 2, registry.dat.
The main reason you would want to edit this file is to change the icon settings (see Icons). You can also change the default font and font settings by changing the following section in the registry.dat file:
default.fontMap.defaultFontname=Dialog default.fontMap.defaultSize=900 default.fontMap.defaultStyle=PLAIN
default.fontMap.defaultWeight=PLAIN
Change any of the settings above to reflect your desired font setting. For example, if you want to change your default font to Times New Roman, replace Dialog with Times New Roman.
You can change the default font face mappings:
default.fontMap.appFontnames=Courier New,Courier,courier,System,Terminal,Fixed,Fixedsys,Times,Times New Roman,MS Sans Serif,Arial
default.fontMap.javaFontnames=MonoSpaced,MonoSpaced,MonoSpaced,Dialog,MonoSpaced,Dialog,Dialog,Serif,Serif,Dialog,SansSerif
Some fonts on NT are not supported in Java. For this reason you can specify (map) Java-supported fonts that will appear when a non-supported font is encountered. In the previous sample, each font in default.fontMap.appFontnames corresponds to a font in default.fontMap.javaFontnames.
For more samples, see Default registry.dat.
#
# This is the Registry file. # # This file contains the logical [Java] Class name and an associated # [numerical] identifier that will be used to refer to objects of the # class in order to reduce the amount of information that needs to be # repeatedly transmitted to the client. # # This file is of the Form understood by java.util.Properties (for now) # # The System Level sound file is relative to the CODEBASE # # oracle.classById.1=oracle.forms.engine.Runform oracle.classById.4=oracle.forms.handler.FormWindow oracle.classById.5=oracle.forms.handler.AlertDialog oracle.classById.6=oracle.forms.handler.DisplayList oracle.classById.7=oracle.forms.handler.LogonDialog oracle.classById.8=oracle.forms.handler.DisplayErrorDialog oracle.classById.9=oracle.forms.handler.ListValuesDialog oracle.classById.10=oracle.forms.handler.EditorDialog oracle.classById.11=oracle.forms.handler.HelpDialog oracle.classById.12=oracle.forms.handler.FormStatusBar oracle.classById.13=oracle.forms.handler.MenuInfo # oracle.classById.14=UNUSED oracle.classById.15=oracle.forms.handler.ApplicationTimer oracle.classById.16=oracle.forms.handler.MenuParametersDialog oracle.classById.17=oracle.forms.handler.PromptListItem oracle.classById.18=oracle.forms.handler.CancelQueryDialog oracle.classById.257=oracle.forms.handler.TextFieldItem oracle.classById.258=oracle.forms.handler.TextAreaItem oracle.classById.259=oracle.forms.handler.FormCanvas oracle.classById.261=oracle.forms.handler.ButtonItem oracle.classById.262=oracle.forms.handler.CheckboxItem oracle.classById.263=oracle.forms.handler.PopListItem oracle.classById.264=oracle.forms.handler.TListItem oracle.classById.265=oracle.forms.handler.CfmVBX oracle.classById.266=oracle.forms.handler.CfmOLE oracle.classById.267=oracle.forms.handler.RadioButtonItem oracle.classById.268=oracle.forms.handler.ImageItem oracle.classById.269=oracle.forms.handler.IconicButtonItem oracle.classById.270=oracle.forms.handler.BlockScroller oracle.classById.271=oracle.forms.handler.JavaContainer oracle.classById.272=oracle.forms.handler.TabControl oracle.classById.273=oracle.forms.handler.ComboBoxItem oracle.classById.274=oracle.forms.handler.TreeItem oracle.classById.281=oracle.forms.handler.PopupHelpItem # # Defaults for the Font details, all names are Java Font names. Each of # these parameters represents the default property to use when none is # specified. # # defaultFontname represents the default Java fontName. # defaultSize represents the default fontSize. Note that the size is # multiplied by 100 (e.g. a 10pt font has a size of 1000). # defaultStyle represents the default fontStyle, PLAIN or ITALIC. # defaultWeight represents the default fontWeight, PLAIN or BOLD. # default.fontMap.defaultFontname=Dialog default.fontMap.defaultSize=900 default.fontMap.defaultStyle=PLAIN default.fontMap.defaultWeight=PLAIN # # Default Font Face mapping. # # appFontname represents a comma delimited list of Application Font Names. # javaFontname represents a comma delimited list of Java Font Names. # # The number of entries in the appFontname list should match the number in # the javaFontname list. The elements of the list are comma separated and # *all* characters are taken literally, leading and trailing spaces are # stripped from Face names. # # Note that this file uses the Java 1.1 Font names in order to be able to # handle the NLS Plane (BUG #431051) # default.fontMap.appFontnames=Courier New,Courier,courier,System,Terminal,Fixed,Fixedsys,Times,Times New Roman,MS Sans Serif,Arial default.fontMap.javaFontnames=MonoSpaced,MonoSpaced,MonoSpaced,Dialog,MonoSpaced,Dialog,Dialog,Serif,Seri f,Dialog,SansSerif # # The Application Level icon files are relative to the DOCUMENTBASE # example: icons/ # or an absolute URL. # example: http://www.forms.net/~luser/d2k_project/ # default.icons.iconpath= default.icons.iconextension=gif # # Application level settings to control UI features # app.ui.lovButtons=false app.ui.requiredFieldVA=false # The background color is specified as an RGB triple. app.ui.requiredFieldVABGColor=255,0,0
The environment variables for Forms runtime are required by the ifweb90.exe executable. The Listener Servlet calls the executable and initializes it with the variable values provided in the environment file, which is <ORACLE_HOME>\forms90\server\default.env by default.
The environment variables required for a Forms runtime process (for example, PATH, ORACLE_HOME, FORMS90_PATH) can be defined in an environment file. Any environment variables not defined in that file are inherited from the servlet engine (OC4J). The environment file must be named in the envFile parameter in formsweb.cfg.
A few things to keep in mind when customizing environment variables are:
Important environment variables specified in default.env.
Note: On NT, Oracle9i Forms reads Oracle environment settings from the registry unless they are set as environment variables.
# default.env - default Forms environment file, Windows version # # This file is used to set the Forms runtime environment parameters. # If a parameter is not defined here, the value in the Windows registry # will be used. If no value is found in the registry, the value used will # be that defined in the environment in which the servlet engine (OC4J # or JServ) was started. # # NOTES # 1/ The Forms installation process should replace all occurrences of # <percent>FORMS_ORACLE_HOME<percent> with the correct ORACLE_HOME # setting, and all occurrences of <percent>O_JDK_HOME<percent> with # the location of the JDK (usually $ORACLE_HOME/jdk). # Please make these changes manually if not. # 2/ Some of the variables below may need to be changed to suite your needs. # Please refer to the Forms documentation for details. # ORACLE_HOME=%FORMS_ORACLE_HOME% # # Search path for Forms applications (.fmx files, PL/SQL libraries) # If you need to include more than one directory, they should be semi-colon # separated (e.g. /private/dir1;/private/dir2) # # FORMS90_PATH=%FORMS_ORACLE_HOME%/forms90 # # The PATH setting is not required, if the Forms executables and dll's are # in %ORACLE_HOME%\bin: # # PATH=%FORMS_ORACLE_HOME%\bin # # Settings for Graphics # ------------------------------- # NOTE: These settings are only needed if Graphics applications # are called from Forms applications # # # Please uncomment the following and put the correct 9i # oracle_home value to use Graphics applications. # #FORMS90_ORACLE9i_HOME=<your Graphics 9i oracle_home here> # # Search path for Graphics applications # #GRAPHICS90_PATH= # # System settings # --------------- # You should not normally need to modify these settings # ORA_NLS33=%FORMS_ORACLE_HOME%\ocommon\ADMIN\DATA FORMS90=%FORMS_ORACLE_HOME%\forms90
# default.env - default Forms environment file, UNIX version # # This file is used to set the Forms runtime environment parameters. # If a parameter is not defined here, the value used will be that defined # in the environment in which the servlet engine (OC4J or JServ) was started. # # NOTES # 1/ The Forms installation process should replace all occurrences of # <percent>FORMS_ORACLE_HOME<percent> with the correct ORACLE_HOME # setting, and all occurrences of <percent>O_JDK_HOME<percent> with # the location of the JDK (usually $ORACLE_HOME/jdk). # Please make these changes manually if not. # 2/ Some of the variables below may need to be changed to suite your needs. # Please refer to the Forms documentation for details. # ORACLE_HOME=%FORMS_ORACLE_HOME% # # Search path for Forms applications (.fmx files, PL/SQL libraries) # FORMS90_PATH=%FORMS_ORACLE_HOME%/forms90 # # Java class path # This is required for the Forms debugger # You can append your own Java code here) # CLASSPATH=%FORMS_ORACLE_HOME%/forms90/java/debugger.jar:%FORMS_ORACLE_ HOME%/forms90/java/utj90.jar:%FORMS_ORACLE_HOME%/jlib/ewt3.jar:%FORMS_ORACLE_ HOME%/jlib/share.jar # # The PATH setting is not required if the Forms executables are # in <ORACLE_HOME>/bin: # # PATH=%FORMS_ORACLE_HOME%/bin # # Settings for Graphics # ------------------------------- # NOTE: These settings are only needed if Graphics applications # are called from Forms applications # # # Please uncomment the following and put the correct 6i # oracle_home value to use Graphics applications. # #FORMS90_ORACLE6i_HOME=<your Graphics 6i oracle_home here> # # Search path for Graphics applications # GRAPHICS60_PATH= # # System settings # --------------- # You should not normally need to modify these settings # # # Path for shared library objects # This is highly platform (if not machine) specific ! At install time # <percent>LD_LIBRARY_PATH<percent> should be replaced with the # actual value of the LD_LIBRARY_PATH environment variable (at install # time). That should ensure we have the paths for such necessities as # the motif and X11 libraries. # Explanations: # - Reports needs the path for libjava.so # (/cdm/solaris/o_jdk/1_2_2_0_0/jre/lib/sparc) # - Forms needs two paths to the jre, for libjvm.so and libhpi.so # - In ojdk 1.3.1 the location of libjvm.so is lib/sparc (there is no # classic directory) so we do not include the .../classic directory # below. There are other versions of libjvm.so (in directories server, # client and hotspot) but we will use the version in lib/sparc for now. # LD_LIBRARY_PATH=%FORMS_ORACLE_HOME%/lib:%O_JDK_HOME%/jre/lib/sparc:%O_JDK_ HOME%/jre/lib/sparc/native_threads:%LD_LIBRARY_PATH%
Consider creating your own HTML file templates (by modifying the templates provided by Oracle). By doing this, you can hard-code standard Forms parameters and parameter values into the template. Your template can include standard text, a browser window title, or images (such as a company logo) that would appear on the first Web page users see when they run Web-enabled forms. Adding standard parameters, values, and additional text or images reduces the amount of work required to customize the template for a specific application. To add text, images, or a window title, simply include the appropriate tags in the template HTML file.
In order to integrate graphics applications with your Oracle9i Forms applications, you must set the path definition in the Forms Servlet environment to include graphics as follows:
PATH=%FORMS9I_HOME%\bin;%ORACLE_GRAPHICS6I_HOME%\bin.
The path definition of the Forms Servlet environment, is taken from the path definition of the servlet container. The file or location where the path will be defined is different for different servlet containers.
For more information about graphics, see Oracle9i Forms Developer and Forms Services: Migrating Forms Applications from Forms6i.
This section explains how to specify the default location and search paths for icons and images.
When deploying an Oracle9iAS Forms Services application, the icon files used must be in a Web-enabled format, such as JPG or GIF (GIF is the default format).
By default, the icons are found relative to the DocumentBase directory. That is, DocumentBase looks for images in the directory relative to the base directory of the application start HTML file. As the start HTML file is dynamically rendered by the Forms Servlet, the forms90 directory becomes the document base.
For example, if an application defines the icon location for a button with myapp/<iconname>, then the icon is looked up in the directory forms90/myapp.
To change the default location, you can set the imageBase parameter to codebase in the formsweb.cfg configuration file. Alternatively, you can change the default.icons.iconpath value of the registry.dat file in the forms90/java/oracle/forms/regsitry directory.
Setting the imageBase parameter to codebase enables Oracle9i Forms to search the forms90/java directory for the icon files. Use this setting if your images are stored in a Java archive file. Changing the image location in the registry.dat configuration file is useful if you want to store images in a central location independent of any application and independent of the Oracle9i Forms installation.
If an application uses a lot of custom icon images, it is recommended you store icons in a Java archive file and set the imageBase value to codebase. The icon files can be zipped to a Java archive via the Jar command of any Java Development Kit (JDK).
For example, the command Jar -cvf myjar.jar *.gif zips all files with the extension .gif into an archive file with the name myico.jar.
In order for Oracle9i Forms to access the icon files stored in this archive, the archive needs to be stored into the forms90/java directory. Also, the name of the archive file must be part of the archive tag used in the custom application section of the formsweb.cfg file (for example, archive_jini=f90all_jinit.jar, myico.jar). Now, when the initial application starts, the icon files are downloaded to and permanently stored on the client until the archive file is changed.
Note: As Oracle9i Forms default icons (for example, icons present in the default smart icon bar) are part of the f90all.jsr file, you do not need to deploy them.
If you want to add icon changes to the registry.dat file used by your application, it is recommended that you make a copy of the existing registry.dat file and edit the copied file.
To create a copy of the registry.dat file:
default.icons.iconpath=/mydir or http://myhost.com/mydir
(for an absolute path)
default.icons.iconpath=mydir
(for a relative path, starting from the DocumentBase Directory)
default.icons.iconextension=gif
default.icons.iconextension=jpg
To reference the application file:
In a specific named configuration section in the formsweb.cfg file, modify the value of the serverApp parameter and set the value to the location and name of your application file.
For example:
[my_app] ServerApp=/appfile/myapp
(for an absolute path)
or
[my_app] ServerApp=appfile/myapp
(for a relative path, relative to the CodeBase directory)
When you deploy your applications, you have the ability to specify a splash screen image (displayed during the connection) and a background image file.
Those images are defined in the HTML file or in the formsweb.cfg file:
<PARAM NAME="splashScreen" VALUE="splash.gif"> <PARAM NAME="background" VALUE="back.gif">
The default location for the splash screen and background image files is in the DocumentBase directory containing the baseHTML file.
Each time you use an icon or an image (for a splash screen or background), an HTTP request is sent to the Web server. To reduce the HTTP roundtrips between the client and the server, you have the ability to store your icons and images in a Java archive (JAR) file. Using this technique, only one HTTP roundtrip is necessary to download the JAR file.
The SunSoft JDK comes with an executable called jar. This utility enables you to store files inside a Java archive. For more information, see www.java.sun.com.
For example:
jar -cvf myjar.jar Splash.gif Back.gif icon1.gif
This command store three files (Splash.gif, Back.gif, icon1.gif) in a single JAR file called myjar.jar.
The default search path for the icons and images is relative to the DocumentBase. However, when you want to use a JAR file to store those files, the search path must be relative to the CodeBase directory, the directory which contains the Java applet.
If you want to use a JAR file to store icons and images, you must specify that the search path is relative to CodeBase using the imageBase parameter in the formsweb.cfg file or HTML file.
This parameter accepts two different values:
In this example, we use a JAR file containing the icons and we specify that the search should be relative to CodeBase. If the parameter "imageBase" is not set, the search is relative to DocumentBase and the icons are not retrieved from the JAR file.
For example (formsweb.cfg):
The icons and images search path depends on:
Forms Services searches for the icons depending on what you specify. This example assumes :
The default search path is relative to the DocumentBase. In this case, you do not need to specify the imageBase parameter:
Use the imageBase=CodeBase parameter in the formsweb.cfg file to enable the search of the icons and images in a JAR file:
Using HTTPS with Oracle9i Forms is no different than using HTTPS with any other Web-based application.
HTTPS requires the use of digital certificates. Because Oracle9iAS Forms Services servlets are accessed via your Web server, you do not need to purchase special certificates for communications between the Oracle9i Forms client and the server. You only need to purchase a certificate for your Web server from a recognized Certificate Authority.
If your end users are running Oracle JInitiator as the Web browser JVM, then you need to check that the Root Certificate Authority of your Web site's SSL certificate is one of those defined in the JInitiator certdb.txt file.
The certdb.txt file is usually found under c:\program files\oracle\jinitiator <version>\lib\security on the machine where JInitiator was installed.
Note: If you are using the test certificate supplied with Oracle9iAS for test purposes, you must edit the JInitiator certdb.txt file and append the contents of the demo root certificate, which is located in <9iAS oracle_home/Apache/Apache/conf/ssl.crt/demoCAcert.txt. Otherwise, you will get the following error when attempting to run a form: javax.net.ssl.SSLException: SSL handshake failed:X509CertChainInvalidErr.
For more information about Oracle JInitiator, see Appendix A, "JInitiator".
With Oracle9iAS Forms Services, the userid parameter value is not included in the HTML generated by the Forms Servlet.
By default, this feature enables Oracle9iAS Forms Services to:
The default configuration as set up by the Oracle9iAS installation process supports authenticating proxies. An authenticating proxy is one that requires the user to supply a username and password in order to access the destination server where the application is running. Typically, authenticating proxies set a cookie to detect whether the user has logged on (or been authenticated). The cookie is sent in all subsequent network requests to avoid further logon prompts.
If users are running Netscape with JInitiator, there are certain configuration requirements necessary to ensure that the proxy's authentication cookie gets sent with all requests to the server. The basic requirement is that every URL that JInitiator has to access (for the JAR files AND for the Forms Listener Servlet) MUST be under the document base of the HTML page. This is achieved by using the Forms Servlet to generate the page, invoking it using a URL under "/forms90," such as https://myserver.com/forms90/f90servlet?config=myApp.
The codebase and server URL values set up by the Oracle9iAS installation process are /forms90/java and /forms90/l90servlet. As these are under the document base of the page (/forms90), authenticating proxies will work.
Oracle9i Forms architecture supports deployment in multiple languages. The purpose of this feature is to automatically select the appropriate configuration to match a user's preferred language. In this way, all users can run Oracle9i Forms applications using the same URL, yet have the application run in their preferred language. As we do not provide an integrated translation tool, you must have translated application source files.
To specify language detection:
For each configuration section in formsweb.cfg, you can create language-specific sections with names like <config_name>.<language-code>. For example, if you created a configuration section "hr", and wanted to create French and Chinese languages, your configuration section might look like the following:
[hr] lookAndFeel=oracle width=600 height=500 envFile=default.env workingDirectory=/private/apps/hr [hr.fr] envFile=french.env workingDirectory=/private/apps/hr/french [hr.zh] envFile=chinese.env workingDirectory=/private/apps/hr/chinese
When the Forms Servlet receives a request for a particular configuration (for example, http://myserv/servlet/f60servlet?config=hr) it gets the client language setting from the request header "accept-language". This gives a list of languages in order of preference. For example, accept-language: de, fr, en_us means the order of preference is German, French, then US English. The servlet will look for a language-specific configuration section matching the first language. If one is not found, it will look for the next and so on. If no language-specific configuration is found, it will use the base configuration.
When the Forms Servlet receives a request with no particular configuration specified (with no "config=" URL parameter, for example, http://myserv/servlet/f60servlet), it will look for a language-specific section in the default section matching the first language (for example, [.fr]).
For ease of use, to avoid duplication of common values across all language-specific variants of a given base configuration, we allow only parameters which are language-specific to be defined in the language-specific sections. So we now support four levels of inheritance:
1) If a particular configuration is requested, using a URL query parameter like config=myconfig, the value for each parameter is looked for in the langage-specific configuration section which best matches the user's browser language settings (for example in section [myconfig.fr]),
2) then, if not found, the value is looked for in the base configuration section ([myconfig],
3) then, failing that, in the language-specific default section (for example, [.fr]),
4) and finally in the default section.
Typically, the parameters which are most likely to vary from one language to another are "workingDirectory" and "envFile". Using a different envFile setting for each language lets you have different values of NLS_LANG (to allow for different character sets, date and number formats) and FORMS90_PATH (to pick up language-specific fmx files). Using different workingDirectory settings provides another way to pick up language-specific .fmx files.
|
Copyright © 2002 Oracle Corporation. All Rights Reserved. |
|