ORDS 24.4 Release Highlights

Pre-Authenticated endpoints

Using the new ORDS_PAR PL/SQL package, users can create, revoke, issue and set tokens and token life for specific resources. Your REST-enabled schema will automatically have access to this new feature in 24.4. You can execute these functions and procedures from within the Database Actions SQL Worksheet, the SQL Developer for VS Code extension, the SQL Developer desktop client, and SQLcl (new version out) too!

A mini-tutorial

Here is an easy way to test these new PAR functions and procedures from the SQL Worksheet. First, Select the ORDS_METADATA schema from the SQL Worksheet Navigator. Then, select “All Objects,” scroll down to, and right-mouse-click on the ORDS_PAR PL/SQL package. Then select Run.

The first function you see will be the DEFINE_FOR_HANDLER function. Enter your details in the required fields, and execute the code in the SQL Worksheet. You’ll see a new URI populate.

You can now share that URI (or use it in your test). And it will remain valid for however long you set for the P_DURATION parameter.

A reminder of where you can locate all these required fields

Navigate to the REST Workshop; choose your target Resource Module, then…

ORDS Central Configuration

ORDS Central Configuration now natively supports pool identifiers in URLs. We still have the Header method of mapping for Central Configuration. But now we support the Request Host Method, too. For instance, if your Global configuration’s (when using a Central Configuration deployment) URI is:

https://central-config.example.com:8585/central/v1/config/pool/{host}

You can issue a GET request (something like this, perhaps) to:

curl https://my_database_pool.localhost:8080.com/ords/hr/employees/

Your ORDS Central Configuration will take that database pool “prefix” and use it to “look up” that database pool’s settings (in the Central Configuration server). From there, your ORDS instance would have both Global and Pool configuration settings, and it would then be able to satisfy the above GET request.

Previously, to “inform” the Central Configuration of the {host} value (the URI you see in the first code block), you’d have to pass in a request header. YOU CAN STILL DO THIS! But we support both methods now. Depending on your use case, you may prefer one method over the other. Details here.

Plain-text in XML Files

ORDS will notify users when plain-text “secrets,” such as passwords, are present in the ORDS configuration XML files. What does this look like? You can “test” this new functionality by retrieving something like the db.password configuration property.

Typically, ORDS looks for this value in the cwallet.sso file, but you can add it here (it will just be redundant).

We then warn you not once but twice! Once when ORDS first starts up and then again when it fully initializes.

A new ORDS CLI option

The ORDS CLI now includes a script-friendly --quiet option, which hides banner, copyright, and configuration location information from the ORDS STDOUT.

Here is an example where we use the standard command:

ords config get db.servicename

Followed by the much leaner version:

ords config --quiet get db.servicename

As you can see, this makes it much easier for scripts and automation tools to navigate the ORDS STDOUT.

APEX updates to ORDS access logs

Standalone access log records now include an APEX app_id and APEX page_id for records, where applicable. The end of the log captures both app_id and page_id (in this example, 4550:1, respectively).

[0:0:0:0:0:0:0:1] - [21/Nov/2024:17:37:42 +0000] "POST /ords/wwv_flow.accept?p_context=workspace-sign-in/oracle-apex-sign-in/12558700474753 HTTP/1.1" 200 6494 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" 1362 localhost:8080 - 4550:1

In cases where APEX is absent, dashes will replace these fields.

JSON Syntax highlighting

When viewing JSON data from a query result in the SQL Worksheet, pretty printing, and JSON syntax highlighting are now applied. In this example, you’ll notice a single-row table with the column “Glossary.” Clicking the “Eyeball” icon on the Select * From... results reveal this gorgeously formatted and highlighted JSON object.

Click to add Implicit, Handler parameters

You can now add user-defined parameters (i.e., Handler parameters) and Implicit parameters to Handler code blocks with a single mouse click of the parameter name. Take a look at the examples below:

SQL Worksheet file functionality

You can now rename SQL Worksheet files (from within Database Actions and the OCI console). This update applies to browser files and OCI object storage files. You can now open, rename, and trash these files.

And those are just some of the highlights. But be sure to review the links below!

The links

  1. Download ORDS /latest today.
  2. Read the complete, official Release Notes.
  3. Read the latest edition of the ORDS Developer’s Guide and ORDS Installation/Configuration Guide.
  4. Check out our latest ORDS npm samples.

And that’s all for now! Enjoy 😊

Follow

And don’t forget to follow, like, subscribe, share, taunt, troll, or stalk me!

Leave a Comment