5.8.1 Editing the Application Definition

Use the Application Definition page to change general application attributes such as the application name, application alias, version number and control various properties and behaviors such as friendly URLs, logging, debugging, feedback, compatibility mode, application availability, error handling, and substitution strings.

5.8.1.1 Accessing the Application Definition Page

Access the Application Definition page from the Application home page.

To access the Application Definition page:

  1. On the Workspace home page, click the App Builder icon.
  2. Select an application.

    The Application home page appears.

  3. From Application home page, you can access the Application Definition page in two ways:
    • Click the Edit Application Definition button.
    • From Shared Components:
      • Click Shared Components.

      • Under Application Logic, click Application Definition.

    The Edit Application Definition page appears.

  4. Edit the appropriate attributes.
  5. Click Apply Changes to save your changes.

5.8.1.2 Application Definition Page

The Application Definition page is divided into the following regions: Name, Properties, Availability, Error Handling, Gloal Notification, Substitutions, Build Options, and Copyright Banner.

Note:

Required values are marked with a red asterisk (*).

5.8.1.2.1 Name

Use Name attributes to define basic characteristics of your application, including the application name, an optional alphanumeric alias, and a version number.

Table 5-4 Application Definition, Name

Attribute Description To Learn More
Name A short descriptive name for the application to distinguish it from other applications in your development environment. n/a
Application Alias

Assigns an alternate alphanumeric application identifier. You can use this identifier for the application ID.

When the Friendly URLs attribute is enabled, the Application Alias specified here displays in the URL when running the application. Applications created using Oracle APEX 20.1 or later default the Application Alias to the application Name.

See:

Version

Enter the application's version number. The value enter displays on the page. You can also automatically tie the version to the date of last modification using the following format masks:

  • YYYY.MM.DD
  • MM.DD.YYYY
  • DD.MM.YYYY

If your application version uses YYYY.MM.DD, then App Builder replaces this format mask with the date of last modification of any application attribute.

n/a
Application Group Displays the application group currently associated with this application. To select another application group, make a selection from the list. To remove an application from an existing group, select Unassigned. See Managing Application Groups

5.8.1.2.2 Properties

Use Properties attributes to configure logging, debug behavior, feedback, compatibility, email from address, and the application proxy server.

Table 5-5 Application Definition, Properties

Attribute Description To Learn More
Friendly URLs
Determines whether URLs generated to navigate to other pages in the application should be easier to read. Options include:
  • On - If set to On, the application uses Friendly URLs Syntax in which the URL consists of a directory structure based on the Application Alias, Page Alias, and standard web parameter syntax..

    If set to On, Progressive Web App attributes display on this page.

  • Off - If set to Off, the application uses f?p= Syntax.

Note: The friendly URL will include the workspace Path Prefix in the URL. To modify the Path Prefix, go to Workspace Administration, Manage Service, Set Workspace Preferences.

See:

Allow Feedback

Enables support for end user feedback for this application. Select Yes or No.

If you select Yes, you must create a feedback feature page to use this attribute. If you enable this option, a Feedback icon displays. Uses can click the Feedback icon to leave feedback. Disabling this option hides the Feedback icon. This enables you to turn on feedback for testing and turn it off for production

See Managing Feedback

Logging

Determines whether user activity is recorded in the Oracle APEX activity log. Select Yes to log every page view and enable an administrator to monitor user activity for each application.

Disabling logging may be advisable for high volume applications.

This attribute can only be modified if the Application Activity Logging attribute in APEX Administration Services is set to Use Application Setting.

See Enabling Application Activity Logging in Oracle APEX Administration Guide

Debugging

Controls debug mode for the current application. Available options include:

  • Yes - Enables the application to run in a debug mode from a browser at runtime.
  • No - Disables the application from enabling in debug from a browser.

Running an application in debug mode is useful when an application is under development. For production applications, Oracle recommends disabling debugging and thus preventing users from viewing application logic.

Debug can be enabled programmatically regardless of this debug setting. If the application is run from the APEX development environment, debugging can always be enabled.

n/a

Compatibility Mode

Controls the compatibility mode of the APEX runtime engine. Certain runtime behaviors change from release to release. To not break or change the behavior of existing applications, this attribute is automatically set during upgrade if necessary.

Use this attribute to obtain specific application behavior. To keep applications maintainable, set Compatibility Mode to the latest release after reviewing the changed behavior in the Release Notes and making the necessary changes.

Note: In order to refresh any theme in release 21.2, you must set Compatibility Mode to 21.2.

