Monday, June 30, 2008

New OTN Forums - not great yet

This weekend the OTN Forums got updated.

The forums went down for some time and when they finally got up again I got a lot of errors.
I cleared the cache of my browser and that helped at first sight, but after a while the problems were back again. Although there are some new features (tag, rich editor, new icons, ...), I wonder if it really needs to be like that.

For me a forum needs to be fast, reliable and searchable, but that's absolutely not the case! It's down a lot and it's even slower than before. I guess it's because they just released this version.

Some other people already blogged about it too:
- Dietrich Schroff (with some nice screenshots)
- Amardeep Sidhu
- Paulo Vale
- Asif Momen

Wednesday, June 25, 2008

First Semi-Final at Euro 2008

Today Germany and Turkey play against each other for a place in the finals at Euro 2008. I think it will be a good match although I wished Portugal was still in.

For the people betting on the games in DG Tournament, don't forget to bet on the semi-finals!
I had a look at the rank and it seems that the first 30 people still make a good chance to win the bet.


That the best may win...

Tuesday, June 24, 2008

Oracle Application Express at OOW - Vote now!

Last week at ODTUG there were 18 Oracle Application Express sessions.

At Oracle Open World there will be even more! Currently there are 23 APEX sessions listed (including mine - search for application express), but there's still a voting going on. You can vote for your favorite APEX sessions at Oracle Mix.

Anton Nielsen and Raj Mattamal's presentations I saw at ODTUG and I liked them very much. I'm sure the others will be nice to follow as well... so, vote!

Great to see so many APEX candidates!

Monday, June 23, 2008

APEX talk in the Netherlands

I'm recovering from the States, but not too long. My next presentations will be in the Netherlands.

From September 2-4 we have our European APEX Training Days. John Scott and myself will provide an open training on various topics (see the agenda in the above link). The last two trainings (in London and Brussels) went well. The only requirement to attend the training is to register and to have a little bit experience with APEX. We start from a knowledge based on the 2-day development guide.

If you want already a taste what APEX can do for you or you just want to have some fun, you can attend a FREE seminar on the 1st of July. In the evening I'll give a talk for Ordina Netherlands.

I'll start with a demo of APEX and depending the level of the audience, talk about Best Practices. After the break I'll talk about the latest and greatest of APEX. If you want to attend register here.

From the Ordina NL website (in Dutch):
--
De toekomst voor APEX?

Dimitri Gielis laat het je zien!


Waarschijnlijk ben je wel bekend met HTML-DB en de opvolger APEX. Het lijkt misschien leuk voor kleine en eenvoudige applicaties. Maar wij bij Ordina Oracle Solutions denken dat we meer kunnen met APEX en willen dat graag met jou delen.

Dimitri Gielis van Apex Evangelists laat je deze avond zien hoe de toekomst van APEX eruit ziet. Met het laatste nieuws van de ODTUG Kaleidoscoop erin verwerkt. Dimitri Gielis is een internationale expert op het gebied van APEX. Ook op de ODTUG in New Orleans zal hij spreken over APEX en in discussie gaan met experts op het gebied van Oracle ADF.

Dimitri zal een korte inleiding en demo geven en daarna dieper in gaan op de best practices op zijn eigen unieke manier. In het tweede deel een vooruitblik op wat gaat komen op het gebied van APEX. Gaat java de hete adem van APEX in de nek voelen?

Wij bieden jullie de gelegenheid om deze sessie GRATIS bij te wonen!

Deze unieke kennissessie vindt plaats op 1 juli vanaf 17:30 uur in de Media Plaza te Utrecht. Het programma duurt tot 21.00 uur. Wij zorgen voor het buffet. Inschrijven kan op de aanmeld pagina.
--

See you there or maybe on our training!

Sunday, June 22, 2008

Specify the same width of a column chart in APEX

During my presentation of "Advanced Charting in APEX" during ODTUG I got a question how to specify always the same width of a column chart in APEX.

I had a look into this, but couldn't find an easy way to do it in Anychart 3 (the current version in APEX).

If you look at the Anychart 3 documentation then you'll find this section:


