Sunday, August 26, 2007

Groups @ Oracle Open World Connect

If you go to the Oracle Open World Connect site (= real-time community), you'll see some groups. Some of the most interesting groups (in my area of interest), I described below.

ODTUGgers
(created by Mike Riley, VP – Oracle Development Tools User Group)

Group to spearhead some discussions about sessions to see, places to eat, arrange meet-ups, etc. Mike also told me you are free to join that group without actually being an ODTUG member. The more people, the better the discussions will be!

Oracle Application Express (Oracle APEX)
(created by David Peake, Product Manager - Oracle Application Express)

Meet with others in the Oracle APEX Community. The reason Oracle APEX has become such a popular tool is because of the very strong community. Come and join in for enlightened discussion and information.
In the past I organized the APEX Meetup's through an APEX application and my blog, but this year we'll probably announce it through this group.

Oracle Bloggers
(created by Eddie Awad)

Group for bloggers who have a blog aggregated by http://orana.info/ or http://blogs.oracle.com/. This is also the group who will participate in the Bloggers Meetup organised in the past by Mark Rittman.

There are some other groups which could be useful, so it might be interesting to look on the site. I suppose other groups will be created too... November is still far away ;-)

Friday, August 24, 2007

NF in Oracle Application Express (APEX) 3.1 & 4.0

The Oracle Apex Development team updated their statement of direction today.

I won't go into much detail on APEX 3.1, the next release of APEX, as the changes are not that big in this release, although some may be very useful.

A bit of comment on some new features of APEX 3.1:

  • PL/SQL API to manage a runtime installation of Application Express: this could be very useful, especially for companies providing APEX hosting like us.
  • Documented and supported Application Express JavaScript libraries: Carl Backstrom already started that here.
  • Enhanced integration with Oracle SQL Developer for MS Access to Application Express migration: with every new release of SQL Developer you see some more features in that area.

The nicest thing however is what they will include in Oracle Application Express 4.0!!

"This release will focus on declarative support for Web 2.0 features in Application Express, as well as the extensibility of the Application Express framework.": Don't you like the sound of that?! That sounds awesome!!

Generally thought: the Apex team listened very well to us, the Apex Developers/Users, which is highly appreciated. Thanks Oracle Apex Development team for that.

My comments on some of the new features of APEX 4.0:
  • Interactive reporting region types which native integrate Web 2.0 features to filter, break, sort data: This we could already see in action in one of my previous blog post
  • Extensible item framework, enabling developers to "plug in" their own custom item types: this will definitely be one of the killing features of this new version! A while ago Carl Backstrom started a discussion about it (initially Patrick Wolf included this in the APEX 3.1 new features thread). You can still leave your comments in the thread Carl started...
  • Declarative support for AJAX validations: today you could already make the validations in APEX, but the validations required a round-trip to the server. With the ApexLib framework you could avoid this. Some javascript functions would dynamically look at your validations (defined in APEX) and test it on the client side. Getting an improved version (with AJAX) out of the box in APEX 4 is great.
  • Declarative support for cascading select lists and other similar item types: we demo this often and this is also one of the questions asked by a lot of people
  • Improved tabular forms, including support for validations, integration with collections, and additional item types: again, asked by a lot of developers, especially people coming from an Oracle Forms/Reports background.
  • New item/region types, including DHTML calendar and AJAX tree: the tree in the current APEX version does a submit of your page. Also the calendar wasn't uptodate anymore with the current expectations of the web. So it's understandable this is included.
  • Improved PDF report layout: I hope they look at my improvement for this too ;-) But PDF got only introduced in version 3 and it's already a nice feature, especially when you integrate it with BI Publisher. But yes, other improvements like printing charts and pictures easier would be welcome ;-)
  • Improved error message handling: we were waiting a long time for this, it looks like somewhere next year we get something with the new version that does the job
  • Numerous functional and performance improvements: Performance comes definitely from the caching mechanism (already a lot in APEX 3) and from the performance improvement of the 11g database. That's one of the things why APEX is great, as it's running inside the database, with every new release of the database you get so many more possibilities.
