top of page


FAST SEARCH across 150 columns with Oracle Text Index
Introduction Recently, we were handed an application feature requirement for users to be able to search across approximately 150 different columns distributed across 14 different tables. While this initially sounded like an everyday SQL task easily solved with standard relational queries, it quickly morphed into an architectural challenge. What started as a straightforward feature request rapidly evolved into a complex data engineering puzzle, forcing us to abandon basic SQL
Kaden Kenworthy
3 hours ago5 min read


How to write a white paper (and why you should)
What is a white paper? A white paper is an in-depth report or guide that informs readers about a specific topic, problem or area of research. A strong white paper explains the causes of a problem, explores possible solutions and helps the reader understand the subject in greater detail. Unlike a blog post, a white paper is not designed to be light, quick or entertaining. Its purpose is to educate, inform and provide evidence-based insight. Why write a white paper? White paper
Adam Jeffreson
Jul 217 min read


Tackling The OWASP Top 10 in Oracle APEX: Part 1
Introduction The Open Worldwide Application Security Project (OWASP) Foundation is a non-profit organisation dedicated to increasing the security of global software through community-led open-source software projects. The OWASP Top 10 is a regularly updated awareness document on the 10 most critical application security vulnerabilities. OWASP uses many criteria to assess the top 10, including but not limited to: exploitability, detectability, prevalence, and technical impact.
Kaden Kenworthy
Jul 166 min read