There's not really a width you can specify for every bar. Like I said during the presentation, it would be extremely difficult to do that for Anychart, as it doesn't know how many data it will need to show. The only option I see at the moment is to dynamically set the column_space and block_space, depending on the number of values you have. Like I gave in my example the dynamic scaling (maximum of the chart); you create an hidden item and give it a value. You use the hidden item in your Custom XML to define the left_space, right_space, column_space and block_space.

If somebody else already did it another way, feel free to add a comment.

Friday, June 20, 2008

ODTUG08 - Thursday

The last day... the most difficult one for me. Meeting all the people at the conference and listening to all sessions in the previous days is very nice but also very demanding and intense. The tiredness, the jetlag and all those expressions you start to feel.

So giving a presentation on the last day is a challenge. From early in the morning Lucas and I were on stage for the APEX vs ADF shootout. Some people said there were 300 people in the room, but others counted around 150, so let's say we had a lot of people ;-)


I like to be on stage with Lucas, he's a very knowledgeable person and amazingly objective about the tools. Whereas I'm the very *pro* APEX one ;-) Some ADF people told me I need to balance more, which I might do in the future as there are also some nice features in ADF. Not that I'll use ADF in the future, but it's not bad to know more about it.

In the Netherlands we did the presentation a little bit different. We had more time so we had more time to do Q&A. This time I spent quiet a lot of time on Interactive Reports as I thought it's one of the nicest features and less time explaining how I build the complete application. After the session I got some questions how I did things in the Survey app. I'll try to blog about the survey application in the next weeks.

In the Netherlands I went first, but this time Lucas presented first. I changed my style a bit so I followed the same steps as Lucas. I started from scratch and at one time I thought to just build the whole application in 30 minutes, but then I got an error. I didn't use triggers in the app I created in December, but when I followed the wizards during the demo, I forgot about that and said to APEX to use a trigger. Of course the trigger didn't exist. After I created it, the first demo worked. Of course, my second demo didn't work anymore. I normally don't create a trigger and just use the sequence, but as I created the trigger in the first demo, I overwrote the value.
I got a bit nervous when I got the error as I didn't know what was happening (although the errors where clear and related to the data model). Of course I blamed Lucas for the error ;-)
I could fix it and the demo worked, but only in the evening I knew exactly why it went wrong. In the morning everything still worked, but because I changed the order of my demo's (first creation of app from scratch of showing the app I created in December) it didn't work from the first time. It's always a risk to do live demos, but I like it so much, so not doing it is not an option for me ;-) You find the application here (here my blog post after the shootout in December).

I felt better after my presentation in the Netherlands. I think I should have done it more like when I did it in December and do it a bit different, but it's always after the presentation you know it. I wonder what the people thought about it.

Literaly after the session the adrenaline went away and I started to feel the tiredness even more. I went with some friends to a nice restaurant next to the Mississipi river. There were some great pictures taken... I hope I'll see them on some other blogs! Afterwards we walked a bit around and went back to the hotel. In the evening I crashed and had a nice sleep.

The next morning I flew back to Belgium over Chicago. Coincidence, but Marcie, who's doing the OBE's of APEX on OTN was on the same flight!

Thursday, June 19, 2008

ODTUG08 - Wednesday

In the morning I prepared for my presentation, downloaded Firefox 3 and did some tests with that. It seems to work fine with APEX, although sometimes there're some strange things going on. I'm not sure it's due to Firefox or it's just my connection with the internet in the hotel...

I missed the first session and a part of the second session about "Building Advanced Tabular Forms" by Marcie Young. A lot of people have problems with the tabular forms or want to see it extended, which I also believe is necessary. Marcie explained how you can create "better" tabular forms by bypassing the wizard and create it yourself. I believe the use of collections is the way to go, especially if you need to do validations as well.

Then it was my turn. I presented "Creating Advanced Charts in Oracle Application Express". I tried to make it as interactive as possible, which I think succeeded. I talked about how to create charts, how it works and how to get more out of it.

Next it was Patrick Wolf's turn for "Increasing Your Oracle APEX development productivity with Open Source Tools". Although I already use most of the software he mentioned, like Firebug, the Webdeveloper Toolbar and some of the tools he created: the Apex Builder Plugin, the Apexlib Framework and Apex Essentials. The software I didn't use yet are YSlow and Live HTTP Headers. I liked his presentation as I also believe people can definitely improve their productivity by using some more tools, especially Firefox and Firebug.