My final note on this: Oracle is not guaranteeing it will include all that... nevertheless I would like to thank the whole Apex Development team for this great road map and awesome product!

Thursday, August 23, 2007

Update: European Apex Training Days (in 2 weeks)

A few weeks ago we released our agenda to the people coming to the AE European Oracle Application Express Training Days.

This training will be held in two weeks time in Brussels. It's not a beginners training, more an advanced one, although "advanced" is difficult to measure.

During the last weeks I spoke with people working with APEX for more than two years, so they are quiet advanced I would say. But they are used to work in a certain manner and like with everything, if you don't know you can do it in a different way, you don't do it.
Next to that, there are still a huge amount of people working with version 2.2 of APEX, so all the new features of version 3 they don't know yet.

If you look at our agenda, you may think that Reports & Charts is not such an advanced topic, which is partially true. But if we look at trainings we did before, it was quiet useful to get people on the same level with that topic.


I look forward meeting all people and I'm sure we'll get some hard questions ;-)

Tuesday, August 21, 2007

DG @ Oracle Open World 2007

This weekend I booked my flight and hotel for Oracle Open World 2007 in San Francisco.

I first thought to stay in the Hilton hotel, but as that was already fully booked I decided to stay in the King George hotel. Mark Rittman stayed into that hotel last year and liked it, as he's staying there again this year.
"King George" ... sounds also very nice ;-)

This year I'll also present at OOW. I'm curious if presenting at OOW is different from presenting at the Oracle User Conferences like ODTUG Kaleidoscope and IOUG Collaborate. OOW is so big!
Last year was my first time at OOW and I liked it a lot. I never saw such a big event and a town literally changed in the red "Oracle" color.

The presentation I'll do is about the integration of APEX and BIP:

Title : Advanced PDF documents from Oracle Application Express (APEX) using Oracle Business Intelligence Publisher.

Abstract : Oracle Application Express (APEX) 3.0 provides new functionality to generate PDF documents. To create advanced PDF reports you can use Oracle Business Intelligence Publisher (formerly XML Publisher). This session covers how to configure APEX to use Oracle Business Intelligence Publisher and how to create an advanced PDF report in APEX using BI Publisher.


A lot of Oracle bloggers made there QuickConnect card. That card means you're registered on the OOW community site. You can find people having the same interests or just some info about a person.

Here's my QuickConnect Card:

Join Me at Oracle OpenWorld Connect!

See you at Oracle Open World!

Monday, August 13, 2007

Feedback and Tips after Oracle Application Express Training

John Scott already blogged about the APEX training days we gave to an AE customer last week.

Here's how I experienced our "duo" APEX training and some tips when you're doing some onsite training yourself.

Tip 1 - Be prepared

The customers asked a while ago for APEX training. Instead of doing a "standard" reply of saying what APEX training we (= Apex Evangelists) can deliver, we try to "customize" our trainings as much as possible.
To do that, we want to know our customers: What do they know? What do they not know? Why do they want to get trained? What facilities do they have? Which topics do they want us to cover? ...
The more info you get before hand, the better!

Our training exists out of powerpoint, a lot of live demos (we like that a lot!) and exercises. Doing live demos asks for a lot of preparation, but we believe it brings a big added value to our attendees. Some people say: One picture = one thousand words.

Depending how much material you already have, I still believe it's good to start preparing a week (and more) before. Run through all demos again, review the presentations etc.

Tip 2 - Arrive on time

John and I arrived the day before. We had a look around and went over the agenda and planning again. Especially when you're with two people doing the training it's important you know about each others topics, when and how to do things or just do some fine-tuning.

We love to train people together. I think there're not many companies doing that (giving training with two people). We also train people alone, but it's so much more fun when we're together.
Also, customers can appreciate it, sure it will be more expensive, but you'll get the experience of two people and it's "different". We've both our strengths and different experience which we can fully exploit together.

Tip 3 - Get to know your audience

