So what even is new in ORDS 24.4? How about an abbreviated list of some fan favorites?
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:
README: We have a TON of additions planned for the Implicit parameters chapter in the ORDS Developer's Guide. You might notice some new additions already. Either way, bookmark this chapter now, as we are also rolling out new in-context code examples and mini-tutorials from now till...we can't anymore.
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
- Download ORDS /latest today.
- Read the complete, official Release Notes.
- Read the latest edition of the ORDS Developer’s Guide and ORDS Installation/Configuration Guide.
- 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!