When installing Oracle APEX you also get a wealth of additional resources to explore: Packaged Applications.
I’m sure everyone already looked at one or two of them. But honestly, it is a bit cumbersome to install them, when upgrading APEX version we often forget to re-install the packaged apps.
And so we waste a unique opportunity to learn from all those 30+ Packaged applications. Each of them has something to offer. This might be a plugin, an interesting idea how to present data, a nifty UI, or it might even solve a business problem
With APEX 18.1 we finally have a documented API to install Packaged Applications from SQL (Plus or Developer): APEX_PKG_APP_INSTALL
Please note that this package already exists in APEX 5.1, but is not documented there.
With that simple API, we can craft a script to install all not yet installed Packaged Applications:
DECLARE
l_installed_app_id NUMBER;
l_workspace VARCHAR2(200) := 'MYWORKSPACE';
BEGIN
DBMS_OUTPUT.PUT_LINE('Installing Packaged Apps in Workspace '||l_workspace);
--
APEX_UTIL.SET_WORKSPACE(l_workspace);
--
FOR cAPP IN
( SELECT PKG_APP_ID
, PKG_APP_NAME
FROM APEX_PKG_APPS
WHERE PKG_APP_TYPE = 'Database'
AND APPLICATION_ID IS NULL
AND WORKSPACE = l_workspace
ORDER BY PKG_APP_ID
)
LOOP
DBMS_OUTPUT.PUT_LINE('Install Packaged App: '||cAPP.PKG_APP_ID);
BEGIN
l_installed_app_id := APEX_PKG_APP_INSTALL.INSTALL
( p_app_id => cAPP.PKG_APP_ID
, p_authentication_type => APEX_AUTHENTICATION.C_TYPE_APEX_ACCOUNTS
, p_schema => l_workspace
);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE
( 'Installing Packaged App: '||cAPP.PKG_APP_ID||' failed!'||CHR(10)||
SQLERRM||' - '||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
);
END;
END LOOP;
END;
Simple as that. Review the log afterwards to find out which Packaged Applications couldn’t be installed and run them manually.
Then pick a weekend to review all apps :-)
I don’t suppose you know how to nominate the application ID it uses?
https://community.oracle.com/message/15440444