Installing Domino 7.0.2 on Ubuntu 6.06 LTS

I have been trying to get Domino 7.0.2 running on Ubuntu 6.06 LTS but without success. Based on miscellaneous postings on the web I manage to work out a partial solution.

The process has been as follows:

  1. Install Ubuntu
  2. No SSH support out of the box (apt-get install openssh-server)
  3. Unable to complete install due to missing C-library (apt-get install libstdc++5, ldconfig)
  4. Configure server using remote install
  5. Launch server only to see funky nsd.sh errors on the console but it was solved using approach found on notes.net.
    • apt-get install gawk <– did not work
    • edit line 86 /opt/ibm/lotus/notes/70020/linux/nsd.sh = “Linux) Awk=$(where gawk);;” –> “Linux) Awk=$(where awk);;”
    • <restart domino server>

The above process got Domino to start successful but now I’m seeing an error on HTTP task startup (java.lang.UnstatisfiedLinkError: libawt.so) which I have been unable to solve. I found a possible solution on notes.net but since there’s no deprecated X11 package that I could find for Ubunto I’m at a loss.

Gotta hit Google unless anyone has some clever ideas…

Should we create a new internet?

Robert Cringely has an interesting post on creating a new internet called INet.

"We have trouble. After 40 years of development and almost 20 years of commercial use, the Internet is getting clogged up. We have more spam than legitimate e-mail, more advertising than content, and a few not very well-behaved protocols making trouble for all of us (more on this part next week), with the result that real utility is beginning to drop for many Internet users, who have to buy more and more bandwidth in order to effectively keep the same service level. Yes, we have trouble, and it is compounded by the current popularity of Internet video, which has knocked Moore's Law on its ear through the willingness of whole cascades of companies to lose money to show us dogs dancing and children falling off bikes."

Link to full post: Just Say No: David Harrison wants to replace your Internet.

I wouldn’t want to start doing Notes now…

Well actually I would – I love the product but this morning after seeing a developerWorks article titled “Using and understanding Reader Names fields in IBM Lotus Notes and Domino” I caught myself thinking: “Who actually reads something as basic as this?”

I only just finished the thought before realizing that although I have been with the product for a LONG time and consider most of the features well known, many new developers are coming to Notes each year. I wouldn’t want to start now because where do you start?

When I started with Notes I think there were about 3 different courses available with nested @If’s and understanding the difference between @DbColumn abd @DbLookup being some of the most advanced topics. I haven’t counted but my guess is that there are a hell of a lot more courses now! πŸ™‚ Where do new developers begin? Is the scope of the product now such that the developers who will become the “jack-off-all-Domino-trades” are gone? Will new developers have to specialize to actually grasp the product and be productive? How long will it take before they are actually able to contribute to a decent size project? With quality design elements that is… Not just forms with a couple of fields or views, designed in a way that would make Nathan Freeman and Chris Blatnick scream! Quality stuff ready for prime time…

It’s a whole different ball game now. New technologies. Different platforms. Different languages. Different vocabulary; Notes, Domino, Eclipse, RCP, Expeditor, Form, View, Script Library, PostOpen, WebQuerySave, Design Synopsis, Principal field, Amgr task, Composite application, web service…. Considering that I already used Notes and Domino interchangeably above, although the words mean totally different things, doesn’t make it easier.

When were the last time you started a new junior developer off in Notes/Domino development? How long did it take before he/she was productive on his own? My guess is that it took a long time. I’m not saying that it is impossible, but I find it very hard to get new developers going in Notes. There is just so much stuff you simply have to know before you can produce anything that is off value to the customer (whether he be internal or external to the company).

I guess you have to start with the basics and just accept that it takes time.

Simply having to know a lot of stuff and starting with the basics concludes the rant and takes me back to the article on reader/author fields. Good thing these articles are still being written – where would we be without them… πŸ™‚

JDK (1.6.0) not recognized in Firefox

After reloading my machine and installing all the JDK’s I use (1.3, 1.4, 1.6) the latest JDK wasn’t recognized in Firefox 2 though it was found and worked in IE. The Java control panel was set correctly and displayed JDK 1.6 as being active for IE and Firefox. The solution (based on this post) was to close Firefox, rename npoji600.dll to xxx_npoji600.dll (in C:Program FilesMozilla Firefoxplugins) and restart Firefox. Problem solved.

AJAX and character sets

Being from a country that uses characters outside the ASCII range we are often times struggling with character set issues and today was no different. Well it was… Today I found the solution that has been eluding me for a long time.

We have been having issues with national characters in content being returned in AJAX calls for documents sent using the text/plain MIME-type (e.g. JSON). Apparently the XMLHTTPRequest used on most platforms assumes that the content it receives is in UTF-8 so if you’re having issues with encoding check the charset. Changing the character set in the servlet generating the data (Content-Type: text/plain;charset=UTF-8) and on the page (using a meta-tag) solved the issue.

JSONMap class

I’m starting off with converting some inhouse developed AJAX stuff to using DOJO and for that reason I needed to convert my XML responses to JSON. Using the JSON Java classes this was pretty straight forward but I really needed an easier way to convert a java.util.Map instance to JSON. Extending JSONArray this was easy. Provided here for those who might need similar code…

package org.json;

import java.util.Iterator;
import java.util.Map;

public class JSONMap extends JSONArray {
   public JSONMap(Map m) {
      for (Iterator ite=m.keySet().iterator(); ite.hasNext(); ) {
         String key = (String)ite.next();
         String value = m.get(key).toString();
         JSONArray a = new JSONArray();
         a.put(value);
         a.put(key);
         this.put(a);
      }
   }
}

Code like this

Map m = new HashMap();
m.put("AL", "Alabama");
m.put("AK", "Alaska");
m.put("AR", "Arkansas");
JSONMap jm = new JSONMap(m);
System.out.println(jm.toString());

will output the following JSON

[
    [ "Alabama", "AL" ],
    [ "Alaska", "AK" ],
    [ "Arkansas", "AR" ]
]

Sametime 7.5 / Expeditor again mentioned in Eclipse Magazine

Sametime 7.5 and Lotus Expeditor are mentioned (again) in the February issue of Eclipse Magazine. Although it requires registration the magazine is free to download and read. A brief except from the introduction has been reproduced below:

"The first innovative and major instant messaging collaborative client was built on the Eclipse framework. By leveraging Eclipse, IBM Lotus Sametime users could access new plug-in capabilities such as audio/video extensions, location-oriented or mapping applications. and corporate calendar integration."

The article goes on to talk about Sametime and Expeditor although they call it by the former name of Websphere Everyplace Deployment. From a Notes-community perspective the interesting thing is that they show how easy it is to develop plug-ins for the platform and hence invite new ISV’s to contribute plug-ins.

The gauntlet has been thrown – Notes developers read up on Java and get going in Eclipse development to stay ahead… πŸ™‚