Friday, June 11, 2010

WC2010 - DGTournament - Prices to win

I've the pleasure to announce we have some prices to win after all ;-)
You find the prices on the Rankings page of DG Tournament.


Today the World Cup 2010 starts, so if you didn't bet yet, you have a few hours left!
Registering on DG Tournament stays open (it has been open for over the last 4 years), so if you missed the first matches, you can still try to catch up with the others.

At the end I'm happy I enabled the World Cup 2010 football on DG Tournament, as it's way more exciting now ;-) I even bought the EA Sports game of the World Cup 2010! Not sure when I've time to play, but I already played it once in the weekend, and it's a very nice game.


Good luck to everybody! And that the best may win!

Thursday, June 10, 2010

CD APEX 4.0: Utilities - Upgrade Application

This blog post is part of a series posting "Count Down to APEX 4.0 Public Release" (click on link to view history).

In the previous posts we imported our application (and database objects) in APEX 4.0 and ran the Advisor to check if the application didn't have any errors.

As I said yesterday, we are going again to Utilities, but this time we click on the "Upgrade Application" button (second left from the bottom).


The following screen displays the available upgrade types along with the number of objects that can be upgraded. This is the fastest way to make use of the latest features of APEX 4.0 and do a bulk upgrade of the different components (new features).

E.g.
- you can replace the old date picker with a new one
- if a value can't be null, that can be specified native in APEX 4.0, so we won't need to add an extra validation in (like we had to do in APEX 3.x). That is what they mean with the first (Update Value Required Item attribute to Yes)
- enabling a lot of new features for the Interactive Report
- upgrade all your charts (based on Anychart 3) to the new charting engine in APEX 4.0 (Anychart 5)
- ...

So we click on the candidate objects count to review the candidates. First I clicked on the Date Picker upgrade link

We select the ones we want (check box in front of the records) and click the Upgrade button.
It will come back if it successfully upgraded the components.


We can now do the same for the other types. So click on the Upgrade Application Summary link in the breadcrumb (or you can select another type from the drop down), you'll see that the ones that are already upgraded won't appear anymore.

The only thing I would be aware of, is if you used a workaround against a problem (e.g. the Lov's null), you need to make sure you undo that before/after you migrate.

Finish them all and you are ready for the day again... you see the updated app in APEX 4.0 here.

Yesterday Roel knew the answer what my topic of today was going to be... you have an idea what I'll do next? You have more options now, no? ;-)

Almost time for the World Cup - don't forget your bets in DGT

Only one day left and the World Cup 2010 football is kicking off!

Currently 259 people are trying to predict the games on DG Tournament.
You can still play with us, but you have to be quick ;-)

Some people said they couldn't bet on the games. In 99% of the cases this is due to the fact the World Cup 2010 is not selected in their profile. So login and go to Your Profile and make sure that in "Your tournament subscriptions" you selected "World Cup 2010", then click on the Apply Changes or Update Subscription button.


Good luck... and have fun!

Wednesday, June 09, 2010

CD APEX 4.0: Verifying imported application

This blog post is part of a series posting "Count Down to APEX 4.0 Public Release" (click on link to view history).

Yesterday we imported our application in APEX 4.0. The import went fine, but we had some errors with the script in Supporting Objects.

So today I looked at the errors and fixed them were appropriate (mostly data issues). I used the SQL Data Workshop in APEX 4.0 to load the data manually. One issue I found was to import blob content. As you can upload your own picture in DG Tournament, this gets stored into a blob column. Also the image for the teams are stored in the database. But SQL Workshop or SQL Developer are not able to generate a script for that, so you will have to use SQL Loader or a custom PL/SQL procedure to get them loaded. I didn't do that yet.


Now that I'm happy with the back end, the first thing I want to try is run the application and see if it works... Click here and see how the DG Tournament application looks like in APEX 4.0.

So not bad at all... but not completely perfect either. E.g. we get a javascript error on the first page. Looking into that error is for another day.

Now I'm going to use a new feature of APEX 4.0: the Advisor. The Advisor will look at my application and tell me what is not correct. Cool he!?

In the navigation bar we click on the Application Utilities icon


