Ical Invites with Gmail Tip

Just a quick tip for developers who are coding and testing ical solutions with Google / Gmail web client, if you update a meeting in the past i.e. you reject a meeting in the past that you had previously accepted
it will NOT send a notification back to the meeting organiser to inform of the change where as something like the Outlook think client WILL,

That’s it

IBM Champion for 2017

So IBM has renewed my IBM champion status for a third year.

Now according to standard corporate logic I should have lost my champion status because in the last year I have done more than just IBM stuff, I have worked with other technologies, promoted them and worst of all the product I have co-created can be used to migrate application data away IBM Domino and I bet that with most evangelist programs that would have meant expulsion, how ever IBM grew up years ago and are in this for the long hall, the best example of this is that Rene Winkelmeyer is still a champion and he bleeding works for Salesforce!!

What does this prove?? well to me it proves that IBM champions are not little “Yes” drones, they are people with a ton of expertise in IBM technology’s and will be honest about them and know how to get them to work as the client wants.

So thank you IBM for the vote of confidence… As an immediate return I can tell you that I am currently helping a large client implement AngularJS applications via REST services all running natively on an Iseries, again making sure that IBM stays up to date and relevant.

The Perfect IBM Champion

I’m writing this post before the IBM champion decisions come out this year and you get a glut of “I’m so grateful for the honour” blog posts..

What I want to talk about is one of the current IBM Champions in fact one of only 2 IBM Lifetime Champions: Gabriella Davis [1]Disclaimer: I am a long time friend of both Gab and her husband Tim the Geekmeister, I have both worked for/with/employed her for years and wont get anything from this blog post other than a savage … Continue reading

Now Gabriella was a IBM champion long before the term existed

Let me explain. In a rough and ready sort of way an IBM Champion is supposed to act as an evangelist to the IBM brand and provide the following informal services.

  1. Be active in the community: speak at conferences, write blogs etc
  2. Be a source for other peoples solutions to issues with IBM software and platforms: write technical articles and fixes etc etc
  3. Be an expert where clients can go to update,install,advise on or adapt IBM solutions when frankly they don’t want IBM to do it.

Gab excels at all of these, Lets take an example of contact between myself and Gab to see what I mean.

In the middle of the week I had a problem I was REALLY stuck on with Sametime and so I howled on the champions chat, I was greeted with helpful suggestions by those awake at that time, but from Gab I got the following (which I will take apart)

“OK, I have a client deliverable that I am on, but that should be done in 2 hours can you hold on until then”

⇑ Her clients came first, that is explained to me and expectations are set so I know where I am but help is on the way.

(2 Hours 15 mins later) “OK I read the chat.. I think it is XXXXX and we need to check the following, do XXX && YYY and tell me what it says”

⇑ she has followed through on a promise, has given me an opinion and a number of things to veryify this, so I’m learning the deduction process.

“OK on the basis of that, it confirms that it is indeed XXXXX, to fix it we need to do ZZZZ, you can see that at this URL, and can double check by looking at the following files”

⇑ A solution, with official backup and a way of checking to confirm the suggestion has taken effect.

and Bugger me if that did not fix it….

Now that does not make Gab a “free support desk”, it makes her someone I can turn to when I have tried everything I and mr Google can think off (and personally it makes me want to get better so I can reply her in kind some day).. it makes her a CHAMPION.

Now lets look at her broader input into the community…

How many of you would not consider an IBM conference or LUG complete without Gab taking apart one of the more horrible parts of the administration process, be it Authentication between cloud service providers or simplifying massively complex installations she provides a unique and constantly relevant voice at conferences.

And finally there is her efforts to help IBM expand their position in the changing world of IT with such things as the CSC events, showing people how to integrate existing IBM offerings with internet darling technologies,

So for you new IBM champions (and existing ones) this year there is a life time standard for you to be aiming for and Gab is it…. She is in my opinion and as I have public stated multiple times The Best IBM stack administrator in the world.