The whole Wednesday there were some excellent APEX sessions I looked forward too.
For ex. Anton Nielsen's "How to Hack an Oracle APEX application". I loved Anton's presentation. His style, his content, the topic... very good. I will probably also need to verify some of my applications, but one lesson you should know: go to APEX 3.1.1.
With Anton and Marcie on the picture.


The last session of the day was "Building the New Stuff: AJAX, JSON and APEX 3.1" by Carl Backstrom. This session was more an advanced one. Carl is "THE" guy about AJAX in APEX, so he could tell a lot of things about all of the above. He showed some new techniques to do things in APEX, basically what the backend is of Interactive Reports. You should check his examples site out for all the examples in an APEX 3.1 jacket.

In the evening we had a party with nice food, drinks and people. I didn't stay that long as I have to prepare for the next day...

Wednesday, June 18, 2008

ODTUG08 - Tuesday

The tireness is starting. Although I still get up early, I feel I'm getting tired. On Tuesday I started my day with blogging about Oracle Websheets.

The first session I went to was "You can't do THAT in a browser! Extending Oracle APEX with 3rd party components" by Scott Spendolini. This was version 2 of his presentation. Last year he spook about Ajax select list, Ajax memory tree, plpdf and the fck editor. He did a quick recap of that and included following new things: MS Outlook integration, dhtmlXTree and Fusion Gadgets & Fusion Maps. It was a nice presentation to show how to get "more" in an APEX application.

My second presentation was one of Joel Kallman about "Go Global with Oracle Application Express". I did that presentation also on our European APEX Training Days and when we looked at the feedback forms, it seemed the topic wasn't that popular. I don't really understand why people don't find it important? So also in Joel's session there weren't that many people. But at the same time there was another APEX presentation, which maybe explains the number of people also a bit. I liked his presentation a lot. APEX is very good in going global and he explained the different options in APEX.

In the afternoon I was in the APEX Experts Panel together with Patrick Wolf, John Scott, Karen Cannell, David Peake and Scott Spendolini. The people in the audience asked us questions. The typical questions where there: is APEX scalable? how to compare it with Portal? what about Fusion? etc.

My last two presentations of the day where "Writing a customized Authentication Scheme for APEX" by Raj Mattamal and "Explore and Benefit the APEX repository" by Michiel Jonkers.

Raj showed in his presentation how to create your own little Single Sign On solution in APEX. Having a login application, which links further to other applications, even in different workspaces and databases. Using the cookie was one of his techniques and a bunch of PLSQL code to get it all working. Raj is a very energetic boy, I like his presentation.

Michiel talked about the APEX Repository and how he dealed with that. He went on a journey to figure out what the APEX repository was providing and how to get something out of it. Michiel used some jokes in his presentation which was nice, especially at the end of the day, so it was easier to follow (and stay awake). I must say his presentation was finished before I knew.
He showed the build in screens to show the dictionary views, the views and tables in the database itself and by using the export file you can get more information how APEX does certain things.

I also want to thank the girls of the registration desk. They are such nice people: they need to start very early to make everything ready for the participants, they are always laughing, say hello to me every day... Rich learned me an English word; apparently they are my "groupies". I hope it's not a bad word!

As I blog about the highlights of the day, they let me smile and they let me feel welcome... Here are the nicest girls at ODTUG: Veronica, Lauren and Crystal. Thanks and keep up the good work!


In the evening we had the APEX Meetup. We went with 15 people to a bar to have some drinks and food and watch how the LA Lakers were losing against Boston... Carl wasn't happy with that, but he survived ;-) It was a fun evening with other APEX lovers. Here's the picture

After the food we went back to the hotel and watched the remaining of the game and had some more drinks. When the guys decided to go further, I had to pass as I need to present on Wednesday and Thursday and I'm already tired. I'm curious if I'll see them in my session, they were going to drink some "Grenades", which is even worse than the "Huricane" I had the other day, I was told!

ODTUG08 - Monday

After a small sleep I had some breakfast and went to the opening keynote where the ODTUG board talked about our community service and what they have been doing the last year.
After wards Oracle came on stage to talk about web 2.0, of course linked more to ADF than to APEX.

My first real session of the day, was "APEX Hints, Tips, and Best Practices" by John Scott.
When he did this presentation at Collab, he got a lot of good reactions. This time it wasn't different. The people I spoke to learned a lot and find it a really nice session.
The next time John is doing this session is on our Apex Training Days in the Netherlands.