We get to a page with a lot of nice utilities. It's not my goal to explain all of them in this blog post, but I'll use one, the Advisor. So we click on the Advisor button (bottom left).

We want to leave the default checks like that and click on the Perform button. As you can see the Advisor will check for Errors, Performance, Security etc.

We'll keep that running for some time. Depending the size of the application it can take seconds or minutes. Finally there are the results... It looks like I've some things to look at!


In APEX 4.0 I'm using the Advisor constantly. Whenever I finish a page I let the Advisor run for that page. Whenever I want to do a release I run the Advisor for the full application.
It would be nice if we could get this Advisor to run every night and get the outcome by mail the next morning. I didn't look yet if there's an API available to do this now, but a few people, including myself, mentioned this at EA1.

Back to the app, now it's time to verify the recommendations of the Advisor and adapt accordingly.

Tomorrow I'll use another exciting feature which you also find in Application Utilities (screenshot on this page)! Anybody wants to do a guess which feature I'll use?

Tuesday, June 08, 2010

DG Tournament update (4): Interactive Calendar

I just added the posibility to view the calendar of the World Cup 2010 in different ways.


I created an Interactive Report, so you are able to do anything you want.
E.g. you can search for your favorite team, see the games per group etc.

I try to listen to what you are all saying ... I think I implemented all features now which where asked before, so if you have new ones ... ;-)

One thing on my todo is to get the Map working again and representing up-to-date data. A couple of years ago I integrated Google Map v2, but today there's already a v3, so I would like to get that in there instead.

CD APEX 4.0: Import APEX 3.2 app in 4.0

This blog post is part of a series posting "Count Down to APEX 4.0 Public Release" (click on link to view history).

Yesterday we took an export of our application and included the script to create the database objects and data in the Supporting Objects of APEX.

So the only thing we need to do now is importing our application in APEX 4.0.
In the Application Builder click on the Import button and select the exported file.

The file will import into the APEX Repository.

Next we have to install the application, so click the Next button.
Select the parsing schema and how you want the Application Id assigned to it. Finally click the Install button which will install the application into your workspace.


When the installation of the application is finished, the wizard won't stop yet, as we have Supporting Objects included in the export file. So the wizards asks if you want to install these Supporting Objects as well. As we need the database objects and some data we click Next and make sure the Yes option is selected.

We get a confirmation message which asks if we are sure we want to go further with the install, so click Install.

The wizard comes back with the result of the install of the Supporting Objects.

In my case I got a few errors. When you click on the Install Summary button you can review the outcome.


Most of the errors were data related. It's a pity SQL Developer wasn't able to produce me a "correct" sql which just works.

In this case I prefer to build a new script, delete my objects in APEX 4.0 and rerun the script for creating the database objects. You don't need to install the full application again, as that was successfully installed. You can just upload your new file to SQL Workshop and run it from there.