See:

Application Email from Address

Determines the email address to use as the from address in the application.

Enter a valid email address to use as the from address when sending email from an email download or subscription. The value can be a literal string containing a valid email or a static substitution reference defined in the application using substitution syntax APP_EMAIL. Examples:

john.doe@abc.com
&MY_APP_EMAIL_FROM.

Oracle does not recommend using an item substitution at the application or page-level since it only works in email download, but not for subscriptions.

Tip: You can also specify the Email from Address by editing interactive report attributes. See About Emailing from an Interactive Report.

n/a

Proxy Server

Specify a proxy server.

For example, App Builder may require a proxy server when using a region source type of URL. The URL region source embeds the results of the URL (that is, the page returned by navigating to the URL) as the region source. If you use a firewall and the target of a URL is outside the firewall relative to App Builder, you may need to specify a proxy server.

You can reference values entered into this field from PL/SQL using the PL/SQL package variable APEX_APPLICATION.G_PROXY_SERVER.

For example:

www-proxy.company.com

n/a

Oracle Text Function

The Oracle Text query syntax is very complex and powerful and provides a rich set of query operators to deal with wildcards, stemming, fuzzy searches and so forth. For end users, this syntax is often hard to understand. Often users simply want to type text and have query features applied automatically.

For that reason, you can specify the name of a PL/SQL function which converts end user input to an Oracle Text query. The function takes the end user input as VARCHAR2 and returns the Oracle Text query as a result

This example uses Oracle Text Fuzzy Search for all queries.

function convert_end_user_search (
    p_search in varchar2 )
    return varchar2 
is
begin
    return 'FUZZY({' || replace( p_search, '}', '\}' ) || '}, 30, 2000)';
end;

This example makes use of Query Relaxation. It executes the exact queries first and adds fuzzy or wildcard features later on when the exact query does not return enough rows. These change are all transparent to the end user.

create or replace function convert_end_user_search (
    p_search in varchar2 )
    return varchar2 
is
    c_xml constant varchar2(32767) := '<query><textquery><progression>' ||
                                        '<seq>  #SEARCH#  </seq>' ||
                                        '<seq> ?#SEARCH#  </seq>' ||
                                        '<seq>  #SEARCH#% </seq>' ||
                                        '<seq> %#SEARCH#% </seq>' ||
                                      '</progression></textquery></query>';
    l_search varchar2(32767) := p_search;
begin
    -- remove special characters; irrelevant for full text search
    l_search := regexp_replace( l_search, '[<>{}/()*%&!$?.:,;\+#]', '' );

    return replace( c_xml, '#SEARCH#', l_search );
end;

See Understanding Oracle Text Application Development in Oracle Text Application Developer's Guide

Tokenize Row Search

Specify how the search terms are applied when a row search is performed within a component.