After that session I went to Tom Kyte's session about "The Top 10 - no 11 - new features of Oracle DB 11g". I 've always like to listen to Tom. The only thing was that the room was way to small and it was too hot due to all the people in the room.

In the afternoon I went to "Use the Power of APEX dictionary views to increase the quality of your APEX applications" by Karen van Hellemont and Jan Huyzentruyt.
The session had too much company information in. The lesson you could learn from this session was that you can use the apex views to get some data out and use it to check if predefined standards are met.

My last session of the day was with David Peake of Oracle about APEX 3.1 New Features.
Especially the last 10 minutes where useful as it was about the future of Apex and a form migration tool.

In the evening it went a big hectic. I missed a lot of meetings, but after a while I hooked up with the guys of Oracle. Making everybody happy, is just not possible...

No nice pictures? no...

Tuesday, June 17, 2008

Preview Oracle (APEX) Websheets - the next coolest thing

As I blogged yesterday, Mike Hichwa gave an insight in the future of Oracle Application Express. One of the things he showed were Oracle Websheets, the coolest thing I've ever seen and the next killer feature of APEX!

You can see Oracle Websheets as "Rocket APEX" or "RAD Extreme".

Websheets allow you to create a working application in no time. So it allows you to create applications in a very user friendly way. People can upload spreadsheets, extend it on the fly (even the underlaying data model for ex. adding a column), get web 2.0 features out of the box etc. So it makes APEX even more useful for "non-programmers" and it takes the declarative approach to the next level!

But that's not all, we APEX developers can also benefit from this nice piece of code as we would be able to reuse all the building blocks of websheets in our own applications or even just include a websheet in our APEX application. The best way to look at Websheets are Interactive Reports combines with tabular forms which you can edit, but with a side node it's completely web 2.0 and you've so much more features we have ever dreamed of.

Of course I could write a lot more about it, but screen shots are so much more fun!

So let's start...

First a disclaimer that Oracle has in it's presentations...


1. After you login in Websheets, you'll see a screen to create a websheet.
Just as in APEX you have different starting points. In this case we'll do the famous Excel conversion to something you have never seen before ;-)

2. We go to Excel where we have some data and copy all that


3. The wizards is really nice, after you copied it in the text box, you hit the submit button and bamm, there you go, your Oracle Websheets!


4. It looks like an Interactive Report in APEX, right? It's partially that, but I would like to see it as an "Interactive Report on Steroids"!


5. If you look at the "Wheel of Magic" you get so much more options than with Interactive Reports: add and remove columns, create LOVs, send notification mails, see the history of a record and much more. The below screenshot is to add a column Country, which exists out of a list of values.


7. The result looks like this, an additional column which you can change directly by selecting another value from the lov.

8. If you click on the edit link you can do a lot more: adding attachments, notes, links and tags.

9. Just like in Interactive Reports you can change the display of the columns on the fly


10. The result in the next screen. The Attachments column is included and you see that for a specific record there's an attachment.


11. And to keep the best for last... editing an Interactive Report, just like a tabular form!


So what do you think about that? ... I just love it!

Monday, June 16, 2008

An APEX application from 2005

In December 2005 I created a sort of Outlook agenda in Oracle Application Express for a teacher.

I didn't think about it anymore, I didn't even know it was still online or that it worked, till somebody asked a question on the APEX forum about a color picker.
He asked a question and gave an example, which is a good way to ask questions as we can answer them more easily than guessing what you mean. So he gave an example of such a color picker.
To my great surprise he gave an example of one of the applications of me: Agendimi!

When I had a look at the application again, although it's already 3 years old, I think at that time I had a good idea to do something with calendars.

I should update it to the latest version of APEX, but if you've ever wanted to do something with calendars, you might find it useful to have a look how I did some things.

Sunday, June 15, 2008

ODTUG08 - Sunday: APEX Symposium and APEX Websheets!

Sunday, the weather was not that good, there was some lightning and rain falling down, but it didn't really matter to me, as ODTUG Kaleidoscope kicked off with the Symposiums. Of course I went for the APEX Symposium...


