Tuesday 20 December 2011

2012 AUSOUG Conference dates

Get your diaries out - the dates and locations for next year's conference series in Australia have been formally announced.


Melbourne
InSync12 Conference and Exhibition
August 21 and 22
The Sebel Conference Centre, Melbourne

This is a short tram ride from the heart of Melbourne, with stunning views of Albert Park - where they host the Grand Prix Formula 1.

Perth
Oracle with 20:20 Foresight Conference and Exhibition
October 29 and 30
Hilton Hotel, Perth

This is in the very centre of Perth, walking distance to bus, train, ferry & many other pubs & eateries.

The question is, will we see you in Australia next year?

Scott


Wednesday 14 December 2011

Blog re-name & re-design (round 1)

Some of the more astute of you - or those that may have taken notice to the final "slide" of my Apex security presentation at the AUSOUG conference - may have noticed that I registered a new name for my blog.

There were a few reasons for this. Initially it took some time for me to decide on a name when I decided to start blogging, and in hindsight I thought it needed a re-jig. (my personal gmail account could probably do with the same adjustment)

I also thought that after getting into the groove of blogging, it was time to select a name that suited my particular style and removed the blogspot moniker.

So I've chosen the following:

grassroots-oracle.com

I've updated the about me page to describe this choice a little further. You may also notice I've got some other tabs across the top for common information you might like to view - using bloggers ability to create Pages for this very purpose. Feel free to check them out.

For those of you visiting my actual page as opposed to viewing through an RSS feed or aggregator, you may also notice the blog design has changed dramatically.

I've finally taken advantage of some of the new tools blogger provides. I don't think I've finished yet though. One reason - I'm on the road, it's really late, and I'm using my phone tether to work on the net.
The other reason - I like to sit on things for a while to see how a like it, and see if any other ideas come up. I'm also not quite happy with the colour scheme - I'm a little spoilt for choice and I wasn't quite ready to perform those finer adjustments.

I also think there may be some other ramifications from my template of choice - I notice my favicon has disappeared, and it seems I need to re-apply my syntax highlighting. Ahh, the life of a software developer...

And if you're wondering about the background image in the logo - I took that in my backyard using my smartphone, plus a little trickery - no software involved, except of course adding the text.

I hope you like the adjustments so far. If you have any tips or ideas, feel free to let me know.

Tuesday 13 December 2011

A retrospective

Throughout our contemporary world there are many references to common denominations of time - and they all revolve around the same thing (pardon the pun).

Anniversaries of birthdays and various events are designated by a date in the year. These are also accompanied by decennaries, centennials, etc..

The moon, such an important part of our existence is also used to denote periods of time, albeit sometimes with less exactness.

So I thought why not use another cycle to mark an occasion, and look back over the years... that and I am basically a year late for the decennary.

Our planet experiences a solar cycle of about 11 years. It's still not completely understood why, and the various effects are still being studied - but after an extended dormancy our sun is starting to flare up (another pun!) and instigate various activity here on Earth.

My rambling aside - today marks 11 years since I got my first full-time job thanks to my university degree.

I never pro-actively sought after a job working with the Oracle product - in fact, my first job offer was in Sydney to work on the Collins class submarines using the Ada language - which was the teaching language of choice at ECU at the time.

So with much thought I declined that offer, deciding to stay in Perth - taking a job in a suburb many miles/kilometers from my home... using Oracle, and I hit the ground running.

Fortunately my first employer was often on the bleeding edge when it came to Oracle technology, so I learned a lot in a short amount of time.

With a little hesitation after almost 5 years I left my first employer so I could start exploring other industries (and perhaps work in town, instead of an industrial suburb well out of my way)

Wind forward to today, and I've touched on Forms, Reports, Designer, Portal, Discoverer, EBS, mod plsql, and a seemingly longish gap to Application Express.

I think more importantly, however, I've been active in my local user group. I think when it comes to advancing my career, this has been one of the most important aspects.

Participating in user group events allowed me to meet & greet others in my community, in hindsight allowing me to maintain consistent contact with my future employer (Sage). Ultimately I started presenting papers of my own, rewarding me with a best paper award at this year's AUSOUG conference.

It's also opened a number of other doors, almost like a positive feedback loop. I've reviewed a number of new Oracle books from Packt Publishing; and I've been a technical reviewer in a number of interesting Oracle books from Apress. This is another part of the feedback loop, since I'm learning & reasserting skills while reviewing books I'd want to read anyway.

As for the future? Well, from a technology perspective I think in due time my lovely employer Penny would like me to learn JDeveloper, but in the nearer future I'm more than happy to continue exploring and improving my Oracle Apex skills.

I will certainly be continuing my extra curricular activities. Amongst other tasks, soon I hope to co-author some articles with Penny; I have some more ideas for fresh presentations using the Prezi tool - limiting death by powerpoint!; I hope to finally redesign this blog and "officially" launch the new name, but that may be competing with our yearn to translate our Sage website into Apex - which will offer many new opportunities. I've just got to make sure I don't destroy the wonderful SEO work Chris Muir has put into the static HTML version.

Ultimately, it would be great to start participating in some of the bigger events around the world - UKOUG & ODTUG's Kaleidoscope, for example. It's just a little shame we're here in the most isolated capital city in the world... but it's worth it - I love living here ;-)

Friday 25 November 2011

Friday Fun - I, Robot

DECLARE
    There is a variety of comics in my RSS feeds, not too many - but what I think are some quality selections ;-)
IF you're interested THEN
    I can send a list;

