Skip to main content

Kscope18 flashback

After a few nights of good sleep (that means more than the average 4 to 5 hours at Kscope), it is time to sit back and evaluate what happened last week. I arrived on Thursday night before the event, just in time to catch Danny Bryant at the bar for "just one last beer" (I don't know how often I heard, and used, that phrase last week).
The whole Friday was filled with an all day Board Meeting, mainly discussing the future of ODTUG, a reception and a fine dinner. Since a couple of years, Saturday is the Community Service Day. This year, an impressive number of people showed up and were transferred to "Up Orlando", to make its easier for them to help the people that really need some help. All kinds of different activities were done, like cleaning, filling shelves, painting chairs etc.
 After that there is another tradition: bag stuffing. All those (about 1500) bags didn't get delivered with all those goodies in there! A number of volunteers created the most efficient human machinery to fill those bags. An hour or so at the poolside to wind down, before registration opened and the people started to drop in in huge numbers. The evening was concluded with an unscheduled "Spirit Tasting" event - very risky at the start of the conference!

The Sunday started off after breakfast with a joint Database/APEX symposium session by Mike Hitchwa on the Oracle RAD stack: REST. APEX. Database. You don't need more than that to create stunning, reliable applications in the most efficient way! Most other sessions that day I had to skip due to "Board Duties" like the rehearsal of Monday's General Session, but I returned just in time to hear Joel's "State of the Union". A great APEX future is ahead of us! An APEX MOOC, a new Certification (with NO WEBSHEETS QUESTIONS!) and APEX Office Hours. And of course rewarding Juergen Schuster for all his work for the APEX Community! Next was the Welcome Reception, dressed up as your favourite character. I was glad more people than the Board and the Conference Committee came dressed up! I got quite some attention and remarks wearing my Ironman costume (it took a few drinks to feel at least somewhat comfortable wearing it) ... even in the days after!
Apparently some things can't be unseen ;-)

Monday started off with the General session - with the clips we made in January as an attempt to make it somewhat funny. If we succeeded or not ... I leave that up to you. The videos will appear on YouTube soonish I heard.
In between the meetings, interviews etc I managed to catch at least two full sessions, one of it was  "APEX as a Progressive Web App (PWA)" by Vincent Morneau. Really interesting stuff, maybe not for the next couple of weeks or months, but keep an eye on it for the future!
After Happy Hour it was "Community Nights". Database/BI Trivia, EPM Lip Sync Battle and APEX Show & Tell. I went from one to the other and back to catch as much of the community vibe I could. After this there was another huge Happy Hour sponsored by some if the vendors in the hotel lobby bar (again "ok, just one more...").

Tuesday started early with the 5K "Fun Run" in the sauna named Florida. The temperature is not the
problem here, but the 98% humidity makes running longer than 10 minutes really hard. But nevertheless about a 100 people showed up early o' clock to torture themselves (and feel good afterwards).
After two interesting sessions, the ACE Briefing and one session by myself, it was time for the ACE Dinner. This turns more and more into a reunion. People you haven't even spotted during the first few days turn up here. And a lot of new ACE's were announced, amongst who quite a number of APEX developers! A recognition for the community!

Wednesday I managed to catch two more sessions (about Additional Templating Engines and Docker)  before I had to head up for the Leadership Graduation. For the people that are unaware of this: every year ODTUG invites a group of people into the Leadership Program. They work their way through a curriculum ending with a presentation of their end result to the Board. This year's group did very well with a very useful and elaborate project.
And after that it was time to get dressed up for the Wednesday event party at Andretti's. I guess the karts were everyones favourite, although I also spotted lines for the Zombie shooting and some other attractions. About half of the group went to the after party in Mangos, the other half created their own (just little more quiet) afterparty in the lobby bar - and that's were I was for just one more drink ;-)

Thursday, already the last day of the conference. A lot of people had quite a hard time to get up and attend the sessions, luckily we started rather late with the "#LetsWreckThisTogether APEX Talks". And as usual they were great. All grouped around one subject: JavaScript. And as I am most certainly not an expert in this matter, I picked up some interesting facts and ideas here and there!
And after the Closing Session it was time to end this year's show. I could finally spend another two hours at the pool before heading to the airport for the (long) trip home.

Although Kscope is a totally different experience when you are on the Board (not necessarily worse, just different), I had a blast - just like all the previous years.

I hope to see you all back in Seattle at Kscope19!


Post a Comment

Popular posts from this blog

Dockerize your APEX development environment

Nowadays Docker is everywhere. It is one of the main components of Continuous Integration / Continuous Development environments. That alone indicates Docker has to be seen more as a Software Delivery Platform than as a replacement of a virtual machine.

However ...

If you are running an Oracle database using Docker on your local machine to develop some APEX application, you will probably not move that container is a whole to test and production environments. Because in that case you would not only deliver a new APEX application to the production environment - which is a good thing - but also overwrite the data in production with the data from your development environment. And that won't make your users very excited.
So in this set up you will be using Docker as a replacement of a Virtual Machine and not as a Delivery Platform.
And that's exactly the way Martin is using it as he described in this recent blog post. It is an ideal way to get up and running with an Oracle database …

Refresh selected row(s) in an Interactive Grid

In my previous post I blogged about pushing changed rows from the dabatase into an Interactive Grid. The use case I'll cover right here is probably more common - and therefore more useful!

Until we had the IG, we showed the data in a report (Interactive or Classic). Changes to the data where made by popping up a form page, making changes, saving and refreshing the report upon closing the dialog. Or by clicking an icon / button / link in your report that makes some changes to the data (like changing a status) and ... refresh the report.  That all works fine, but the downsides are: The whole dataset is returned from the server to the client - again and again. And if your pagination size is large, that does lead to more and more network traffic, more interpretation by the browser and more waiting time for the end user.The "current record" might be out of focus after the refresh, especially by larger pagination sizes, as the first rows will be shown. Or (even worse) while you…

Push changed rows to an Interactive Grid

For pushing changes from the database to the end user, the regular solution is using websockets. A change in a record is detected - using a trigger or using the CQN (Change Query Notification) feature - and a notification is send to a websocket server. That websocket server broadcasts the notification over a channel to all browsers that are tuned in to that websocket channel. Then the browser reacts to that notification, usually showing an alert or refreshing a report. This trick is described on multiple sites, just Google for "oracle apex websockets" or similar.

So back in the old days, we used that notification in the browser to refresh the (interactive) report. But along comes the Interactive Grid (IG). While he full-refresh mechanism still works for IG, an IG has also the option to refresh just one row.  So wouldn't it be awesome that just the changed row(s) get refreshed upon a change in the database, instead of the whole report? Can we do it ... yes we can!
First i…