Docker and IBM Domino (part 5)

Setting up Domino to run for the first time

Now we have Domino 9.0.1 with FP 10 installed, it's about time we ran the server for the first time and put it in listen mode. We can then connect to it with Remote Server Setup to finish off the installation.

docker build -t timsterc/domino:domino_9_0_1_FP_10 -f dom_on_docker/setup_domino/Dockerfile .

The Dockerfile this time is slightly different to the ones before, so lets go through it to make sure we understand what's going on.

FROM timsterc/domino:9_0_1_FP_10

Here we go again from the latest FixPack 10 image. Hopefully you are getting the idea now, that this is giving us lots of flexibility.

ENV DOM_CONF=dom_on_docker/setup_domino

Environment variable to define where our setup files are.

EXPOSE 25 80 443 1352

This line opens up the tcp ports 25 (smtp), 80 (http), 443 (https) & 1352 (nrpc). Normally here, as this server is not configured yet, you might expect us to open up port 8585 for when we open the server in listen mode. To stop having another port open at run time and minimize the config files we are going to make this 1352 in the docker-entrypoint.sh. See later in this blog post for that.

COPY ${DOM_CONF}/resources/docker-entrypoint.sh /
RUN chmod 775 /docker-entrypoint.sh
USER notes
WORKDIR /local/notesdata
ENV LOGNAME=notes
ENV PATH=$PATH:/opt/ibm/domino/

Here we copy in a bash script file 'docker-entrypoint.sh' that is used each time we start the image. We will cover that later.

NTRYPOINT ["/docker-entrypoint.sh"]

The ENTRYPOINT command tells Docker what to run at startup. E.g. where to start.

docker-entrypoint.sh

#!/bin/bash
serverID=/local/notesdata/server.id
if [ ! -f "$serverID" ]; then
    /opt/ibm/domino/bin/server -listen 1352
else
    /opt/ibm/domino/rc_domino_script start
    /bin/bash
fi

This is the batch file with the magic dust in it. (joking)

First we set the environment variable for where the server.id 'should' be. If it's not there we start the server in listen mode otherwise we start it normally.

So let's try this out.

STOP!!!! We don't have a data directory that will stay when we stop the image. Docker by default is not persistent, so we need to create somewhere for the domino date to live. Docker does allow you to attach a virtual disk to the image, so lets create that now.

docker volume create –name=domino_data

Now that we have the disk image, lets stick the keys in the ignition and fire this thing up.

docker run -it -p 1352:1352 -p 8888:80 -p 8443:443 –name 901FP10 -v domino_data:/local/notesdata timsterc/domino:domino_9_0_1_FP_10

Now we are creating a runtime 'container' from an 'image'.

Want to know what you just typed in? I thought so, and here comes the breakdown.

-i keeps the STDIN open even if you are not connected to the container. Think of it like 'headless mode'.
-t "allocates a pseudo TTY" according to the Docker run reference. The TTY is expected by most programs and by Domino. This also means that we can't redirect the output via a pipe, as the -t is not allowed in that scenario.
-p allocates a tcp port to the image. As you can see, it's possible to create a redirect at this point, from incoming port 8888 to internal port 80
-name is kinda obvious, but note that the container name doesn't have to be the same as the image it's created from
-v this is the data volume we created being attached. Syntax = volumename:mountpoint
imagename is the last option we specify here, e.g. what we are creating our container from

There is another option that you might want to consider here,

--hostname [hostname] will allow you to force the hostname in your container, as it's not specified in the image it gets a runtime hostname. Not so clever if you want to actually connect to your container from anywhere else.

When that's running you can now launch the Domino Remote Server Setup and connect it to the ip address of the Docker image. Ah, hang on, we have not set the ip address, so how do we know what it's going to be? I'm glad you asked as this took me a while to get my head around. It actually bridges to the ip address of the host machine. So what ever that is set to, is how you connect to it.

Good luck.

Before we leave this, you'll need just a couple more bits of information.

From the command line you can connect to your running image using this command

docker attach [imagename]

You can also start and stop the image using the same format but replacing the 'attach' option.

One last thing you need to know is that starting and stopping a container will not restart the OS and therefore not restart your Domino server. For that you either need to attach and issue a 'sudo init 6' to restart the OS or use '/opt/ibm/domino/rc_domino_script restart' to reboot the Domino server. You could always the Domino server from the console or Remote Console if you wish.

*** Update *** Please see Renaud's comments below about "Graceful Shutdown".

And with that, I wish you good luck in your adventures with IBM Domino on Docker.

Buy me a coffeeBuy me a coffee

Docker and IBM Domino (part 4)

Domno on Docker part 4.png

Installing FP 10 into the Domino 9.0.1 image

Into the good stuff now. Using an image we have created ourselves, timsterc/domino:9_0_1 and making a new image from it with FP 10 in it.

Why this is useful

This is the part of this whole process that I have found to be probably the most exciting. Why? I hear you scoff into your coffee. Is it just because I'm a sad geek that has finally gotten on board with the whole Docker thing? Or maybe its because I've finally found a use for something I'm playing with? It could be that I wish this had been around about 20 years ago when I was working in support. Let me explain.

You now have a base Domino 9.0.1 image to work with. That's right, you can WORK with it. Make it do what you want. And because we are adding to it into a new image, this image stays the same. Meaning we can build other stuff from it, time and time again.

Imagine having a 'store' of small, fast Domino builds with each of the Domino 9.0.1 Fix Packs in them. Sitting on the shelf and ready to go. Need to test something in Domino 9.0.1 FP6 IF3? Well even though it's not supported, what's to stop you from creating a FP6 image from the 9.0.1 image and then adding IF3 to it. Run it up, do your testing and then dump it in the trash. Total time to set up? I think, about 15-30 minutes. That's why I'm excited about this. I've clearly worked in support for too many years, but this would have saved me weeks in my previous careers.