We normally start with an introduction and a quickly round-up so we know the persons a bit better. It depends the size of course, but if it's possible to do, I would recommend doing a quick check.
People may say in the preparation phase of the training they've all a lot of experience, but when you're onsite and talk to them, maybe that's not entirely true. (they can be experts / or don't know that much as they believe themselves)
As you could read on Johns blog, some people had over two years experience, where others had only 2 days of experience! It's a real challenge to get everybody up to speed in a short amount of time, but it's so much easier when you know a bit of background of the people. I knew for ex. some had already experience in MS Access, so I spoke about how it looks like in the environment they already know.

Tip 4 - Be flexible

We had a tight planning prepared for this customer. After the first day John and I sat together and talked about it and we decided to put some more effort in some topics, give some extra exercises and skip some other topics. Again, this is so much easier when you know your audience. We spent for ex. quiet a long time on the AJAX topic, as they user was keen to use it and we also decided to skip the "Production Issues" presentation as they had an IT department doing all that stuff.
It's hard to decide and even though to take a decision to change your planning, but in this case it was really rewarding. This came also above when we read the evaluations, the customer really appreciated what we did.

Tip 5 - Include time for Questions

During the presentations we got some questions. We're very open to questions and really like the test if we know/can find the answer ;-)
I usually not only answer them, but also try to show them (or proof them) what I think the answer is. I think I learned that from Tom Kyte, he has a statement:

It ain't so much the things we don't know that gets us in trouble. It's the things you know, that just ain't so or just ain't so anymore or just ain't always so.

I sometimes have that too, I expect something will behave like that, and it suddenly doesn't do that, maybe it's that particular version, or it was never like that... with the test I see it!

The questions part was also highly appreciated by our attendees. The questions showed us also if they really understood or the things they were interested in.
We sometimes quickly built an app in APEX to show some other things we didn't prepare. At OOW we also did some kind-a-like thing, with the roundtable conversation. At Collaborate 07 we repeated it again. It's like a "life" forum.
We also referenced to some other sessions we did, like for ex. the Shared Components presentation I gave at ODTUG and IOUG Collab.

Tip 6 - Enjoy

Doing these trainings foreign is nice, but also hard. I enjoyed being there together with John. The days were flying by, it was over before we knew. During the day you're so busy with explaining to the customer, in the evening you're preparing for the next day and reviewing the previous sessions, to get really the best value for your client.

But don't forget to take some time to enjoy too! We tried to take some time to eat together. for ex. One night we went to a Steakhouse and had some delicious lamb!

Tip 7 - Think back and learn

From last year onwards I'm more into giving presentations. I think it started at Oracle Open World last year, where I was in the roundtable panel for the APEX SIG.
After that I started to give presentations at IOUG Collaborate 07 in Las Vegas, ODTUG Kaleidoscope 07 in Daytona Beach, some more presentations in Belgium, followed by onsite training for Apex Evangelists customers. From every presentation you learn something, take it with you for the next one.

Next on the agenda are the Apex Evangelists "European APEX Training Days" in Brussels (September) - you can still subscribe for that one -, maybe Oracle Open World (November) and UKOUG (December)...

If you would have told me I would do so many presentations this year, I would have laughed at you ;-) Things can change quickly!

Saturday, August 11, 2007

Oracle 11g and some APEX 3.0.1 news

Already a lot others blogged about Oracle 11g (for Linux) is available for download. A direct link to the homepage of Oracle Database 11g.

Oracle proofs again why it's a leader and innovator in the database market. In 11g you get again a lot of new features.

Some of the new features I think can be really useful in an APEX environment:

  • Real Application Testing
  • SecureFiles (next generation of LOB)
  • Result Cache (storing the results of queries and PL/SQL functions)
  • Enhancements in XML, Text, Spatial and Medical Imaging
  • Oracle Flashback Data Archive
  • PL/SQL improvements for ex. native compilation
  • APEX 3.0.1 out-of-the-box

John Scott already installed Oracle Database 11g (with APEX) and blogged about it here and here. He mentioned a difference in release: where the standalone APEX 3.0.1 has a version number of 3.0.1.00.07, the version in 11g is 3.0.1.00.08.

Carl Backstrom told there were some minor bug fixes, which explains the difference at the very end of the number. Carl also blogged about a new thing he's working on (which I expect will probably be in some of the next releases of APEX). Next to the declarative AJAX support (which will be improved with every APEX version), he now talks about "tags". Have a look on his blog! I see these tags useful to give users the availability to create some "shortcuts" on their screen to parts of the application they use most.

