Release Date: 2023-10-24
- The Froala WYSIWYG editor updated to 4.1.3 - changelog
- Fixed: Component settings Image Upload URL (Value Required) in 23.2.1 was referencing a hardcoded invalid URL
- Fixed: Plug-in attribute File URLs to Load \ Cascading Style Sheet was having extra
/for plug-in file froala_editor.pkgd.min.css, causing editor not to render correctly on servers with strict policies
- Fixed: Computing REST handlers URL based on the plug-in substitution string
#DEFAULT_*#was malformed when
owa_util.get_cgi_env('X-Forwarded-Port')is set to
- Fixed: Uploading error message when REST upload handler raises errors
ERR_*was misleading, pointing to CORS policies 
- Fixed: Updating CLOB using supporting dynamic action was setting a page item session state to not supported value, including on-load checksum 
-  Now, it prompts a developer to check an error in a browser console for a detailed error raised by a browser.
-  When using the plug-in APEX before 22.2, and the CLOB value exceeds the VARCHAR2 limitation, the plug-in nulls a page item session item, similarly to the APEX engine.
Release Date: 2023-10-06
The plug-in is successfully tested with the most recent APEX version (23.1.3) at apex.oracle.com.
- Fixed: Checking APEX version for
CLOBsupport raises an error on Oracle APEX 22.1.x
- Fixed: A few sample application pages breadcrumb title doesn't match example title
Release Date: 2023-09-20
The plug-in is successfully tested with the most recent APEX version (23.1.3) at apex.oracle.com.
Rich Text Editor Pro
- Froala editor is updated to 4.1.2
- a page item value in the session state is no longer the checksum of the current rich text - on APEX before 22.2, when the rich text content exceeds VARCHAR2 limitation, the session state is set to NULL according to APEX capabilities
- Checksum validation is stored in f01 or a page item if defined
- The editor’s toolbar layout is refined - buttons are regrouped within Froala editor’s toolbar groups: paragraph, text, rich, and misc.
Fixed: Removing duplicated uploaded images one by one doesn’t result in marking an image as removed in the plug-in session state.
Fixed: The editor’s popup when inserting an image was cropped by APEX CSS rules for the grid column
Fixed: The editor’s popup when inserting a link was cropped by APEX CSS rules for the grid column
Fixed: The editor’s popup when inserting a font awesome icon was cropped by APEX CSS rules for the grid column
Fixed: The editor’s popup when inserting special characters was cropped by APEX CSS rules for the grid column
Fixed: The editor’s popup inserting emoticons icon was cropped by APEX CSS rules for the grid column
Fixed: The editor’s popup inserting video was cropped by APEX CSS rules for the grid column
Fixed: Clearing the plug-in session state using URL syntax and PL/SQL API manageClearCache was not working as expected
- Support for native CLOB support starting with APEX 22.2 
- The native Form component is now supported for APEX 19.2 and above 
- New image uploading mechanism
- Upload images on demand using dynamic action
- New third-party integrations are introduced
- Enhanced handling for uploaded images
-  Native CLOB support still has flaws. For example, page item attribute Value required raises an error when rich text content exceeds the VARCHAR2 limitation. The workaround is to use APEX validation NOT NULL
-  Before APEX 22.2, the supporting process plug-in is required to handle CLOB values exceeding the VARCHAR2 limitation. CLOB values below 32 767 characters are supported natively
Support for CLOB values across APEX versions
- Form component is supported across APEX versions - before APEX 22.2, the supporting process plug-in is required to handle CLOB values exceeding the VARCHAR2 limitation. CLOB values below 32 767 characters are supported natively
- When not using a supporting plug-in, CLOB is supported by the APEX engine
New image uploading mechanism
- Images are uploaded in parallel, not one by one
- Possibility to preview upload errors and successes from page item level
- Configurable upload workflow to automatically cancel, continue or ask the end-user to take an action
- An image upload parameters are evaluated for each image when uploading
Upload images on demand
- Images can be uploaded on demand using the supporting dynamic action plug-in
Third-party plug-ins are supported
- A free third-party plug-in supported: Track Changes
- Paid third-party plug-in supported: WProofreader WebSpellCheck for Froala
- Paid third-party plug-in supported: Wiris Math Type
- Paid third-party plug-in supported: CODOX.io
- A new page item level attribute Initialization PL/SQL Initialization
- A new application level attribute Initialization PL/SQL Initialization
- Page item source type Database Column is supported when using native form component 
- Page item source type Item is supported 
- Page item source type PL/SQL Expression is supported 
- Page item attribute Default is now supported 
- Page item attributes Pre and Post are now supported
-  The plug-in relies on the APEX capabilities to handle CLOB values.
- Fixed: plug-in wasn’t initialized when dynamic action customizing the editor wasn’t executed immediately
- The setting Enable TUI Image Editor is removed from page item attribute Settings in favor of the package variable UC_FROALA_RTE.g_plug_tui_enable. By default, it’s set to true, and it can be configured on the page item level or application level
- A new page item attribute Settings option is added: Expand height to fit rich text
- A new page item attribute is added: Initialization PL/SQL Code
- A new component settings attribute is added: Initialization PL/SQL Code
Dynamic Action plug-in
- Fixed: missing help text for Upload parameters
- Fixed: missing help text for Image Browse Parameters
- Fixed: When dynamic action was implemented on the global page and it was containing true and false actions, and dynamic action wasn’t applied to the current instance, it made the plug-in stuck on initialization
- Fixed: using multiple instances where one is customized with dynamic action blocks initialization of each
- New action Upload Images on demand
- Dynamic actions support dynamic action Wait For Result attribute
- Customizing rich text editor using global page has been redesigned
- A new flag, g_froala_image_safe_to_delete is available for Delete Removed Images
- When Update PL/SQL doesn’t update CLOB in the database (SQL%ROWCOUNT is 0) then, the plug-in error message is set to Updating #LABEL# failed. where #LABEL# is page item label text.
- A new process Process Uploaded Images looping over recently uploaded images, has been added
- New package variable g_update_include_rowcount
- New package variable g_toolbar_presets_refined
- New package variable g_warn_about_clob 
- New package variable g_froala_image_safe_to_delete 
- New package constant c_toolbar_group_paragraph 
- New package constant c_toolbar_group_text 
- New package constant c_toolbar_group_rich 
- New package constant c_toolbar_group_misc 
-  if enabled and APEX supports CLOB and page item attribute Data Type is not set to CLOB, then the plug-in shows an error prompting to enable CLOB on page item level.
-  It was released with v23.1 but not included in the changelog
-  constants should be used as values for g_plug_trackchanges_group, g_plug_wiris_editor_group, g_plug_wiris_chemistry_group
Third-party integration: Track Changes
- New package variable g_plug_trackchanges_enable
- New package variable g_plug_trackchanges_group
- New package variable g_plug_trackchanges_pos
Third-party integration: TOAST UI Image Editor
- New package variable g_plug_tui_enable
Third-party integration: WProofreader Text Checker
- New package variable g_plug_spellcheck_enable
- New package variable g_plug_spellcheck_js
- New package variable g_plug_spellcheck_api
- New package variable g_plug_spellcheck_lang
- New package variable g_plug_spellcheck_ui_lang
- New package variable g_plug_spellcheck_theme
- New package variable g_plug_spellcheck_badge_enable
- New package variable g_plug_spellcheck_badge_lang
Third-party integration: Wiris Math Type
- New package variable g_plug_wiris_enable
- New package variable g_plug_wiris_js
- New package variable g_plug_wiris_editor_group
- New package variable g_plug_wiris_editor_pos
- New package variable g_plug_wiris_chemistry_group
- New package variable g_plug_wiris_chemistry_pos
New package variable g_disable_rest_enabled_check
- Preview the plug-in page item definition directly in the sample application
- Preview the plug-in dynamic action definition directly in the sample application
- Preview the plug-in process definition directly in the sample application
- Preview the native form definition directly in the sample application
- Example pages are described using United Codes Guided Tour Pro
- Examples pages navigation is enhanced with the United Codes Context Menu
- Native form implementation for Oracle APEX 22.2 and above
- Native form implementation for Oracle APEX before 22.2
- Using page item source attribute to load CLOB content
- Display CLOB rich text using page item read-only attribute
- Handle CLOB using the supporting process plug-in only
- Handle CLOB using the plug-in PL/SQL API only
- Configure the plug-in upload images workflow
- Save images in the context of rich text in the database
- Custom toolbar: Google Calendar
- Custom toolbar: Google Docs
- Third-party integration: Track Changes
- Third-party integration: WProofreader WebSpellChecker
- This-party integration: Wiris Math Type
- Process Uploaded Images
- Upload Images on demand
- Customize the rich text editor using
- Send e-mail written using rich text editor
- Home page
- A new sample table
- A new sequence
- A new constraint
- A new constraint
Release Date: 2023-03-15
The plug-in is successfully tested with the most recent APEX version (22.2.4) at apex.oracle.com.
- All files except the TUI image editor and language files are referenced in an application builder's plug-in definition - see the plug-in attribute File URLs to Load. Referencing the plug-in JS and CSS files on th plug-in definition level enables a developer to move the plug-in files to an external server.
- Fixed: the plug-in export file size is reduced from 13,3 MB to 6,4 MD due to removing redundant Froala files from the plug-in definition.
- Fixed: WEBP images don't raise an error when uploading.
- Fixed: the plug-in raises an error for a non-existing metadata procedure.
- Fixed: an image collection flag save to remove is being wrongly computed when an image URL protocol differs from an application's protocol.
- Fixed: missing workspace name when an application uses friendly URLs and when REST URL is computed from the plug-in substitution strings
- Fixed: the plug-in event UC Froala Images In Collection triggered with corrupted event data. 
- Fixed: the plug-in raises a PL/SQL error when computing a CLOB checksum for CLOBs value bigger than 8 MB.
-  The plug-in event is described in the section Item plug-in \ Events \ UC Froala Images In Collection.
- A new signature for function
UC_FROALA_RTE.clobGetHTMLis now available. The function accepts an item name implementing the plug-in.
- A new signature for procedure
UC_FROALA_RTE.clobDisplayis now available. The procedure accepts an item name implementing the plug-in.
The plug-in documentation can be opened directly from the sample application pages.
Fixed: the de-installation script raises an error on removing package
- The documentation is remastered and available at https://www.plug-ins-pro.com/docs/rich-text-editor-pro.
- The database objects created after installation are now described.
- The installation instructions (sample application and manual installation) are now described.
- The license activation instructions are now described.
- The support instructions are
- The downloading instructions are now described.
- The changelog is now included in the documentation.
- DDL scripts removed:
- A new DDL script is now available:
- A new DDL script is now available:
- A new DDL script is now available:
-  Scripts are replaced by a new DDL script
ddl_uc_rte_manual_installinstalling all objects at once.
-  The script overrides the plug-in packages
UC_FROALA_SETTINGS, and the plug-in type
-  The script is used to manually install the plug-in database objects in an existing application.
-  The script removes database objects created using the script
Release Date: 2022-01-18
The Froala editor is upgraded from version 3.2.6-1 to 4.0.16. 
PIP_CRYPTOis now renamed to
Fixed: the plug-in raises an error for a non-existing metadata procedure on APEX 22.x.
-  The Froala changelog is available here.
-  based on version 22.1.1 which was never released publicly.
Release Date: never
- Fixed: substitution string
#OWNER_LOWER#is again available in order to reference REST URL without RESTfulservice name
Release Date: 2022-01-18
Important notice regarding upgrading from v21.3 and v21.4
Changes introduced with this release might be affected by the current plug-in settings in your existing implementation. It is strongly recommended that you upgrade the plug-in in a copy of your application before releasing it to a production environment.
- After upgrading the plug-in in your application, examine the plug-in component settings in Shared Components. Attributes configuring URLs to the REST module must be (if using #OWNER_LOWER#) updated with new default values described in help texts. If any plug-in instance is using Override Application Attributes, it must be updated too. Using #OWNER_LOWER# results in showing an error on page load. Learn more about REST URL attributes help text.
- Examine changes in the sample REST package for uploading images (procedure UC_FROALA_SAMPLE_REST.imageUpload) - REST template uploading images has to return the full URL to the uploaded image. The current value of a new attribute Image GET URL is available through the plug-in access token, and it must be used to return an image URL by REST template upload.
- To enable uploading images, examine all plug-in implementations and set the new plug-in attribute Upload Image(s) on Request(s) on the item level. Otherwise, newly added images will never be uploaded using the plug-in REST.
- If you were processing images (stored in the plug-in collection) on page submission, you must adapt to the new collection column usage - learn more in the plug-in documentation.
- If you were using the supporting dynamic action plug-in action Browser Parameters, ensure dynamic actions implementing the action listen to the plug-in event Froala Before Initialization.
- Froala framework has been updated from version 3.2.1 to 3.2.6-1 (learn more in Froala change log Changelog for WYSIWYG Editor - Froala )
- Froala is now more RWD-friendly and adapts editor width dynamically.
- Image resizing with the mouse is now enabled by default.
- Multibyte characters are supported and don't raise an error when processing CLOB content.
- When an application (or item) level attributes defining REST URLs have a different protocol than currently used in the browser, the plug-in forces the current protocol
- Images are now uploaded only for defined page request(s) when a page is submitted. If the plug-in does not upload images, they remain in CLOB content as they were added (or loaded with CLOB) to the editor. For example, images added from the desktop are embedded as inline base 64 images by default,
- If an image is copied and pasted into the plug-in editor within a browser, the plug-in will try to download an image (based on the src attribute) and upload (using REST) it on-page submission. If the plug-in fails to download an image, the end-user is asked whether to cancel the upload or preserve the image in CLOB content as it is.
- Images uploaded using plug-in REST and removed from the editor can be easily deleted in the database using the new supporting plug-in process type Delete Removed Images.
- Images statuses in the collection were re-designed and use different collection columns - learn more in the documentation.
- Pasting content containing images from Microsoft Word or Google docs is now supported.
- Images added to the editor use fewer data-* attributes to track images.
- Application-level attributes for REST URLs are now required.
- New item level attribute Upload Image(s) on Request(s) defining page submit a request for which images are uploaded.
- Item level attributes Image Browse URL; Image Delete URL and Image Upload URL use new default values #DEFAULT_REST_URL_UPLOAD#, #DEFAULT_REST_URL_BROWSE#, #DEFAULT_REST_URL_DELETE#. Old substitution string #OWNER_LOWER# is still supported but deprecated.
- Item-level attribute Settings \ Embed Images as Inline Base64 was removed.
- Application and item level attribute Image GET URL have been added along with default value #DEFAULT_REST_URL_GET#.
- Application and item level attributes Image Browse URL, Image Delete URL, Image Upload URL, and Image GET URL can use substitution string #DEFAULT_REST_URL_MODULE# - see the attribute help text for detailed information.
- Event Froala Image Removed was removed.
- Event Froala Image Inserted was removed.
- Event Froala Images in Collection is updated and exposes new data - learn more in the plug-in documentation.
Dynamic action plug-in
- The supporting plug-in now supports Oracle APEX dynamic action flag Wait for Result
- Action Enable Base64 Images was removed.
- Action Disable Base64 Images was removed.
- Action Browser Parameters has been updated and must now be created only for the plug-in event Froala Before Initialization.
- A new process type, Delete Removed Images, is added (learn more about usage in the sample application)
- A new procedure clobDisplay is added.
- A new function clobGetHTML is added.
Sample REST module ucfroalasamplerest is updated on the template level.
Sample REST module ucfroalasamplerest package UC_FROALA_SAMPLE_REST has been updated.
- Procedures were adapted to the new image handling.
- Procedures now have default error handling implemented.
- The home page has been updated in order to show major plug-in features.
- A new page The Plug-in \ Attributes \ Upload Images on Request has been added,
- The page The Plug-in \ Events has been updated.
- The page The Plug-in \ Attributes Plug-in \ Embed Images as Inline Base64 was removed
- The page The plug-in \ Attributes \ Height has been updated.
- A new page Supporting plug-ins \ United Codes Rich Text Editor Pro (Process) \ Delete Removed Images has been added,
- The page Supporting plug-ins \ United Codes Rich Text Editor Pro (Extend) \ Minimum Height has been updated.
- The page Supporting plug-ins \ United Codes Rich Text Editor Pro (Extend) \ Maximum Height has been updated.
- The page Supporting plug-ins \ United Codes Rich Text Editor Pro (Extend) \ Base64 Images was removed.
- The page Supporting plug-ins \ United Codes Rich Text Editor Pro (Extend) Browse Parameters is updated - the page description was invalid and misleading.
- The page Examples \ How to display CLOB content? has been updated
- The page Examples \ How to create and send an HTML email? has been updated
- The page Examples \ How do I print the contents of my editor? has been updated
Installation scripts have been updated.
Deinstallation scripts have been updated. All plug-in supporting objects are now removed. If any other plug-in is activated in the current workspace, the script won't remove the objects listed below:
- UC_PLUGISNPRO_LICENSE table
- PIP_CRYPTO package
- UC_PLUGINSPRO package
Release Date: 2021-03-31
Updated licensing mechanism.
Important Note: Installing a Plug-ins Pro plug-in containing the 31-MAR-2021 licensing update will require that ALL Plug-ins Pro plug-ins installed in the same schema be updated and reactivated to a compatible version released on or after 31-MAR-2021.
Release Date: 2021-03-03
Fix for supporting plug-in process:
- When the plug-in collection wasn't initialized, the plug-in type Clear was raising an error on clearing the plug-in not initialized collection. Now, removing an item CLOB value from the plug-in collection is done only if the collection is initialized. Otherwise, no action is performed.
- When the plug-in type was set to Load from SQL Query and provided SQL query returned other types than CLOB, the plug-in wasn't able to fetch CLOB value using APEX_EXEC.GET_CLOB. Now, the plug-in raises an error if APEX_EXEC.GET_CLOB raises no_data_found. In order to fetch a non-CLOB value from SQL Query, it is required to use the to_clob function within SQL Query. For example: select to_clob(123) from dual
Fix for license creation to support Oracle Database 21c.
Release Date: 2021-02-01
The following fixes are included in 21.1:
- Modal Page issue fix: creating the plug-in instance is followed with a timeout check (500ms) to initialize the plug-in if event theme42ready or apexwindowresized is not triggered.
- Added apex-session for ORDS RESTful call header / allows authenticating call on ORDS level
- Refactored error handling for the process plug-in
- When the process plug-in load actions execute and no_data_found is raised, the plug-in logs information on the PL/SQL level and sets the CLOB to NULL
Release Date: 2020-12-02
The following fixes are included in 20.1.1:
- Initialization of RTE in a Modal window
- Compatibility with Oracle DB 12c
Release Date: 2020-11-20
Initial release! Rich Text Editor Pro is now available for download.