To get data or database object from one database to another I prefer the methods in this order

  1. datapump when possible (in my case I can't use it as I don't have direct access to the database of apex.oracle.com)
  2. separate scripts for database objects and data
  3. depending the size of the script upload to Supporting Objects or run manually
    (for really big data sets you can't use APEX to upload your data)
So whenever you finished with the database objects and loading the data we can go further with real APEX 4.0 features... but that is for tomorrow.

Monday, June 07, 2010

CD APEX 4.0: Prepare application for upgrade

This blog post is part of a series posting "Count Down to APEX 4.0 Public Release".

So let's start with preparing our application to move to APEX 4.0. As you probably will create a test instance with APEX 4.0 where you try your production application before "going live", I'm going to do the same. I'll use apex.oracle.com as my test instance of APEX 4.0.

The first thing I have to do, is to package my current application (APEX 3.2), so I can quickly go from my current server and install it on the APEX 4.0 test server.

I'll make use of the Supporting Objects feature in APEX to include all my database objects and data with my application (just like you have with a packaged application).

But before I can use it, I need a sql script with all my database objects and data. To get such a script I'll use SQL Developer (or you might already have the scripts in Subversion or so).

In SQL Developer I go to Tools - Export Database and I'll follow the wizard to include all my objects.


The final step will show you an overview of the objects it will include in the script.
Click the Finish button and wait for the script to generate.


Next you can upload this script into the Supporting Objects section of APEX.


In the Installation Scripts section you should see something like this

Next you can take an export of your application.

Save the file somewhere because tomorrow we are going to import it into APEX 4.0.
So stay tuned...

Count down to APEX 4 Public Release

As the APEX Development team took the last step (upgrade of apex.oracle.com) in the production release of APEX 4.0, we can start to count down for the public release!

So I made a bet with myself... Every day till the public release of APEX 4.0 I'll blog about another new feature!

The way I'll do it, is simple: I'll migrate the DG Tournament application to APEX 4.0. DG Tournament is an existing application I originally wrote in 2006 and upgraded along the years with the new versions of APEX.

What do I hope to show you?

  • how to move from APEX 3.2 to APEX 4.0
  • show new ways of doing your development
  • rewrite existing (custom) functionalities by making use of build-in APEX 4.0 features
  • incorporate new features
I've no idea how much longer the public release will take, but there are over 170 new features in APEX 4.0, so I should be fine on that side. But maybe they will be really fast in shipping this release and I won't have enough time to get the app migrated... Time will tell...

Sunday, June 06, 2010

DG Tournament update (3): Groups and Prices

I changed the Profile page in DG Tournament, so you can add a Group against your name.


I also changed the Bet Rank page so the group, location and country is included now.
You can also search on your group or break on it with the interactive rank page.


If you want to give something to the winner, you can sponsor the bets and in exchange you get your logo/name/link on the rankings page. It's all for fun, but with some prices we boost the adrenaline even a bit more ;-)

If you didn't do your bets yet, do it today as there are only 5 days left! 170 people already did...

Saturday, June 05, 2010

apex.oracle.com upgraded to APEX 4.0

If you go to http://apex.oracle.com you'll see APEX 3.2 got replaced by APEX 4.0 which means over 30.000 applications got migrated to this new release (speaking of a great test instance ;-)).

But this also means we are very close to the public release of APEX 4.0!

apex.oracle.com must be one of the biggest APEX instances in the world as everybody can subscribe for a (free) workspace. Although it's meant to try-out APEX and develop on it (so no production apps) it gets over 3 million page views a week!


You can read more about this upgrade on Joel and David's blog and checkout this new apex.oracle.com.

Thursday, June 03, 2010

APEX app as SaaS

As I blogged yesterday, I was working on making DG Tournament SaaS.
That is completed now :-)

Let's say ODTUG would like to offer all the conference people the ability to follow the World Cup 2010 in a fun way. So they see the scores, they can bet on the games and communicate with each other.


So what are the options for me to provide them with such a service:

  • I could create a packaged application from an adapted version of DG Tournament and send to them so they put it on their server.
  • I could copy the database schema and APEX app into a new schema and workspace and host it for them.
  • I could keep using only one version of DG Tournament, but let it behave differently depending a parameter (url, key, ...).
They have all advantages and disadvantages, but my preference would be the last option. It would basically mean I provide DG Tournament as a Service (SaaS = Software as a Service).

The biggest advantages I see in this case are:
  • only one version of the app to maintain (bug fixing, performance optimizations etc)
  • only one time I need to fill in the scores
  • minimal time to provide this service to another company (no copy of tables, apps etc. just a new record in the database)
So I changed DG Tournament that if somebody would be interested in this service, they could:
  • have custom look (banner on top)
  • if they click on the banner they go to your homepage
  • if you login as an admin you can adapt the text of the homepage, so you could for ex. talk about the price for the winner
  • the rankings and shoutbox are for your users alone, so nobody else will see what your people say and you have your own ranking
I put the example online here so you can see it in action!

Wednesday, June 02, 2010

DG Tournament update (2)

I just updated DG Tournament with a calendar as that was one of the requests.

The calendar is a nice example of a JQuery plugin. We use the same plugin on our Sumneva website to show our APEX Training calendar.


If you had to do this in APEX 4.0, you would probably use the new build-in calendar or write a plugin to create this calendar.

I put some more new enhancements in the app to make it more user-friendly. E.g. preselect the current tournament when registering and trying to predict the country you are from.

