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 name | Object type | DDL Script | Sample application |
---|---|---|---|
UC_PLUGINSPRO_LICENSE | Table | ||
UC_FROALA_SAMPLE_BLOBS | Table | ||
UC_FROALA_SAMPLE_CLOBS | Table | ||
UC_FROALA_SAMPLE_CLOB_BLOBS | Table | ||
UC_FROALA_SAMPLE_BLOBS_SEQ | Sequence | ||
UC_FROALA_SAMPLE_CLOBS_SEQ | Sequence | ||
UC_FROALA_SAMPLE_CLOB_BLOBS_SEQ | Sequence | ||
BI_UC_FROALA_SAMPLE_BLOBS | Trigger | ||
BI_UC_FROALA_SAMPLE_CLOBS | Trigger | ||
UC_FROALA_SAMPLE_CLOB_BLOBS_FK | Constraint | ||
UC_FROALA_SAMPLE_CLOB_BLOBS_FK2 | Constraint | ||
UC_CRYPTO | Package | ||
UC_PLUGINSPRO | Package | ||
UC_FROALA_SETTINGS | Package | ||
UC_FROALA_RTE | Package | ||
UC_FROALA_SAMPLE_REST | Package | ||
UC_FROALA_SAMPLE_APP | Package | ||
UC_RTE_ACCESS_TOKEN | Type | ||
RESTful service module | Script |
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
Type | Default |
---|---|
VARCHAR2(64) | '17273F940549E5B88416BEFDBF9C4BD4CC0E1F98283BA89B4907F6777B853F56' |
The variable is used as an salt for encrypting the plug-in access token.
g_disable_rest_enabled_check
Type | Default |
---|---|
BOOLEAN | false |
When true
, the plug-in don't check if a schema is REST enabled.
g_update_include_rowcount
Type | Default |
---|---|
BOOLEAN | false |
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:
Constant | Type | Default |
---|---|---|
c_toolbar_group_paragraph | VARCHAR2(9) | PARAGRAPHT |
c_toolbar_group_text | VARCHAR2(4) | TEXT |
c_toolbar_group_rich | VARCHAR2(4) | RICH |
c_toolbar_group_misc | VARCHAR2(4) | MISC |
c_coll_name | VARCHAR2(9) | UC_FROALA |
c_clob_type_draft | VARCHAR2(5) | DRAFT |
c_clob_type_onload | VARCHAR2(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.
Configuration
Track Changes plug-in
Wiris Math Type plug-in
WProofReader Web Spellcheck
Codox.io
g_disable_rest_enabled_check
Type | Default |
---|---|
BOOLEAN | false |
When true
, the plug-in don't check if a schema is REST enabled.
g_css_style_multilevel_list
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | false |
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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | false |
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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | true |
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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | false |
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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | false |
When set to true
the third-party plug-in is enabled.
g_plug_trackchanges_group
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | UC_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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | INTEGER | 1 |
The button position in given group.
g_plug_tui_enable
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | true |
When set to true
the third-party plug-in is enabled.
g_plug_wiris_enable
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Boolean | false |
g_plug_wiris_js
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
URL to Math Type JavaScript file.
g_plug_wiris_editor_group
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | UC_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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | Integer | 1 |
The button position in given group.
g_plug_wiris_chemistry_group
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | UC_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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | INTEGER | 1 |
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
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | BOOLEAN | false |
When set to true
the third-party plug-in is enabled
g_plug_spellcheck_js
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
URL to WProofreader Text Checker JavaScript file
g_plug_spellcheck_api
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
Valid license key.
g_plug_spellcheck_lang
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | en_US |
Default language to be checked.
g_plug_spellcheck_ui_lang
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | en |
Default UI language.
g_plug_spellcheck_theme
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | gray |
The WProofreader Text Checker theme.
g_plug_spellcheck_badge_enable
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | BOOLEAN | true |
When set to true
the badge let users open the WProofreader settings directly from the rich text editor.
g_plug_spellcheck_badge_lang
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | BOOLEAN | true |
When set to true
the badge let users change language in badge menu.
g_plug_codox_enable
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | BOOLEAN | false |
When set to true
the third-party plug-in is enabled.
g_plug_codox_js
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
URL to CODOX.io JavaScript file.
g_plug_codox_css
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
URL to CODOX.io CSS file.
g_plug_codox_api
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
Valid license key.
g_plug_codox_username
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
The current username.
g_plug_codox_document_id
Package | Type | Default |
---|---|---|
UC_FROALA_RTE | VARCHAR2 | NULL |
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
Attribute | Type | Description |
---|---|---|
session_id | NUMBER | An APEX application session id when an access token was created. |
valid_till | DATE | A date till when an access token is valid. |
url_get_image | VARACHAR2(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.