Wait, look at these FAB syntaxes in 23+!
No more DUAL! 23c+ Like many other databases, you can now simply enter: SELECT USER, SYSDATE; Thank you Oracle! There’s more?! You betcha! INSERT-SET, 23.9+ I’ve always been frustrated by the disconnect in syntax between INSERT and UPDATE, much preferring the latter’s 1-to-1 association between column-name and value: UPDATE <table> SET COL1 = :val1 , COL2 = :val2; Clearly, COL1 receives the value from :val1, etc. But with INSERT, of course it’s: INSERT INTO <tbl> ( ... ,
Clark Pearson
Jul 142 min read


Deploy with Confidence: CI/CD Integration with Cypress, Docker and Oracle APEX
Why Should I Implement a Pipeline? Agile development can be a fast-paced environment; it is crucial that deployments are reliable and executed with confidence. Most steps of the deployment and testing process require manual work, which can often be overlooked or forgotten about, especially when it comes to large, complex Oracle APEX applications. Regression testing is often carried out after a deployment has already taken place. This presents a key issue; customers are blind
Issac Weaver
Jul 74 min read


One Year On as a RAD Apprentice
It has been just over a year since I started at RADAPEX as a Digital and Technology Solutions Apprentice and I thought it would be a nice idea to document all the knowledge and experience I have gained throughout my time here. In this blog I’ll cover both the things I have learnt in the workplace, as well as each of the four modules I have taken in my first year at Leeds Beckett University. Background Before I begin, I would like to tell you a bit about myself; I graduated co
Issac Weaver
Jul 25 min read


Context engineering: the future of AI integration
As AI creeps further and further into our everyday lives, it is vital for us to be able to harness it effectively, efficiently and consistently. Enter context engineering - the (maybe) magic bullet to streamlining AI integration in your business. What is context engineering? Context engineering is the idea of designing an information system around an AI model such as designing effective prompts, defining information sources, external tools, managing context windows and much m
Dan Batty
Jun 305 min read


When the Obscure Becomes Essential: A Function Inside a WITH Clause in Oracle SQL
Recently, we found ourselves working on a data migration project that required not only moving data, but transforming it based on complex conditions and external inputs. That’s when we turned to an often-overlooked feature of Oracle SQL: the WITH FUNCTION clause. This small but powerful bit of syntax made the task significantly easier and, just as importantly, kept our migration scripts clean, readable, and maintainable, without any temporary objects needing to be installed.
Nick Marshall
Jun 226 min read


APEX Workflows - tips, tricks & lookouts
I've had a play around with a really simple APEX Workflow: Here are some points to bear in mind when working with one: Workflows and Tasks run in background scheduler jobs with no APEX session. You cannot therefore use eg. :APP_USER in static values, say, as a variable. You would need to pass :APP_USER in as a parameter to the workflow from the page process. If you want to run something in a scheduler job for doing something with a workflow, you need to call apex_session.crea
Clark Pearson
Jun 182 min read


Error handling in Oracle APEX
In any application, errors are abnormal conditions that disrupt normal program execution. All applications must raise and handle errors in order to communicate when exceptional conditions occur. In Oracle APEX, errors come in the form of PL/SQL Exceptions. By the end of this guide, you will have implemented a complete error logging function, and your APEX applications will have taken a step up in both error handling and user experience. Exception handling in PL/SQL PL/SQL is
Kaden Kenworthy
Jun 165 min read


Taming Oracle Dependencies with Renovate
Custom dependency management for ORDS & Apex versus out of the box configurations If you use Renovate, you know it's fantastic for standard ecosystems like npm, Maven, python, container images etc. What happens when you need to track enterprise dependencies that don't live in a neat registry? What if the only place a version number exists is buried in a paragraph on an AWS documentation page? Recently, I set out to automate dependency updates for Oracle Rest Data Services (O
Samuel Roberts
Jun 115 min read


Securing REST APIs in ORDS with OAuth2
So, you’ve set up your ORDS services to query data between your apps. Great. There’s just one problem. It’s not secure! Anyone can access your sensitive data and pose a serious risk to the integrity of your app. Now you may be asking “How can we fix this?”. That’s what this blog aims to answer. DISCLAIMER: Like the previous blog in this series, we will be working with the RESTful services section in SQL workshop which has been deprecated. Why is this an issue? When designing
Dan Batty
Jun 94 min read


Migrating to SQLcl project (and no-nonsense scripts to do it for you!)
Why? Just as git has established itself as the de facto standard for version control, I really think that SQLcl project will in time become the de facto standard for Oracle devs – it has for Oracle Corporation devs, so embrace it, I feel this is just the beginning! Use Case You already have a db application, and you want to migrate your codebase to align with how the project command works, and integrates with git and Liquibase. This is a good demo/overview, you can skip to 9m
Clark Pearson
Jun 27 min read


The importance of typography as part of accessibility
There are basic design principals we should all try to follow as developers, such as: clear navigation, trying to keep content concise, not overloading the user with information, consistent fonts, etc. In this blog, we are going to focus on typography in design. Typography refers to the design of text, it can influence whether you would even consider reading a page; as well as building a brand, and keeping a consistent visual through your website and beyond. Most importantly,
Alice Jordan
May 263 min read


What’s new in APEX 26.1
Along with the long-awaited APEXlang, APEX 26.1 was launched last week and it is a big update; AI integrations, item and region improvements, a new layout, and a shiny new theme have all been delivered. Along with the new features of APEXlang there is a lot to get to grips with inside and outside the application builder. Here is a brief summary of some of the parts we have been most excited about, and what they will mean to our ways of working. APEXlang Not to be confused wi
Adam Jeffreson
May 215 min read


SQLcl `project` Cheat-Sheet
This is a good demo/overview of why project is here, you can skip to 9m 30s in. But why a cheat-sheet when it's already widely documented? I found help project from within SQLcl a bit slow to trawl through, and intrusive into your scroll history. Here's the 26ai online reference. If you haven't heard of Liquibase, SQLcl has adopted it for managing database changes, and audits thereof. Type help lb from within SQLcl to understand more; project works in tandem with Liquibase (a
Clark Pearson
May 193 min read


Securing Oracle APEX Apps: Report Row Actions
Oracle APEX is a powerful and scalable tool for building efficient and secure applications. Over the last 20 years more than 21 million applications have been created using its tools and software. That is a lot of applications, and more importantly, a lot of developers. With so many developers comes many different levels of experience and education. During development work processes change, developers change code, APEX is updated and new vulnerabilities are found. Even with t
Adam Jeffreson
May 144 min read


Can you automate dependency management?
Spoiler alert…. Yes you can, and that’s what we’re going to do in this, the first tutorial in a series of Renovate dependency management tutorials. At one point or another, you’ve been responsible for managing the third party code or publicly available docker images used in your projects….. If you haven’t, why on earth are you reading this article? Recently I built out infrastructure for our team which included a self hosted Forgejo git instance. Forgejo is a fork of GitHub
Samuel Roberts
May 126 min read


Configuring REST APIs in ORDS (A beginners guide)
DISCLAIMER - this blog is aimed at creating APIs through the RESTful services section of APEX which was deprecated in ORDS release 25.1. If you are working with ORDS after this patch, chances are this blog will be outdated. Don’t worry, it’s not just you! Setting up APIs in ORDS can be infuriating. The overly-simplified GUI. The lack of good documentation. The condescending replies on stack overflow. It’s all too much. That’s what this blog aims to solve. So if this sounds f
Dan Batty
May 55 min read


Building AI-Powered Oracle APEX Apps with Ollama and AWS Bedrock
The APEX team has recently introduced a range of new AI features that are built directly into the Oracle APEX low-code app builder. These features can be used to assist during application building, helping developers work faster and more efficiently, or they can be embedded into applications themselves using the new AI capabilities. Together, they make it easier for Oracle APEX developers to take advantage of modern generative AI while keeping development simple and streamlin
Nick
Feb 75 min read
bottom of page
