Oracle SQLcl 23.1 Enhanced APEX functionality

Oracle SQLcl 23.1 Enhanced APEX functionality

An Overview of the New APEX Features in Oracle SQLcl 23.1

Oracle SQLcl 23.1 is here and it comes packed with exciting new features that will make the life of Oracle Database developers much easier. Among these features, the improvements made to APEX are some of the most noteworthy.

In previous versions of SQLcl, the APEX export command was the only option available for exporting APEX applications. However, in version 23.1, this has been broken down into multiple commands, providing developers with more control and flexibility than ever before.

By using the new APEX export commands, developers can now specify the application ID, the application workspace, or even specific pages to export. This allows developers to create more targeted exports, reducing the amount of time it takes to move changes from one environment to another.

To learn more about the new APEX export commands and other features in SQLcl 23.1, be sure to check out the product documentation or run the APEX export help commands within SQLcl.

Here is the list of new individual commands

export|ex.                    (Export APEX applications and or workspaces)

export-all-applications|exaa  (Export all applications in a workspace)
export-all-workspaces|exaw.   (Export all workspaces without their applications, structure only)
export-application|exa        (Export all or the parts of an application)
export-components|excom.      (Export specific nents within an application)
export-feedback|exf.          (Export workspace feedback)
export-workspace|exw.         (Export workspace without the applications, structure only)
list|ls                       (Generate a list of available components)
log|lo                        (Reports APEX application usage from APEX_WORKSPACE_LOG_SUMMARY)
version|ve                    (Display version information)

In addition, we have a new liquibase generate apex objects (lb geao) command.

You can get help on the new command by doing

liquibase geao help

Running this produces

SQL> liquibase geao help

  Usage:
  Liquibase|lb generate-apex-object|geao OPTIONS
    Generates the changeset for an APEX object

    This command uses custom extension functionality.
    XML files are generated defining the ddl for the APEX object.

    Options:
    -exporiginalids | -exoi [REQUIRED] [Default:true]  {true|false}
    Export will emit ids as they were when the application was imported

    -applicationid | -api
    ID for application to be exported

    -changesby | -chb
    Expects string parameter. Limit -list values to changes by the given user

    -changessince | -chs
    Expects date parameter (yyyy-mm-dd). Limit -list values to changes since the
    given date

    -contexts | -co
    Context string to use for filtering which changes to operate on

    -debug | -de  {true|false}
    Enable Debug output

    -deploymentsystem | -desy
    Deployment system for exported feedback

    -dir | -di
    Save all files in the given directory, e.g. -dir some/sub/directory

    -expaclassignments | -exacl  {true|false}
    Export ACL User Role Assignments

    -expcomponents | -exc
    Export application components. All remaining parameters must be of form TYPE:ID

    -expfeedback | -exfe  {true|false}
    Export team development feedback for all workspaces or identified by
    -workspaceid

    -expfeedbacksince | -exfs
    Export team development feedback since date in the format YYYYMMDD

    -expfiles | -exfi  {true|false}
    Export all workspace files identified by -workspaceid

    -expirnotif | -exir  {true|false}
    Export all interactive report notifications

    -expminimal | -exmi  {true|false}
    Only export workspace definition, users, and groups

    -expnosubscriptions | -exns  {true|false}
    Do not export references to subscribed components

    -exppubreports | -exre  {true|false}
    Export all user saved public interactive reports

    -expsavedreports | -exsr  {true|false}
    Export all user saved interactive reports

    -expsupportingobjects | -exso [Default:Y]  {Y|N|I}
    Pass (Y)es, (N)o or (I)nstall to override the default

    -expteamdevdata | -exte  {true|false}
    Export team development data for all workspaces or identified by -workspaceid

    -exptranslations | -extr  {true|false}
    Export the translation mappings and all text from the translation repository

    -exptype | -exty [Default:APPLICATION_SOURCE]
    {APPLICATION_SOURCE|EMBEDDED_CODE|CHECKSUM-SH1|CHECKSUM-SH256|READABLE_YAML|READ
    ABLE_JSON}
    Comma delimited list of export types to perform:
    * APPLICATION_SOURCE: export an APEX application using other parameters passed.
    * EMBEDDED_CODE: Export code such as SQL, PL/SQL and Javascript. APEX ignores
    all other options when EMBEDDED_CODE is selected.
    * CHECKSUM-SH1: Export a SHA1 checksum that is independent of IDs and can be
    compared across instances and workspaces.
    * CHECKSUM-SH256: Export a SHA-256 checksum that is independent of IDs and can
    be compared across instances and workspaces.
    * READABLE_JSON: Export a readable version of the application meta-data in JSON
    format.
    * READABLE_YAML: Export a readable version of the application meta-data in YAML
    format.

    -expworkspace | -exwo  {true|false}
    Export workspace identified by -workspaceid or all workspaces if -workspaceid
    not specified

    -fail-on-error | -foe [Default:false]  {true|false}
    Set failonError attribute to true in changelog

    -instance | -in  {true|false}
    Export all applications

    -labels | -la
    Label expression to use for filtering which changes to operate on

    -log | -lo [Default:false]  {true|false}
    Enable Logging
    Standard logging is INFO level (no debug flag)
    Debug logging is FINEST level (both log and debug flag)

    -nochecksum | -noch  {true|false}
    Overwrite existing files even if the contents have not changed

    -runalways | -ra [Default:true]  {true|false}
    Set runAlways attribute to true in changelog

    -skipexportdate | -sked [Default:true]  {true|false}
    Exclude export date from application export files

    -split | -sp  {true|false}
    Split applications into multiple files

    -workspaceid | -woi
    Workspace ID for which all applications to be exported or the workspace to be
    exported

Overall, Oracle SQLcl 23.1 brings some welcome new features and improvements that will help developers when working with the Oracle Database.

From the enhancements to APEX export commands to the Liquibase generate APEX objects command, developers now have many new tools at their disposal.

However, this is just an overview of the new features, so stay tuned for more deep dives into the specific features and how they can be used to streamline your development workflow