Browsing "Older Posts"

Configure the SQL Developer on Mac OS X for AWS Cloud access

Von Tobias Arnhold → 9.03.2018
I have struggled a while now to correctly configure my Mac so that I can access an Oracle database in the AWS cloud.

Got a couple of strange connection errors:
I/O-Fehler: General SSLEngine problem
Handshake error

I even created a question in the forum:
https://community.oracle.com/message/14924079#14924079
At the end my friend Rüdiger helped me finding the right solution.

What was my configuration:
 - Max OS X 'El Captain'
 - JDK version: Build 1.8.0_181-b13
 - SQL Developer version:  Version 18.2.0.183
 - AWS cloud connectivity via SSL
 - Oracle database

Step by step:

1. Create the certificate "rds-ca-2015-root.der":
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html

2. Get your current JDK version:
java -version 
java version "1.8.0_181"

3. Copy the file CER in your JAVA_HOME/jre/lib/security
Full HOME directory: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

4. Open a terminal window and go into that directory:
cd /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/security

5. Execute keytool
sudo keytool -import -alias rds-root -keystore cacerts -file rds-ca-2015-root.der

6. Start your SQL Developer and create a new connection


Connection type: Advanced
JDBC-URL:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=dbxe.xyz.server-center1.rds.amazonaws.com)(PORT=7575))(CONNECT_DATA=(SERVICE_NAME=DBXE)))

#nextGENTrip18 a Twitter story

Von Tobias Arnhold → 8.27.2018
I would like to give you a feeling about our #NextGEN community activities by showing you a collection of tweets at the latest event which we participated:

The #ApexDay2018 in Stockholm at the SWEOUG

We have been 12 IT enthusiast from different places and different life circumstances.
 - 6 women and 6 men
 - 5 students and 5 employees and 2 freelancer
 - 9 Oracle specialists and 7 of them working primary with APEX


Goal

Get everyone further engaged in #NextGEN activities and inspire new IT enthusiasts to join our community/activities/events.

Follow DOAG #NextGEN

Website: https://www.doag.org/de/nextgen/nextgen/
Twitter: https://twitter.com/doagnextgen
Instagram: https://www.instagram.com/doagnextgen

The Twitter story




























5 reasons why 








You came this far... That can only mean that you want to join us.
We have a Slack channel where we organize new events and help each other on different topics. Especially APEX newcomer get a lot of support. Slack channel communication is in German. If you want to join then just write us an email: nextgen@doag.org


Set APEX application name for Dev, Test and Prod environment in the same database

Von Tobias Arnhold → 7.18.2018
In case you have a small application where development, test and maybe also production environment are on the same database and your applications in this environment distinguish only by the application IDs. To setup a custom application name based on the ID you could do like this:


We assume our application name is "Training room app" defined in the "Shared Components" > "User Interface Attributes"


To differentiate the environments I add a dynamic action "Page Load" on Page 0.
This dynamic action is executing custom Javascript code:

if ('&APP_ID.' == '200') {
  $('.t-Header-logo').find('span').html('Training room app - <b style="color:#008A34">Test Environment</b>');
}
else if ('&APP_ID.' == '300') {
  $('.t-Header-logo').find('span').html('Training room app - <b style="color:#9366a5">Development Environment</b>');
}


The code is changing the name of the logo area.

 

Copy and Paste to clipboard

Von Tobias Arnhold → 7.17.2018
Well I had the requirement to copy the content of a textarea into the clipboard. There are two ways to do that:

1. Build a dynamic action with custom Javascript code:
Copy Text to Clipboard

Code example - with dynamic action on "Click" and "Execute Javascript Code":
/* Select the text field */
$('#P1_APEX_ITEM').select();

/* Copy the text inside the text field */
document.execCommand("copy");



2. Use an APEX plugin:
Copy to Clipboard (v1.1) - build by Dick Dral



Icons made by Vitaly Gorbachev from www.flaticon.com is licensed by CC 3.0 BY

Enable save button on form change

Von Tobias Arnhold → 6.28.2018
Today I had the requirement that the save button should stay disabled until a form item changed.

After digging around I found a quite easy solution which worked well until now.

Save Button
Static ID: saveBtn
Custom Attributes: disabled

Dynamic Action
Event: Page Load
Execute Javascript Code:
$('#wwvFlowForm').on('input change', function() {
    $('#saveBtn').attr('disabled', false);
});



Simple but effective.

Working with the APEX tree

Von Tobias Arnhold → 6.27.2018
Out of a coincidence I haven't used the APEX tree region for years. Now I got the task to create a customizable tree in my application. Since APEX 5 there is a new tree type called "APEX tree" which supports some really cool functions.

Anyway I had to look around to find out what the APEX tree is actually capable of. First of all start with the APEX "Sample Trees" application which you find in the packaged application area.



Morten Braten took that example and described the features really well:
https://ora-00001.blogspot.com/2016/01/working-with-the-apex-5-treeview.html

John Snyders from the APEX team also created 2 blogposts about the "APEX tree":
APEX 5.0 Converting to the new APEX Tree
Add Checkbox Selection to APEX Tree Region

And as he mentioned there is a Javascript library behind it "libraries/apex/widget.treeView.js." which is documented since APEX 18.1 or at least I think it is. Anyway here is a link which I also have to further investigate:
JS Doc: Widget: treeView

German users can read this document provided by MT AG:
http://files.xmasman.de/20160216_MeetupNRW_TillAlbert_WiePflanzeIchEinenBaumApex.pdf

Check inside your APEX application if debug mode is enabled

Von Tobias Arnhold → 6.08.2018
Sounds like a simple task but whenever I have the requirement to add a region and make it conditional to check if APEX is running in debug mode. I always search for half an hour finding the right solution.

Search example on Google: "Oracle APEX check debug mode conditional PL/SQL"
Trying this or 30 different other ways it always ends up with the wrong results.

But it is so easy - Conditional PL/SQL Expression:
APEX_APPLICATION.G_DEBUG

G_DEBUG returns true or false!
The documentation is a bit imprecise because it says 'Yes' or 'No'.

Anyway it is all well documented in the APEX documentation
> APEX_APPLICATION > Global Variables:
https://docs.oracle.com/database/apex-18.1/AEAPI/Global-Variables.htm#AEAPI29544