Creating Plug-ins
Create plug-ins by navigating to Shared Components and running the Create Plug-in Wizard.
Creating a Plug-in from Scratch
Create a plug-in from scratch by running the Create Plug-in Wizard
Tip: To learn more about an attributes described in this section see field-level Help.
To create a plug-in from scratch:
-
Navigate to the Shared Components page:
-
On the Workspace home page, click App Builder.
-
Select an application.
-
On the Application home page, click Shared Components.
The Shared Components page appears.
-
-
Under Other Components, click Plug-ins.
-
Click Create.
The Create Plug-in wizard appears.
-
Create Plug-in - Select From Scratch and click Next.
-
Name:
-
Name - Enter name of the plug-in.
-
APEXlang Name - A camel case representation (that is, no spaces) of the plug-in name as it appears in an APEXlang export file. The value for this field is automatically generated.
Note: Exercise caution when changing the generated name because it will impact the APEXlang import and export.
-
Static ID - Enter a static ID (formerly known as internal name) for the plug-in. The static ID is used internally by Oracle APEX for identifying the plug-in, and is not displayed. The static ID must be unique to your current application.
Oracle recommends that your organization domain name be used as a prefix to plug-in static ID, to make it globally unique. For example: a domain name of “mycompany.com” prefixed to an Item Type plug-in named ‘Slider’, would result in a static ID like the following:
COM.MYCOMPANY.SLIDERThe static ID of a Template Component type plug-in as part of a theme will always be prefixed with
"THEME$": THEME$COM.MYCOMPANY.BADGE. Use this static ID to apply a Template Component manually where server-side template directives are supported. -
Type - Select the type of component that can use this plug-in. Options include:
-
Authentication Scheme Type - Used to establish each user’s identity before accessing an application.
-
Authorization Scheme Type - Checks if a user can access a page, process, or component.
-
Dynamic Action - Adds new actions and/or functionality that can by called dynamically on the client-side.
-
Generative AI Tool - Adds a generative AI tool to APEX.
-
Item - Adds new item types to APEX.
-
Process - Adds an application and/or page processes.
-
REST Data Source - Used for certain REST Data Sources without further configuration or programming.
-
Region - Plug-in used to add new region types to APEX.
-
Template Component - Plug-ins based on HTML templates which support Template Directives. See Template Directives.
Enables support for adding new region types to APEX which are not based on PL/SQL. These new region types can be used as regions, as reports, or as columns in interactive reports.
Depending upon the plug-in type you select, the UI changes. For example, the options that display under Callbacks and Standard Attributes may differ.
-
-
Category - Only displays if the selected type is Dynamic Action. Select the category the plug-in is displayed under on the user interface.
-
-
Source:
-
PL/SQL Code - Enter a PL/SQL anonymous block of code that contains the procedures for rendering, validating, executing, and performing Ajax callbacks for this plug-in. For performance reasons you can also store this code in a PL/SQL package in the database.
-
Do not validate PL/SQL code (parse PL/SQL code at runtime only) - Select this option to parse the PL/SQL code at runtime only. Otherwise, the code is parsed when the plug-in is created.
-
-
Callbacks - Configure that appropriate attributes. The attributes that display depend upon the plug-in type. To learn more about an attribute and view examples, see field-level Help.
Tip: All Callback function names can reference a function of the anonymous PL/SQL code block, a function within a package or a standalone function in the database.
-
Standard Attributes - Select the attributes that apply to this plug-in. Standard Attributes do not display for some plug-ins.
To learn more about Standard Attributes that apply only to Item type plug-ins, see Standard Attributes for Item Type Plug-ins.
-
Information:
-
Version - Enter a string to identify the plug-in version.
-
About URL - Enter a URL to the plug-in authors home page or to additional information about the plug-in.
-
-
For Help Text, enter help text used by the user to understand how the plug-in works.
-
For Comments, enter comments and notes that never display when the application is running.
To learn more about each option, see field-level Help.
-
Click Create Plug-in.
Now that the plug-in is created, you can edit it to specify additional custom attributes, upload files such as image, CSS, and JavaScript files to associate with your plug-in, and add events.
Standard Attributes for Item Type Plug-ins
Review Standard Attributes for Item type plug-ins.
| Item Type Standard Attributes | Description |
|---|---|
| Is Visible Widget | The widget is visible. |
| Standard Form Element | The widget renders as a HTML form element (for example, input, select or textarea). If not checked, APEX_PLUGIN_UTIL.GET_ELEMENT_ATTRIBUTES will automatically add ARIA-LABELLEDBY to allow the non-standard form element to be labeled appropriately, so as to be accessible to screen readers.Note: This relies on the #LABEL_ID# substitution being defined in the item’s corresponding label template. The Is Visible Widget attribute must also be checked. |
| Session State Changeable | The value for an item can be changed in session state. The Is Visible Widget attribute must be checked. |
| Has Read Only Attribute | The user can specify a Read Only condition for the item. The Is Visible Widget attribute must be checked for this attribute to be enabled |
| Has Escape Special Characters Attribute | The item has the Escape special characters field in the Security section when the item is edited. The Is Visible Widget attribute must be checked. |
| Has Quick Pick Attributes | The item has quick pick attributes. The Is Visible Widget attribute must be checked. |
| Has Source Attributes | The item has source related attributes such as Source Used, Source Type, and Format Mask. |
| Format Mask Date Only | For items that handle date information, the Format Mask field popup restricts the date selections by displaying date values to select from. The Has Source Attributes must be checked. |
| Format Mask Number Only | For items that handle numeric information, the Format Mask field popup restricts the numeric selections by displaying numeric values to select from. |
| Has Element Attributes | The item has element attributes such as Horizontal/Vertical Alignment, HTML Form Element Attributes, and Pre/Post Element Text. |
| Has Width Attributes | The item width can be controlled. |
| Has Height Attribute | The item height can be controlled. |
| Has Element Option Attribute | The item allows specification of additional option attributes when rendering multi-selection elements such as radio groups of check boxes. |
| Has Placeholder Attribute | The item supports the specification of placeholder text, which gets displayed in the element. |
| Has Icon Attribute | Enables users to select an icon in Page Designer for an item plug-in. That icon then displays on the item at runtime. |
| Has Encrypt Session State Attribute | When editing the item, the Store value encrypted in session state displays under the Security region. |
| Has List of Values | The item has an associated list of values. The Is Visible Widget attribute must be checked. |
| List of Values Required | For items that handle lists of values, a list of values must be defined. The Has List of Values attribute must be checked. |
| Has LOV Display Null Attributes | The item is associated with a list of values that is allowed to include null values. The Has List of Values attribute must be checked. |
| Has Cascading LOV Attributes | The item has cascading LOV related attributes. The Has List of Values attribute must be checked. |
| Join LOV for Column Display | The item can be a part of a Join statement for the LOV source. The Has List of Values attribute must be checked. |
| Optional Multiple Values | (Optional) Applicable to items where multiple values are at the developer’s discretion. |
| Always Multiple Values | (Always) Designed for items like shuttles or checkboxes, which inherently support multiple values. |
| Has Filter | Controls if the Page Designer shows the Column Filter - Enabled attribute of an interactive grid column. |
| Has Link | Controls if the Page Designer shows the Link - Target attribute of an interactive grid column. |
| Has “Initialization JavaScript Code” Attribute | Component configuration can be controlled by a provided JavaScript function. |
| Session State Supports CLOB | Controls if the Page Designer will show Session State Group for the particular item. |
Copying a Plug-in
Create a plug-in by copying an existing plug-in from another application.
Tip: To learn more about plug-in attributes, see field-level Help.
To copy a plug-in:
-
Navigate to the Shared Components page:
-
On the Workspace home page, click App Builder.
-
Select an application.
-
On the Application home page, click Shared Components.
The Shared Components page appears.
-
-
Under Other Components, click Plug-ins.
-
Click Create.
The Create Plug-in wizard appears.
-
Create Plug-in - Select As a Copy of an Existing Plug-in and click Next.
-
Copy From:
-
Copy From Application - Select an application from which to copy plug-ins.
-
Theme - Identify the theme from which you wish to copy templates.
-
Click Next.
-
-
Copy:
-
Identify the Plug-in to be copied and select the copy option. Options include:
-
Yes - Copy the Plug-in.
-
No - Do not copy this Plug-in.
-
Copy and Subscribe - Subscribingto a Plug-in puts a copy of it in your application and sets the plugin master reference.
-
-
-
Click Copy Plug-ins.
Now that the plug-in is created, you can edit it to specify additional custom attributes, upload files such as image, CSS, and JavaScript files to associate with your plug-in, and add events.