Some people asked for a "group" functionality... So far I told to use the location to provide a grouping. I didn't put in a real group field yet, but thought about it some more.
As one of the purposes of this application is to showcase what you can do with APEX, I went a step further! So I made some first steps to make the application "SaaS".
Basically it would allow me to give companies or persons the possibility to provide their customers and friends a site like DG Tournament, but with their look and feel.
I'll blog about that tomorrow probably, but if you are interested in something like that, drop me a mail.

Only 9 days left to the World Cup 2010!

Monday, May 31, 2010

DG Tournament update (1)

I just updated the DG Tournament application with a new look. The colors are a bit fresher now.
What do you think? Better? Worse?

I'm reviewing the app and making changes along the line to make it more ready for APEX 4.0.
If I had to redo this site in APEX 4 I would change a lot of things, just like I had to do when I switched from 2 to 3. It's amazing what you had to do before and now (or soon) everything is declarative. E.g. I had my own package for showing a shuttle! That is native from 3.x... I also made use of the APEXLib framework to show more userfriendly errors and have enhanced tabular forms.
A lot of these things changed over time. It was a long time ago I looked at the site, but it's kinda fun to review your own app again. At my presentation at ODTUG this year about my experiences going from APEX 3.x to 4.0 I might even use this site as an example for the demos.

I've some more changes to come in an updated version of DG Tournament, but here is already the new look of the site ...


I would like to thank my lovely wife for creating a new banner (top image) for me.

Sunday, May 30, 2010

New APEX Blog

APEX is taking off in the Benelux and so are the APEX Blogs.

Iloon Ellen-Wolff, working for Oracle Nederland, is helping to spread the word about APEX too. She also started to blog recently. It's worth to have a look at her blog. She's also presenting at the OBUG APEX SIG day of June 17th about the new Tabular Forms in APEX 4.0.

I just added her and some others blog to ApexBlogs.info. Currently apexblogs.info is capturing 84 blogs! Not all blogs are as active, but it shows APEX is getting more popular every day...

Friday, May 28, 2010

Final Agenda OBUG APEX SIG - June 17th

The final agenda and venue are available for the APEX 4.0 day of OBUG (Oracle Benelux User Group).

Title:APEX 4.0 day
Description:
With APEX 4.0 just around the corner (or maybe just out during the event!?) it's your chance to see a full day of presentations around this exciting new version of Oracle Application Express.
As you can see in the agenda, we have some of the most recognized APEX people in the world presenting! This event will definitely be not to miss...

Venue:Elzenveld, Lange Gasthuisstraat 45, 2000 Antwerpen, Belgium
Language:English
Number of places:100
Price:Free for OBUG members, 100 euro for non-members
Agenda:08.30 - 09.15-- Registration and coffee --

09.15 - 09.30Welcome to OBUG APEX SIG by Dimitri Gielis

09.30 - 11.00Keynote: APEX 4.0 by Patrick Wolf

11.00 - 12.00Maturity level of Oracle APEX by Patrick Hellemans

12.00 - 13.00-- Lunch --

13.00 - 14.00Creation of Google Visualization Plugin by Roel Hartman

14.00 - 15.00Collaboration in APEX (Websheet, Team Development) by Dimitri Gielis

15.00 - 15.15-- Coffee Break --

15.15 - 16.15APEX 4.0: Feature 135, 184, 301, 315, 348 … by Olivier Dupont

16.15 - 17.15Enhanced Tabular Forms by Iloon Ellen

17.15 - 18.00-- Closing and Drinks --


There are still places left, so don't hesitate to register!

See you all there,
Dimitri

Thursday, May 27, 2010

DGTournament ready for World Cup 2010: betting on games

It wasn't my initial intention to do so, but after having a lot of people asking for enabling the World Cup 2010 on DG Tournament I finally did it.

Four years ago I developed this application (in APEX). With Euro 2008 I made some changes, but from then on I didn't really touch it anymore. Four years is a long time and I saw that some services I used (e.g. to get the location based on the IP) got changed. I didn't completely update the app yet, but the bulk should work now.


I plan to do some more updates in the next days, but go already to the site and start registering yourself. If you already played before on the site, you can just login with those credentials.
If you find some bugs or want to give some feedback, please do so. Now there's still time to make the site better.