Scott Spendolini, the moderator of the APEX Symposium, held a great keynote speech. He went through 431 slides in 30 minutes! It was great, he started from the year 1996 when he graduated and talked about that time and how the IT industry looked like way then. He build things up, so we saw the history of his life combined with the APEX releases and where it came from.
The second slide we needed to keep in mind: "Less is More" which I'm also an advocate of.

Mike Hichwa, the "father" of Oracle Application Express talked about how to position APEX, a quick overview of the architecture and the future of APEX. The future looks bright, the people who doubted about it, wait till you see Websheets! You liked the Interactive Reports, which is a new feature of APEX 3.1? You ain't seen nothing yet! The community asked for some time now, the ability to have better (more advanced) tabular forms... But Websheets is much more than a tabular form, it's a tool (or even application) in it's own! It's just phenomenal!
I hope to upload some screenshots tomorrow.

But that's not all, in the next release of APEX (probably 2009) we'll get a lot more: custom item types, declarative AJAX features, new 3rd party components, improved error handling and much more!

Another new tool Mike announced for the first time in public: "Data Modeling".
A lot of us need to go to another tool to model the database design (tables, pk/fk etc), but the above tool will solve that. I'm not sure you can use that tool as a standalone product or it will only be available through SQL Developer. But it means that APEX developers will get all the tools they need in SQL Developer and APEX. If the SQL Developer team also optimizes the team coding and subversion implementation it would be awesome and all my requests are full filled!

Remember: Oracle doesn't promise anything... I don't have the big disclaimer they always show, but it's subject to change.

After Mike's presentation it was time to show APEX in the real world with different use cases.

Bharadwaz Pappu & Brian Duffy talked about "Managing the Army's Enterprise Real Property Planning with Oracle APEX". They talked about their experience in APEX, I believe they used a name for APEX, "Force Multiplier". They also showed their application and the integration of DHTMLX Tree.

Kathy Hunsicker talked about "Creating Dynamite Applications That Deliver". The experience of a bank who are using APEX and build up internal expertise. I believe I also saw that presentation at OOW, so I've probably blogged about it before.

After lunch it was our turn. Together with our client we did a presentation about "Power to the People". Rich Mutell did most of the talking and looking at the many questions he got, it seemed he touched a spot. I think he did a wonderful job. Thanks Rich!
Business users will become more powerful. Especially APEX is offering them a medium to get their business done in a fast, secure and scalable way. We also spoke about why they hired us, Apex Evangelists, to help them with the more difficult pieces in APEX, give them support and training or just take them to the next level.

Chris Ostrowski talked about "How IntelliReal used APEX to rapidly build their production environment". All presentations have a common share... everybody likes APEX, because it's RAD. These times everything needs to be delivered asap in less money and less time. Chris also talked about the integration of 3rd Party tools like Google Maps.

Dietmar Aust talked about "Mastering unreasonable deadlines with APEX at German Telecom Shops". What Dietmar had to do in such a short time frame was a challenge. The only way he could deliver was using APEX. He also used 3rd party tools to full fill all needs of the client, like PLFLOW, DHTMLX Tree, a map and geo tools and Graphvis.

Chris Veenstra talked about "How Iron Mountain has used APEX to improve operational abilities within the enterprise". Chris is a dba and used APEX to make his live easier in reporting, verify rman and capacity planning.

After the sessions there was also an APEX Round table with all speakers. The audience could ask questions to us.

At 6 PM there was the Keynote with Tom Kyte: How Do You Know What You Know... He showed a lot of examples from the history where people thought something couldn't be done, but after a few years it was the case. He also talked about being creative. His story about Craig was very nice :-)

After Tom I went to the Welcome Reception. There were a lot of drinks and food and a lot of people to talk to. It was great fun. During the reception people told me they really liked the session of Rich Mutell, our customer Case Study, which I think was great. He did a very good job and are happy to have him as a customer. Together with Rich I went for a walk in New Orleans and had my first hurricane drink. It tasted really good, but due to all the rum in it, you start feeling it very quick ;-)

On the left picture is Rich Mutell and Karen Cannell. On the right it's the famous hurricane place. Oh, and Sunday was also Fathers day in the US. People wished me a happy fathers day as well and I even got a present from Karen Cannell! A famous tie from New Orleans. Thanks Karen!

ODTUG08 - Saturday

I got up at 5 AM in the morning, due to the jetlag...

