Web Services on ND8 vs ND7

One would think, creating and running web services on ND8 should not be incompatible with ND7 process. Wrong. There are a few quite important differences when creating web services on ND8 instead of ND7.

  1. You can now create clients. The one we’ve all been waiting for since ND7 came out.
  2. Web services created/built on ND8 don’t work on ND7 anymore! So, keep in mind that if you are running web services on ND7, you shouldn’t upgrade your designer to release 8 just yet.
  3. You can now use Java libraries when creating web services in Java. You couldn’t in ND7.
  4. You can now have port class defined in a script library when creating web services using LotusScript. This was not possible in ND7.
  5. You can now return empty array. if you wanted to do this in ND7, you had to create a class, containing an array and then return object of that class.
  6. More SOAP error handling elements.

Happy New Year!

I do wish all of you a happy and successful New year 2009. May all your wishes come true and all your code work.

Oh, and you have probably noticed, there won’t be an article this week ;).

Adding content to Rich Text field in a document using QOA

I have found an interesting challenge last week. For some reason, I had to have a document on web that would show a computed table of products and there would be some content before and after. The trick however is, that we use some sort of CRM database for our web content and documents use one rich text item to store document content.

Now, I didn’t want to create another form or change the existing one and there was way to complicated to do a computed value in rich text for table display. And we already had a web QOA for this type of document. [Read the rest of this entry…]

Design patterns – Part 4: Factory method pattern

Factory method pattern definition:

The Factory method pattern defines an interface for creating and objects, but lets subclasses to decide which class they will create.

Huh?

I will try to present this pattern on a simple example. Imagine you work in a company that sales software. However, this software is, due to different laws, different for each country/region it is sold in (in our case EU and USA). You have two types of software (Pro and Basic that differ by price and package). You will need to create a single store that will allow users to only buy products from their country. [Read the rest of this entry…]

Domino Linux startup script – Addon

An error has come to my attention. Linux startup script for domino does not work by default. Instead it returns an error in a form of: “tty is disabled during system start up”.

What you can do, if you have sufficient rights (otherwise, ask your admin to do it), is to add the following line into sudoers file:

Defaults:your_notes_user !requiretty

Replace your_notes_user with username that can run notes, save it and that is it.

How do you do that?

  1. Login to your linux machine
  2. In console type visudo and press enter
  3. Edit the file by pressing either i or a vi command
  4. Go to the end of the file and add above mentioned line
  5. Save the file using :wq

Installing Sametime Gateway 8

A long time ago, at work, we decided that since we have a working Sametime environment, we could top that and also install Sametime Gateway and thus connect our Sametime community to other IM communities like Yahoo and Google Talk. [Read the rest of this entry…]

Securing Web Services

Last week I wrote my first web service (yay!). I am not going to write about that, as process of creating web services is nicely described at IBM developerworks. But, back to my service. The service is used to do some work that only my consumer application should be able to do. However, due to nature of it’s use, it has to be available on public server. It was after I nearly completed it, when I became aware of this issue. [Read the rest of this entry…]

Design patterns – Part 3: Singleton pattern

The simplest way to describe singleton class is to look at the definition:

The Singleton Pattern ensures a class has only one instance, and provides a point of access to it.

So why would you need that? Well, there are many objects you only need one of in your application (e.g. Logging, text trimming, for loading strings from a view, etc.). It assures you that you only have one instance of the class and that no one can create another instance on its own. Thus, you need a global access point to deliver the handle to the class. [Read the rest of this entry…]

Lotus Developer 2008 Europe Report

Day 0, Check-in

The flight was OK, check-in without issues and registration to the conference was prompt, which scared the hell out of me. You know what they say. If everything goes right, something is bound to go terribly wrong.
Conference registration people were kind enough to give me shoulder bag with loads and loads of commercials, a ticket to Blackberry Bold draw and a conference guide, which was probably the most useful item. If you don’t count the bag that is.
Then, off to the city I was for some gift shopping. [Read the rest of this entry…]

Lotus Developer 2008 Europe conference

As every year, I am attending The View’s Lotus Developer 2008 Europe conference, which will be held in Amsterdam from November 11th till November 13th. This is the biggest Lotus Notes conference taking place in Europe and since it is just a couple of months prior to LotuSphere conference, I can again hope for some cutting edge tips & tricks prepared for LotuSphere event. I will definitely report back upon my return.