BEGIN
    -- The timing is impeccable, but I think this calendar is an awesome purchase for anyone, any time - thought I'd share.
    safe_link := 'http://www.lulu.com/product/calendar/calamities-of-nature-2012-calendar/18623636'
    READ_IMAGE_FILE(
  );

    I particularly like July - the second one reminds me of an episode of Family Guy.

    Another favourite of mine => I'm a large;

EXCEPTION
    Ooh, and check out what my sister does;
    -- you might have seen it on penny's laptop at the AUSOUG conference
END;
/


SP2-0079: Procedure created with compilation warnings


SW_INTERNAL> SHOW ERRORS
Errors for PROCEDURE SCOTT_WESLEY:


LINE/COL ERROR
-------- -----------------------------------------------------------------
1/1      PLW-06009: procedure "SCOTT_WESLEY" has no coherance or distinguishable humour.


SW_INTERNAL>





Wake up, Neo.

Wednesday 23 November 2011

APEX e-mail lag

When you submit e-mail as a process in Oracle Application Express, or using the Apex_Mail API in your own PL/SQL, you are essentially first submitting it to a queue - it won't be e-mailed immediately.

I have seen this minor fact trip a few people when wondering where/why their mail hasn't been delivered.

Prior to APEX 4.x, you would need to run the following SQL to find out details about the background job that manages the Apex mail queue:
select next_date, broken, what
from dba_jobs
where what like 'wwv_flow_mail%';
Apex 4.x brings us into 21st Century Oracle by using the scheduler module instead:
select job_action, next_run_date, last_run_duration, state
from dba_scheduler_jobs
where job_name = 'ORACLE_APEX_MAIL_QUEUE';
So this also means you have a number of options to push the mail queue. You can use the API mentioned ealier; call dbms_scheduler.run_job; or log in to the INTERNAL workspace and Manage Instance -> Mail Queue -> "Send all mail"

You might also be interested in the following Apex dictionary views:
APEX_MAIL_LOG
APEX_MAIL_QUEUE

And if you're looking at setting up an email server on your swiss laptop (the laptop that does everything - yes, I just invented that term), perhaps start here.

That is all,

Scott

Tuesday 22 November 2011

AUSOUG EOY Announcements


Here are some announcements from the Australian Oracle User Group (AUSOUG), near verbatim with some personal commentary ;-)

WA AUSOUG Xmas Function - Lawn Bowling!!

All AUSOUG members are welcome to a fun filled afternoon of teams, prizes, drinks, nibbles, networking...and lots more.
Where: Perth & Tattersall’s Bowling and Recreation Club in East Perth
When: Wednesday, December 07, 2011 04:00pm - 07:00pm
RSVP: By Monday 05th December 5pm by emailing vicepresident.wa@ausoug.org.au

This is available to all our AUSOUG members - take advantage of your membership & come join us for a bit of fun.


If you're a grinch like me, don't worry - it's never too Xmas-y ;-) I find I can skip past the festive components...

AUSOUG WA Welcome New Presenters

AUSOUG are running a program to encourage new presenters.  We are getting a group together of newbie presenters with a view to developing and refining a presentation for an AUSOUG meeting and then for the conference.  If you are terrified of presenting but would like to give it a try in a group of similar minded people then contact Penny. We will be providing assistance and encouragement in determining the best presentation for you and developing your presentation techniques.

If you participated in the panel discussion in this year's conference, you may recall this being addressed. New presenters have always been encouraged and mentored in some form, we'd just like to remind everyone of the support you would receive if you would like to take the plunge. 


When I first started, I had some seasoned presenters more than happy to review my ideas and draft slide decks - even listen to my first practice if I wanted.

AUSOUG AGM

The 2011 Annual General Meeting of the Australian Oracle User Group Limited (AUSOUG) will be held at 4:30 p.m. on Wednesday November 23 at the Crowne Plaza, 16 Hindmarsh Square, Adelaide, preceding the SA Branch Christmas Party. The meeting will also be web cast for members who are not able to attend in person.
All documentation presented at the AGM will be available on the website soon after the event.
Please send any agenda items to secretary@ausoug.org.au.


To register for the web cast, head here.

The AGM isn't just for committee members, it's a forum available to all members of the user group, enabling everyone to have a say in the direction of the group. Please feel welcome to join, or contribute by providing feedback for discussion. We'd love to hear from you - but get your comments in soon!

Scott


Friday 18 November 2011

APEX 4.2 Statement of Direction

At the end of September the Oracle APEX development team updated the statement of direction for Application Express 4.2

Update
APEX 4.2 wishlist on Oracle Forums, monitored by APEX product development.
My 2012 new year blog post on the topic.

The list is somewhat smaller than the SOD for 4.1, but it seems like it will be a release that will tie off some loose ends, perhaps allowing the development team to think of grander plans for 5 - or is that wishful thinking?
No, I wouldn't be surprised if there is a 4.3 and maybe a 4.4 first...