now if you will just excuse me I need to go and find a pit to hide in in case gab reads this post and pulls my lungs out.


1 Disclaimer: I am a long time friend of both Gab and her husband Tim the Geekmeister, I have both worked for/with/employed her for years and wont get anything from this blog post other than a savage telling off for embarrassing her

SAML And Invalid Arguments

Another silly support tip for Domino and Third Party SAML XML documents,

If you are hitting this post it is most likely you got here via a google search, so it does not have the whole back ground on SAML but after creating a Idp configuration and restarting you might get this line in the console:

HTTP Server: Error reading IdP configuration for server saml XXX.XXX.XXX.XXX:Invalid arguments

This odd little error is nearly always down to character returns in the X509 certificate in the imported XML file (easy to find and fix just go and edit the XML document provided by your SAML provider and remove them)

However the XML document I had did not have any character returns (cue a little head scratching), what it did have right at the sodding end of the very long line was an extra space….

so in the <ds:X509Certificate> tag in the SAML Import XML make sure you don’t have ANY characters that are not part of the certificate.

If this still does not work and you actually want to see if you have got a proper certificate you can you the wonderful http://www.keystore-explorer.org/ to have a good look at it

Just get the text in between the <ds:X509Certificate>CERT TEXT</ds:X509Certificate> tags and paste it into a empty text file with a *.cer extension, then open it up with the “inspect a certificate” Option.

Sametime 901 and IP6

Now I don’t do Sametime very much, its a area of horror I leave to people like Gab Davis, but this this was a fix that Gab found that I felt needing sharing

So it was a standard install on a client site on clean windows 2012 servers built by the client. with only basic services to be provided, simples eh?


instead we get this bundle of fun when trying to login on the web client for meetings

CommunityServ W com.ibm.collaboration.realtime.stproxy.services.community.CommunityService doService, SID:
12345678-AAAA-1234-ZZZZ-123456789555 CLFRX0030E: Login is not completed in 10 seconds. User XXXX XXXX will be logged out.
that login is not completed in 10 secs

After a good deal of grumbling and checking of settings it was decided to make sure IP6 was not used, I checked in the windows setting and it did not look as if it was enabled, Gab however point out that that would not be enough and sent me to this


which is a little download to completely disable the feature, I ran it on a the various servers and voilà , suddenly everything works.

Just a tip in case it is needed……

Salesforce Pardot Multi Completion Rules

I do pardot implementations amongst my other salesforce stuff, which always seem to involve a number of hacks to bend the Salesforce and Pardot functions to meet the existing behaviours that the client wants.

Now pardot has “completion actions” these are very useful jobs that are performed when a form is submitted, but limited in that they are not conditional, i.e. you cant say “if field X = Y then do W action else do Z action”, Pardot them selves show you a way round this using form field based completion actions.

This is a nice trick and can be used as a base for more complex things, namely running MULTIPLE completion actions, an example of which is shown below

<script type="text/javascript">
var email = encodeURIComponent('%%email{js}%%')
case 'true': document.write('<iframe src="FORM_HANDLER_1_URL?email=' + email + '" height="1px" width="1px" ></iframe>');
case '': document.write('<iframe src="FORM_HANDLER_2_URL?email=' + email + '" height="1px" width="1px" ></iframe>');
case 'true': document.write('<iframe src="FORM_HANDLER_3_URL?email=' + email + '" height="1px" width="1px" ></iframe>');
case '': document.write('<iframe src="FORM_HANDLER_4_URL?email=' + email + '" height="1px" width="1px" ></iframe>');

This means that you can run a lot of conditional rules based on the fields in the one form, the most common use I make of this is of a [Custom Email Preference Center Pages](http://help.pardot.com/customer/portal/articles/2125807-creating-custom-email-preference-center-pages) but one where a user can fill in more details than just their email address.
Oh one final note, you will see on the pardot instructions they close their iframes with a “/>” this wont work if you have multiple iframes on one page you need to close of iframes properly with “</iframe>”