Showing posts with label Oracle Apex. Show all posts
Showing posts with label Oracle Apex. Show all posts

Sunday, February 20, 2011

Oracle Apex book review

Have been asked by Packt to review their new Oracle Apex book so will be doing that soon. Here's a direct link to the book and the sample chapter.

Sunday, March 22, 2009

Oracle Apex Showcase Site Updated


Inspired by the SmartGWT Showcase, I updated my Oracle Apex showcase. It has demos for Forms, Lists, Calendars and also a whole bunch of screens related to JQuery integration. It's still a work in progress, but has decent amount of stuff to showcase the power of Oracle Apex and it's possibilities.

Tuesday, February 3, 2009

Page Access Protection

I believe since version 3.1, the pages now have Page Access Protection. Use this feature to the fullest to protect the sensitive pages in your application. Without this malicious users can tamper with the URL and do harm. It's available under Page Attributes -> Security -> Page Access Protection. I recommend using "Arguments must have checksum". This will ensure that a checksum is appended to the URL that is specific to only that specific instance of the URL and cannot be manipulated.

In addition, you should also use another mechanism to secure the sensitive buttons, pl/sql processes in the page.


Sunday, February 1, 2009

Accordion using JQuery

Created this demo site where I will be posting new things I try out. It now has a page to show how to get JQuery accordion running within Apex, it's so simple to setup and use. Hope you guys like it. JQuery is so cool, this weekend was dedicated to it. Why didn't I look into it earlier? :)

Updated: 2/2/09: Also added DatePicker (page level and application level)

My first screencast about the Cricket Club Portal

Check this screencast of the upcoming Cricket Club Portal that's under development. Wanted to create a sneak peak to garner the interest. It's developed using Oracle Apex. :)

Cricket Club Portal screencast

www.cricketclubportal.com

Wednesday, January 28, 2009

Sunday, January 18, 2009

Incorporating Captcha on Oracle Apex site

Check out this fantastic article by Patric on integrating Captcha on Oracle Apex. It works beautifully.

http://www.inside-oracle-apex.com/2007/09/adding-captcha-to-your-oracle-apex.html

Thursday, June 26, 2008

Apex with AJAX - Display Thumbnail on MouseOver

This is my first major technical blog, so I am pretty excited about it. :)

I had to display a thumbnail when I click on a row, on further search, came across the following website that lists a lot of APEX/AJAX related things, so I decided to give that a try. There's a page where AJAX is used to display Item Help when the user does a mouse over a particular Item. I got a brainwave, hmmm how about I use that to display a picture instead? So here I was, breaking my head over it and was finally able to figure it all out after a couple of hours of hard work, without actually adding any application level items or processes, it's pretty neat. Check out the Statistics page in http://www.philadelphiacricketleague.com for a demo, mouse over the name of a player.

Here's what I did:

(Step 1): I had a report that displays a list of players. On this page, I added the following Javascript in the HTML HEADER section:

<script type="text/javascript">
function AJAX_PIC(pThis,pId){

this.dTimeout;
clearTimeout(this.dTimeout);
this.dGet = dGet;
this.dShow = dShow;
this.dCancel = dCancel;
/* var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=AJAX_ITEM_HELP',0);
*/
var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=',0);
this.dGet();
return;

function dGet(){
this.dTimeout = setTimeout("this.dCancel()",5000);
//get.add('TEMPORARY_ITEM',pId);
get.GetAsync(dShow);
}

function dShow(){
$x_Hide('rollover');
if(p.readyState == 1){
}else if(p.readyState == 2){
}else if(p.readyState == 3){
}else if(p.readyState == 4){

$x('rollover_content').innerHTML =
'<img src="p?n=' + pId + '" />';
$x_Show('rollover');
htmldb_IE_Select_Item_Fix($x('rollover'));
$x_Style('rollover','left',findPosX(pThis)+pThis.offsetWidth+5);
$x_Style('rollover','top',findPosY(pThis)-($x('rollover').offsetHeight/2)+($x(pThis).offsetHeight/2));
document.onclick = function(e){
dCheckClick(e);
}
}else{return false;}
}
function dCheckClick(e){
var elem = html_GetTarget(e);
try{
var lTable = $x_UpTill(elem,"DIV");
if(lTable.id!='rollover_content'){dCancel();}
else{}
}catch(err){dCancel();}
}

function dCancel(){
$x_Hide('rollover');
document.onclick = null;
get = null;
}
}
</script>


The above is a modification of the original JavaScript. Note, I commented out the application process, and also the related parameter. So basically there's no application item or process. Then I updated the code where the innerHTML is set, and changed it to a image tag. The pID value is basically the ID related to the image that's stored in the HTMLDB_APPLICATION_FILES table.

(Step 2): Then for the Report, added the following to the REGION FOOTER:

<div id="rollover" style="display:none;background:#FFF;width:150px;position:absolute;z-index:9999"> <div id="rollover_content" style="padding:4px;border:2px "> </div>

(Step 3): Then in the Report attributes, open up the column for which the thumbnail needs to be displayed, and added the following code in the HTML EXPRESSION for the Column Attributes:

<a href="" onmouseover="AJAX_PIC(this,'#ID#')">#NAME#</a>

Where ID is the value from HTMLDB_APPLICATION_FILES tables corresponding to the picture. Basically Oracle Apex displays any picture from the HTMLDB_APPLICATION_FILES table if you use the following syntax:

<img src="p?n=15900401113612336" />

The number above is the ID for the image.

I also came across another neat way to do this, but it needs you to upload a JavaScript file. The details are in Dimitri's blog, here's the URL.


That's about it! Please leave any feedback if you find this useful or streamline it further.

Applications created with Oracle Apex so far...

So far I have created the following applications using Oracle Apex:

Philadelphia Cricket League Website (http://www.philadelphiacricketleague.com)
Home Owner Association Portal (http://www.byershoa.com)
Cricket Club Portal (http://www.unitedcricket.us, http://www.crickethaverford.com)

See http://www.cricketclubportal.com for more details.

Hosting Oracle Apex applications

Ok, now that you have a handle on Oracle Apex and have developed an application which is ready for production hosting, where do you host? That's the dilemma I faced some time back and here's what I found from my research, will update this as I find more.

www.apps-express.com/hosting/
- an affiliate of www.revion.com - good on bandwidth/space and pricing, US East Coast based.
www.appshosting.com/ - they do offer a small/medium plan, the largest bandwidth/space I found, US West Coast based.
www.shellprompt.net - limited bandwidth/space, based in Europe, will have to deal with timestamp issues.


Oracle Apex

I will use this blog to post articles, tips related to Oracle Apex, which is a great tool that I have been using for past couple of years.