Not forgetting the fact that version numbers are probably quite arbitrary and assist marketing more than being a true reflection of functional content. (There are no hard facts here, in fact I couldn't find the article I was going to link to suggesting this notion...)

As for the points in the SOD:
  • Mobile applications - the only delay in this being included in 4.1 was Oracle waiting for jQuery Mobile to be production ready (announcement of readiness made today!) - not Apex. This is a switch waiting to be flicked.
    I saw someone recently suggest 4.2 will be released in first half of 2012 - but do you think I can remember which particular social media mentioned that?
  • Charts - I'm not currently a heavy user of charts, but I'm sure the newer HTML 5 features will be a dream for many. I wonder though if the Apex team will add more declarative options for the AnyChart features - instead of forcing the developer to rely on customising the XML.
  • Web services - I'm not currently a heavy user of web services, either. But I know many clients who would love a more declarative & secure nature to web services within Apex.
  • Application Deployment - to me, this is what desperately needs the most attention in Apex. I have some thoughts on this that I may share in a future post.
  • Functional/performance improvements - aren't there always? I must say I like discovering the random little features dotted around the development environment.
    And I simply won't say no to even better performance.
If the APEX line-up in KScope 12 is any indication, I think next year is going to be when I really get into mobile programming with APEX.

Scott

APEX matures => sequence usage

Of course many of the new features that come with an Oracle product are well documented. In fact, it's not a bad idea to read through the entire release notes for every APEX release because they also include things like changed behaviour.

Some changes in APEX 4.1 are that minor that you wouldn't even notice them until you fall over it.

Something I found recently was the code generated when choosing to source your primary key from a sequence when building a form.

Previously, the code was a little ugly:
declare
  function get_pk return varchar2
  is
  begin
    for c1 in (select EMP_SEQ.nextval next_val
               from dual)
    loop
        return c1.next_val;
    end loop;
  end;
begin
  :P6_EMPNO := get_pk;
end;
Now it's somewhat simpler:
begin
    if :P6_EMPNO is null then
        select "EMP_SEQ".nextval
          into :P6_EMPNO
          from dual;
    end if;
end;
What they haven't done, however, is clean up the custom function example - and this is a little more noticable.
I noted this in EA for 4.0 - I think they said they've logged the change, but it still hasn't come along. While it's not really promoting this sort of code, it doesn't really have a place anywhere except perhaps an article talking about how bad it is for concurrent user environments.

Perhaps sequence usage will change with 12c?

Idle musings... Scott

Tuesday 8 November 2011

AUSOUG 2011 Conference Review

I think this year was successful. We had a superb line up this year, which inherently meant there were a few clashes on the schedule - especially for the DBAs. My apologies, some of those were hard to avoid due to many changes that were necessary in the final weeks before the conference. (thanks Qantas ;-)

My first year experience as the Program Chair was interesting, and I'm more than happy to take on the job next year. If anyone has any feedback they'd like to provide on the schedule, the conference, or the user group in general - we welcome & encourage all thoughts or suggestions.
In fact, every month we hold a committee meeting, and there is an AGM on Nov 23 that all are welcome to attend - even by webinar. Alternatively, you can send any agenda items to Tony.

We had some issues that were responded to well during the conference, and many others have already been addressed in a committee face-to-face over the weekend. Hopefully we can shake things up a little next year.

Visit here for my small photo gallery. I'm sure Ailsa will have some more professional shots available soon.

As for the sessions I attended:

Day 1
Us exhibitors started early. Too early. Well, my stomach was confused and someone was handing out these t-shirts with SAGE written in big white letters. I listened to Martin & Ian's intro, then went back to help prepare for the next two days.

Chris Muir - Ultimate Sales Pitch for ADF - While I had seem something similar during the Sage JDeveloper half day, I thought I'd listen to the skinny on why people should choose ADF. I must say, it was a pretty good sales pitch, but it made me feel like a Cobol programmer that desparately needs to update their skills!

Gabriel Ilarda OBIEE / Ray Tindall WLS - I started with Gabriel partially because I've been encouraging him to present each year. It seemed his pairing with colleague Dale had him under good control, and it looked pretty good. I had some things to do, so I snuck out and also caught a bit of Ray's look at Web Logic Server. It was going over my head, but he had a captive audience and apparently it was well received.

Alwyn Woo - OLM - Alwyn's another local I've encouraged to present. It was his first presentation and had hintered preparation, so I was impressed to see a clear, well thought out presentation. I asked a random question half way through about remote queries and he responded well.


Jeff Kemp - Simple ETL - I've worked with Jeff before on a project that involved some heavy ETL, and I was curious to hear what he had to see. It ended up being an interesting case study on a ETL project that was relatively small, but Jeff still had plenty of information to share. I was expecting something a little more technical, but to his credit Jeff did point out at the start what the deal was. Tom Kyte would have been impressed - I saw one SQL statement - a merge - that had plenty of good business logic going on. Golden rule - do as many things as possible in SQL - check!

Graham Wood - Oracle Hidden Features - One of many clashes due to such a great line-up. Unfortunately I skipped Penny's winning show - figured I'd seen enough ADF today by going to Chris' presentation earlier, and after seeing Graham in Sydney earlier in the year I was curious to see what sort of features he'd be talking about.

Day 2
My third morning with the alarm at 5am, after a few weeks of burning too much candle on both ends - this time I somehow managed to ignore it. So I missed the Introduction to the ACE program. Instead, after arriving with 10 minutes to spare, I had to find Penny to borrow her laptop (I planned to travel light), find Connor to borrow his pointer (I left my dongle in my laptop at home) and find a Burswood stage-hand (my room must have been 30C!)

Scott Wesley - Apex 4.1 Security - what an awesome presentation ;-) Actually, my run through the night before led me to believe it was going to go pretty well. On the day though I must say I had no idea how many people attended, let alone who was in the audience. Usually I'm reasonably aware of this, but my blinkers were on pretty hard! So thank you for those who voted positively... the new style was (apparently) a winner, and I think I'll stick with it when the topic or content will suit.

Mark Lancaster - 4.1 Minor upgrade or not - Given the conference lead up, I really haven't had a chance to play much with Apex 4.1 (beyond the security features), so seeing Mark cover the differences and features at the level he did was excellent.

