5 Deprecated Features

Deprecated features are features which Oracle plans to desupport or remove in a future release of Oracle APEX. If a feature is related to application metadata or an API, existing applications can still use the feature, but Oracle strongly recommends that developers start to modify their applications as described in this section. Use APEX Advisor to scan existing applications for deprecated attributes.

5.1 CKEditor5 Deprecated

CKEditor5 is deprecated. Existing items based on the CKEditor5 library continue to work. However, these items will be automatically converted to TinyMCE in a future release. Any custom code using CKEditor5 APIs must be re-worked.

5.2 Deprecated Object Browser Features

Some functionality in Object Browser is deprecated:
  • The Model tab for tables is removed.
  • The Create Materialized View Wizard is removed. Create materialized views by using a CREATE MATERIALIZED VIEW statement in SQL Commands or SQL Scripts. You can still view materialized views in Object Browser.

5.3 Preventing Double Escaping of LOV Display Values

By default, APEX automatically HTML-escapes Lists of Values (LOV) display values as necessary. To ensure backward compatibility with legacy apps, APEX checks whether the LOV query already includes a utility function to escape the display value. If it does, APEX avoids double-escaping the value when displaying it in a Select List, Popup LOV, Shuttle, Display Only item, or similar components.

Oracle recommends removing redundant inline escaping calls from your LOVs. In a future version of APEX, this prevention mechanism may be removed, which could cause some display values to appear double-escaped.

To identify whether any of your LOVs are impacted, run the following queries:
select *
  from apex_application_lovs
 where lov_type = 'Dynamic'
   and (   upper(list_of_values_query) like '%HTF.ESCAPE_SC%'
        or upper(list_of_values_query) like '%APEX_ESCAPE.HTML%'
        or upper(list_of_values_query) like '%WWV_FLOW_ESCAPE.HTML%' );
select *
  from apex_application_page_items
 where lov_named_lov is null
   and (   upper(lov_definition) like '%HTF.ESCAPE_SC%'
       or upper(lov_definition) like '%APEX_ESCAPE.HTML%'
       or upper(lov_definition) like '%WWV_FLOW_ESCAPE.HTML%' );

If the queries returns no rows, then no action is required. Otherwise, check the LOV definition and/or page items, remove any manual escaping, and test your applications to ensure that the values still appear as intended.

5.4 Display Only Item with Format HTML (Unsafe) Deprecated

As of APEX 23.1, Format HTML sanitizes the HTML content on the client before displaying it. This simplifies the display of user-provided HTML, including the content of HTML-based rich text editors.

To maintain backward compatibility with existing applications, all current Display Only page items using the Format HTML option will be migrated to HTML (Unsafe) to preserve their current behavior. However, going forward, this option is deprecated, and displaying "unsafe" HTML, such as script tags or javascript: expressions, onclick attributes, and others, is no longer possible, as this content is stripped away.

Although it is not recommended to display unsafe HTML content, you can still choose to display it. For more information, see HTML Sanitization.

5.5 Deprecated Functions and Procedures

As part of moving existing APIs from APEX_UTIL to APEX_APPLICATION_ADMIN, some comments changed. The following functions and procedures are deprecated:
  • set_build_option_status
  • get_build_option_status (two times, overloaded)
  • set_application_status
  • get_application_status
  • set_global_notification
  • get_global_notification
  • set_app_build_status