Xpages and why my tendency to Gold Plate has got harder to manage.

When we are working on a new application we often talk about bronze, silver and gold plating.

I have a tendency to want to make things too good when in fact the customer is no better off for my efforts, we refer to this as Sean’s Silver or Gold plating. Its a particular issue as we almost always work to a fixed price and experience has also shown me that every extra bell and whistle increases testing and support throughout the life of the application.

Xpages allows you to take this to whole new levels because the traditional constraints imposed by designing applications within the Notes client have been removed. Now you can have two equally functional Xpage applications  that are wildly different in terms of the interface bells and whistles.

The new functionality is obviously much welcomed and as we develop more design patterns it gets easier but it does make me wonder if it is also a risk to Notes ?

I have heard the opinion expressed several times over the years that one Notes real strengths was that you could ( only ) produce cheap applications and it was therefore very competitive. With Xpages even a simple departmental app can now be very feature rich ( or Gold Plated ). Pricing ourselves out of jobs or failing to deliver value for money to our customers is now something that we have to work harder at because our toolbox is so much bigger. A good problem to have but one that needs thought.

Sean

Notes basic ( non eclipse ) is very useful now but will it hold Notes back in the future ?

I had my “road to Damascus moment” recently when I saw the same app run in Xpages on the client and on the web with no extra coding, or more accurately not much extra coding.

I realised that Notes had passed a huge milestone and some of my long held beliefs were unceremoniously dumped. One of these was that customers were best with the Notes basic ( non-eclipse ) client. It is considerably faster and despite working on notes apps full time neither I nor my colleagues had yet had cause to use any of the eclipse functionality.

Now when we are looking at new apps our first inclination is to want to do it in Xpages if it is likely to be a repeatable solution. This is not just because we are geeks and it is fun but because with our business heads on we believe that we have a much better chance of selling that application to potential customers who do not, and unlikely to ever, run Notes clients.

Notes basic was good for getting people with older hardware ( often < 3 years old ) onto newer versions of Notes. That was a very good thing in the battle for hearts and minds. We needed to get them off R5 / 6 and onto something which really showed what Notes could do. But hang on, is there not a danger that we will be repeating history with Xpages and Notes Basic. If developers mostly want to code in Xpages and as a consequence people with Notes basic will progressively get left behind and, even though they are on Notes 8.x or maybe 9.x. They  will have that dangerously substandard experience that is analogous to users being on R5. I am stretching the point a little but I do think that it is a very valid concern. So do I think Notes basic is a good thing ? Yes I do for now but I think it could quite possibly be a bad thing if it were continued on into Notes 9.x.
Sean

Receiving POP3 mail into a Linux Domino server using getmail and sendmail

I have a need to receive mail from a POP3 account into a domino server running on Centos 5.5 as an appliance.  

Some time ago on windows I used the Chimeras Email Forwarding System which worked very well but this was a Linux server.

The scheme I came up with uses a combination of  Getmail version 4 and Sendmail.

Getmail is a Linux utility which will poll different types of mail accounts and then pass those messages on. It has an option to pipe the messages to an external mail delivery agent such as Sendmail. Sendmail can then send them on to the Domino server as SMTP on the localhost address.

These notes are for a Centos 5.5 installation with the Webmin web based management console

Install and configure Getmail

Create a new user called mailer or similar and a password. This is because Getmail will not call Sendmail if it is run as root.

As Root download Getmail

see http://pyropus.ca/software/getmail/documentation.html#installing

$ cd /tmp/
$ wget http://pyropus.ca/software/getmail/old-versions/getmail-4.20.0.tar.gz
$ tar xzf getmail-version.tar.gz
$ rpm -ihv getmail-version-release.noarch.rpm
$ cd getmail-version
$ python setup.py build


I then used Winscp to create the configuration file /home/mailer/.getmail/getmailrc


In this case the receiving account on the Domino server will be the Administrator account. Getmail has lots of other options

[retriever]
type = SimplePOP3Retriever
server = acme.com
username = peter pan
password =

[destination]
type = MDA_external
path = /usr/sbin/sendmail
arguments = (“-i”,”-bm”, “administrator@localhost”)

[options]
verbose = 0
read_all = false
delete = false
message_log = ~/.getmail/log

[default]

Configure Sendmail



Sendmail and Domino cannot normally run on the same box because they both need to bind to port 25. In this scenario Sendmail does not need to listen to port 25 so it can be configured to listen on port 26 ( or any other unused port ). I used the Webmin client to make this change under Servers > Sendmail > Network Ports

Image:Receiving POP3 mail into a Linux Domino server using getmail and sendmail

Testing the System



Log in as mailer

enter getmail -v
The -v gives a verbose output so that you can see what is happening.

Scheduling the getmail task



I used webmin to set up the cron job running as the mailer user


System > Scheduled Cron Jobs

Image:Receiving POP3 mail into a Linux Domino server using getmail and sendmail

Other things to remember



You may need to set Sendmail up to start on bootup

You may need to allow pop3 mail through your firewall


As usual all feedback on better schemes welcomed !

Sean

EC2, too clever for me, snapshots, multiple servers, instant servers, but "release" your IP address and it all falls over ( for days ).

Dear reader, you will probably be reading this in a few days time because I have just pressed the wrong button in EC2.

It’s been an interesting lesson. Part of moving to the cloud is all the extra redundancy that you get. You feel that the incredibly powerful controls that you are given mean that in some respects you haven’t really given away control but rather gained it.

You might feel uncomfortable going for a small or new host organisation but you feel safer with the big people like Amazon EC2.

The problem is that humans are still involved and some of the services that you have been given are only on loan. In my case the fixed IP address from Amazon was only on loan and when I accidentally gave it back I couldn’t get it back again. In the on premise paradigm people had redundant power supplies, redundant drives, redundant switches but did any one worry as much about loosing an IP address whilst still with the same connectivity provider ?

Its good that its Friday ( shame it wasn’t Friday evening though ) because when you see this on Monday on Planet Lotus the link might actually work depending on your local ISP’s DNS caching. Was it a good weekend for you ?

What happened

EC2 has a great feature called an “Elastic IP Address” that allows you to have a static IP address that you can switch between EC2 instances ( servers ).

If you would like to avoid some chaos then you SHOULD NOT EVER choose to “release” your Elastic IP address for once you do it disappears and is lost forever.

This means that you need to get a new one and re-do all of your DNS A records again. This means that your site will be down for days.

When moving the IP address between instances you should use the Disassociate option below. You will notice that the Release option is greyed out.

Image:EC2, too clever for me, snapshots, multiple servers, instant servers, but "release" your IP address and it all falls over ( for days ).

However, if you have just terminated the instance that had been associated with that IP address the console ( quite logically ) looks like this

Image:EC2, too clever for me, snapshots, multiple servers, instant servers, but "release" your IP address and it all falls over ( for days ).

Now I know that the logical thing to do ( in hind sight ) would be to click the Associate button but my brain has not twigged that the Dissociate action happened automatically when the instance was terminated so I clicked the “Release Address” button and got this.

Image:EC2, too clever for me, snapshots, multiple servers, instant servers, but "release" your IP address and it all falls over ( for days ).

I really want them to change it to say this

Image:EC2, too clever for me, snapshots, multiple servers, instant servers, but "release" your IP address and it all falls over ( for days ).