Frank Nimphius - Adding Mobile & Web 2.0 UIs to Existing Applications - The Fusion Way - given the mass amount of Fusion content, the schedule adjustments, and my feeling that mobile UI is only going to get more important - I figured I'd check Frank's session out. He's a good speaker, but at this point I had hit a wall so I was struggling to concentrate. I believe Eddie spotted me blinking...

Panel Discussion (User Groups) - I think this was a success. We were always going to be struggling for time, but Vinod kept a tight ship. We had a good discussion with decent participation from the audience. I think we should open up topic ideas for next year. Yury has this session recorded, so stay tuned for visibility.

Chris Muir - Angels in the Architecture - I had seen Graham talk Exadata in Sydney at length, so I skipped Graham to watch Chris talk ADF blueprints. I currently lack the ADF skill to really comprehend what Chris was trying to illustrate, but he did it really well and I could see the rest of the audience was loving it.

Connor McDonald - A year in purgatory - diary of 11.2 RAC upgrade - I find Connor never disappoints, and while his presentation this year wasn't as technical as usual, his tale of hell enthralled the room. He also received a heartfelt applause when he announced (spoiler alert) the upgrade was ultimately successful - on time. Not only that, he kept the audience awake in the last session of the day.

Good work speakers, for having the tenacity to write the presentation; for having the confidence to present it; and the patience to put up with scheduling changes.

Thank you to all the delegates. I hoped you enjoyed this year's conference enough to come back again next year. Thanks for listening and appreciating our speakers share their experiences.

Special thanks to Burke, Penny, Francisco & Chris for assistance with the conference schedule, and those who reviewed the abstracts.

And a big thank you to all the user group committee members & volunteers involved in bringing it all together. This includes the exhibitors that greeted all those attending with a smile.

Let's make next year so much better.

Scott Wesley
AUSOUG 2011 Program Chair
Sage Computing Services

AUSOUG 2011 Photo gallery

AUSOUG 2011 Photo gallery

Chris explaining how ADF is like a flower...

That looks like Roen front row centre - listening to Gabriel talk BI in what I presume to be a flash Italian suit 

The Sage team listening to our Managing Director speak - I was in another room...
(Chris - other row, Eddie, Kylie, Kate, Ray, Branka)

Jeff, that's a naughty word on your slide, there

I think Debra may be trying to comprehend my slightly modified agenda
(Vinod, Tim, Debra, Connor, Graham, Penny, Chris)


I think Stanley would like to know if trampling is a crime... 
because if so, these green pigs are GUILTY!

Friday 4 November 2011

Sage Hat Trick!

Well done to the Sage team!

With the help of our wonderful support crew, the Sage team won the three best paper awards
  1. Best Ace - Penny Cookson - I missed her talk this year, but I'm sure it was full of rude jokes
  2. Best from OTN Tour - Chris Muir - finally not foiled by just as superb Connor McDonald.
  3. Best Paper - Scott Wesley - me! I'm so happy, particularly since I overslept and made it with only 10 minutes to spare!
I'll blog about my experience with the Prezi tool soon, I've had a few people asking questions.

Now it's bed time.

Cheers,

Scott

Oracle APEX 4.1 Security Presentation

As promised here is the link to the presentation I gave on 4th November 2011 at the Perth AUSOUG conference.

Update : I was awarded Best Paper for this. Thanks everyone!

I hope you enjoy it, and find it informative.
http://prezi.com/89xxuz4ekmvv/oracle-apex-41-security/



Just a shame you don't hear my, err..."charismatic" commentary ;-)

Scott

Tuesday 1 November 2011

SAGE Welcomes the 2011 AUSOUG Conference


This years AUSOUG conference is just about upon us, and I'd like to make a few announcements.

I've created a special page on the Sage Computing website that details our involvement.

We will have a booth in the exhibition centre, so seek us out. In between mingling, feasting, networking and general mucking about you might have a chance to talk with us about resourcing, training or how nice the curry was today.

You can also find members of our team presenting at the following times:
Branka promises me our booth will look stunning this year, no doubt outshone by including rest our stunning team (ahem) Kate, Eddie & Kylie.

We will also be reminding delegates of our two upcoming Perth workshops:

  • Apex 4 Workshop November 9-11 
  • Oracle PL/SQL 11g Workshop 21-23

Talk to us for further details, we should have pamphlets available - right next to our freebies!

Swing by, there might be some other surprises.

**

With my 2011 AUSOUG Program Chair hat on, please check the AUSOUG conference program page for the latest updates - it's been a tough battle keeping the schedule still with the turbulence this year ;-)

To print it was updated 1st November. If you are interested in attending the panel session on Friday just after lunch - think about e-mailing us a question for the panel to discuss.

Something else you haven't seen before - on the second morning we have Dennis Ward introducing the Oracle ACE & Java Champions program at 8.25am, so grab a coffee/tea and come by Astral 3 to find out what the deal is with all the ACEs on the program.

Then later, after lunch listen/join in on a discussion with a panel of experts moderated by kind Vinod Patel - they will be talking about how user groups can help improve your career, and maybe even become an ACE yourself.

**

I look forward to meeting those I haven't met, and greeting those I haven't seen in a while. And a cheerio to those that I saw just the other day!

Bring on the food.

Scott

ps - if there is one presentation you should see, just for something different, check out Connor McDonald at the end of the last day. You'll come out laughing, and ready to find out which bar people are heading to!

Tuesday 18 October 2011

Updates to the AUSOUG Conference schedule

Some of you may have received an e-mail today from the AUSOUG conference manager regarding some examples of new sessions included in the line-up.

This year we've been lucky in that we haven't had to make many adjustments to the program due to issues like international speakers having visa problems. Last week however we had a bit of rearranging to do to fit in the new sessions without creating conflicts.