As I couldn't really do anything I created some more statistics for DG Tournament and answered some mails.


After a nice shower I went outside together with John Scott to have a breakfast. It wasn't that good, so next time I might try another place or just stay in the hotel. It was supposed to be a famous beignet place, but I didn't like it, too greasy.

Before noon we had to go shopping, because John lost his luggage (it was BA who lost it). John blogged about, so have a look at his blog if you want all details!

At 12.30 I was expected for the community service of ODTUG. We went to a school and painted about 8 or 9 classrooms. It was nice to help the children after hurricane Katrina.


When I got back I changed, did some more surfing on the internet and went to the Speaker Symposium welcome reception. The reception was on the 49th floor of the Sharaton hotel. Pretty impressive view! I forgot to take a picture...

After that we met some friends: Mark Rittman, Borkur Steingrimson, Wilfred van der Dijl, Aino Andriessen, John and myself. We went for some foods and drinks. I'm sure one of them will post a picture of us!

Our supporters:

Saturday, June 14, 2008

New Orleans is a crazy place

After a long flight (and a delay in Miami) I finally arrived in New Orleans.
At first sight I thought it was a bit like San Francisco... huge lanes on the motorway, big buildings and water when you fly in. I'm not sure the water is still from Huricane Katrina or it has always been like that.

I met two Americans who loved soccer (!) on the plane and in the shuttle from the airport to the hotel, I sat next to some people from the Netherlands, who were ofcourse delighted that Holland won at the Euro 2008. Unbelievable who you meet at a different continent of the world. Here's a picture of the hotel, a few blocks away.


The weather is excellent, although maybe a bit too warm. It's already night and it's still difficult to get air. But I like it, especially when you know this morning it was raining in Belgium.

After having spend a few hours walking outside, I must say New Orleans is completely different then any other city I've seen! They are crazy here, especially on Bourbon St. :-)


John will arrive shortly, so we'll probably go for a quick drink and then time to sleep. I've been awake for 24 hours now... and start to feel it.

Friday, June 13, 2008

The nicest APEX app/features

I'm in the airport waiting for my flight to ODTUG Kaleidoscope at the moment.
It will be a long flight, from Brussels (BE) to London (UK) to Miami to finally arrive in New Orleans!

I'm doing quiet a lot of presentations this time:
- Sunday: Presentation of Use Case with one of our customers
- Tuesday: I'm in the APEX Experts Panel, trying to answer your questions
- Wednesday: My presentation of Charts in Oracle Application Express
- Thursday: APEX vs ADF Shoot-out, together with Lucas Jellema

The last presentation Lucas and I did last year in the Netherlands. We decided to change some things in the presentation. One of them is to include "the nicest app or features in both environments".

So, I thought to ask the community what they think I should show.

