Skip to main content

Database objects

Database objects listed below are created after installing the plug-in using the sample application installation file or using manual DDL scripts.

The column

  • Sample application - describes whether an object is part of the plug-in sample application supporting objects
  • DDL Script - describes whether an object is required for manual installing the plug-in.

Overview

Object nameObject typeDDL ScriptSample application
UC_PLUGINSPRO_LICENSETableicon_check_16pxicon_check_16px
UC_FROALA_SAMPLE_BLOBSTableicon_check_16pxicon_check_16px
UC_FROALA_SAMPLE_CLOBSTableicon_notchecked_16pxicon_check_16px
UC_FROALA_SAMPLE_CLOB_BLOBSTableicon_notchecked_16pxicon_check_16px
UC_FROALA_SAMPLE_BLOBS_SEQSequenceicon_check_16pxicon_check_16px
UC_FROALA_SAMPLE_CLOBS_SEQSequenceicon_notchecked_16pxicon_check_16px
UC_FROALA_SAMPLE_CLOB_BLOBS_SEQSequenceicon_notchecked_16pxicon_check_16px
BI_UC_FROALA_SAMPLE_BLOBSTriggericon_check_16pxicon_check_16px
BI_UC_FROALA_SAMPLE_CLOBSTriggericon_notchecked_16pxicon_check_16px
UC_FROALA_SAMPLE_CLOB_BLOBS_FKConstrainticon_notchecked_16pxicon_check_16px
UC_FROALA_SAMPLE_CLOB_BLOBS_FK2Constrainticon_notchecked_16pxicon_check_16px
UC_CRYPTOPackageicon_check_16pxicon_check_16px
UC_PLUGINSPROPackageicon_check_16pxicon_check_16px
UC_FROALA_SETTINGSPackageicon_check_16pxicon_check_16px
UC_FROALA_RTEPackageicon_check_16pxicon_check_16px
UC_FROALA_SAMPLE_RESTPackageicon_check_16pxicon_check_16px
UC_FROALA_SAMPLE_APPPackageicon_notchecked_16pxicon_check_16px
UC_RTE_ACCESS_TOKENTypeicon_check_16pxicon_check_16px
RESTful service moduleScripticon_check_16pxicon_check_16px

Tables

UC_PLUGINSPRO_LICENSE

The table stores information about plug-ins pro licenses activated.

UC_FROALA_SAMPLE_BLOBS

The table stores uploaded images using the plug-in RESTful service.

UC_FROALA_SAMPLE_CLOBS

The table stores the sample application CLOB values modified with the plug-in.

UC_FROALA_SAMPLE_CLOB_BLOBS

The table stores uploaded image BLOB in the context of saved rich text CLOB.


Sequences

UC_FROALA_SAMPLE_BLOBS_SEQ

Required by the table UC_FROALA_SAMPLE_BLOBS.

UC_FROALA_SAMPLE_CLOBS_SEQ

Required by the table UC_FROALA_SAMPLE_CLOBS.

UC_FROALA_SAMPLE_CLOB_BLOBS_SEQ

Required by the table UC_FROALA_SAMPLE_CLOB_BLOBS


Constraints

UC_FROALA_SAMPLE_CLOB_BLOBS_FK

Defines foreign key between UC_FROALA_SAMPLE_CLOB_BLOBS.BLOB_ID and UC_FROALA_SAMPLE_BLOBS.ID

UC_FROALA_SAMPLE_CLOB_BLOBS_FK2

Defines foreign key between UC_FROALA_SAMPLE_CLOB_BLOBS.CLOB_ID and UC_FROALA_SAMPLE_CLOBS.ID

Triggers

BI_UC_FROALA_SAMPLE_BLOBS

Required by the table UC_FROALA_SAMPLE_BLOBS.

BI_UC_FROALA_SAMPLE_CLOBS

Required by the table UC_FROALA_SAMPLE_CLOBS.


Packages

UC_CRYPTO

The package is used to secure the access token.

UC_PLUGINSPRO

The package is used to evaluate the plug-in license.

UC_FROALA_SETTINGS

The package is used to configure the plug-in access token salt.

Variables

g_froala_access_token
TypeDefault
VARCHAR2(64)'17273F940549E5B88416BEFDBF9C4BD4CC0E1F98283BA89B4907F6777B853F56'

The variable is used as an salt for encrypting the plug-in access token.