There haven't been too many adjustments, most of them just different times on the same day - but I know some of you out there only come for the one day, and often select which day based on particular sessions. You might want to visit the conference program page to check out the latest changes, as of 17th October.

If you haven't looked at the line-up for a while, you may notice at 1:45pm on the second day there is a panel discussion titled "Presenting: from novice to expert - How your user group can improve your career"

Our panel members will be

  • Debra Lilley
  • Chris Muir
  • Connor McDonald
  • Penny Cookson
  • Tim Hall
And Vinod Patel has kindly accepted to be the ring leader keeping them all in line ;-)
Vinod is also talking to Oracle WA to have a representative from Oracle up there as well.

I'm currently sorting out the agenda with Yury Velikanov, who has just started a LinkedIn and Facebook group for the Perth conference. He's also started a discussion to accept any questions you might like to put to the panel. If you submit them now, we can better prepare for the day and have a better chance of your question being answered. We want to make the session as interactive as we can, and eke out as much advice from our experts as possible!
If you can't make it to the conference, but have a good question you think should put to the group, feel free to post it anyway so others may benefit. I'll comment about the session after the conference and I might be able to share any wealth I can remember.

If the panel isn't your thing, we have an alternative session on that time slot by Bryan Frew from Oracle. He will be talking about an interesting case study on Business Process Management (BPM).

Other additions include
  • Graham Wood on Exadata - You may have seen him as part of the trio at the Real World Performance day post-Insync. He'll give us a much closer look at what's involved in constructing an Exadata environment. This will be in lieu of Graham's hidden features presentation.
  • Yury Velikanov - This fellow is back from Oracle Open World, and since there have been all sorts of big announcements from Oracle, we've substituted one of his more appropriate & timely presentations in.
  • Chris Muir on ADF - If you want to know anything about ADF, Chris is the man to talk to. He is an ACE director for the product, and we now have a second presentation to include from him. He's first presentation on day one will introduce ADF and it's strategic & practical use in our industry; then he'll follow it up on day two with an architectural blueprint on application delivery. Chris is currently instrumental in a large Forms -> JDeveloper migration in Perth. You can find commentary on this here.
Never fear, though - I'm still due to present my chat on options for security in Apex 4.1 first up on day two. I won't be using boring old powerpoint, so come by to check out something a little different ;-)

Scott

Wednesday 12 October 2011

Three AUSOUG announcements (incl free breakfast!)

If you like a free breakfast, then you should visit the Perth Oracle Building on Friday Oct 21 from 7:30-9am. Visiting Victorian branch president Barbara Rabinowicz will be presenting on Oracle Database Security.
Oracle database security is a topic that impacts on ALL Oracle professionals.


Database security is an important aspect of the database which is often overlooked. This presentation will cover the security and auditing aspects of the database. It will include securing methods, monitoring and auditing techniques of the database environment in areas of network security,authentication, authorisation issues, links, replication, database Trojan and more.


The session will include a demo of configuring Oracle Network Encryption.
Oracle Australia: Level 2, 66 Kings Park Road, West Perth
Ticket parking is available in neighboring streets, and it's also not far from the peak of the Red CAT bus route.
RSVP to vicepresident.wa@ausoug.org.au.

I had the pleasure of meeting Barbara at Insync11, and unfortunately I missed out on her talk while over there - so here's everyone's chance from Perth to see her in our final event before the conference, and remember - breakfast is free - and based on the last event, quite tasty.

We have lined up something a little different in one of the keynote slots at the AUSOUG conference this year - we have lined up an informal style panel opening the floor to discussions regarding a career that involves public speaking as an Oracle expert.
Panelists coming (almost) straight from OOW including Yury Velikanov, Debra Lilley, Tim Hall, Connor McDonald & Chris Muir.

More details to come soon.

And we have some updates to the schedule with people bringing even more information straight from OOW - Paul Kangro from Oracle will be lettings us know about
  • Oracle Enterprise Manager 12C – Managing in the Clouds
  • The New OVM 3.0 – Virtualization from Oracle
We also have meet the speakers program, facilitating opportunities to have a 15 minute discussion with some of our experts. Email our conference manager for more information or register soon!


The WA committee has also organised an end of year party for all our AUSOUG members. This year it will be fun filled time lawn bowling at Perth & Tattersall's Bowling Club, 2 Plain St Perth from 4pm Wednesday December 7th, 2011. Further details will be available closer to the event.

Hope to see you soon!

Scott

Monday 10 October 2011

Upgrading to APEX 4.1

Today I finally upgraded the APEX instance on my laptop to 4.1, and I'm very keen to start playing with the new goodies once I start finish my AUSOUG conference presentation.

When installing/upgrading anything Oracle, it's always a good start reading through the relevant installation notes. In my case, I started here:
Installing/upgrading with Apex Listener
http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21673/otn_install.htm#BABEHJHG

I've heard some people are a little daunted sometimes with these notes - it's a shame because they are useful & concise. I've summarised the steps I needed to take below - as out of that page I linked to above - I only needed to apply a small percentage of commands. (I have APEX running on Glassfish on a Windows box)

1) First, I downloaded the software I needed for my system. Googling "download oracle apex" is always the best place to start for getting what you need.

I unpacked it to a fresh folder on my C drive:

2) Then I opened up SQL*Plus, ensuring my "Start in" was set to "c:\apex41", then logged in as SYS.
I ran the following script, which took about 15 minutes to run through and rejig my APEX 4.0 to 4.1
@apexins apex sysaux temp /i/

