I created this Blog to share my knowledge especially in Oracle Application Express (APEX) and my feelings ...
Friday, January 29, 2010
APEX @ ODTUG...
The ODTUG conference will be held in Washington DC again this year. Washington is one of my favorite places and my first ODTUG was in Washington as well... I liked it so much.
So what about APEX at ODTUG? APEX will be huge again... 30+ APEX presentations, the Oracle APEX Development team will be there, all "names" in APEX world will attend... in short a conference not to miss.
Early bird is there till 24th of March and now there is a special too. You can only subscribe for the Sunday Symposium. On Sunday you can watch some of the most well-respected Oracle APEX experts work as a team and demonstrate how to build an application from the ground up! We'll start with a set of requirements, design and build a data model, then build, secure, tune, enhance, and translate a working Oracle APEX 4.0 application right before your eyes!
Next to all the APEX things there are other development tools as well ;-)
And as like the other years, also this time there is a community service again. You find more information here.
So what about APEX at ODTUG? APEX will be huge again... 30+ APEX presentations, the Oracle APEX Development team will be there, all "names" in APEX world will attend... in short a conference not to miss.
Early bird is there till 24th of March and now there is a special too. You can only subscribe for the Sunday Symposium. On Sunday you can watch some of the most well-respected Oracle APEX experts work as a team and demonstrate how to build an application from the ground up! We'll start with a set of requirements, design and build a data model, then build, secure, tune, enhance, and translate a working Oracle APEX 4.0 application right before your eyes!
Next to all the APEX things there are other development tools as well ;-)
And as like the other years, also this time there is a community service again. You find more information here.
Wednesday, January 27, 2010
Sumneva Live!
Early this morning we turned the switch on our site with the message that APEX Evangelists will join forces with Sumner Technologies in a new company called Sumneva.
The four of us will all be directors of this new company. While Doug and Scott will focus more on the US market, John and I will take care of EMEA. Having said that, in a lot of occasions we will work together. The first result of that is all training material will be the same. If you go to the new Sumneva website you'll find a complete set of APEX trainings available to you. From Beginner over Intermediate to Advanced. The next training dates in the US and Europe are already listed!
Next to the training, we'll work together on some clients to provide them with APEX Support the clock round. Although we have many US customers, for a European company it wasn't always easy to get somebody onsite, so now that is solved as well.
We have many more ideas and with the four of us, together with the people we work with we are just stronger in numbers and minds ;-) All of us have specific expertise which we can now leverage when needed.
In the meantime have a look at our new site and feel free to give any comments...
The four of us will all be directors of this new company. While Doug and Scott will focus more on the US market, John and I will take care of EMEA. Having said that, in a lot of occasions we will work together. The first result of that is all training material will be the same. If you go to the new Sumneva website you'll find a complete set of APEX trainings available to you. From Beginner over Intermediate to Advanced. The next training dates in the US and Europe are already listed!
Next to the training, we'll work together on some clients to provide them with APEX Support the clock round. Although we have many US customers, for a European company it wasn't always easy to get somebody onsite, so now that is solved as well.
We have many more ideas and with the four of us, together with the people we work with we are just stronger in numbers and minds ;-) All of us have specific expertise which we can now leverage when needed.
In the meantime have a look at our new site and feel free to give any comments...
Tuesday, January 26, 2010
APEX 4.0: Dynamic Actions - Part 1
So what is all that about Dynamic Actions in APEX 4.0?
Basically, before we had to write a lot of javascript to get things happening on the client. E.g. you wanted to show or hide a field or a region depending other values on the page.
From APEX 4.0 onwards we can do a lot of these things declarative (through a wizard).
You have two types of Dynamic Actions: Standard and Advanced.
This post will have a closer look into the Standard Dynamic Action. (Advanced will be covered in Part 2)
You will need to specify the selection type of the page elements that define when the dynamic action will fire. You can chose out of: Item(s), Region, DOM Object and JQuery Selector.
Depending the type you chose you'll see different things to fill in e.g. the item(s) or region name, the condition and value when the dynamic action needs to fire.
Next you specify the event type for the dynamic action. In conjunction with the triggering elements define in the 'When' region, this is used to define the actual event on the page that will cause the dynamic action to trigger.
So in the above example I want to fire the dynamic action when my P5_SELECT equals to Y and it looks for it whenever I change the select list.
Next you define what you want to do. In my case I want to disable an item when the value of the select list is N and enable it again when the value is Y.
Finally I told the dynamic action what field it had to enable/disable. You see it live here.
If you go back into the App Builder and look at your page (Tree View) you see the Dynamic Action below (if you still use the Components View it's at the end as well and the screenshot looks like the very first picture on top of this post).
You can still edit the Dynamic Action and configure it further.
I like Dynamic Actions a lot, it will definitely speed up development as it's just build-in now. Not a single line of javascript you have to write. Obviously we now did only a simple thing and you still need to test things if they do what you expect... I tried to Enable/Disable a button, but that didn't work yet, but like the above example with an item it worked like I expected.
Basically, before we had to write a lot of javascript to get things happening on the client. E.g. you wanted to show or hide a field or a region depending other values on the page.
From APEX 4.0 onwards we can do a lot of these things declarative (through a wizard).
You have two types of Dynamic Actions: Standard and Advanced.
This post will have a closer look into the Standard Dynamic Action. (Advanced will be covered in Part 2)
You will need to specify the selection type of the page elements that define when the dynamic action will fire. You can chose out of: Item(s), Region, DOM Object and JQuery Selector.
Depending the type you chose you'll see different things to fill in e.g. the item(s) or region name, the condition and value when the dynamic action needs to fire.
Next you specify the event type for the dynamic action. In conjunction with the triggering elements define in the 'When' region, this is used to define the actual event on the page that will cause the dynamic action to trigger.
So in the above example I want to fire the dynamic action when my P5_SELECT equals to Y and it looks for it whenever I change the select list.
Next you define what you want to do. In my case I want to disable an item when the value of the select list is N and enable it again when the value is Y.
Finally I told the dynamic action what field it had to enable/disable. You see it live here.
If you go back into the App Builder and look at your page (Tree View) you see the Dynamic Action below (if you still use the Components View it's at the end as well and the screenshot looks like the very first picture on top of this post).
You can still edit the Dynamic Action and configure it further.
I like Dynamic Actions a lot, it will definitely speed up development as it's just build-in now. Not a single line of javascript you have to write. Obviously we now did only a simple thing and you still need to test things if they do what you expect... I tried to Enable/Disable a button, but that didn't work yet, but like the above example with an item it worked like I expected.
Wednesday, January 13, 2010
Oracle Application Express Patch Set 3.2.1.00.12
Yesterday a new patch for APEX came out on My Oracle Support (Metalink). Without the patch number it was difficult for me to find the right patch, as just searching on product family Oracle Application Express didn't give the correct result. So if you want to download the patch from My Oracle Support search for patch number 8548651.
This patch includes a number of fixes:
How to install the patch and further information you find in the patch notes. After installing the patch your version of APEX should be 3.2.1.00.12.
This patch includes a number of fixes:
How to install the patch and further information you find in the patch notes. After installing the patch your version of APEX should be 3.2.1.00.12.
Wednesday, January 06, 2010
APEX 4.0: My first Plugin - Editable Select List / Combobox
Before I just played around with APEX 4.0 and tested the new features and created some quick apps, but a week ago I made the decision to really see what APEX 4.0 can give me in a real project.
So the plan I had was to start this project in APEX 4.0. It's a risk as I might never be able to import it again in the next version of the Early Adopters release, but I made this conscious decision because I really wanted to see how much time APEX 4.0 could save me.
I'll do a proper blog post about the outcome once I finish the project, but I already wanted to discuss the Plug-ins part of APEX 4.0.
In my project a person need to be able to see and select a category. If the category doesn't exist he needs to be able to create it. So if I was in APEX 3.x I would look at using a select list or a popup lov. Possibly I would add a plus button next to it and write some javascript code to show a text item to enter a new category if it wasn't already in the system. Alternatively I would use some JQuery plugins like the autosuggest or an editable select list / combobox.
But in APEX 4.0 there is a build-in item type "textfield with autocomplete" which I could have used, but one of the drawbacks of that is that you can't really look what is in the system already without typing some letters. So I searched for an editable select list, but that item type didn't exist.
It would take me about 5 minutes to write some custom JQuery code and hook up the plugin to get an editable select list, but I would need to do that for every project again on every page I want to use it. So I thought it's a good moment to create such item type myself, which I would be able to reuse in every project.
It took me about 3 hours to understand how the plugins worked, read Patrick's documents and look at his examples and use that knowledge to create my first plugin. So I need to use this plugin 36 times to be break-even compared to if I did it the custom route.
But the big advantages of using the plug-in are:
- the implementation will be every time the same
- more people can use
- you don't need to know javascript to get things working
You can see the Editable Select List Plugin working and be able to download it here.
To install the Plugin in your own application, go to Shared Components > Plug-ins and hit the Install button.
Tell it in which app it needs to be installed into (Plug-ins are app specific).
And review the code, my plugin is called AE Sexy Combo, because it's based on the Sexy Combo JQuery plugin.
So now you should be able to create this item type on your pages.
You add a new item of type Plug-ins and select the AE Sexy Combo
You give it a name and you need to add a select statement to it (in the LOV section of the item) and it's ready!
Conclusion; it didn't take me too long to understand how the plugins worked especially not if you investigate the existing examples which you can use as a starting point.
I found it not easy to find my coding mistakes e.g. I'm not sure the plsql code gets parsed, but it took me some time to find I missed a ")" somewhere. But I used the apex_plugin.debug_page_item and found that helpful.
It would be nice to be able to upload multiple files at once and be able to reference the css like you do with javascript e.g. apex_javascript, get an apex_css.
I like Plug-ins very much, I think if people start to share that we can extend APEX ourselves all the time without having to wait for another APEX release. It's a very controlled environment, so much more secure to use especially for non-advanced developers.
So the plan I had was to start this project in APEX 4.0. It's a risk as I might never be able to import it again in the next version of the Early Adopters release, but I made this conscious decision because I really wanted to see how much time APEX 4.0 could save me.
I'll do a proper blog post about the outcome once I finish the project, but I already wanted to discuss the Plug-ins part of APEX 4.0.
In my project a person need to be able to see and select a category. If the category doesn't exist he needs to be able to create it. So if I was in APEX 3.x I would look at using a select list or a popup lov. Possibly I would add a plus button next to it and write some javascript code to show a text item to enter a new category if it wasn't already in the system. Alternatively I would use some JQuery plugins like the autosuggest or an editable select list / combobox.
But in APEX 4.0 there is a build-in item type "textfield with autocomplete" which I could have used, but one of the drawbacks of that is that you can't really look what is in the system already without typing some letters. So I searched for an editable select list, but that item type didn't exist.
It would take me about 5 minutes to write some custom JQuery code and hook up the plugin to get an editable select list, but I would need to do that for every project again on every page I want to use it. So I thought it's a good moment to create such item type myself, which I would be able to reuse in every project.
It took me about 3 hours to understand how the plugins worked, read Patrick's documents and look at his examples and use that knowledge to create my first plugin. So I need to use this plugin 36 times to be break-even compared to if I did it the custom route.
But the big advantages of using the plug-in are:
- the implementation will be every time the same
- more people can use
- you don't need to know javascript to get things working
You can see the Editable Select List Plugin working and be able to download it here.
To install the Plugin in your own application, go to Shared Components > Plug-ins and hit the Install button.
Tell it in which app it needs to be installed into (Plug-ins are app specific).
And review the code, my plugin is called AE Sexy Combo, because it's based on the Sexy Combo JQuery plugin.
So now you should be able to create this item type on your pages.
You add a new item of type Plug-ins and select the AE Sexy Combo
You give it a name and you need to add a select statement to it (in the LOV section of the item) and it's ready!
Conclusion; it didn't take me too long to understand how the plugins worked especially not if you investigate the existing examples which you can use as a starting point.
I found it not easy to find my coding mistakes e.g. I'm not sure the plsql code gets parsed, but it took me some time to find I missed a ")" somewhere. But I used the apex_plugin.debug_page_item and found that helpful.
It would be nice to be able to upload multiple files at once and be able to reference the css like you do with javascript e.g. apex_javascript, get an apex_css.
I like Plug-ins very much, I think if people start to share that we can extend APEX ourselves all the time without having to wait for another APEX release. It's a very controlled environment, so much more secure to use especially for non-advanced developers.