g_disable_rest_enabled_check
TypeDefault
BOOLEANfalse

When true, the plug-in don't check if a schema is REST enabled.

g_update_include_rowcount
TypeDefault
BOOLEANfalse

When true, the supporting process plug-in Update (PL/SQL Code) includes plug-in check using UC_FROALA_RTE.g_froala_sqlrowcount after a developer specified PL/SQL code. When false a developer has to include the plug-in variable in the custom PL/SQL code in order to let the plug-in know how many rows in the database were affected by a developer's PL/SQL code.

UC_FROALA_RTE

The package implements an item-type plug-in interfaces to integrate with Oracle APEX. The package exposes serveral PL/SQL API and package variables allowing configuring the plug-in instances on application and page level.

Constants

The package exposes the following constants:

ConstantTypeDefault
c_toolbar_group_paragraphVARCHAR2(9)PARAGRAPHT
c_toolbar_group_textVARCHAR2(4)TEXT
c_toolbar_group_richVARCHAR2(4)RICH
c_toolbar_group_miscVARCHAR2(4)MISC
c_coll_nameVARCHAR2(9)UC_FROALA
c_clob_type_draftVARCHAR2(5)DRAFT
c_clob_type_onloadVARCHAR2(6)ONLOAD

Variables

The package variables can be defined in the plug-in attribute Initialization PL/SQL code. Use the attribute to configure the plug-in features, and the third-party integrations.

g_disable_rest_enabled_check
TypeDefault
BOOLEANfalse

When true, the plug-in don't check if a schema is REST enabled.

g_css_style_multilevel_list
PackageTypeDefault
UC_FROALA_RTEBooleanfalse

When set to true the experimental CSS rules are added to a page in order to display multi-level number list preserving parent number as prefix.

g_update_include_rowcount
PackageTypeDefault
UC_FROALA_RTEBooleanfalse

When set to true the supporting process plug-in adds automatically UC_FROALA_RTE.g_froala_sqlrowcount for updating CLOB using PL/SQL Code.

g_toolbar_presets_refined
PackageTypeDefault
UC_FROALA_RTEBooleantrue

When set to true the refined toolbar layout is used. To use toolbar layout prior the plug-in 23.2, set this variable to false in the plug-in component settings.

g_warn_about_clob
PackageTypeDefault
UC_FROALA_RTEBooleanfalse

When set to true the plug-in checks page item configuration and display error message if page item is not CLOB-enabled. A page item is CLOB-enabled when APEX version is at least 22.2 and page item attribute Session \ Data Type is set to CLOB.

g_plug_trackchanges_enable
PackageTypeDefault
UC_FROALA_RTEBooleanfalse

When set to true the third-party plug-in is enabled.

g_plug_trackchanges_group
PackageTypeDefault
UC_FROALA_RTEVARCHAR2UC_FROALA_RTE.c_toolbar_group_paragraph

The plug-in button is added to the given group. Use the plug-in constants to reference editor toolbar groups:

  • UC_FROALA_RTE.c_toolbar_group_paragraph
  • UC_FROALA_RTE.c_toolbar_group_text
  • UC_FROALA_RTE.c_toolbar_group_rich
  • UC_FROALA_RTE.c_toolbar_group_misc
g_plug_trackchanges_pos
PackageTypeDefault
UC_FROALA_RTEINTEGER1

The button position in given group.

g_plug_tui_enable
PackageTypeDefault
UC_FROALA_RTEBooleantrue

When set to true the third-party plug-in is enabled.

g_plug_wiris_enable
PackageTypeDefault
UC_FROALA_RTEBooleanfalse
g_plug_wiris_js
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

URL to Math Type JavaScript file.

g_plug_wiris_editor_group
PackageTypeDefault
UC_FROALA_RTEVARCHAR2UC_FROALA_RTE.c_toolbar_group_paragraph

Math Type button opening Math Formulas editor is added to the given group. Use the plug-in constants to reference editor toolbar groups:

  • UC_FROALA_RTE.c_toolbar_group_paragraph
  • UC_FROALA_RTE.c_toolbar_group_text
  • UC_FROALA_RTE.c_toolbar_group_rich
  • UC_FROALA_RTE.c_toolbar_group_misc
g_plug_wiris_editor_pos
PackageTypeDefault
UC_FROALA_RTEInteger1

The button position in given group.

