Query against Oracle Application Express (APEX) views to list all components where plugins are utilized

811 views Asked by At

Does anyone have a query against Oracle Application Express (APEX) views to list all components where plugins are utilized? I am looking to get results that are somewhat similar to Plugin utilization report, but across applications.

enter image description here

2

There are 2 answers

2
Koen Lostrie On

This is something that you can figure out easily. There is a view called apex_dictionary that lists all the apex view details.

step 1

Figure out which views have a column with the string "PLUGIN" in it that are not the actual plugin views. The plugin views have the string "PLUGIN" in the view name.

select apex_view_name, column_name from apex_dictionary where column_name LIKE '%PLUGIN%' AND apex_view_name not like '%PLUGIN%';

This will give you a couple of views that have a plugin column:

enter image description here

step 2

Where a query per apex view. For example:

select application_id, page_id, process_name, process_type_plugin_name  from APEX_APPLICATION_PAGE_PROC where (PROCESS_TYPE_PLUGIN_NAME IS NOT NULL AND PROCESS_TYPE_PLUGIN_NAME NOT LIKE 'NATIVE%');

The where clause probably needs fine tuning a bit:

  • APEX uses the plugin architecture a lot internally and you'll have to filter those out in order to only get the plugins used by the applications
  • Only pick the workspaces/apps you care about.
0
kapiell On

Here is the query I constructed to find plugin references / utilization. It does not include scheme type plugins.

WITH COMPONENTS_USING_PLUGINS AS
(
 (
  SELECT
   APPLICATION_ID,PAGE_ID,ITEM_NAME COMPONENT_NAME,'Item Type' PLUGIN_TYPE, DISPLAY_AS_CODE PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_ITEMS WHERE DISPLAY_AS_CODE LIKE 'PLUGIN%'
 )
 UNION ALL
 (
  SELECT
   APPLICATION_ID,PAGE_ID,REGION_NAME COMPONENT_NAME,'Region Type' PLUGIN_TYPE, SOURCE_TYPE_CODE PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_REGIONS WHERE SOURCE_TYPE_CODE LIKE 'PLUGIN%'
 )
 UNION ALL
 (
  SELECT
   APPLICATION_ID,PAGE_ID,DYNAMIC_ACTION_NAME COMPONENT_NAME,'Dynamic Action' PLUGIN_TYPE, ACTION_CODE PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_DA_ACTS WHERE ACTION_CODE LIKE 'PLUGIN%'
 )
 UNION ALL
 (
  SELECT
   APPLICATION_ID,PAGE_ID,PROCESS_NAME COMPONENT_NAME,'Process Type' PLUGIN_TYPE, PROCESS_TYPE_PLUGIN_NAME PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_PROC WHERE PROCESS_TYPE_PLUGIN_NAME LIKE 'PLUGIN%'
 )
)