3) Then I had to copy all the images to my application server folder. APEX 4.1 has some fresh icons & updates to various supporting software like JQuery - so that needed to be updated.
However before I did this I backed up my existing images folder as I had modified some themes.
This is the command I executed:
xcopy /E /I C:\apex41\images C:\glassfishv3\glassfish\domains\domain1\docroot\i

The first time I ran I had permission issues overwriting the files, so I turned off read only for files in the folder. I probably should have thought a little harder over this, but since this laptop is very much localised just for my use, it didn't concern me much.

4) Before I did any cleaning up, I wanted to ensure I could log into the updated 4.1 instance, so I opened up the APEX log in page only to see the following error:
ORA-01658: unable to create INITIAL extent for segment in tablespace APEX

Turns out my tablespace was full, so I added another datafile:
alter tablespace apex
add datafile 'C:\app\Scott\oracle\11.2.0\oradata\sw11g\apex_b.dbf'
SIZE 500M;


From then I was able to log in successfully.

5) Then I decided to clean out any old users I had, so I ran this slightly modified SQL to list the users I could drop:
SELECT 'drop user '||username||' cascade;' ddl
   FROM dba_users 
 WHERE (username LIKE 'FLOWS_%' OR USERNAME LIKE 'APEX_%') 
   AND USERNAME NOT IN (
        SELECT 'FLOWS_FILES' 
          FROM DUAL 
         UNION 
        SELECT 'APEX_PUBLIC_USER' FROM DUAL 
         UNION
        SELECT SCHEMA s 
           FROM dba_registry
         WHERE comp_id = 'APEX');

DDL
----------------------------------
drop user APEX_040000 cascade;
drop user APEXLIB cascade;
drop user APEX_030200 cascade;
And after executing those drop statements my tablespaces got a little lighter anyway.

6) The only issue I've spotted so far is my modified login page, (thanks to Peter Raganitsch)
When opening my log in page, I noticed the following error in my console window - and my modifications weren't showing;
Error: uncaught exception: Syntax error, unrecognized expression: [src$=apex-logo-white.gif]

A quick google revealed this sort of response:
http://forum.jquery.com/topic/error-after-upgrade-to-jquery-1-5-in-img-src-new-png

So in our case this is probably due to the APEX team upgrading from JQuery 1.4.2 to 1.6.2 - so keep an eye out for that when you test your existing applications, if they use JQuery.

So I had a play with the code in the ApexLib_Loginpage.js script. I had to change this:
var vLoginTitle$ = jQuery("img[src$=apex-logo-white.gif]").parent();
to this, noting the quote usage:
var vLoginTitle$ = jQuery('img[src$="apex-logo-white.gif"]').parent();

This meant lines containing the bold also needed modification (to what you see here)
var vLoginRegionLogoImage$ = jQuery('img[src$="apex-db-apps.png"]');
jQuery('a[href^="f?p=4550:7:"]').parents(".rounded-corner-region").css("display","none");
jQuery('a[href^="f?p=4600:6:"]').parents(".rounded-corner-region").css("display","none");
jQuery('a[href="http://forums.oracle.com/forums/forum.jspa?forumID=137"]').parents(".rounded-corner-region").css("display","none");

So the upgrade took about 15 minutes computing time & about half an hour of my time, plus me sledgehammering jQuery to make it work.

Happy coding! Now, about that presentation...

Scott

Saturday 8 October 2011

Advert: Sage Training for Apex & PL/SQL

Hello to all from Perth, Australia (and beyond if you like)

Sage Computing Services have just scheduled two courses for November:

Oracle Apex 4 Workshop => 9-11th November
PL/SQL Workshop => 21-23 November

Both will be held in the Perth CBD, please e-mail us if you're interested in further details.

Cheers!

Scott

ps - we don't often put on PL/SQL training here in Perth - get in while you can!

Thursday 6 October 2011

He started a fruit company...


Sometimes I find it hard to think of some people without thinking of references to pop culture.

Edit: This post from Brian Dunning is a timely & worthy read regarding treatment of health issues with modern medicine vs naturopathic woo

There are people in this modern world live their lives as best they can - grow up, get a job, get married, work hard, retire when they can. No doubt making many mistakes along the way, hopefully learning from each and every one.

Other people also live their lives the best the can, making similar mistakes, but for whatever reason taking hold of different opportunities, then start affecting the lives of many others - either directly or indirectly.

Two sets of people, different paths, same result. We all have an expiry date. Some sooner than others, some know when the end is near, others find it unexpectedly - some don't even see it coming.

One person might end their life with billions of dollars in their pocket, the other may have saved enough for a dream holiday one day once they retire.

Either way, I just hope both of them have enjoyed their life, perhaps finding a profession they love. One where they can go to work every day and do it with enthusiasm.

And if they are lucky enough to finish up with mega-bucks in the pocket, I hope they eased off the hard work, regularly spent time with the people they love, and doing the things they enjoy.

Because at the end of the day, there are some people out their with the sole purpose of seeking wealth - but to what end? If you die with a million dollars in your pocket, but haven't found happiness or contentedness - has it been worth it? Did you "win" because you finished with more money than the next person, or did you enjoy your life because of what you did every day, because of the people you touched?

Idle thoughts.

My condolences to the family & friends of Steve Jobs.

Upgrading APEX Listener on Glassfish

I can't believe it was July when I blogged about a problem with my Glassfish server.

Since then Oracle has release APEX Listener 1.1.3 (September 2011)

I thought I'd finally upgrade, and I was surprised how simple it was.

If you're using Glassfish already, check out the notes for upgrading APEX listener with Glassfish. The details are super simple and fit on one screen.