Would it be more fun if I include betting for (small) money? I like to keep the site free so everybody can use it, but maybe it's nice to give you the possibility to bet for e.g. 2 euro. Everybody who bets for money can win "the pot". I'm not sure what it means in terms of rights...

Have fun...

Monday, May 10, 2010

APEX 4.0 EA3 - Creation app - Theme selection

I was playing a bit with the latest build of APEX 4.0 and they improved the wizard to create an app even more!


I like it very much that you get a big picture of the theme you select. It looks like APEX 4.0 comes with a lot of updated themes, which is great.


It's interesting to see that some themes are compatible with IE6, where I thought it would be abandoned.

If you like a black theme, theme 3 is for you...

APEX 4.0 EA3 available

APEX 4.0 just got a new refresh with the latest build. The new build is Early Adopter 3 and has release number 4.0.0.00.33.


This should be the final beta before the release of APEX 4.0, so it's definitely time to test it out if you didn't do it yet. I'm currently updating our training material to this new release, so you can expect new training material very soon.

We plan to do some APEX 4.0 training and I'm working with the Oracle User Groups to do APEX events to showcase this new release in many other events. APEX 4.0 is definitely the biggest release ever and it will change the way you develop web 2.0 applications significantly.

Monday, May 03, 2010

APEX 4.0 in BeNeLux - June 17th

The APEX SIG of the OBUG (Oracle Benelux User Group) just announced their APEX 4.0 day.

A full day presentations about the best APEX release ever! APEX 4.0 has many new and exciting features, so this day will be not to miss...

I'm very excited that after the succesful APEX day of OGh in March, there is a new APEX event in the Benelux on June 17th. Next to the great presentations it will be a chance to network with other people and talk about your experiences.

Roel, Patrick and myself discussed what would be good to show people and finally we put the agenda like this:



08.30 - 09.15-- Registration and coffee --

09.15 - 09.30Welcome to OBUG APEX SIG by Dimitri Gielis

09.30 - 11.00Keynote: APEX 4.0 by Patrick Wolf

11.00 - 12.00To be defined (depending your feedback)

12.00 - 13.00-- Lunch --

13.00 - 14.00Creation of Google Visualization Plugin by Roel Hartman

14.00 - 15.00Collaboration in APEX (Websheet, Team Development) by Dimitri Gielis

15.00 - 15.15-- Coffee Break --

15.15 - 16.15To be defined (depending your feedback)

16.15 - 17.15Enhanced Tabular Forms by Iloon Ellen

17.15 - 18.00-- Closing and Drinks --

As you can see the agenda is pact :-) but you can still speak out... depending the feedback we get we'll fill in the two remaining slots with other topics, case studies, handson or a panel discussion.

And for the price... it's free (if your company is OBUG member), so register today!

Hope to see you there...

Thursday, April 29, 2010

Nice Search in APEX 4.0

I like to get where I need to be in the fastest possible way... in APEX 4.0 they improved the navigation... On the top right you have a search box, which is a very intelligent search!

I typed 11675:1 and it went strait to page 1 of application 11675!


In the search you can also type table names etc and it will show a list of every component you used that table in. In short; the search is very powerful.

Cool, eh?

Tuesday, April 27, 2010

My first time at BGOUG

A while ago I presented at the Bulgarian Oracle User Group. It was my first time at that conference and the first time I was in Bulgaria.

The people who where organizing the event where very friendly and it looked like they really appreciated that I accepted their invitation.

Here are some pictures of the event and when we discovered Plovdiv, a little town in Bulgaria.





You can see more pictures of the event or get more info here.

Sunday, April 18, 2010

Interactive Report feature I never used before

I never really had a look at the Advanced Attributes of the Interactive Report, but I missed out on some really cool features. It shows that just like Tom Kyte, I learn a new thing every day...

Let's say I've an Interactive Report with amounts per department. The Report ID Item allows me to show a different saved view of the Interactive Report based on who's logged in and in which department they are. You find the Report ID in the APEX_WORKSHEET_RPTS view.

APEX 4.0 will go a step further with the saving of the Interactive reports, but the above is already available in APEX 3.2 and something I will definitely start to use.