HTTP request consumer in XPages

Chris Toohey recently posted an example of a simple HTTP request consumer using a traditional (classic) Lotus Notes/Domino agent. I had a need for a similar solution in XPages – and since Chris never posted his follow-up post on the XPages version I had to do it myself 🙂

The HTTP request consumer is used by a 3rd party callback service to report back the status of (in my case) a HTTP form post submitted earlier by my app to that service.

The XPages solution is a simple XPage that uses the afterRenderResponse event to gather fields returned and display a related response to the user – including displaying a useful error message to the user in case the callback service misses important fields. The HTTP request parameters (form fields) are retrieved using param.get(‘<field>’). The HTTP request parameters can be GET parameters (e.g. http://hostname.com?p1=v1&p2=v2) or POST parameters.

Basic code example for the afterRenderResponse event:

try {

var exCon = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = exCon.getResponse();
response.setContentType(“text/html”);
writer.write(“” + “\n”);
writer.write(“” + “\n”);
writer.write(“” + “\n”);
writer.write(“” + “\n”);

// Read the HTTP request parameters
var _param1 = param.get( ‘test1’ );
var _param2 = param.get( ‘test2’ );

// then do whatever is needed with the HTTP request parameters – e.g. print the contents of the parameters in the response.
writer.write(“<p>Parameter 1: ” + _param1 + “</p>\n”);
writer.write(“<p>Parameter 2: ” + _param2 + “</p>\n”);

writer.write(“” + “\n”);
writer.write(“” + “\n”);
writer.endDocument();
facesContext.responseComplete();

} catch(e) {

_dump(e);

}

My first two months as self-employed consultant

This is a followup to my first two weeks as self-employed consultant at PHL Consult.

2 months have now passed since I started as full-time consultant at PHL Consult – and I am really enjoying it! It has been exciting to focus on my own business and see the immediate results of actions that I take. I have been in discussions with several potential customers and potential business partners about projects where I can offer my services. Some of these discussions has turned into real work for me and I am happy to say that I now have more than just the one customer I started with 2 months ago. The new customers and new projects are primarily focused around Domino administration (setting up new servers, upgrading existing servers) and around modern web development using XPages.

Almost all of my meetings with new and potential customers have been set up through my social network. This really shows that networking is very important for establishing business contacts. One customer, however, contacted me because they found PHL Consult through a Google AdWords ad when using Google to search for a Lotus Domino consultant. I have set up some Google AdWords ads because Google sent me a free trial of ads for $100. So maybe I should consider using AdWords when my free trial has been spent.

Starting a full-time business also require that I take care of administrative tasks. I have had meetings with my accountant to discuss the structure of my business and have decided to go with a one-man business setup (instead of setting up for instance a limited liability company). I have also talked with insurance companies in order to establish necessary company insurances to cover professional liability and business property such as my IT hardware.

I participated in the 44th DanNotes Lotus user group conference in early November. It was great to meet many of the Danish Lotus customers, Lotus business partners and Lotus consultants. I am also still an active member of the Danish Notesnet group of Lotus specialists.

My first 2 weeks as a self-employed consultant

I started as self-employed full-time consultant on October 18 – and today the first 2 weeks has passed. So how did they go?

I have started working on my first XPages project for my first client. The project is currently in the design and early implementation phase and I have therefore been to a design workshop with Supermouse who is responsible for the information architecture and UI design. I find it very interesting to learn more about XPages and to apply it to a real project.

I was invited as special guest to IBM Hackday 8 at IBM in Copenhagen. It was a fun day with a lot of mobile app discussions including looking at Titanium Appcelerator and how it can be used to develop iPhone and Android applications.

I went to my first all-day Notesnet.dk monthly meeting – and it was nice to meet many of the Notesnet.dk members. I hope to have the opportunity to work with some of my Notesnet.dk colleagues someday on shared projects.

I took part in the recording of episode 24 for one of my favorite podcasts: This Week in Lotus. It was great fun to record the podcast together with Stuart McIntyre, Darren Duke and Joyce Davis.

All in all, I have enjoyed the first 2 weeks as self-employed consultant at PHL Consult.

DanNotes – Danish Lotus User Group – 44th conference

DanNotes logo

The Danish Lotus user group DanNotes is hosting its 44th conference on November 3rd and 4th, 2010.

The agenda consists of IBM and IBM Business Partner presentations on November 3rd and of development and administration tracks on November 4th. The developer track is hosted by Carl Tyler from Epilio while the administration track is hosted by Chris Miller (I do Notes) from Connectria.

I am participating in the conference as a member since PHL Consult is a member of DanNotes. I have created a LinkedIn event for the conference. Will I see you there?

Welcome to the opening of PHL Consult

It’s October 18! Today is my first day as a full time consultant in my own company PHL Consult – where I am going to primarily work with Lotus Notes and Domino based solutions. Feel free to take a look around the new offices 🙂

For my first project for a client I am going to work with XPages. I look forward to the challenge of both learning a lot more about XPages and of implementing the web site for the client.

Let me know if I can provide you with my assistance. Thanks.

Independent member of the Danish Notesnet group

I am pleased to say that my Lotus Notes/Domino consultancy company PHL Consult has been accepted as an independent member of the Danish Notesnet group of Lotus specialists. The members of Notesnet are all self-employed consultants working with Lotus products in general – and for most of the members with Lotus Notes and Lotus Domino in particular. I am sure that being member of this group will benefit me in some way or the other now that I start on my excisting new adventure.

Before being accepted as member I was invited to the group’s September meeting by the chairman of the group John Dalsgaard of Dalsgaard Data. I enjoyed being part of the meeting and now look forward to lots of interesting meetings in the future.

Lotus related podcasts in heavy rotation

Two years ago I blogged about podcasts that I listened to at that moment. Since then lots of new and interesting podcasts have appeared. I currently listen to a lot of Lotus related podcasts and the following are in heavy rotation on my iPhone as they provide me with insight and lots of inspiration:

I see lot of potential in the following podcasts but the authors have been quiet for a while… I hope that they will pick up podcasting any time soon:

Finally I can highly recommend Notes in 9 by David Leedy. David does a great job in teaching XPages using video podcasts. I especially like that he starting from the latest episode (the extended edition episode) now renders the video so that you can watch it on your iPhone and iPad!

I will start on my own as a Lotus Notes/Domino consultant

I have exciting news! I am leaving IBM October 15 to start on my own as a self-employed consultant at PHL Consult. I will work primarily with development and administration of Lotus Notes and Lotus Domino solutions.

I have been with IBM for 16 years and had almost never thought that this day would come – but I have been dreaming of working as a self-employed consultant for many years. I am very happy that I finally took the plunge and look forward to the exciting new adventure!

To quote Mark Twain:

Twenty years from now you will be more disappointed by the things that you didn’t do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover.

Wish me luck.

A Practical Guide to Distributed Scrum

I have received my copy of the recently published “A Practical Guide to Distributed Scrum”. The book covers much of what I have already experienced in my role as an IT architect for 4 Scrum teams consisting of developers from Denmark, Lithuania, Belarus and India. So I look forward to read through the practical suggestions in the book to see if our teams can improve – and to see if I have other practical advices and lessons learned to add.

These are some of topics in the book that I find interesting:

  • distributed teams
  • backlog and release plans
  • preparing for sprint planning
  • the actual sprint planning
  • continuous integration
  • test automation

The book is written by Elizabeth Woodward, Steffan Surdek, and Matthew Ganis. The book is available at Amazon: A Practical Guide to Distributed Scrum.

Update July 18: As commented by Matthew Ganis: 100% of the proceeds go to charity (Children’s Hunger Fund and the Alzheimer’s Association).

Update August 16: A Facebook page for A Practical Guide to Distributed Scrum is now available – and the web site for A Practical Guide to Distributed Scrum for has been updated.