First I went to my Glassfish Administration module at http://localhost:4848
It took a while to respond, and so did logging in - the rest of the process for upgrading the listener didn't even take as long.

Clicking on the Application node took me here
Then I disabled my Apex deployment
Clicking on deploy enabled me to select the WAR file from my APEX Listener download, which I extracted to C:\app\Scott\apex_listener_113\apex.war
And it was enabled straight away
I opened my APEX login URL (without the trailing slash, which was the bug I wanted to avoid) and presto, all was good!
Next I need to upgrade my local instance to 4.1...

While in the Glassfish Administration console, I noticed there were 47 updates available to my Glassfish server. 
So I attempted to upgrade them all, but received the following lovely error:
manifest of pkg://release.javaeesdk.sun.com/glassfish-bundled-jdk@1.6.0.26,0-3.1:20110525T211958Z has duplicates: file: path=jdk/register.html & file: path=jdk/register.html

So I decided to call it a night - if it ain't broke...

On a final note, if you would like to use Glassfish as your proxy between your web browser as the Application Express engine, check out the installation notes. This would be instead of using a dedicated HTTP server, which might be overkill for your laptop; and the basic XDB HTTP server embedded in the database - Embedded PL/SQL Gateway (EPG)

Enjoy.

Scott

Tuesday 4 October 2011

Today's post is brought to you by the letter 'C'

I may not be at OOW11, but I've been listening to what's going on - one thing I did notice was the announcement of one of Oracle's latest products: Oracle Enterprise Manager 12c

I was joking with someone just the other day about what letter they were going to use for Oracle 12, and suggested perhaps C is for Cloud.

Careful what you wish for... this statement accompanied the press release:

Oracle Enterprise Manager 12c is the first product in Oracle’s portfolio numbered “12c” where the “c” stands for Oracle’s significant investments in delivering cloud-ready products

This of course follows
8i - Internet
10g - Grid

It already makes me wonder - what is going to be the next big thing in 5 years time. One suggestion:
"M" - Mobile. Yes, mobile technology is ubiquitous now - and that's what cloud technology is all about, but what's Oracle going to do with it? Whack some specially designed database on your latest octo-core, 8GB RAM, post-SSD  mobile device?

People like Tim Hall will have you thinking Oracle will come out with something like 13OGC, or some cleverly branded acronym/mnemonic...

What pace our technological world grows in, huh?!

Scott


Thursday 22 September 2011

Apex Tutorial: Adding a Read Only Option

Last week Recently I published a tutorial walking through setting up a form and report on the same Apex page. This one done using out of the box functionality, without the use of dynamic actions. Hence this is aimed at those learning the Oracle Application Express development tool.

Edit Feb 2012 :
Bug 13587192 Quick picks are displayed for read-only page items and in Printer Friendly mode
Has been included in the 4.1.1 patchDemo; OTN Forum entry.

We can take this a step further and extend this functionality to open the record in read-only mode first.

1) Modify report link to pass P6_MODE = R, instead of E
Now we have three "modes" View (which doesn't display the HTML region), Read only & Edit.

2) Modify all form items to apply read only condition to P6_MODE = R
Now when you click the link for an employee record, the form initially opens in read-only mode.

3) Modify HMTL region condition to be :P6_MODE IN ('E','R')
We need this region to display in edit and read-only mode.

4) Extend Delete/Save buttons conditions to include :P6_MODE = 'E'
ie => :P6_EMPNO IS NOT NULL AND :P6_MODE = 'E'
We don't necessarily want these buttons being displayed in read only mode. 

5) Create Edit button in the HTML region
You could add an authorisation condition on this button to make editing records available only to privileged users.
* condition :P6_MODE = 'R'
* redirect to page 6 
* passing parameter P6_MODE = E

The problem now if if you have, for example, quick picks on any of your items - these will still be displayed as the read only option only adds the class="display_only" tag to the item definition:
6) So to clean this up, we need to make a copy of item P6_JOB
Use nearby sequence number to create the copy in the same position on the page.
My job field sequence was 30, so I chose 35
7) Remove the quick picks option from copied item P6_JOB_DSP
These are the options we don't want displayed in read-only mode. The user can't save the change, but it looks untidy.

8) Add display condition on P6_JOB_DSP as :P6_MODE = 'R', retaining the existing read only condition.
Alternatively we could set the item type to display only, however we still only want it appearing in read-only mode.
9) Add display condition to P6_JOB as :P6_MODE = 'E'
The original item only needs to appear in edit mode.

We now have a functioning read-only mode option, with an Edit button available to re-open the page in edit mode.
The item list in the page builder will now look more like this:

Run the demo to see it in action.
There are other techniques demonstrated on this page.

I hope that further helps your understanding of some of the concepts available to the Application Express environment.

Scott.

Wednesday 21 September 2011

Apex Tutorial - Form & Report sharing the same page

During some training recently I walked through the "Form on a Table with Report" wizard to create two pages - one report listing records from a table, which then linked to a form page allowing edits on that table.

I was asked how you could amalgamate the two pages into one. Here is a tutorial that completes this exercise from scratch.
Note: if you have existing pages already defined, I would recommend you copy the report region onto your Form page, and modify the relevant attributes - then remove your report page.

1) First, create a form on page on a table - I use the sample EMP table
* When prompted during the create form wizard, set branch for apply/cancel to the same page you're creating. Note in my case it's page 6.

Now we have a basic form page, where most of the hard work has been done by the wizard, such as defining page processes, branches and item definitions.

You form will look something like this to start with:
2) Now create a report region listing employees from EMP
 This will show a simple report underneath your form:
