Posts from 2021

Agile development with Oracle APEX

Tim Hall recently made a wonderful suggestion that the Oracle community remember the much missed Joel Kallman on 11 October 2021.

My contribution doesn't demonstrate APEX technical wizardry. Instead it's a short story from a real-life customer project implemented using APEX. Just to avoid any potential law suits, this post isn't about Agile development either - more how APEX can be used to quickly respond to changing customer requirements.

One particular post from Joel stuck with me about his attitude to customer service which can be encapsulated in a single line:

'Treat the customer (and really everyone) with respect and dignity'.

I work for Oracle in the UK and am currently working on an APEX project for a customer. This APEX application uses corporate single-sign-on (SSO) for authentication and a simple custom authentication scheme that uses group membership to control access to data (only members of the 'Sales' group can see 'Sales' reports).

Monday - 10:40

The program manager (not the project manager) sends me an email that strikes fear deep into my soul:

'Hey Norman, I need a quick Excel spreadsheet summarising the current list of users and their groups'.

A few years ago, I probably would have done this in SQL*Plus or SQL Developer and struggled to massage the output into the desired format. Now my immediate thought was 'This is a simple APEX report with a control break'.

I quickly created a APEX report and clicked 'Actions - Download' to quickly produce the Excel spreadsheet. I then had to waste time transferring the file before finally emailing the spreadsheet to the customer for review.

Joel Membership

I had produced an Excel spreadsheet and it was undeniably 'quick' so I had clearly met both requirements. Time to put the kettle on.

Monday - 11:57

'That's great. Thanks but I also see to see members of the 'Admin' group'.

A trivial addition to the WHERE clause and I was about to repeat the whole tortuous process until I remembered we had already configured the Email Delivery Service on OCI for a different requirement.

I checked the output and again clicked 'Actions - Download' but checked the 'Send as Email' option.

Joel Download Email

As I simply love recursion, I sent the program manager a FAX to expect an automated email from the APEX bot imminently.

A nice feature of 'Send as Email' is that the recipient gets a link to the APEX report in addition to the Excel spreadsheet as a file attachment.

Monday - 15:32

'That's great. Thanks for the prompt turnaround'.

Tuesday - 09:17

'Hey Norman - I shared this Group Membership report with Julie and here's a list of more people who need to be added to the Admin group before the production deployment. Please send Julie and myself a copy of the updated report'.

Again, I added the list of users to the Admin group and sent the email adding Julie on 'Cc:'.

Tuesday - 13:47

'That's fantastic. Julie has now shared the Membership report with Graham from Operational Support and he was wondering whether you can email this report to him daily from now until a month after production deployment'.

Again, APEX provides an out of the box solution for this called 'Report Subscriptions'.

Joel Subscription

Not so much 'low code' as 'no code'. I simply added a 'Subscription' to the 'Membership' report and emailed it to Graham daily starting now and ending on 30 November.

BetFair should really be called BetUnfair

UK

Im not really a betting man. Mainly because Im a scientist.

On Grand National day, we normally nominate two or three horses each and someone wanders to place our bets at the bookies round the corner. My daughter normally wins.

Also, we might cut up the runners from the Daily Mail supplement and do a lucky dip sweepstake.

I also used to routinely bet on the final score and first scorer in the FA Cup Final to add some interest (if United weren't involved).

I don't do 'Accumulators'. I don't do 'in-match betting' (despite the repeated urging from Ray Winstone) aired during every single live football match.

I don't buy scratchcards. I don't do the lottery. I have never visited a casino. I don't play poker.

I prefer to gamble any spare money on the stock market or cryptocurrencies.

However, some years ago, a mate was talking about short-term, real-time, matched betting on the General Election outcome and making some money which piqued my interest.

I opened a BetFair account and placed some long term bets about United and the Premiership. I was interested in the possibility of cashing out before the bet expired.

I won two bets and lost three but using the 'FREE MATCHED BET WHEN YOU OPEN AN ACCOUNT', I came out even and forgot about it.

Today, I received an email from BetFair inviting me to 'Verify my account'. Even though, this account has been dormant for two years, they still had to verify it.

I went to login, not to verify my account but to check the balance was zero and then close it.

I'd forgotten my password. No problem. Click the 'Reset password' link but no joy - 'Your account has been suspended pending Verification'

Go to hunt on the Web site for an email address (which is quite rare these days) or a Contact Form (also quite rare) so had to content myself with 'Online Chat'.

15 minutes before an agent responds due to 'Exceptional demand'.

I explain the Catch-22 situation. I want to verify my account but I can't login to verify my account. I can't reset my password until I verify my account.

The customer service agent (eventually) starts to assist me by asking for 'Proof of address' and 'Proof of identify'. This requires a scan of my driving licence and a water bill.

The driving licence fails 'Validation' - presumably because it's the old style 'Classic' paper driving licence and doesn't contain a photo of me at 22 years old.

So I am forced to upload more personal data - a scan of my passport. This is acceptable. Hurrah !

He then sent me a 'Reset Password' link and I have now regained control of my BetFair account.

As I suspected, the account balance is zero so I can go ahead and close it. Look around for 'Close account'. Nothing. Google tells me that 'Contact customer service if you want to close your BetFair account'.

Thankfully, the chat window is still open so I politely ask the gentleman that, instead of loading my account with £100 to bet on tonight's Europa League fixtures, I just want to close my account.

'Yes. I can help you with this but company policy demands that you provide a reason'.

Well, I initiated this process a full 90 minutes ago so I was a little frustrated but it was a background activity so I just replied:

'Sure. 90 minutes to reset my password. The invasive and unnecessary requirements to share personal data over an insecure channel - simply to verify a dormant account to then close it'.

'Thanks'.

'Oh and also add - The fact you can't close your account from the Web site and customers are are forced to contact Customer Service. Imagine if I was a problem gambler struggling with debt and desperately trying to close all my online betting accounts. BetFair deliberately make this hard for me'.

'I am pleased to confirm your account is now closed'.

And all the online betting companies have the gall to post that 'Gamble Aware' logo on their sites and adverts.

[ This post doesn't contain any affiliate links to BetFair as I truly believe the gambling industry is immoral, insidious, untruthful and responsible for a lot of personal heartache, significant debt and in cases, people being driven to despair and ultimately taking their own lives ]