Posts

Build beautiful and interactive API documentation for ORDS

Image
In this blog post, I will show you how to quickly build beautiful and interactive API documentation for your Oracle APEX REST data sources using  swagger hub . Using APEX v23.1. I downloaded the  titanic data set  and loaded them into tables in my APEX instance, created some authorized restful services and published them using swagger hub. You can create a free account on swagger hub.   Check out my titanic swagger hub here ; Press Authorize. Username REST, password Glasgow123! I won't go through creating RESTful services and just show you the four I created that sit on top of the titanic data set; The GET is a very simple SQL query;      select * from TITANIC_DATA_SET_NEW A handy tip is to add comments, as there will appear on swagger hub, making your API self documenting; Once you have created your modules, press the Generate Swagger Doc button; This will generate an open API for you.  Copy the API and paste it into swagger hub This will generat...

APEX Office Print

Image
This post is how we used APEX Office Print (AOP) in the University of Glasgow in Scotland to print APEX forms and loved it 😃 The app The application is a Performance Development Review (PDR) APEX application for staff at the University of Glasgow.  There are 7,000 staff and several different forms depending on the staff role.  A professor will get a different form to a Janitor for example. CSS Print Our first attempt at printing was using a print style sheet.  This worked to a certain extent but we had major issues printing Interactive Grids and you dont have a great deal of control over what gets printed especially as we had several different APEX forms. Apex Office Print to the rescue We purchased AOP on-prem  bronze  and its paid for itself in the year we have been using it as we have went from dozens of print queries where we were constantly updating our print CSS to zero queries (yes zero!!!).  The resulting word documents the users now download are a...

Add a chatbot to your APEX app using DialogFlow

Image
This post will show you how you can add a free chatbot to your APEX app using the always free  Oracle Autonomous database and Google’s natural language processing (NLP)   Dialogflow ES . This Oracle APEX  NSS web site  allows users to ask the chatbot for the percentage of students who o verall, were satisfied with the quality of the courses at the University of Glasgow.  It allows users to query over 1,200 courses.   Give it a try  by clicking NSS→Russell Group NSS Course Search Here is some info about how DialogFlow works on another project I built. How I built it. Loaded data into autonomous database I loaded the National Student Survey CSV data into autonomous database using database actions data load; Created a REST API for the data Using the REST action above I created a REST API for the data, it takes a course and aim and retrieves it from the Database Try it out; https://kjwvivmv0n5reuj-apexkqor.adb.uk-london-1.oraclecloudapps.com/ords/ad...

Add calculated tooltips to your Interactive Grid

Image
In this post, I will show you how to add a tooltip that calculates column values displayed as tooltips on your Interactive grid or report.  It's a nice value add, giving your users some context to the values in the grid. Demo The tooltip displays the following calculated values from the selected value's column; Create the Interactive Region with static ID  IR_STATIC_ID  using the following SQL source; select  'Product 1'  as PRODUCT,  100  as VALUE_1,  200  as VALUE_2,  '121'  as VALUE_3,  'text'  as  VALUE_4  from  DUAL UNION select  'Product 2'  as PRODUCT,  103  as VALUE_1,  140  as VALUE_2,  '99'  as VALUE_3,  'text'  as  VALUE_4  from  DUAL UNION select  'Product 3'  as PRODUCT,  1  as VALUE_1,  2  as VALUE_2,  '1,200'  as VAL...

Test & Monitor you APEX app. Part 3 : Monitor your DB with JMeter and Jenkins

Image
This is the third of a series of posts where I will show you how you can use free open source software  Jenkins  and  JMeter    to monitor your APEX database. Part 1 - Monitor your APEX app using Jenkins Part 2 - Monitor your APEX app using Google Analytics In the next post, I will show you how you can run scheduled Selenium tests on your APEX app, the tests will log into your app and run Selenium tests which will be hosted on a free GitHub account using GitHub actions so no installation of any software necessary. You will have your APEX application scheduled selenium tests (getting email alerts if any issues with your APEX application) up in running in minutes by cloning a ready-made GitHub APEX selenium repo. Prerequisite :  Install JMeter  on the same server as Jenkins.  Like Jenkins, JMeter is simple to set up and there are lots of online guides, so I won't go into it here. First we are going to set up the DB monitoring job on JMeter then...

Test & Monitor your APEX app - Part 2 Google Analytics

Image
Monitoring your APEX application with Google Analytics is a must. It takes 5 minutes to set up in your APEX application and gives you lots of benefits. Advantages. Before go live we load tested our APEX app using JMeter, on the go live date we used Google Analytics to give us a real time view of how many users were logging in to see if it was getting close to the number of users we load tested the application with. Luckily, it was only around 10% of the amount of users we load tested and everything went OK. You get access to the free  Google Data Studio to create embeddable reports. We embedded reports in our APEX app back office showing views per day, browser usage etc.  It's a University staff APEX application, so interesting to see usage during the week compared to weekends. View browser and operating system's usage statistics, which allows us to target testing on browsers for upcoming releases. Analytics showed us Edge was surprisingly the second most popular browse...

Test & Monitor you APEX app. Part 1 : Monitor your APEX app using Jenkins

Image
This is the first of a series of posts where I will show you how you can use Jenkins , Selenium , JMeter and Maven to test, monitor and create a continuous integration pipeline for your APEX application. This is part 1, S et-up Jenkins to monitor your APEX app and get alerted when your app is unavailable . Creating a simple Jenkins job that takes 5 minutes to set up, your APEX application will be monitored 24 hours a day, and you will get alerted as soon as it becomes unavailable.  You can then build on this using free open source software to run web ( Selenium ) and database ( JMeter ) tests on your APEX app controlled by  Jenkins , which will I describe in upcoming posts. In upcoming posts, I will show you how to set up Jenkins to; Run web (Selenium) tests on your APEX application.   Schedule web tests logging into your APEX app running tests using Selenium and Maven and get notified of any failures . Schedule deployment of your APEX dev env nightly to a ...

How to send an email from your ORACLE APEX app

Image
Sending emails from your APEX application using APEX Email Templates is super simple. The project specification was to add buttons to a form to allow users to press a button to email students whether they have been successful or unsuccessful in their scholarship application. This is how we did it.  The application form is a standard APEX form where we will add a button to the form that when pressed will send an email; In this example I will walk you through the creation of the rejection email.  First, we created a new email template for rejection emails with the name REJECTION ; with the following identification; To send images in the email ensure they are hosted on a publicly available site.  In this case, I hosted the University of Glasgow logo on my Google Drive and put it in the header of the email using the HTML IMG tag; The body is standard HTML using  substitution strings   (Special substitution strings available within a template are denoted by the nu...

Popular posts from this blog

Oracle APEX Interactive Grid colour cells based on a condition using JavaScript and CSS

How to send an email from your ORACLE APEX app

Oracle APEX style an Interactive Grid cell conditionally based on the value of another cell using JavaScript and CSS