Posts

JavaScript API Documentation

I have just been reading the Apex 3.1 API documentation and noticed that the JavaScript API that are commonly used in Apex are now documented: http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10499/api.htm#CHDBJJDC There is some very useful stuff in there!!

Multiple Interactive Reports on One Page

If you have been using Interactive Reports since Apex 3.1 landed, you are probably as impressed with them as I am. The other day I tried to create more than 1 IR on a page and the Wizard prevented me saying "Only 1 Interactive Report can be declared on this page" I then tired to copy a region that contained an Interactive Report and sure enough I suddenly had 2 IR's on the one page! Whilst this is probably not supported or suggested, my requirement meant that only 1 IR was to be shown at once (i.e. I had a conditional diaply on both IR) So if you need to create multiple IR's on the one page but will only display one at run time, copy of a region appears to work!

Add / Delete a row from a SQL based Tabular Form (Static ID)

The current application I am working on involves a re-write to a 12 screen wizard that was written 18 months ago. Several of the screens make use of manually built tabular forms (SQL report regions) and collections to hold the values entered. Some of the screens in the wizard have multiple tabular forms on them as well. Currently all tabular forms have 15 lines which cannot be added to or deleted from. In the new version, we removed this limit and allow the user to add as many rows as he / she needs. Furthermore, specific rows can now be removed from the Tabular form. Since all entered data is written into collections, we wanted to avoid " line by line " processing i.e. submitting the form for each time, updating the collection and branching back to the page. By utilising some simple JavaScript and the new " Static ID " of the Reports Region new to APEX 3.0, all requirements could be met. The Static ID attribute of the reports region allow us to add our own (unique)

Mac OSX, Bootcamp and a Missing Hash Key

I bought a Mac Book Pro about 8 months ago as my main business Laptop. Coupled with a copy of Parallels, I built my Oracle Server (Database and Apps Server) on a Windows VM environment which left Mac OSX free for Development using SQL Developer, Dreamweaver etc A couple of weeks back I decided to upgrade to OSX Leopard and install windows natively using Bootcamp to utilise both core's on the CPU and all 3 Gig of memory. All well and good until i tried to use the Hask key (Alt + 3 in OSX) when working on some APEX templates. After much research on the web, it appears that most OSX key mappings are installed when using bootcamp but in order to print the hash (#) symbol, you must use Ctrl + Alt + 3 Simple when you know how

Multiple Verison of I.E on one machine

After the lastest round of updates were installed from Microsoft, I foolishly forgot to uncheck the "Upgrade to I.E 7" box and hence after a reboot, a fresh new version of Internet Explorer was waiting for me. On face value this appeared ok until I tried to access Mercury Test Director. According to the error message, only I.E 6 was supported. A quick search on google and I happened upon this website: http://tredosoft.com/Multiple_IE and downloaded the installer which contained multiple version of I.E from 3.0 to 6.0 that run in standalone. Not only has this fixed my problem of accessing applicaitons, it also allows me to test my applications against earlier versions of I.E. Very useful indeed

Custom Authentication / Authorisation Schemes (Part 1)

I often see posts on the APEX forum asking how to implement custom Authentication / Authorisation schemes within their applications. The following is something I have used in several apps over the last couple of years and provides a great base for securing your application. The code base is largley based on the rather excellent article " Storing Passwords in the Database " found here with a few tweaks and changes. Firstly, just to clarify, Authentication Schemes control access to the application and Authorisation Schemes control access to page items / regions and even pages themselves. Implementing your own Authentication I tend to set up an APP_USERS table that stores Username and encrypted passwords that I Authenticate against when page 101 is submitted. All this will be explained in detail as we go. Create the APP_USERS table CREATE TABLE APP_USERS ( USERNAME VARCHAR2(10), PASSWORD VARCHAR2 (255) ); Create the Application Security Package CREATE OR REPLACE PACKAGE app_sec

Centrally Managed TNSNAMES and SQLNET

For a while now I have had 3 Oracle Homes on my Laptop (Database, 10gIDS and 10gBI Tools) and several more on my server at home. It annoyed me that every visit to a new client site requried configuring multiple tnsname entries in all the Client Side apps. A collegue at work demonstrated how to centrally manage your tnsnames so that all client apps use the same file. Simply save your tnsnames and sqlnet files into a directory on your server (d:\My Documents\TNSNAMES) Change the tnsnames and sqlnet entries in all the clients to: ifile = d:\My Documents\TNSNAMES\tnsnames.ora ifile= D:\My Documents\TNSNAMES\sqlnet.ora And there you go, any changes to the centrally manages tnsnames / sqlnet files will be visible by all client apps pointed to use them.