g_plug_wiris_chemistry_group
PackageTypeDefault
UC_FROALA_RTEVARCHAR2UC_FROALA_RTE.c_toolbar_group_paragraph

Defines in which rich text editor toolbar group, the Wiris Math Type Chemistry Formula editor is available to the end-user.

Use the plug-in constants to reference editor toolbar groups:

  • UC_FROALA_RTE.c_toolbar_group_paragraph
  • UC_FROALA_RTE.c_toolbar_group_text
  • UC_FROALA_RTE.c_toolbar_group_rich
  • UC_FROALA_RTE.c_toolbar_group_misc
g_plug_wiris_chemistry_pos
PackageTypeDefault
UC_FROALA_RTEINTEGER1

Math Type Wiris button chemistry formula editor position in the rich text editor group defined using g_plug_wiris_chemistry_group.

g_plug_spellcheck_enable
PackageTypeDefault
UC_FROALA_RTEBOOLEANfalse

When set to true the third-party plug-in is enabled

g_plug_spellcheck_js
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

URL to WProofreader Text Checker JavaScript file

g_plug_spellcheck_api
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

Valid license key.

g_plug_spellcheck_lang
PackageTypeDefault
UC_FROALA_RTEVARCHAR2en_US

Default language to be checked.

g_plug_spellcheck_ui_lang
PackageTypeDefault
UC_FROALA_RTEVARCHAR2en

Default UI language.

g_plug_spellcheck_theme
PackageTypeDefault
UC_FROALA_RTEVARCHAR2gray

The WProofreader Text Checker theme.

g_plug_spellcheck_badge_enable
PackageTypeDefault
UC_FROALA_RTEBOOLEANtrue

When set to true the badge let users open the WProofreader settings directly from the rich text editor.

g_plug_spellcheck_badge_lang
PackageTypeDefault
UC_FROALA_RTEBOOLEANtrue

When set to true the badge let users change language in badge menu.

g_plug_codox_enable
PackageTypeDefault
UC_FROALA_RTEBOOLEANfalse

When set to true the third-party plug-in is enabled.

g_plug_codox_js
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

URL to CODOX.io JavaScript file.

g_plug_codox_css
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

URL to CODOX.io CSS file.

g_plug_codox_api
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

Valid license key.

g_plug_codox_username
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL
The current username.
g_plug_codox_document_id
PackageTypeDefault
UC_FROALA_RTEVARCHAR2NULL

The unique rich text document ID used to handle collaboration.

PL/SQL API

See the documentation for all available functions and procedures.

UC_FROALA_SAMPLE_REST

The package is used by the RESTful service module to handle images.

UC_FROALA_SAMPLE_APP

The package is used by the plug-in sample application.


Types

UC_RTE_ACCESS_TOKEN

The type defines decoded access token used to secure RESTful service image requests.

Attributes

AttributeTypeDescription
session_idNUMBERAn APEX application session id when an access token was created.
valid_tillDATEA date till when an access token is valid.
url_get_imageVARACHAR2(4000)A RESTful service handler URL displaying an uploaded image defined using an application components settings or on a page item level using the plug-in attributes.

Static functions

create_from_decoded

Creates access token instance based on valid JSON.

Syntax
static function create_from_decoded( p_decoded in varchar2 ) return UC_RTE_ACCESS_TOKEN
Example
declare
v_access_token uc_rte_access_token;
v_access_token_decoded VARCHAR2(32767) := '{"session_id":15662391058632,"valid_till":"2024-01-03 03:19:37","url_get_image":"http://your-domain.com/ucfroalasamplerest/get/"}';
begin
v_access_token := uc_rte_access_token.create_from_decoded( v_access_token_decoded );

htp.p( v_access_token.session_id );
htp.p( v_access_token.valid_till );
htp.p( v_access_token.url_get_image );

end;
decode

Decodes given access token and returns access token as JSON string.

Syntax
static function decode( p_token in varchar2 ) return varchar2
Example
declare
v_token_encoded varchar2(32767) := 'FFB1AA3251184974B045E8D0A7D83598D977B2AD96873CB5B2C59EACCBE6CC04D188C37BB9288743A851BAF0CD5D839C5DEEEF216E430792B94C7F547FB2FCC1963BE48B75C3E9431004D6DF924D44CB8A377BC4F0AE46BF079876A7D1D7DA2262F77F61F2AB53832D6508E6DD7EA2B94C1B97EB11A5CFAB13E06C75C35B23E109769EA863641BDC7CEAA77DBBE97CA0';
v_access_token_decoded varchar2(32767);
begin
v_access_token_decoded := UC_RTE_ACCESS_TOKEN.decode( v_token_encoded );