Currently the list I thought to chose of:
  • Out of the box in APEX: from raw Data to Application and Interactive Reports
  • "Web 2.0" extensions in APEX: for ex. ExtJS and Dhtmlx
  • Integration with Webservices, Fusion and SOA
  • Extending E-business suite with APEX
    (although I don't have the Oracle Applications Suite running on my laptop, so it will be hard to show)
  • Integration with SQL Developer
I've about 15 mins to show the coolest, nicest features or application around, build in APEX. So it's not necessary to show things in dept or explain how to do them.

What features do YOU think make APEX incredible? Feel free to send me some screenshots or even nicer: real demo sites or an application export I can show.

I know a lot of the applications we build are "internal" only, but if you could make a subset of it to just show the cool feature, that's already fine. If you just want to share what you think would be cool to show, just add a comment ... there might be a chance I already did some testing with it.

Thanks... and see you in New Orleans!

Wednesday, June 11, 2008

Holland won, who predicted that? Look at this chart

When I was looking at the game Netherlands - Italy at the Euro 2008 championship I couldn't believe my eyes. The Netherlands won with 3-0.

Some people are betting on the game in DG Tournament and I wondered how many people bet that score! Instead of looking at all bets in a report I decided to create a chart.


In my presentations at the Oracle conferences (ODTUG, IOUG, OOW, UKOUG, ...) and on our Oracle APEX training days I often say that a picture tells more than 1000 words. So the proof is in this Statistics page again. Tell me, what do you find easier, going through the report or just looking at the chart?

In the chart you see all games and a bar which represent the betting of the game: Wrong, Good (means you knew who won) or Exact (you bet the exact score).
For the match Netherlands-Italy NOBODY predicted that score! It's easier to see it in the bar, there's no green and the red bar is the highest among the other games.

Some people asked me how to create a drill-down chart in APEX. The above example is a drill-down one. You can click on the bar and the Interactive Report and the pie chart will show only the details of that game. What you have to do to get it working is: create an hidden item and in the link of your chart you link the hidden item with the value (primary key). In the query of the "child" chart and report you add that hidden item in the where clause. Whenever you submit the page, the hidden item gets filled and the report filtered.

Tuesday, June 10, 2008

Show your visitors (based on IP) in Google Maps

During the weekend I extend DG Tournament with a Google Map of the participants of the Euro 2008 tournament. Although most people put in their profile the country they live in, it's nice to see where they logged in from.


Click on Map in DG Tournament to see it in action.

In Google Maps you can specify a place based on a street or based on coordinates. There's no standard way of showing somebody based on his IP. So I searched a long time for such a service. Most of the services are payable (and expensive), but I found one site which provides you with this service for free: http://api.hostip.info. If you just want to see yourself, you can also use this service: http://freeipservices.com.

Warning

Catching the IP of a visitor of your site is not easy and not fully proof. You've different techniques depending in which environment you're and what your server can provide.
It would have been nice if you could do it from javascript, but I don't think it's possible.

Implementation

First thing to do is to include the Google Maps code in your html page. Google has a very good API and documentation how to do that. Just click on an example you like, view page source and copy the javascript code to your own page. An onload event in the body let the code run when you open the page. This step will give you already the map.

Second thing to do is to add an icon on the map with the location of the IP. With the website I mentioned above you can transform your IP address into a longitude and latitude (or also called coordinates). I always try to use webservices, some kind of rss or just something that returns me xml which makes it easy for me to integrate in my Oracle and APEX environment. In the World Cup 2006 application I used webservices, in the APEX Blog Aggregator I used rss. The query to get the data for my blog for ex. looks like this:
SELECT EXTRACTVALUE (VALUE (t), 'entry/title/text()', 'xmlns="http://www.w3.org/2005/Atom"' ) AS title
FROM TABLE (XMLSEQUENCE (EXTRACT (HTTPURITYPE ('http://dgielis.blogspot.com/feeds/posts/full?max-results=10' ).getxml (), '/feed/entry', 'xmlns="http://www.w3.org/2005/Atom"' ) ) ) t
I now wanted to do the same with the HostIp site, but that site returned xml with namespaces! It was a real nightmare to track down how to get the data out of that. As it was already a long time over midnight and having searched forever and having asked some friends I decided to do it the easy way: read the whole xml into a clob and do some replace and regexp_substr combination to get the data I needed. The solution was not fast and I didn't like I didn't know how to do the xml interpretation with namespaces as I was sure it was possible as I had seen it somewhere before. On Sunday I had a conversation with Mr XML, Marco Gralike and asked him the question. Of course after no time he gave me the correct SELECT to understand the namespace. He already blogged about it, so I'm not going to do that anymore.

But on Monday when I came in the office and talked with John Scott about it, he said: "Oh you didn't know that? I blogged about it before with my Google Calendar integration!"
Then you think: Doh! Why didn't I found it?
The answer: Because he used images and not text, so google didn't know it. When I looked at his post, I saw I even commented on it! So it must have been there I saw it ;-)

And in the post was exactly what happened with me: "If you ever find yourself having problems extracting data from your XML document, then always double check that the namespace isn’t the cause of your problems, forgetting to use the correct namespace can easily chew up hours of head-scratching and banging your head on the table."

So basically if you've your longitude and latitude you can give it to the javascript of the Google Maps code and it will create an icon on the map.

Integrating Google Maps, your IP and location is fairly easy if you know how it all works ;-)

Thursday, June 05, 2008

Using Interactive APEX Report in a Fun way

You don't know Interactive Reports in Oracle Application Express yet? You miss something.
From APEX 3.1 onwards there's a killer feature included in APEX: Interactive Reports.

You can turn a boring report into an interactive one, where you can play with the data, do sums, averages, highlighting rows based on a condition, search and sort in an intuitive way and a lot more.

