Thursday, October 25, 2012

Apple iOS6 Calendaring bug Affecting Exchange (and by extension, Lotus)

One of the things that the company I work for (and most others) do on a regular basis is send meeting invites to people at other companies and on various other systems.  Notes meeting handling isn't perfect and we've had trouble with Blackberry and Google calendars in the past, but nothing like the trouble we've had this week.

It seems that when we send a meeting invite out and one of our recipients cancels, they take over the meeting as chair and cancel it for the remaining participants too - even if they've already accepted.

It's taken us a while to get our head around the problem, particularly as it happened with several different meetings and multiple outside sources.  Naturally, you presume that several systems out there can't be wrong and it must be a problem at our end - even if we haven't changed anything.  Right?


As it turns out, the recently released Apple iOS 6 has a flaw which trips up Microsoft Exchange systems not configured according to best practice.  Lotus Notes/Domino handles things a little differently and we end up with two meetings but the net result is the same - embarrassment.

It's been widely reported but in case you've missed it, here's a notice from MacRumors.

For the time being at least, we're recommending that our people don't accept or reject meeting notices via phone.  It's something I don't do because I had similar problems with may blackberry/google synch but this is  the first time we've had to issue a company-wide warning.

Hopefully Apple and Microsoft will sort this one out soon.

Friday, September 21, 2012

How to Disable Phone-based data for the iPhone 4S

Why would you do this anyway?
With the mobile data connection disabled, the iPhone can still hook into wireless networks, including those at home, in shopping centres and hotels, at McDonalds and Starbucks, on public transport and at the office to surf the internet and to receive data.

It just won't be able to access data where there is either no internet wi-fi connection or where you haven't set it up.  As a means of keeping mobile costs down however, the wi-fi option is certainly better than a mobile data one.

In particular, if you're travelling overseas, you'll want to disable the high-cost mobile internet option.

Why can't I just use the Airport Mode?
Airport mode is designed to allow your phone to be used on aircraft (once the plane has levelled out).  It will prevent the phone from receiving calls effectively turning it into a brick that plays games.

Why wouldn't I just change my plan?
You certainly could change your plan to not include data however this would mean that it would be "permanently off" at least until you change your plan back.  The way suggested in this post is better. If you get stuck somewhere and you suddenly need data access back, you can simply turn it on.

Ok, I'm convinced.- how do I do it?
On your iPhone, go to,

  • Settings 
  • Then General 
  • Then Network 
  • Locate an entry marked Mobile Data 
  • Slide it to Off
  • That's it. 

Thursday, September 20, 2012

Moving from Blackberry to the iPhone 4S

Before I start on this series, I want to make my starting position clear.  I'm generally "phone-agnostic".  I've had a Blackberry Bold 9000 for years and before that it was a Blackberry 8800.  Prior to that I had a Nokia "dumb-phone".

My only non-work phone choice recently was a HTC Android device for my wife.

I've never spent much time with Apple and I've traditionally disliked their computers.  I guess that means that;

1. You have to take any criticisms here with a pinch of salt.
2. If I end up really liking the device, then it's even better than I say.

The longer term plan for this series will be for me to start looking at how to use Lotus Traveler to make the iPhone a secure device like Blackberry.

Initial Thoughts

The apple packaging is very slick and much nicer looking than the blackberry packaging.  (A win to Apple).

The apple device weighs considerably more than the blackberry bold - probably twice the weight actually. It feels much more solid but sooo weighty. (Easily a win to Blackberry)

Sim Card Installation
The iPhone has easily the worst sim card installation facility I've seen. You have to have exactly the right size paperclip to open the sim door.  My paperclips were all too big. Then it needs a smaller size than standard SIM, which meant that I had to go find a Telstra shop.  (Massive win to Blackberry).

Very, very painful.  I found typing on the apple keyboard to be difficult enough and for some reason, it didn't rotate to the wider version when I tilted the phone.   Note; A day later and my typing is very much improved.  Still not up to Blackberry speed, but much better.

Regardless, the apple setup really annoyed me - especially with it needing to create all these accounts and things.  So, I'm going to give that win to Blackberry too.

It took me a short while to remember to  use the big button at the bottom of the phone but it's started to become natural now.  I do miss the blackberry menu button because the menu isn't always obvious on the iphone but I'm getting used to it.  I'll call this one a draw.

This was where the iPhone suddenly started to come into its own. Blackberry has come a long, long way over the last few years but the iPhone completely left if for dead.  There's simply no comparison when it comes to application location and installation.   A massive win to the iPhone.

Interestingly, the wi-fi coverage on the iPhone was not as good as the blackberry. I needed to be closer to the access points in order for it to work.  That's a win to Blackberry.

I'm not sure about this one yet because I'm still trying to find (without cheating) iPhone features however I've found some really good ones - like being able to shut down the phone-data connection while leaving calls and wi-fi working.  I'll post a how-to on that later.  I'm going to give this marginally to the iPhone because although configuration is harder to find, it's certainly more functional.