Selecting On treats each word of a search term separately and matches a record where the words are contained in any of the columns, together or independently. To search for an exact phrase, use a quotes (") around the search terms. For example, "ui developer". To escape a double quote in a search term, use a double quote ("").

Examples:

  • Search for any record including the words "red" and "shoes"

    Search term: red shoes

  • Search for any record including the word "developer" and the exact expression "ui designer"

    Search term: developer "ui designer"

  • Search for any record including the word "author" and the exact expression "the sky is "blue" and nice"

    Search term: author "the sky is ""blue"" and nice"

Selecting Off treats the whole search term as an exact match.

n/a

5.8.1.2.3 Availability

Use Availability attributes to manage your application by defining an application status and build status. For example, if you select the status Restricted Access, you can specify which users have access and can run the application.

Table 5-6 Application Definition, Availability

Attribute Description To Learn More

Status

Specifies whether the application is available or unavailable for use. Options include:

  • Available - Application is available with no restrictions.

  • Available with Developer Toolbar - Application is available for use. For developers, the Developer Toolbar displays on each page. Requires the developer to be logged in to App Builder in the same browser session.

  • Available to Developers Only - Application is available to users having developer privileges.

  • Restricted Access - Application is available to developers named in the Restrict to comma separated user list.

  • Unavailable - Application cannot be run or edited. The message in Message for unavailable application displays when users attempt to access the application.

  • Unavailable (Status Shown with PL/SQL) - Application cannot be run or edited.

  • Unavailable (Redirect to URL) - Application cannot be run. The user is linked to the URL entered in Message for unavailable application.

Build Status

Identifies the build status of the current application. Options include:

  • Run and Build Application - Developers and users can both run and develop the application.

  • Run Application Only - Users can only run the application. This option is intended for applications in a production instance.

See Changing Application Build Status in Administration Services in Oracle APEX Administration Guide

Message for unavailable application

Use this attribute with Status. If you set Status to Unavailable, Unavailable (Status Shown with PL/SQL), or Unavailable (Redirect to URL) , the text you enter in this attribute displays. If you set Status to Available, the text you enter in this attribute does not display.

n/a

Restrict to comma separated user list (status must equal Restricted Access)

Use this attribute with the Status Restricted Access. If you set Status to Restricted Access, only the users listed in this attribute can run the application.

To use this attribute:

  1. From the Status list, select a restricted status.

  2. Enter a comma-delimited list of users who can run the application in the field provided.

  3. Click Apply Changes.

n/a

5.8.1.2.4 Error Handling

Use the Error Handling attributes described to control or modify how an application logs errors.

Tip:

Error handling functions specified here are overridden by similar page-level attributes.

Table 5-7 Application Definition, Error Handling

Attribute Description To Learn More
Default Error Display Location

Identifies where the validation error messages display for basic validations performed by Oracle APEX or by plug-ins. Validation error messages can display in a notification area (defined as part of the page template), or within the field label. Options include:

  • Inline with Field and in Notification - Error messages display in a notification area defined as part of the page template.
  • Inline with Field - Error messages display within the field label.
  • Inline in Notification - Displays in the #NOTIFICATION_MESSAGE# template substitution string when an error occurs on the page.
n/a
Error Handling Function

Enter the name of a PL/SQL error function to be called to modify the existing error message and display a more user-friendly message or log the error if one occurs. This function can reference a package function or standalone function in the database. For example:

log_apex_error

When referencing a database PL/SQL package or standalone function, use the #OWNER# substitution string to reference the parsing schema of the current application. For example:

#OWNER#.log_apex_error

You must implement error handling functions using the syntax described in the apex_error package.

function <name of function> (
    p_error in apex_error.t_error )
    return apex_error.t_error_result

Note: Error handling specified at the page-level overwrites any error handling function specified here.

See APEX_ERROR in Oracle APEX API Reference

5.8.1.2.5 Global Notification

Use the Global Notification attribute to communicate system status to application users. If the page templates used in your application contain the #GLOBAL_NOTIFICATION# substitution string, the text entered here displays in that string's place. For example, you can use this attribute to notify users of scheduled downtime, or communicate other messages regarding application availability.

To create a global notification:

  1. Include the #GLOBAL_NOTIFICATION# substitution string in your page template.

  2. Navigate to the Edit Application Definition page and enter a message in the Global Notification attribute.

  3. Click Apply Changes.

5.8.1.2.6 Substitutions

Use Substitutions to define static substitution strings for your application. You can use static substitution string for phrases or labels that occur in many places within an application. To create a substitution string, enter the string name in the Substitution String column and the string value in the Substitution Value column.

Defining static substitution strings centrally enables you to change text strings in multiple places in your application by making a single change to the Substitution Value defined on this page.

5.8.1.2.7 Build Options

Build Options displays existing build options in the current application. Most applications have a build option attribute. Build Options have two possible values: INCLUDE and EXCLUDE. If you specify an attribute to be included, then the Oracle APEX engine includes and enables it at runtime. However, if you specify an attribute to be excluded, then the APEX engine disables it and excludes it at runtime.

Do not specify a build option unless you plan to exclude that object from specific installations.

5.8.1.2.8 Report Printing

Report Printing controls the print server of the application. These settings override the settings from Instance Administration. Available options include:
  • Native Printing - Use native printing. No external print server required.

  • Remote Print Server - Choose a remote server of the type Print Server that is configured in the Workspace Utilities.

  • Use Instance Settings - Use the Report Printing settings defined in Instance Administration.

Click the Add Remove Print Server button to open a wizard to create a Remote Print Server, including the credentials. To create a Remote Server, choose the Print Server Type, specify an Endpoint URL and click Next. If Authentication is required, specify the credentials. Click Apply Changes to add the Remote Print Server and Credentials to your workspace, and update the Report Printing attributes for the application. For detailed steps, see Configuring Report Printing at the Application-Level.

See Also:

5.8.1.2.9 Copyright Banner

Use Copyright Banner for copyright banner text. This text will be included in the application export file. You can use #APP_NAME# substitution string to refer to current application name and #YEAR# to refer to the current year, for example:

Name: #APP_NAME#

Copyright (c) 1999, #YEAR#, Company Name.