I didn't think about using it in DG Tournament until my brother asked me if he could have a special Bet ranking. He wanted to have a rank where he could see only his friends or the people playing in his group. I told him it was already possible by using the location field (which I also wrote in my FAQ).

It made me thinking... I also wanted to see in one view how I'm doing with the rank compared to my family or the people in Belgium or everybody. Another feature I wanted to have was to go back in time. When a game is played I adapt the score and the betting gets calculated, but wouldn't it be interesting to see what your rank was before the latest game and now?
Wouldn't it be nice if we could just save all these reports so next time when you login you can see it again?


All that and a lot more (for ex. highlighting) is now included in DG Tournament! And the good thing about it, DG Tournament is completely written in APEX, so it did take me almost no time to implement this new feature! I believe this is the first time the Interactive Reports make a use in a fun way, as this application is completely for fun ;-)

I wonder if non-APEX and non-technical people understand this feature. If you used the interactive report in DG Tournament, put a comment on this blog if it was difficult to use or if you found it fairly simple.

Wednesday, June 04, 2008

For the European people at ODTUG

Are you a football fan and don't want to miss anything about the Euro 2008?
But as a true Oracle believer you also go to ODTUG Kaleidoscope in New Orleans?

The timezones are different! So it's very hard to know what time they play the game.

Here's the date and time of New Orleans:



Here's the date and time of Austria and Switzerland (= also my timezone):



You still have to work out the difference in time? Don't worry, in DG Tournament I gave everybody the option to change the Timezone they are in. I created a special ODTUG entry, if you select it, the date and times will change in the New Orleans timezone.


Don't forget to bed on the games! It's all fun. If you had problems or don't know how to do it, I wrote a little FAQ for DG Tournament.

Oh... if you're worried where to see the games in the States... This is the reply of the hotel we're staying in: "Yes, we can get the European Championship Football Game. However, please keep in mind that the NBA Championship and College Baseball World Series will also be on – we can work around the events."

I hope the time difference plays in our favor. I asked to play the games of especially the 17th: Netherlands - Romania and France - Italy. They should be really good matches!

Tuesday, June 03, 2008

Euro 2008 betting - not possible? (DG Tournament FAQ)

I got some questions about DG Tournament more often. So here's a little FAQ.

Question 1 - I forgot my password, can you reset it?

You can reset your password yourself. Go to the Login screen and click on the link next to Forgot login info

You'll get another screen where you can put in your email address OR username. A new password will be generated for you and send to you by mail. You should be able to login with that password.

Please, change the password once you're logged in, in Your Profile.

Question 2 - I can't bet on the games as I don't see the games!

This is due to the fact you didn't select (subscribed) to the tournament.
After logging into the application, go to Your Profile and move UEFA Euro 2008 to the right side by clicking on UEFA Euro 2008 and hit the > button. It should appear like on the screen.
After that click on the Update Subscription button.
If you go to Your Bets, you should see a screen where you can enter your predictions of the scores.

Question 3 - I want to have a ranking for my company, school, friends. Is that possible?

Yes. You can see the people from one location by searching for it in the Bet Rank screen.
If for ex. all employees of Oracle Belgium want to see who's the winner of their group (Oracle Belgium company) they can put into location, in their profile for ex. Oracle Belgium.
During the tournament they can see the ranking of Oracle Belgium by giving that into the Search field.


If you want to play against your friends for ex. you can type a unique name in the location field.
For ex. "the shooters, BE". If you search for that you get a ranking only for them.

APEX Meetup at ODTUG08 - Tuesday 7.15 PM

It's becoming a tradition that on all major Oracle events we organize an APEX Meetup.

ODTUG Kaleidoscope is already in two weeks, so time to announce the next meetup!

As ODTUG planned to have a lot of fun, food, and networking events on all the days (which is great!), the only reasonable time would be Tuesday 7.15 PM. If you all agree we will meet in the lobby of the Sheraton hotel.


From there we'll leave to a nice bar in New Orleans. I don't know anything in New Orleans yet but if somebody has already a suggestion, feel free to put a comment on the blog. But I'm sure we'll have some people with us who have done some research the days before ;-)

Just to have an idea of people, can you please register your name on the APEX Meetup site.

Thanks... and see you very soon now!

Dimitri