3) Create item P6_MODE
This will be the catalyst for showing/hiding certain components on the page
4) Create a button called NEW on the Employee List report region
This will allow you to create a new employee record
Action details:
* redirect to 6
* set parameter P6_MODE = E
* clear cache => 6
* condition => COALESCE(:P6_MODE,'V') = 'V'

5) Modify the Cancel button action to set P6_MODE = V
This ensures your page returns to status quo when the cancel button is pressed

6) Modify the branch defined by the create form wizard and pass parameter P6_MODE = V
Whenever you submit your page, it will now return it to status quo

7) Add condition on HTML region that contains your form items to check :P6_MODE = 'E'
Now your form region will only appear when in "Edit mode", such as when the New button is pressed or the user edits an existing record (next step)
8) Modify EMPNO column in the report to become a link
This will allow your user to edit an existing employee record. 
While in the report attributes page, I set the column headings to custom and cleared the heading for EMPNO - just to tidy up the display a touch.
* redirect to 6
* set parameters P6_EMPNO = #EMPNO# and P6_MODE = E

You should now have report page that displays the form region when the New button is pressed, or when you click to edit an existing record. The form region will disappear again once you Apply/Delete/Cancel.
Above is "status quo"; below while editing an existing record
I hope that helps, and I also hope it made sense. I made certain presumptions about you finding the relevant settings - otherwise there would be a real flood of screenshots!

Here is a screen grab of the page builder after all the modifications have been made (the row fetch page render process is off-screen, and shared components section not displayed)


Run the demo to see it in action.
There are other techniques demonstrated on this page.

Check out this tutorial to extend this functionality by adding a read-only step.

Scott

Short Oracle Forms Survey (Whitehorses)

Still using Oracle Forms?

Why not participate in this quick Forms survey at Whitehorses.

It has 9 short questions and only takes a couple of minutes.

Get it done ;-)

Scott

Tuesday 13 September 2011

Perth 2011 conference program available

Yep, this year's AUSOUG conference program is now available.


It was quite a challenge putting it together, and I thank those involved in helping out. It's not yet final, but gives a good indication of how strong it is this year. I count 3 Oracle Aces & 9 Ace Directors - plus a few quality speakers not (yet) recognised by that particular program.

The early bird special finishes at the end of September, so why not register early to see speakers such as:

  • Local
    • Connor McDonald
    • Penny Cookson
    • Chris Muir
    • Mark Lancaster
    • Yury Velikanov
    • Gavin Soorma
  • International
    • Graham Wood
    • Francisco Munoz Alvarez
    • Debra Lilley
    • Craig Shallahamer
    • Tim Hall
    • Ronald Bradford
Plus me, of course

All covering topics ranging through Fusion Middleware, Apex, ADF, EBS, DBA interests and even MySQL & Java.

Burswood is a fantastic venue, hope to see you there.

Scott

Friday 9 September 2011

Oracle in pop culture

Twice this week I noticed Oracle mentioned in a web comic.

The first was Dilbert joking about the patent infringements amongst all the major companies at the moment - of which you could probably find a zillion info-graphics looking like this these days. I think Scott Adams had a flaw in the middle frame however - there is no way Google, Apple, Microsoft and Oracle would join forces. Oracle & Microsoft alone are justification for that - evidence in that the Windows version of SQL*Plus is no longer available from 11g, and SQL Developer is as portable as my Android phone.

What I did enjoy however was this from BonkersWorld.
Having just come from an Oracle conference, the comparison of more power for less cost seems spot on! Mind you, the other vendors seem well represented also. Looking through the archives, I found another suggesting Oracle will just sue you if necessary - I think perhaps they might buy you out!

Nothing quite so simple as this though, comparing computer updates for Apple, Windows & Mac.

My question for you is - have you seen Oracle mentioned in a web-comic or something similar and you think it's worth a giggle? Please comment below.

Scott.

Thursday 8 September 2011

APEX performance presentation

At the Insync conference in Sydney I experimented with a different presentation technique.

I've forgotten already where I stumbled across it - might have even been somewhere on twitter - but it's called Prezi. I did have a fear that I would instill motion sickness onto my audience, but after some initial feedback with a prototype I decided to go for it.

My topic was Oracle APEX Performance, and I originally presented it as a powerpoint slide deck at last year's AUSOUG conference in Perth (Nov 3-4 2011, btw).

So I updated and converted it to the Prezi format, which can be found here:
http://prezi.com/gfmw8q_gstcl/n-methods-to-improve-apex-performance/

A link to the PDF version of my powerpoint display can be found here. Yes, in writing that it does seem a little strange, I'm not sure why I didn't publish the PPTx version - not that there would be much difference.

I certainly learned a few things from the experience - things that worked and things that didn't. I have plenty of visual ideas for the topic I'm doing in November, to try and further embrace the prezi style instead of thinking "slides".

I don't think the technique will work for everyone. Connor certainly has a unique style, similar to Larry Lessig and further pioneered in IT by Dick Hardt. A great write up can be found here. If you've never seen Connor present, you must make it happen. He makes powerpoint his own and will rip through a zillion slides in less than one hour - and you'll come out very much entertained!

I don't think Connor could adapt his slick style to the prezi format, and I think many technical presentations would be difficult to translate. I found when converting my original presentation I had trouble "forgetting" the powerpoint way of thinking. I think when I do my next one, since it will be fresh I'll be able to plan the layout a little better and provide something more fresh & creative. I found myself jotting ideas down as I listened to people speak at Insync. It will be on APEX 4.1 security.

If you come along to our Perth conference you can experience it first hand! ;-)

Now, to start writing it...

Scott