Business Systems Integration
I got the iPhone to connect to IBM Lotus Traveler easily enough and established a connection to my Gmail without difficulty.  Getting my gmail contacts populated across was a little tricky (since you have to choose Microsoft Exchange !!) but it worked.  I've also managed to set up a VPN connection to work and remote desktop my computer - all free of charge.  I'm impressed.  This one goes to the iPhone.

So there you have it.  At the moment, my scores are dead even but I'm beginning to suspect that I might end up liking the apple device. 

Packt Celebrates 1000 IT Titles with a FREE Gift

You may remember that I've reviewed a few of Packt Publishing's books on this site in the past;

PACKT Publishing is releasing their 1000th IT title this month and are celebrating the event in style.

Anyone who is already registered with Packt or anyone who signs up for a free Packt account before 30 September 2012 will get a surprise gift.

So don't delay, head over to Packt and sign up.

They have easily the best collection of domino books and you might snag yourself a bargain as well as a surprise gift.

Other Useful Packt Links

Wednesday, February 29, 2012

Adjusting our Word VBA Macros for Office 2010 (64 bit)

We've had it easy these last few years. You could just upgrade Microsoft Office and not have to worry about file compatibility or about your macros not working.  I was just beginning to relax.

Unfortunately Microsoft never relaxes and the latest "innovations" extend past the annoying ribbon interface (I've been using it for over a year and I still consider it annoying) to clobber both file formats and macros.

The File Format Problem
The file format problem is easy to fix. First of all, I've changed our defaults to save in Office 97-2003 format.   There's no sense in our company posting files for public consumption in a format that they can't read. In case you're wondering where to change this, click File, then Options and click on SAVE.

If your fleet is still using Office 2003, you can download a compatibility pack which will enable it to read the new office formats.

64 Bit API Declarations
This next bit is a little frustrating.  We rely on INI files in our Macros as they're much simpler than the registry and we can easily get our Notes/Domino apps to write updates into the files. It's all good for automation.  Unfortunately the 32 bit API calls won't work any more.

To get around the problem, replace this;

Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As String, ByVal lsString As String, ByVal lplFilename As String) As Long

with this

Declare PtrSafe Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long

Declare PtrSafe Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

The remainder of your INI file reading routine should run without changes.

Unavailable Objects and those Nasty String Function Errors
This one is a nasty one.  Sometimes you'll try to open a macro that contains an unusual object, such as a calendar control.  Word 2003 displays a dialog box which says;  "Could not load an object because it is not available on this machine".  This was helpful.  

Unfortunately, Word 2010 doesn't mention the offending object but instead assumes that all internal string functions, such as LCASE$, UCASE$, LEFT$, RIGHT$, MIDS$ and TRIM$ are external functions in the missing component.

It highlights the first string function and says "Can't find project or library" which promptly sets you off on a wild goose chase.

To fix this problem, 
  1. Stop your macro
  2. Click Tools, then References (if this is greyed out, you didn't stop the macro).
  3. Find the problem Reference in the list and deselect it 
  4. Click Ok.

You'll also have to replace your missing element with a similar control, such as a text box and adjust any code which refers to it.

After that though, you should have a working, if a little disabled, macro.  Now I just need to find a 64 bit calendar control.

Wednesday, February 22, 2012

How to Create an Auto-Response Mail Message in Lotus Notes 8.5.3+

Why would you do this?
Suppose that you have an externally accessible generic email address for your company; or

You might expose this to the web and allow people to send messages to you.

Setting up an auto-response email will tell the senders that their message reached its destination and that it will be dealt with accordingly.  It's also good practice to include links to FAQs or other useful information.

Why 8.5.3
The techniques we'll be using here work in older versions of Notes but some of the options seem to have moved around in 8.5.3.  I figured it was a good time to show you where they've moved to.

The Procedure

Start Domino Designer and open the Mail file to be modified.  A really quick way to do this is to right-click on the application tab and choose "Open in Designer".

In the Left hand panel of designer, expand Code and then double-click Agents.  A new window should appear.

Click the action button marked New Agent (at the top of the screen).

Give the Agent a Name, Alias and Comment;

Name: AutoResponder
Alias: AutoResponder
Comment: Sends an automatic response to any inbound emails sent to this address

Change the type to Simple Actions
Leave the Application field as is and click Ok.

In the left panel, click Document Selection.
At the bottom of the screen, you'll see an Add Condition button.
Click it.
Choose In Folder and then Select the Inbox.
Click Add

In the left panel, click Action
At the bottom of the screen, you'll see an Add Action button.
Click it.
Choose Reply to Sender
Make sure that it says Send Reply to Sender Only.
Tick Reply only once per person
Type your message
Click Add

So far so good.  Now to get this to occur for all new mail.

This is where I got stuck.
It makes perfect sense to have these agent properties at the bottom of the page, like they are for lotusscript agents but for some reason, they're not there in 8.5.3. A big thanks to Tony G for finding the missing menu option.

Right mouse click anywhere in the right hand panel and choose Agent Properties.

In the trigger section, choose On Event and Select After New Mail has Arrived.
You can now save and close your agent.

Note: In our tests it took 5-10 minutes for the agent to actually start working so don't despair if it looks like it doesn't appear to be working initially.   To test, send emails from an outside account, like Gmail and wait for the reply message.