Tuesday, August 07, 2007

New Oracle APEX Packaged Applications got released

I just saw a lot of new Oracle Application Express Packaged Applications got released on OTN.

I encourage everybody to have a look at these Packaged Application, as you can learn a lot from them. They're not only a great source to learn or to find ideas how to do something, some people even use these applications in production environments!

I had a quick look at the new applications, installed online on the hosted Oracle Apex service of Oracle and they look good and useful.

I liked the Questionnaire (Knowledge Testing) of APEX ;-)
You can answer the survey and get a nice report how well you did. Will they replace the Prometric tests (OCP)?

A direct link to the new demo apps:

Saturday, August 04, 2007

APEX Forum gets Ace'd!

First I want to congratulate all Oracle Aces in the Oracle Application Express Forum. They all deserve it very much. Well done guys!

After the new addition of Patrick Wolf to the Ace Hood last week, I saw another icon in the APEX Forum!

Somebody has a little crown!!


A very big congratulation to JES (John Scott) for achieving the Oracle ACE Director title.

John is not only very active in the APEX forum, he's also the author of the new Oracle Application Express book "Pro Oracle Application Express".

I'm very pleased and proud to be next to him at Apex Evangelists. John is a wonderful person and a great guy to be with. A true friend!

You can congratulate him in the forum ... let's give him a big celebration ;-)

Friday, August 03, 2007

Oracle APEX: f?p, p?n, z?p

Did you already see: "f?p=", "p?n=", "z?p_url=" in the url's used by Oracle Application Express?

Doing presentations is a good exercise to keep you fresh... You have to write down what you *think* you know ;-)

While preparing some other presentations I wanted to explain the url's in APEX... Although we use the url's all the time, it was more difficult for me to write down what they were doing, so I thought to blog about it.


** The "f" procedure is widely known and well covered in the Oracle APEX User Guide.

It's used to create links between pages in your application using the following syntax:
f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly

(We even included this syntax on our very cool AE MouseMats! I'll post a screenshot of the real mousemat in the next days...)



** The "p" procedure you can use to download a file from the APEX repository (see the apex_application_files view for a list of your files).

For ex. http://apex.shellprompt.net/pls/apex/p?n=217605020644166778 will show you a nice picture that's stored in my APEX repository. (n is the id of the file)

This procedure is not wrapped, so you can see what it's doing:


procedure FLOWS_030000.p (
n in varchar2 default null,
p_mime_type in varchar2 default null,
p_inline in varchar2 default 'NO')

-- Copyright (c) Oracle Corporation 2001. All Rights Reserved.
--
-- DESCRIPTION
-- View a page given a page ID
--
-- SECURITY
-- Public shortcut
--
-- NOTES
--
-- EXAMPLES:
--

is
begin
if n is null then
htp.p(wwv_flow_lang.system_message('p.valid_page_err'));
return;
end if;
--
wwv_flow_file_mgr.get_file (
p_id => n,
p_mime_type => p_mime_type,
p_inline => p_inline);
end p;
/


** The "z" procedure you use to track when users click on external links.

I don't know how I knew about the existence of the Z procedure, but when I discussed with John Scott he told me it had something to do with going to a url via the CountClicks procedure. After searching a bit more on the internet I found some info in the forum and a Tip in the HTMLDB Studio (rip) from Scott Spendolini.

The explanation:
p_url: This is the link to the external site or file to be downloaded.
p_cat: Provide a name that you can associate to this link.
p_company: This is your application's Security Group ID. You can determine what that is by running your app and clicking on "Session" in the developer toolbar at the bottom of the page. The Value for Security Group ID is what you would use in your link. (I didn't found that in APEX 3.0)

Track what users are clicking by navigating to: Home -> Administration -> Monitor -> Top External Clicks

Testing this out with my image of the p procedure: http://apex.shellprompt.net/pls/apex/z?p_url=dgielis.download_filez?p_id=217605020644166778&p_cat=ae_pics&p_company=54352117549007872

If you've some other additions, feel free to comment on this post.