"Ok, enough! Get to the good bit already."

Install the FP into the Domino image

So a similar process to before, build a new image using a Dockerfile.

docker build -t timsterc/domino:9_0_1_FP_10 -f dom_on_docker/domino901FP10/Dockerfile .

No need to explain this again, but note the new tag. 9_0_1_FP_10 helps us find the right image when we have loads of them to chose from.

Dockerfile explanation

FROM timsterc/domino:9_0_1

Using our existing image. ;o)

ENV DOM_CONF=dom_on_docker/domino901FP10/resources/serverconfig
ENV DOM_SRC=Dom/
ENV NUI_NOTESDIR /opt/ibm/domino/
COPY ${DOM_CONF}/ /tmp/sw-repo/serverconfig
RUN mkdir -p /tmp/sw-repo/
RUN cd /tmp/sw-repo/    
COPY ${DOM_SRC}/domino901FP10_linux64_x86.tar /tmp/sw-repo/
RUN cd /tmp/sw-repo && \
    tar -xf /tmp/sw-repo/domino901FP10_linux64_x86.tar && \
    cd /tmp/sw-repo/linux64/domino && \
    /bin/bash -c "./install -script /tmp/sw-repo/serverconfig/domino901_fp10_response.dat" && \
    cd / && \
    rm /tmp/* -R && \
    rm /opt/ibm/domino/notes/90010/linux/90010/* -R

Almost the same as before, but as you can see we are running the command to install FixPack 10 and not Domino.

When you’ve run this, and again it takes a while, you should end up with a new image in your list when you run "docker images"

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
timsterc/domino     9_0_1_FP_10         e8dcc1a238fd        12 days ago         5.51GB
timsterc/domino     9_0_1               cbe3262a559d        12 days ago         2.73GB
centos              latest              49f7960eb7e4        3 weeks ago         200MB
hello-world         latest              e38bc07ac18e        2 months ago        1.85kB

In the final step we will get the image ready to have the remote admin client connect and then finalise the setup.

Buy me a coffeeBuy me a coffee

Docker and IBM Domino (part 3)

Domno on Docker part 3.png

Installing Domino in Centos

The first bit of this that we need to understand is the command that we are using to do the initial install. Don't run this yet.

docker build -t timsterc/domino:9_0_1 -f dom_on_docker/domino901/Dockerfile .

docker - well we've seen this already and it's how we tell docker we want to work with it
build - this tells Docker that we want to create an image from a Dockerfile
-t timsterc/domino:9_0_1 - tag list, the name that we want to call something. I have timsterc here as that is my name in docker, so if I upload it then I can find it again.
-f Dockerfile - the name of the script file that you want to run during the build
. - Don't miss this full stop as the command will not work without it. This is placing the file in the same place that Docker uses for everything.

You should change the 'timsterc' part to your own name. Keep in mind, that if you do, you will need to edit the Dockerfiles that follow to use your name and not mine. ;o)

Now let us take a look at the Dockerfile and what that is going to do during the build. I've broken it up into sections to make it easier to explain.

This is "dom_on_docker/domino901/Dockerfile"

FROM centos

This command tells Docker to take all of the contents of the 'centos' image that we downloaded earlier and use that as a basis for what we are about to do here. Really useful for adding to an existing image to make a new one. We will use this technique later to create a new image from the base Domino image and add the FixPack to it.

ENV DOM_SCR=dom_on_docker/domino901/resources/initscripts
ENV DOM_CONF=dom_on_docker/domino901/resources/serverconfig
ENV DOM_SRC=Dom/
ENV NUI_NOTESDIR /opt/ibm/domino/

These are just environment variables that we use later in the script. An easy way to config the script file without having to trawl through each line of code.
DOM_SCR and DOM_CONF are the locations of the scripts to run Domino (thanks to Daniel Nashed for those) and the server response file for the silent install.
DOM_SRC is the local directory where you copied the Domino 9.0.1 for 64bit Linux image from Passport Advantage.
NUI_NOTESDIR defines the location you want to install Domino into in the CentOS image.

RUN yum update -y && \
    yum install -y which && \
    yum install -y nano && \
    yum install -y wget && \
    yum install -y perl && \
    useradd -ms /bin/bash notes && \
    usermod -aG notes notes && \
    usermod -d /local/notesdata notes && \
    sed -i '$d' /etc/security/limits.conf && \
    echo 'notes soft nofile 60000' >> /etc/security/limits.conf && \
    echo 'notes hard nofile 80000' >> /etc/security/limits.conf && \
    echo '# End of file' >> /etc/security/limits.conf

This next section updates CentOS to the latest updates, adds the Notes user and sets the soft and hard file limits for Domino

COPY ${DOM_CONF}/ /tmp/sw-repo/serverconfig
RUN mkdir -p /tmp/sw-repo/ && \
    cd /tmp/sw-repo/
COPY ${DOM_SRC}/DOMINO_9.0.1_64_BIT_LIN_XS_EN.tar /tmp/sw-repo/

The section above creates a temporary directory and copies over the Domino tar ball to it. The && \ concatenates the lines together and is removed at runtime. Great way of splitting up really long command lines into readable parts.

RUN cd /tmp/sw-repo && \
    tar -xf /tmp/sw-repo/DOMINO_9.0.1_64_BIT_LIN_XS_EN.tar && \
    cd /tmp/sw-repo/linux64/domino && \
    /bin/bash -c "./install -silent -options /tmp/sw-repo/serverconfig/domino901_response.dat" && \
    cd / && \
    rm /tmp/* -R

I found while messing about with this script file to use a local file and not one from a web server, that every command runs in its own environmental space. This is why we have to change the directory to our temp directory again in the next command, otherwise, the command runs with a new space and is in the wrong directory.
Next, we extract the install code inside the image, then run the Domino install with the server response while we copied in earlier. Once we are done with the install (which does look like it's hanging while it works) we remove all the temporary files to keep the image clean and as small as possible.

RUN mkdir -p /etc/sysconfig/
COPY ${DOM_SCR}/rc_domino /etc/init.d/
RUN chmod u+x /etc/init.d/rc_domino && \
    chown root.root /etc/init.d/rc_domino
COPY ${DOM_SCR}/rc_domino_script /opt/ibm/domino/
RUN chmod u+x /opt/ibm/domino/rc_domino_script && \
    chown notes.notes /opt/ibm/domino/rc_domino_script
COPY ${DOM_SCR}/rc_domino_config_notes /etc/sysconfig/

Lastly, we set up the scripts that run Domino in the CentOS image, making sure that the Notes user can run them.

So now we understand what's happening, go ahead and make sure you are in your docker folder and then run this command.

docker build -t timsterc/domino:9_0_1 -f dom_on_docker/domin901/Dockerfile .

Don't forget that if you change the tag names, you'll need to change them in the follow-on scripts. I'll highlight these when they come up.

This can take a while and it will look like it's hung when it gets to the Domino install bit. Don't Panic, just have a little faith. If you have a slow machine or it goes past 30 minutes, you could have a problem. You should be fine though, it just takes a while.

Once this has run, you can try the follow Docker command to list out your images.

docker images

The results should look something like the below.

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
timsterc/domino     9_0_1               cbe3262a559d        12 days ago         2.73GB
centos              latest              49f7960eb7e4        3 weeks ago         200MB
hello-world         latest              e38bc07ac18e        2 months ago        1.85kB

Next time we will follow a similar procedure to install FixPack 10.

Buy me a coffeeBuy me a coffee

Docker and IBM Domino (part 2)

Domno on Docker part 2.png

So how do we get started now that we've been tempted by the sales pitch?

Install Docker

First off, if you have not already, go and get Docker from the Docker website. https://www.docker.com/community-edition#/download

Test Docker

Once you have it installed, go to a command line for your platform and try the following.

docker run hello-world

You should get a response something like this.

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Already exists 
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

Yay! It works.

Now you can do something crazy, like download the whole of latest CentOS image with this command.

docker pull centos

That will save us about 10-30 seconds later on. ;o)

So we know that we have Docker running and that we can get to the Internet with Docker, pull and store images and run them as containers. That wasn't so hard. Was it?

Domino in Docker

Let's start thinking about how this will work with Domino. Most people that have done this already have gone down a route that looks a lot like partitioned servers on a single machine. That's the closest analogy I can come up with, in the Domino world. The Domino server code is in one place and the data would be stored in a separate disk volume. You can have multiple volumes that could be for the same container of Domino or they could be for different servers/customers.

First, we will need the base version of Domino 9.0.1 for 64 bit Linux. This is available from the IBM download sources with part number (CIQ7ZEN)

Second, you want to get Feature/Fix Pack 10 (CNQ2HEN) (https://www.ibm.com/support/fixcentral/swg/selectFixes?product=ibm%2FLotus%2FLotus+Domino&fixids=DominoServer_901FP10_Linux64&function=fixId&parent=ibm/Lotus)

Just place them in a directory that you can get to. For my machine (Mac) I have created a directory called 'docker' from my user directory. Under that, I have two subdirectories; "dom" and "dom_on_docker"

"dom" contains the server code and FixPack that we downloaded, still compressed.
"dom_on_docker" has the scripts in it that I downloaded from Ulrich Krause's blog post about this very subject.

Whilst you can download Ulrich's scripts I would recommend you take my updated scripts.
a, Because I have updated them to work with FixPack 10, and
b, They also don't rely on you having the code on a web server, which I don't.
My scripts can be downloaded from here --> TimsterC Scripts

In the next blog post we'll go through the script and explain the command you need to run it in Docker. 

Buy me a coffeeBuy me a coffee

Docker and IBM Domino (part 1)

Domno on Docker part 1.png

Steep learning curve

On day one I find myself in the Docker departure lounge and I'm still trying to work out why I'm travelling by ship when I could be flying on a Virtual Machine. As my journey into Docker land continues I find lots of good reasons to be here and wonder why it's taken me so long to travel this way.

What is Docker?

It's a question I have asked myself for the past couple of years and never had the time or inclination to find out. Now I have a potential customer using Docker to run IBM Domino and one of BCC's products, I figured I should see if this is going to work before I try and talk knowledgeably to the customer about it.

Here is my take on what Docker is and why it's not a Virtual Machine that we’ve been used to in the past.

  • As any reference material that you search for on <<your fav search engine>> you don't need the whole operating system for most things you want to do in a VM, but you have to run the whole lot. Not with Docker! You only end up with what you need in the final 'thing' you run. (I'll cover what things are called later)
  • It's a lot faster than a whole VM. "Yeah Duh! Thanks for that blinding inspiration Einstein." The images below show a comparison between a Docker "Container" on the left and a traditional VM on the right. The container for my resulting CentOS 7 with Domino 9.0.1 FP 10 server is about 5.5GB. Compare that with a full blown VM for the same of at least 20-30GB. 
Container@2x.png
VM@2x.png
  • Names can cause confusion until you 'get the concept'. So here is a little story to explain the concept of Docker, Containers and Images.
    I wanted to move to a new house from one town to another but I had a lot of stuff to move. When I went to the moving company they asked me what I needed to move, and could they provide me with the right sized box for the stuff I have to move. I asked for 10 large boxes, 25 medium, 50 small and 10 wardrobe boxes. We also arranged for 3 large wooden crates, 2 for my motorcycles and 1 for my pedal cycles. Two weeks before the move I got delivery of all the boxes, but they were flat packed to save space. I got a box full of packing tape and marker pens to set everything up with.
    We merrily went about the house taking flat boxes to all the rooms, unfolding them and taping the bottom to make sure it was secure. We'd write the name of the room and what was going in that box with the marker pen. When we had filled the box with 'stuff' it was taped shut for the movers to come and collect and load into the truck the day before we moved.
    • Docker is like the moving company that can provide the right stuff when you need it.
    • Images are the boxes that were supplied in flat pack form. This is like downloading an image from the Docker store. Unfolding the box is like uncompressing the image on your local system and then you fill it with the right code to do your task. 
    • Containers are like the boxes that you have filled, labelled and sealed to be moved. They are specific to the task, the right size and only used for what you have packed inside them.
  • Another reason I'm smitten with this setup is because I've effectively been given a 'snapshot' of each step of the process of creating an Image that I can turn into a container.
    Let me expand this theory a little.
    • Create a base CentOS image. Now I can base any further images or containers on that one and I never have to 'build' it again. (200MB)
    • Create a new image from the CentOS image and install Domino 9.0.1 into it. (2.73GB)
    • Create another new image from the Domino 9.0.1 image and install FP10. (5.5GB)
    • Lastly, create an image from your Domino 9.0.1 FP10 image that is configured to start up or wait in setup mode if it's not configured.
      This now allows me to create a new Domino server container in about 5 minutes apply whatever fixes I want to it and cookie cut that out into as many running images as I need. 

This is great if you want to run up multiple servers quickly, in a small environment and tweak them all at run time. I can maintain one 'server code base' and all instances running from it will be the same as soon as I refresh them with a single command for each one.

What about if I want to have one image running the http task for my Domino environment and one image just running the indexer or database server parts of Domino? Well that may well be coming in the future, we'll have to wait an see.

Next time I'll cover how I got started, 3 times, and why Docker on Mac seems to be pointless. (I hope someone can prove me wrong)

Buy me a coffeeBuy me a coffee

It's Easter - Let’s discuss the resurrection!

I'm a Christian and we are approaching Easter, so I'd like to discuss the resurrection with you. Not of Jesus, enough has been said about that already, but of something entirely different.

I've just got back from IBM Think 2018 in Las Vegas, USA. Apart from the jet-lag and dehydration from being in the desert and air-conditioning, it was a very inspiring trip. I went out there expecting to.... ....actually, I'm not sure what I was expecting, but what I got was so much more than I could have thought of.

Think 2018

Let’s start with the conference itself. Putting almost 30,000 people in one conference centre was always going to be a bit of a squeeze, but the Mandalay Bay seemed to cope. Well, from Tuesday it coped very well. But not having the expo area open on Monday and masses of people trying to register all at the same time meant that packed corridors quickly became a safety hazard.

The Resurrection

If you are reading this and thinking "Enough already about Think and the hotel! What about this resurrection thing?" then I totally understand.

IBM is trying to resurrect it's Collaboration Solutions brand, There have been some notable changes in leadership in the past 18 months, Jeff Schick, Ronnie Maffa, Inhi Cho Suh & Ed Brill have all moved on. The difference this has made is almost palpable. I'm not going to look in the rearview mirror and blame any one of those people for doing their job or not, but the change in attitude is amazing.

Part of this "New Life" is in some way attributable to the deal done with development and services company HCL, which has seen large numbers of committed but downtrodden IBMers leave Big Blue for the same but new jobs in HCL. Having met with several of them this past week, I couldn't help but comment on how amazing it was to see them smiling again. In the past, they have worn the 'all too familiar' grimace of someone toeing the Big Blue Line.

Notes & Domino v10

Microsoft would have you believe that this was dead and buried years ago by IBM. Well if that was the case then this resurrection will put Jesus' three days in the tomb well out of the record books. Many companies have tried to move from Domino and lots already have for mail, going to Google, Exchange or Office 365. But the applications that they built to run their companies on, they remain for the most part, too expensive to migrate. No fault of Lotus/IBM here, just that no one has since brought to the market a platform to match Domino and Notes.

IBM & HCL are currently pushing on with a development plan to release Domino and Notes V10 in 2018. Now I think I know roughly when they plan to release this, but I can't say for sure. This is not going to be a Dec 39th release date that we have seen in the past. If I'm right, then this will be early Q4.

Why am I talking about resurrection all the time? IBM & HCL are trying to breathe new life into a software product they last released a new version for back in September 2015. By the time v10 hits the download site, it will be well over 3 years between releases. 

IBM showed some great stuff about the direction they are heading with this new release. Native iPad application, think of ICAA on your iPad. No code changes, local replicas, PKI intact and you can see just how important this will be. Not only did they show it, but they let people play with it on iPads they brought along to the show. Impressive start to the new features they are trying to bring in. Add to that the plans to work Node.js Express, NPM, JWT, OAuth2 & OpenID into the mix and they suddenly have a lot of work to do before the end of the year. Coupled with new architecture deployment options in the shape of Docker and this all starts to look and feel like a fresh product set that has not seen it's last days yet.

Sametime

Nothing to see here, move along. Whilst there was a little talk of Sametime and that they are working on it. Nothing to show and no real announcements were made. It's not dead, was clear though and its ability to be part of the v10 story was also discussed.

Connections

Lots of talk in the past about Connections Pink, but not this year. The focus has firmly swung towards Domino and Notes. However, there is still hope that we will get the promise of Connections Pink. It was acknowledged that the very first part of Pink that was released, Orient Me, is difficult to install for small to medium-sized enterprise (SME) customers. No clear statement was made about fixing that problem and that troubles me slightly for the rest of the components that go into making a Connections deployment. Orient Me is a clumsy deployment of a good idea. It's too heavy in its hardware requirements for the majority of IBM's customer base. It also has the reputation of being "Impossible to install if you follow the instructions." when you speak to any seasoned Connections administrator.

Light at the end of the tunnel for Connections comes in the form of the IBM Connections Experience Center (ICEC), which is the IBM wrapping around Time to Act's XCC product. Basically, you can now skin and manipulate Connections into the front end focused intranet you always wanted it to be.

The other components of Connections are still being worked on by IBM, but I wonder how long it will be before HCL get to finish this job.

Watson Workspace

IBM's venture into the space that is currently stocked full of products like Slack and FlowDock. Why bother IBM? Well, the answer is very clear when you start to use Watson Workspace (WW) for your persistent chat client. They've added the power of Watson to it. Not in some hard to explain nuanced feature, but right into the heart of it with a very practical and useful surfacing of Watson's core power.

The biggest single problem people have with persistent chat client's is being away from them for any length of time. Any that are mildly active can have 200+ messages a day pass through them. How do you keep track and find out what's been going on since you last looked? You could read through it all and spend the time catching up. Not with WW. You just have to click on the "Moments" icon and Watson takes the messages in the chat, analyses them and works out what they are for. It contextualises them into conversations so that you can pick up the important conversations and ignore the ones about coffee machines, lunch and how bad the weather was while walking your dog this morning. You can catch up and not be left behind. Awesome!

Not only can you have Watson keep you up to date, but it can also be connected to other systems and act like a chatbot for you too. The example I saw work best, we when someone asked if anyone had a presentation from the Greenwell (IBM's fake demo company) project. Watson jumps right in and tells you it's found some and offers a clickable link to the results. Impressive!

Extending WW is easy with a good set of APIs and also some pre-built integrations for other apps. But the cherry on this cake is the integration with Zoom video conferencing. In any of your chats, you can initiate a 1-on-1 of 1-to-many video conference using Zoom's powerful video conferencing software. Any of the paid for subscriptions come with 1-to-many conferencing, but the Freemium version also comes with 1-to-1 video conferencing. Amazing!

There are plans to use Watson to be able to summarise a call that you are joining late so that you can catch up and be productive as soon as you join.

IBM Collaboration Solutions

With my sick and twisted sense of humour, I think of this as a cross between Monty Python's Quest for the Holy Grail and Kick-Ass. The "Bring out your dead" scene where Microsoft are telling folks that Notes and Domino is dead. Then switching to the Kick-Ass scene where Hit Girl (ICS) takes out the drug dealers.

The Resurrection is upon us! ICS are all singing from the same hymn sheet and all at the same time. No more singing in the round or different songs.

ICS seems to be finally be working together and all working toward a common goal. 

IBM Think 2018 - T-6days

Las Vegas beckons

Friday will see me at Gatwick airport getting on an aeroplane to the USA for the first time this year.

This is going to be, possibly, the biggest conference I will ever attend, with IBM estimating over 30,000 people being there. So it's going to be interesting trying to find people.

But being an IBM Champion, again for 2018, will give me at least a front row seat for a few of the sessions and a place to call home (Ask the Champions Desk) for the days we are in town.

What am I looking forward to?

  • Finding out what's really on the roadmaps for the products in the IBM Collaboration Space
  • Catching up with customers and seeing what their plans are for 2018
  • Seeing friends and sharing stories from the front lines. (My most valuable type of learning)
  • Meeting new people and IBM Champions from other brands
  • Exercise and closing all 3 rings on my Apple Watch for a whole week
  • Doing something new, by Vlogging the event as far as I am allowed to

What am I not looking forward to?

  • 11 hours in a tin can both ways. But to soften it I get to work with Sharon James along the way and maybe watch a movie or two
  • So much walking. Last time I was in Vegas I got a case of Plantar Fascitis that took 18 months to clear up
  • The exhaustion coupled with jet-lag. This gets worse as I get older, so I need to learn how to handle it
  • Not being able to vlog as much as I want

Next update from Vegas.

Heading to Social Connections 11 in Chicago, USA

The week before any conference is always busy, not just in terms of getting stuff ready to take and not forgetting everything, but also preparing the family for my absence. This time has been no exception to that rule but with the added complication that the children will be off school the week I am away. This has meant that I have to have done all the 'little' jobs around the house and that my wife has anything she needs while I am away.

This year's conferences are being quite painful in their timing (through no fault of the organisers) just that they seem to fall on school break times. IBM Connect in February was during the half term break and is Social Connections. MWLUG will also be during the summer break which makes it hard on the whole family when I've missed 3 weeks of 'schools out' to spend with the kids and help my wife out. Please don't think I'm complaining about my amazing job and the community of friends that I get to see at these events. I'm just being a realist about what is happening at home while I'm not here.


So about Social Connections 11 in Chicago.

I'm really excited to get to this conference as the agenda looks amazing. Some really great speakers and some fantastic topics. My co-worker Sharon James and I are speaking on Thursday 1st June in the Redis Room about upgrading Connections from 5.x to 6.x. I'll be speaking from the project manager side of the equation and Sharon will be highlighting some of the more technical aspects of the projects we have already done.

If you'd like to know more about the work that Sharon and I do, then please take a look at the BCC Services page.

Would be great to see you there if you can make it.

 

Springtime in Las Vegas

Since 2006 I have attended the Lotus/IBM event known as Lotusphere / Connect / ConnectED / Connect (you'd have though they would chose just one) mostly in Orlando, Florida but this year in San Francisco, California.

The first bunch of years I was there as an IBMer and lately as an IBM Business Partner. The conference numbers have dropped steadily and this year it was kinda sad to see everyone shuffling about in the Moscone West with so much space around.

I have thought for a while that having this as one big conference may make more sense, but now it seems that IBM have thought that too.

It's taken me a while to come around to this way of thinking, but I think it's time to go big for IBM and this seems to be what they are doing. Merging 3-4 conferences into one HUGE / MEGA conference in Las Vegas will be something that may or may not work. We will have to see.

Click on the image below to find out the latest information from IBM

"Unable To Find Valid Target Platform" when installing IBM Connections Plugins for IBM Notes

How frustrating is this? IBM Notes 9.0.1 FP7 on Windows 10 refuses to install the IBM Connections Plugins. I keep getting the following error message in a dialog box that only has an OK button.

"Unable To Find Valid Target Platform"

You are then offered the chance to Finish the install routine.

This appears to be down to a bunch of missing registry entries that get wiped out by who knows what.

To make this work again you need to add back in the registry keys. That's all well and good, so long as you know what they are. Well here they are. (The following code is also in this file)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IBM]

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IBM\Lotus]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IBM\Lotus\Expeditor]

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IBM\Lotus\Expeditor\Notes]
"launcher"="<<<YourNotesPathHERE>>>\\framework\\rcp\\rcplauncher.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IBM\Lotus\Expeditor\{D8641E4B-77AF-4EAC-9137-8D4DCB1478E2}]
"xpdInstallLocation"="<<<YourNotesPathHERE>>>\\framework\\"
"xpdHotfixVersion"="FP7"

Notes

  • <<<YourNotesPathHERE>>> (two of them) amend them to whatever your path is to your Notes program directory. Be sure to follow the double backslash convention too.
    e.g. if you Notes.exe is in C:\IBM\Notes\ then you would replace <<<YourNotesPathHERE>>> with C:\\IBM\\Notes
  • "xpdHotfixVersion"="FP7" will need to match your current level of FixPack install.

Now to use it.

  • Close down your Notes client and any other IBM client you might have open (e.g. Sametime).
  • Once you have customised your reg file, double click on it and allow it to update your registry.
  • Run the installer again and it should work this time.

YMMV ;o)

<Full Disclosure> I work for BCC who make, sell & give away ClientGenie </Full Disclosure>

So having thought about this a bit more. It would be great for an administrator to be able to automate this process so that you can cater for all the different places that Notes might be installed.

Roll up ClientGenie from BCC. With it's automation for client process you can automate the whole thing. See this useful 'ClientGenie - How it works' article for more information.

Here's the process flow that we are going to implement internally for this.

  • Create a ClientGenie Agent (Lotuscript) to:
    • Find the user in the ClientGenie Inventory database
    • Get their install path information
    • Write a notes9fix.reg to the file system
  • Next shutdown the Notes client but in the shutdown routine fire of the command line below
    • regedit /s notes9fix.reg
  • We can also kick off the setup.exe from the install package.

ClientGenie information can be found at the links above and a FREE ClientGenie Analyser version is available here. Free for a whole year.

Update on standing desk and weight management

So my standing desk (varidesk) that goes up and down, appears to be stuck in the up position. Not through any fault of the desk, just that I have not felt the need to put it into the down position apart from 3 times since I installed it.

One bit of advice I'd give anyone considering a standing desk is this. Either get one of those thick soft rubber mats you see in commercial environments where people are standing up all day on a concrete floor. Or, my preferred option is get a pair of Crocs. I know they are not trendy any more, but they are ½ the price of a mat and travel around the house with you. I have a pair that are lined like slippers and they are great. The can even go in the washing machine if they start to smell.

Weight Management update.

As you will have read in my last update I'm trying to lose weight to get to a reasonable weight before a surgical procedure in mid April. Things have slowed down a bit but I'm a fraction off being 2½ stone lighter. (35lbs or 16kgs) I'm still enjoying the Cambridge Weight Plan and it's varied diet of meal replacements, so that's half the battle won for me. Here is the updated graph, as we all like a fun picture every now and again. 

The benefits of...

Everyone has health issues. No one person has ever gone through life without seeing a doctor and I'm not about to claim to be an exception to this rule. Anyone who has known me for any longer than about 15 minutes will know that I've had a couple of 'episodes' with Atrial Fibrillation (AF) on and off since 2000.

This has led me to visit cardiologists back in November 2015 at my local Frimley Park Hospital. My new cardiologist and I discussed the situation and agreed that we should now do something about these AF episodes and he has booked me in for a 'catheter ablation'. That's in April, so before then I have a whole bunch of weight to lose.

To lose the weight I've been following the Cambridge Weight Plan with my amazing consultant Marissa (Who happens to be my wife). Following this plan is easy for me and I find the variety of options satisfy me. "The proof is in the pudding!" Right? Well the Key Lime Pie shake and the Rice Pudding are amazing tasty and filling.

 Weight loss from 4-Jan-15 - 15-Feb-16 = 28lbs

Weight loss from 4-Jan-15 - 15-Feb-16 = 28lbs

As you can see, I'm on track to get to my goal weight just on time. I've not been that weight since I was teaching judo 5 times a week and working out really hard. This is going to be a challenge but I'm looking forward to it.

I've also found research on the Atrial Fibrillation websites and the British Heart Foundation website about the benefits of standing. So I am now the proud owner of a VariDesk that allows me to sit or stand. I will post more about how I'm getting on with that when I've had more than a couple of days with it.

Since 4-Jan-16 I've also not had any alcohol and I've been cycling. I'm hoping that this lifestyle change has more benefits than just weight loss and that my cardiologist tells me that when we meet in April.

Performing CPR on my Asus Nexus 7

I've started to dig out and play with some older devices that have been laying around and got to my Android tablet and remembered why I'd not bothered charging it up in ages. When I bought the Asus Nexus 7 it was really quick and worked great, but when I upgraded it to Android 5.1.1 it slowed down to a point where I gave up trying to use it.

When I charged it up yesterday I got so hacked off with it running slow that I went off to Google for the answer. And would you believe it. There it was right in front of me.

You have to restart the device into recovery mode
Then you select to wipe the cache partition
Restart the device and it all works great

So it turns out that when you upgrade Android it leaves a bunch of old files in the cache partition and doesn't clean them out.

I followed this post, but your mileage may vary.

Time to dust off this blog and get back to it

It's been a while since I blogged about anything. Not really had much to say, but the world keeps turning and I've come around to the fact that, even though no-one is listening, I find it cathartic to write some of this stuff down.

Wow, it's almost a year to the day since my last blog post. Ha! That's amazing. Well I'm never going to be up for a Pulitzer Prize at this rate.

It's been 360(ish) days since my last blog post and a lot has happened in that time. My mother has passed away, I've been to America a bunch of times, done some speaking at various events, watched my kids grow up some more, got news of an impending medical procedure (more on that some other time) and decided to take this last Christmas off and go on holiday.

The biggest thing that has happened in the recent past is my annual pilgrimage to IBM's Connect conference. I've been attending since 2006, not as long as some, but I'm still thrilled to be there. I remember my first one in 2006 as if it were yesterday. The excitement of attending this legendary conference that I'd only ever heard about with reverence in the halls of Lotus Park in Staines, UK. When I worked for Lotus, no one ever got to go. So when I joined a team that sent people to help run it, boy was I caught up in that. Scroll forward 10 years and I'm there with Teamstudio celebrating 20 years of being in the Lotus/IBM Domino and Notes business.

This year was a very different year as the venue had changed from the Disney Swan and Disney Dolphin (Swolphin) hotels to the Hilton Orlando over near the Orange County Convention Center. As I arrived at the hotel to drop off my boss, Nigel Cheshire, for a meeting, I met a few people that were hard core died in the wall Lotusphere buffs and we were all commenting on how we would miss the Dolphin's rotunda fountain and the lobby bar. We'd miss the walk in the sunshine between the two hotels and Disney's Boardwalk with is familiar fair of bars and restaurants. Don't get me wrong, I was right there with them.

But by the end of Wednesday people had changed their tune totally. Me too.

The Hilton's facilities were more than a match for us Yellow Bubblers. The bars were great and the service I got was outstanding. They coped admirably with the hoards of wifi hungry nerds and I believe that the network was not augmented this year by IBM as in previous years. Yes a bunch of pop-up access points showed up, but they just joined you to an open SSID that was the hotels connection anyway.

The show floor this year was a massive improvement on last years. The massive hall packed with hundreds of vendors for this market is gone, and it was starting to get sad to see the amount of space appearing around everything in the Show Floor. Last year's effort of cramming everyone into a small hall and packing it with everyone from the Yellow Bubble was quite frankly stupid and, at times, dangerous. Over crowded with people, carpets that came up with the foot fall to cause trip hazards, you get the idea. This year was as different as chalk and cheese. There was room to move, but it wasn't cavernous. You could get around the exhibitors and still have had a good walk. It was a great place for coffee and soda breaks and the vendors certainly got some great networking with visitors.

As I said my "fair wells" on Wednesday afternoon I felt that this 'family gathering' had proved to everyone that it doesn't matter which hotel you sit in, so long as you are with family, we can be anywhere.

So long Swolphin, gone but not forgotten. Hello Hilton Orlando, the venue for the next few years.

Why does any of this matter to me? Well mainly because this is how I pay the mortgage/bills, put food in the kids and keep the lights on. Teamstudio work in this space and I work for Teamstudio. I love my job and relish the challenge it brings me.
"Yeah, OK. So what?" I hear you saying. Well to me this conference and the 'community' or 'family' that it highlights and supports every year are massively important to my continued longevity. I'm not being mercenary about why I get connected to this gang of amazing people from all over the globe. I'm truly blessed to be part of this amazing community that have accepted me. I feel part of the family and that's why it's an honour to be around my colleagues, peers, customers and IBM Champions. It's one of the reasons I also help to run the UK user group each September and try to be part of the other user groups around the world. Not for some altruistic need to pay the bills, but that I truly believe that this family needs it's 'gatherings' to keep it running.

The innovation coming from IBM has been slow in past years and, in all honesty, it's not delivered at all on the promises. But this year, the torch at the end of the tunnel appears to have new batteries, we can see some glimmer of light. There's hope on the horizon and I for one, really want to get there before this fresh set of cells run out.

Here's to 2016, the work and projects, the new products and the users groups.

See you at Engage 2016 folks.

Disposable world

Today I called Plantronics about my .Audio 995 headset that I use every day. It's lasted me well but the ear pads are starting to flake and I've been ending up with the black fragments all over my head. I was dismayed to find out that they don't sell replacements for the pads or the head bar pad. So I've ripped off all the 'coating' that is starting to flake away, but when the battery dies (they don't sell them as spares either) the headset is trash.

For a headset that cost nearly £100 that's really wasteful and I'm seriously unimpressed with Plantronics attitude towards it too.

Yes I will have to buy a new headset at this point and I'll switch to one of your competitors. I've already seen great reviews about the Sennheiser version of the same thing.

My criteria are simple. Must be PC & Mac compatible, Wireless & Stereo. Bonus points for open bluetooth and easy charging solution.

I'll let you know how I get on with it when I finally purchase it.

David vs Goliath (part 2)

It would seem that Anna in Virgin Atlantic customer services had managed to come through on behalf of the customer and not the airline.

Here is the email I just received.

Dear Mr Clark

Thank you for calling and speaking with me yesterday.

Once again, I'm sorry for the disruption to your flight.  As you’re aware, the aircraft that was due to fly in from the UK and operate your flight was delayed overnight in Manchester because of heavy snow.  We had no choice but to delay your flight overnight in reaction to this.  I do hope you will accept my sincere apologies for any inconvenience this disruption has caused you.

With regards to your query for compensation, all affected passengers booked in our Economy cabin can receive 12500 miles as an apology for the flight delay.  As such, I’ve arranged for your account to be updated with this number of miles today.

In addition, any food, accommodation or telephone costs incurred can be reimbursed also.  If you have any such costs that you would like to claim, please forward me copies of your receipts.

I know that this experience has created a poor impression, Mr Clark.  However, I hope this hasn’t discouraged you from travelling with us again, and future flights are trouble free and enjoyable in every respect.

With kindest regards

Anna Axxxxxxxx
Customer Relations

So I think that Virgin Atlantic may be on the way to redeeming themselves on this one. I've been a loyal customer for years and really don't like British Airways and their stuck up attitude.

I'll just need to submit my expenses and see if they really will pay them.

I'll keep you posted.

In the meantime, thanks to Anna at VA for looking into my case and resolving it so swiftly.

David vs Goliath

Time to take on the big boys again.

Last week I mentioned that I was delayed just over 24 hours on a flight from MCO (Orlando) to LGW (London Gatwick) with Virgin Atlantic (VS016).

The flight was supposed to be on Thursday 29-Jan-15 and it was already delayed when I checked my baggage in at the Downtown Disney location. So I knew something was going on fairly early in the day. Then I get an SMS later in the day to tell me that the flight was cancelled. So being with good friends I stayed over with them and then headed to the airport with them the following morning to spend the day working and waiting for the ticket desks to open.

When I got to the ticket desks I was told that it was a 'weather delay' that caused the flight from Manchester (UK) to MCO to be cancelled the day before and therefore there would be no compensation.

The following day there were two flights to LGW and the Manchester flight go cancelled. If this pattern continues then there will be a complete mess in the schedules and no one will get any compensation due to the first cancelled flight being caused by bad weather at Manchester.

My dispute with Virgin Atlantic is that there was not a weather related delay on my flight route. MCO - LGW was not affected by any adverse weather on Thu 29/Fri 30-Jan-15 as the British Airways flight left MCO on time and landed on time at LGW on Friday morning.

Lack of available aircraft at MCO is not a weather delay on my flight and I think that VA are just trying to avoid compensating it's customers.

I've called VA this morning and raised a customer service case, so I'll let you know what happens.

Introverted retrospective

I find myself sat in a restaurant that I have sat I many times before. It's not the same this time though, because the people I am normally here with are missing. Already home or didn't attend the event this year. I'm also missing the banter and astonishment of reading the reviews of the presentations we have given or watched.
Every year is different but seeing as the best kept non-secret was the end of the IBM contract at the Swan & Dolphin hotels I was surprised when lots of IBMers tried to hide behind denials of this well know fact. So as to whether I'll ever sit in the Outback Steakhouse at MCO again, I don't know. Will the conference formally known as Lotusphere be rolled into one of the other big three IBM events, who knows. It seems that even IBM don't have a clear idea yet either.
I'm also sat here a day late, thanks to Virgin Atlantic cancelling a flight to LGW last night. That's not so bad as I got to spend a great evening with Tanya & Devin Olsen and talked about many things including the LS where we lost a great friend to a motorcycle accident and the power of prayer. I've needed that time with Devin for a long time and didn't know it until we had that conversation. So thank you 'brother' for saving me from my own mind.
It's also been fun seeing the conference from yet another prospective. I've done it as an IBMer, Contractor for GSX, Independent freelancer & now a full time employee for the amazing Teamstudio.
It's an amazing leadership team that keeps innovating, changing and morphing the company into the success it is. I'm privileged to be a small part of that team and it's amazing to see ideas come through a become reality and go on to drive more success. I can't wait to see what happens next here, I'm excited and eager to be a part of it. This job is an amalgamation of all of my previous roles and it feels great to pull all my skills together and bring them to bear in a company like Teamstudio.

Humbled again - IBM Champion 2015

I've been humbled again by my peers in the IBM Collaboration Solutions space by being nominated to be an IBM Champion for ICS, class of 2015. This will be my 3rd year as an IBM Champion and it's no less of an honour than it was the first time. Thank you to anyone who nominated me. I have no way of finding out who you are, but I'm touched that you think what I do matters to the community.

To be an IBM Champion you have to be seen, read and/or heard evangelising for the IBM ICS brand and be an active part of the community that surrounds that brand. This can be anything from suggesting IBM solutions to customers or even customers themselves making sure the right product gets used or is continued to be used.

The class has grown to 96 this year and I'm thrilled to be counted as one of them and to be rubbing shoulders with the superstars of the technical community I work in. Does that make me a superstar? Far from it. I'm still just me, being a bit uppity when people dismiss the old Lotus products as 'legacy' and don't even consider the value they could add to the problem they are trying to solve. Still me running the ICON UK in 2015 where a bunch of folks will gather to hear about what you can do with the IBM ICS products. Still me answering questions in the Linux forum, when they don't go way over my head. And still me thinking that R.A.D. is still alive and well but sad that some companies are taken in by lies, lies and more lies from competitors.

So for me, it's business as usual, but I can't wait to meet as many Champions as possible in Orlando in January. Bring on the Class of '15 photo shoot.