htp.p( v_access_token_decoded );
end;
create_from_token

Creates an access token type instance based on given encoded JSON.

Syntax
static function create_from_token( p_token in varchar2 ) return UC_RTE_ACCESS_TOKEN
Example
declare
v_token_encoded varchar2(32767) := 'FFB1AA3251184974B045E8D0A7D83598D977B2AD96873CB5B2C59EACCBE6CC04D188C37BB9288743A851BAF0CD5D839C5DEEEF216E430792B94C7F547FB2FCC1963BE48B75C3E9431004D6DF924D44CB8A377BC4F0AE46BF079876A7D1D7DA2262F77F61F2AB53832D6508E6DD7EA2B94C1B97EB11A5CFAB13E06C75C35B23E109769EA863641BDC7CEAA77DBBE97CA0';

v_access_token UC_RTE_ACCESS_TOKEN;
begin
v_access_token := UC_RTE_ACCESS_TOKEN.create_from_token( v_token_encoded );

htp.p( v_access_token.session_id );
htp.p( v_access_token.valid_till );
htp.p( v_access_token.url_get_image );
end;
is_valid

Checks if given encoded access token is not expired. The function returns 1 when access token is not expired and 0 when it's expired.

Syntax
static function is_valid( p_token in varchar2 ) return number
Example
declare
v_token_encoded varchar2(32767) := 'FFB1AA3251184974B045E8D0A7D83598D977B2AD96873CB5B2C59EACCBE6CC04D188C37BB9288743A851BAF0CD5D839C5DEEEF216E430792B94C7F547FB2FCC1963BE48B75C3E9431004D6DF924D44CB8A377BC4F0AE46BF079876A7D1D7DA2262F77F61F2AB53832D6508E6DD7EA2B94C1B97EB11A5CFAB13E06C75C35B23E109769EA863641BDC7CEAA77DBBE97CA0';
begin
if UC_RTE_ACCESS_TOKEN.is_valid( v_token_encoded ) = 1 then
htp.p('Access token is not expired');
else
htp.p('Access token is expired');
end;

Memeber functions

getJSON

Return the current access token instance as JSON string.

Syntax
member function getJSON return varchar2
Example
declare
v_access_token uc_rte_access_token;
begin
v_access_token := UC_RTE_ACCESS_TOKEN(
p_session_id => '1836361766431',
p_url_get_image => 'http://your-domain.com/ucfroalasamplerest/get/'
);

htp.p( v_access_token.getJSON );

end;
encode

Encodes the access token type using salt defined in the plug-in package UC_FROALA_SETTINGS as package variable g_froala_access_token.

Syntax
member function encode return varchar2
Example
declare
v_access_token uc_rte_access_token;
begin
v_access_token := UC_RTE_ACCESS_TOKEN(
p_session_id => '1836361766431',
p_url_get_image => 'http://your-domain.com/ucfroalasamplerest/get/'
);

htp.p( v_access_token.encode );

end;
is_valid

Checks if access token instance is not expired. The function returns 1 when access token instance is not expired and 0 when it's expired.

Syntax
member function is_valid return number
Example
declare
v_token_encoded varchar2(32767) := 'FFB1AA3251184974B045E8D0A7D83598D977B2AD96873CB5B2C59EACCBE6CC04D188C37BB9288743A851BAF0CD5D839C5DEEEF216E430792B94C7F547FB2FCC1963BE48B75C3E9431004D6DF924D44CB8A377BC4F0AE46BF079876A7D1D7DA2262F77F61F2AB53832D6508E6DD7EA2B94C1B97EB11A5CFAB13E06C75C35B23E109769EA863641BDC7CEAA77DBBE97CA0';
v_access_token uc_rte_access_token;
begin
v_access_token := UC_RTE_ACCESS_TOKEN.create_from_token( v_token_encoded );

if v_access_token.is_valid = 1 then
htp.p('Access token is not expired');
else
htp.p('Access token is expired');
end;

Scripts

RESTful service module

The script creates the plug-in RESTful service module handling images.

Learn more in The plug-in \ Image handling.