Friday, December 21, 2007

Google Update and the New Google Applets for BlackBerry

A couple of days ago, I was checking a Gmail on the BlackBerry and noticed that Google had sent through a link to the Google Mobile Update applet. Since I love new gadgets, especially from Google, I quickly downloaded it.

This utility is impressive. It does the same thing as Google Updater does on the PC (which is more or less a google style Windows Update).

On the mobile, it lets you update the following;

  • Search
  • Google Maps
  • Gmail
  • News
  • Google Sync
  • Google Reader
  • Google Docs
  • Picasa
  • and the Updater Applet itself.

I didn't have all of these but decided to add them anyway.

For me, the "New ones" were Google Sync, Reader, Docs and Picasa. I had the other apps, albeit older versions.

Google Sync
This synchronizes your Google Calendar with your Blackberry Calendar - and - if you've got a domino server running, you can sync with that too. This means that your three calendars can always be in synch. Obviously, this isn't for everyone as some people share their Google calendars on the web and don't want confidential company information spread around, while others may want to keep their work and private calendars separate.

Google Reader
If you haven't been using Google Reader for your RSS Feeds, then you've been missing something great. Not only does it allow you to read your feeds, it also integrates well with Blogger so that you can share items of interest (You can see an example on the left hand side of this blog). With Google reader on the Blackberry, you can read posts, look at specific categories only and a few other things that I haven't got around to trying yet. Of course, my Blackberry doesn't support 3G, so it's still a bit slow.

Google Docs
I'm glad that this finally made it to the mobile. I've been slowly moving my non-confidential personal stuff off our work server and putting it into Google docs. That way I can access it from anywhere (and share it if I want to).

In particular, I find Google docs is great for holding lists of books or DVDs that I want to buy. I was quite sad at not being able to access the web version via blackberry (It wasn't compatible with the browser) so I'm really happy now that with the Applet, I can access, and apparently Edit.. (I couldn't get that bit to work so I'm not convinced yet, but the menu option is there) the documents while I'm out shopping.

The word processor is much better on the BlackBerry than the spreadsheet since those cells are quite hard to move around in.

The picasa applet basically provides access to your Picasa Web Albums - Something I think I've blogged about before. It allows you to view and search your albums and to add comments. Obviously the search isn't going to be too useful unless you have decent descriptions attached to your photos. I've used the web version of picasa on the blackberry before but the applet is definitely faster and more stable.

Tuesday, December 11, 2007

How to Add a Button Bar of Links to Facebook, Delicious, Digg and Other Social Bookmarking Sites to Your Blogger or other Systems Blog

I've just added a bunch of social bookmarking links to my blogs. Since it took me a while to figure out how to do it, I thought I'd share my wisdom.

Note that this method supports Blogger, Typepad, Wordpress and others. At this stage, I don't know if it supports Domino Blogsphere - Any Domino people want to provide an update?

Getting the Link Information
1. Go to the Site:
2. Click Get your Button
3. Choose Bookmarking Widget and select the type of Widget, where you want it and the blogging platform.
4. Click the button marked Get Your Free Button 5. You'll be prompted to Login / Become a Member
6. After this you'll be supplied with some code, copy the code for pasting into your Blog (see step 7 below).

and here's a picture to show how simple the selection is.

Making the Code Change (Blogger Only)
Note: The web site ( gives you pointers for blogger, and I presume for the other platforms too, so if you use a different blogging platform don't despair.

1. Open Blogger Dashboard
2. Go into the Settings of your Blog
3. Click the tab marked Template
4. Click Edit HTML
5. Select the Checkbox marked [X] Expand Widget Templates
6. Search for the Text div class='post-footer'>
7. Press ENTER at the end of the line and paste your link.
8. Click the button marked Save Template
9. View Your Blog (Just in case of problems).

Thursday, November 22, 2007

The best developer community in the World.

As rightly pointed out by Bruce Elgort in a comment on my last post, IdeaJam is actually an IBM/Lotus developer community initiative. I did know that, but somehow I accidentally wound up giving credit to IBM/Lotus anyway. (sorry).

The IBM/Lotus systems are blessed with IMHO, the best developer community in the world. Sure, a lot of praise is due IBM/Lotus for their commitment to the community and to their evangelists, Ed Brill, Alan Lepofsky, Mary Beth Raven, Adam Gartenberg and Bob Balaban among others.

But the real credit has got to go to the generally unsung heroes of the Lotus Community...

The people behind initiatives like IdeaJam, OpenNTF and regular submitters to the IBM Lotus Sandbox. I could rattle off a huge list of names and linked blogs, but then I'd be competing with the likes of Facebook and Orkut.

If the measure of an application's success is at least partially determined by the quality of the people it attracts, then there can be no doubt in my mind that Notes/Domino is up there with the best of the best.

Idea Jam - Another Giant Leap for IBM/Lotus

I've been looking at this site for a while now and am quite impressed. This concept might not seem complex at first but the business possibilities for this type of Web 2.0 app are endless.

Idea Jam (

The idea behind this site is to let people submit ideas, in this case for improvements to the Notes/Domino product, then allow others to comment and vote on them. The best ideas gradually move to the top.

Well done IBM !!

Also, today they announced code to allow you to embed your ideas on your web page or blog (though it doesn't seem to work in blogger yet) so...

Please vote my ideas :-) Obviously I want them to progress

Can we have a Code Wiki near the Forums

Clipboard access in LotusScript without API's

Tuesday, November 20, 2007

A bit more on BlogSphere (and some disappointments)

Continuing with my implementation of BlogSphere, I feel sadly let down, not by the product, which seems to be very good but by the documentation - sorry, lack of documentation.

At any rate, pressing on...

Configuring BlogSphere
You can't configure blogsphere without the ACL being set correctly. As far as I can tell, you can only be a member of one role (ie: not in multiple groups with multiple roles). This could be completely wrong but so far it's working for me. I put myself directly into the ACL with Manager rights and the [UI-Admin] role. Logging out and then back in gave me access to the configuration options.

Configuration can be selected by clicking the BlogSphere config button in the top left hand corner of the Navigator.

Side Blocks
The initial web view of BlogSphere V3 is much better than V2, cleaner and nicer. That said, I'm sure you'll want to add some content to the sides.

In this example, I'm going to do a calendar because that one works - I haven't figured out the other types of side blocks yet but they're not easy from what I can tell.

In the outline navigator on the Configuration menu, select Side Blocks.

Click the button marked New Side Block and a new form will appear.

Choose a type (eg: Calendar) and an alignment, position and class. The position is just a number (1 for top).

Save your side block and then go back to the web version of your blog and hit refresh. Yay! the calendar appears.

Attaching Documents
Now what I really want to do is attach a document for discussion but my time seems to be running out. I've spent pretty much the entire day trying to figure this out but alas, there's no way BlogSphere is going to challenge Blogger for sheer usability and I haven't been able to find any documentation that describes this process.

For the time being at least, I'll be posting in a different database and linking to it from BlogSphere.

BTW: I'm trying not to be critical of BlogSphere, it's very impressive and these guys are doing it for free but they need to assign someone to the documentation in order to improve take-up. Actually, the whole of OpenNTF suffers from this - I'm yet to see one screen shot in the field for screenshots. If I manage to figure this out, I'd be happy to donate any documentation I have (if they'll accept it).

A bit on Blogger and Slideshows

I know I was going to continue on Domino's BlogSphere but I just had to mention this...

Google Blogger just keeps on getting better and better.

Today, my RSS feeds gave me a post on Blogger's New Slideshow tool entitled Show off your photos with the new Slideshow.

This is very impressive.

It allows you to add a layout element that will display your photos from a given folder in Picasa Web Albums.

The integration between Google's applications is spectacular. What's more, it's not limited to Google - It works with Flickr and Photobucket too as well as other sites supporting Media RSS.

Add this to features like the ability to publish RSS entries of interest directly from your feeds in Google Reader and (sorry IBM/Lotus BlogSphere) Google Blogger is, at least for the moment IMHO, the untouchable king of Blog tools.

IBM - If you're reading, this sort of integration is the main reason why you should be putting more effort into integrating your systems (and other people's systems) with the otherwise excellent BlogSphere template.

Monday, November 19, 2007

Web 2.0 without Notes 8 - Getting Started with BlogSphere on Domino

These instructions use Notes 7.

Getting hold of the Template
Go to and login. If you don't have a login, you should register for one. It's free, but you can't download without being logged in.

Download the BlogSphere Template. At the time of writing, the current version was 3.0

Documentation for BlogSphere is at the BlogSphere Wiki. It's obviously going to be a better source of information than this blog. I'm only writing this because I want to keep my notes somewhere and I want to show how easy the product is.

[Note: Sadly, I've just had a look at the documentation and, at present, I'm not sure if it is actually better than this blog entry. Maybe I'm looking at it wrong - I hope so].

Save the Template on your Domino Server and Sign it with an appropriate ID.

Creating a New Blog
From the Notes Client select File, Database New.
Specify the Correct Server, Path and Filename to the Database (whatever you like really).

Choose the BlogSphere Template and click OK.

Initial Configuration
As part of the Blog Creation process a Start Wizard appears. This is pretty cool and I don't think I've seen this feature used in a Notes database before.

Click the Start Wizard Button.
fill in a Blog Name, Description, Home URL and Base URL. You can just hit next on the next two screens about comments and spam since you can change these settings later.

You might want to allow Email blogs in the Inbound Email Processing Section. Choose Specific Address and type an email address like

Access Controls
In order to be able to configure the blog template, you will need to put appropriate access controls in place. Don't forget to deal with -Default- and Anonymous if required.

First Blog Entry
To Have a look at your blog, Click the Goto button and then click Blog Homepage. It should open in a browser window.

At first, your blog will look a bit blank. That's because there are no entries there. I have to admit though, it already looks better in V3 than V2.5 of BlogSphere.

To create a new blog entry, click the button (in the Notes client) marked New Blog Entry.

You should put something into the Blog Title and the Blog Text fields. Once you've done that, click publish story.

Go back to the web version of your blog and refresh. It should look better.

Still nowhere near as user friendly as Blogger but for a commercial entity... not bad.

In my next post, I'll look at tidying up the settings and adding menus and functionality to the blog (assuming I can work it out by then).

Sunday, November 18, 2007

IBM Lotus Notes/Domino TCO

I've been a little busy lately with all sorts of family issues (including an outbreak of chicken pox at home). Sorry about the lack of posts - this will be a short one too.

There's a few new tools coming out from Google to help migrate things from Exchange and Domino to Gmail solutions.

This is great for a mail-only solution. I don't begrudge Lotus people on simple mail only systems moving to gmail. It's only people who are using Lotus Notes (properly?) for databases who shouldn't consider this option.

One thing I noticed about the article though was the nice comparison of TCO's.

Lotus Notes comes in much cheaper than exchange in all categories - well done IBM Lotus.

Monday, November 05, 2007

Examining Server Hard Drive Space

About a week ago, Ask the Admin ran a feature called What the Heck is Filling Up My Server?. The article was quite a good one and covered several products. I tried a few of these out.

IMHO, the best of these is WinDirStat.

This utility is free and quite fast. There's also some amusing pacman-like activity when you start it scanning a drive.

One of the really cool things about this app is that it recognises the extensions of a lot of file formats - including less common ones like .NSF for notes. An extension that many expensive programs of this type often miss. If it finds a few files of an unknown type, it lists their extension as well (see DES at the bottom of the colour code map).

The other exciting thing about this tool is that it creates a colour-map showing all files in relation to eachother. You can quickly spot the big files. If you click on a patch of colour, the name and path of the relevant file will be displayed in the status bar.

Imagine my horror at finding a couple of gb of MP3s on our system. They've all be removed now so I can't show you that shot. Here's a map with several obvious copies of a large MS Access file.

This software is fantastic for the detection and removal of unnecessary clutter.

The final view that I've found really helpful in this product is a tree-view with bar graphs. It allows you to quickly see where the worst of the clutter is located.

If you haven't given this tool a go, you should.

Thursday, November 01, 2007

Web 2.0 without Notes 8 - Getting Started with DominoWiki

For Notes 7 (possibly 6.5) and above.

This blog entry covers my installation of Domino Wiki from a business rather than a techncial perspective.

What is a wiki?
Wiki's have been around for years and probably the best known of these is the wikipedia. The simplest description would be a hyperlinked online encyclopaedia which allows web-based editing.

Ideally, wiki's aren't centrally updated in-house but could be updated by certain categories of users on the web. There's still a bit of debate over whether or not this is a good idea but I'm not going to spend time worrying about this, it's simply an ACL change for domino.

There's obviously better definitions of wiki's elsewhere but I'd guess that the best way to find out what one is, is to use one.

Why would my organization need a wiki?
At first, this may seem like a difficult question to answer. After all, if IT is meant to be a technology enabler rather than a business driver, there needs to be some fairly good justification for using such a tool.

My Justification
My workplace currently has high staff turnover rates. It also has a lot of external committees whose members are frequently changing. Finally, some of our longer term members are starting to leave.

The result, a lot of intenal knowledge is walking out the door.

It's my belief that a wiki could help us to retain some of that knowledge in an easily searchable format.

About DominoWiki
DominoWiki is a brilliant wiki product for Lotus Notes/Domino developed by the OpenNTF team. It seemed obvious to me that I should be using this product since it leveraged my existing domino server's web services and security.

Where to Get DominoWiki
DominoWiki doesn't ship with Notes 7 but it is available for download from OpenNTF. You need to subscribe to download but it's well worth it - there's a lot of useful goodies on OpenNTF.

Saving the Template
Save the NTF Template somewhere on your domino server, sign it and make ACL Changes as required.

You can then create a new database from the template.

There's a good blow-by-blow walkthrough here, so I won't bother repeating it;

Configuring the Wiki
Once you get to the configuration screen, it's worth having the wiki open in your browser window while you work. This helps you to see the effects your changes are having.

Once again, I'll not go into details here because the support is so good and their documentation is better than I'd write.

I'm not sure if you should full text index the wiki, but I've decided to do it anyway, just in case.

When you've finished the single wiki configuration screen, you can work on your wiki via the web.

Initial Pages
The first thing you should do is go into your Notes Client and locate the StartPage in the All Documents view. Open this page up, click the edit button and then deselect the checkbox that says
[x] Is this page locked

Click Save and then Close.

Now, refresh the Wiki in your web browser and click the Edit Page button at the bottom of the screen.

You'll want to type some introductory text for the wiki and create some links to your main topics.

Once you've got your start page in decent shape, you'll want to lock it again. Editors should be able to edit your main topics but there's really no reason to give them permanent access to modify the start page.

Camelcase and Brackets
It took quite a bit of searching for me to determine how to make wiki links.

The default method is called CamelCase, whereby you type a single word using fUnnyCapitalisation. I really don't like this, it's fine for a techie wiki but really awful for a corporate one.

The other method is to use double [[square brackets]]. This is much more acceptable.

Wikipedia mentions a way to use aliases within square brackets but at version 1.1, I don't think DominoWiki permits this.

Now I can open the system up to our staff to, hopefully brain-dump in.

When your Air Conditioner tried to kill you...

I don't think I've ever worked in an IT environment where the server room wasn't plagued by air conditioning issues.

We have two in our computer room,
a. The standard building air conditioner
b. An extra unit

They draw their power from different circuits, so they have a degree of redundancy but... ...both draw their water from the same source, a water tank on the roof of our building.

Late last night I got a warning from our security company about the air conditioning. They report when it hits 28 degrees Celsius (82.4 F).

I live quite a distance from the city and while I have keys to the building, our floor and the computer room, I don't have keys to the air conditioner reset itself.

I decided that since I only had a few hours to go, I'd finish sleeping and arrive at my usual time 6.30am.

By the time I got there, the room temperature was 32 degrees Celsius (89.6 F). I left the computer room door open and it cooled to 27C (80.6 F) within 30 minutes.

I'm obviously going to have to find some way of doing a remote-reset. Not that this works when some looney-toon has turned off the water supply to the air conditioner.

Monday, October 29, 2007

An Update on Dragon and the Sony IC Recorder

I'm getting a lot better at Dragon and the Sony IC Recorder. The trick, which was not reported anywhere on the Dragon site or in the documentation, was quite simple.

My older version of Dragon used to start up and load my personal user profile but the newer version needs you to pick it whenever you start. At first, I thought that this was just an annoyance of the upgrade but I've since discovered it's a "feature" of the "Preferred" edition.

Instead of loading my normal profile, I chose to create a new user and was asked, as part of configuration, what type of microphone was going to be used. There was a short list, or so it seemed until I started scrolling. Near the bottom of the list, I found the Sony IC recorder. I selected that and Dragon prompted me to go away and read a large chunk of novel to the stick and then bring it back.

Foolishly, I chose Arthur C. Clark. I think I have been put off his books forever now. If you thought that the movie 2001 was a little tedious, try reading aloud from the novel of 3001. I wish I'd chosen Willy Wonka or Dilbert's guide to management instead.

Anyway, after a gruelling 6 x A4 typed pages, I was finished and reconnected the device to my computer. Clicking the next button in dragon prompted me to select the file and Press Voice Recog... Dragon did the rest.

Dragon did give me this scary message about it probably taking an hour. Given that "Microsoft Minutes" are least 20 minutes long, I was really concerned. Surprisingly though, I went and got a cup of coffee it was done when I returned. (No, I don't take that long to get coffee either).

I tried re-importing stuff from the stick that hadn't read very well previously. I got much better results.

I'm now very happy with the Sony IC recorder and with Dragon preferred, though I'm unhappy with their helpdesk because they made it almost impossible to contact them.

Hopefully my post here will help others.

Thursday, October 25, 2007

Avoiding Injury - Using Dragon in the Open Plan Office

Well, my overuse injury is back and it's quite painful to type. I'm not as worried as I was a few years ago when it first flared up because now I have Dragon.

The problem is that Dragon doesn't lend itself to the open plan office environment. We've recently moved offices and in our old office, I used to be able to use Dragon without worrying about bothering my colleagues. This is no longer the case.

After much deliberation I've found a solution (of sorts).

I've managed to get a Sony IC recorder and have upgraded to Dragon Naturally Speaking version 9 Preferred.

So, now to type longer documents, I take the recorder into a quiet meeting room and dictate to the sony stick. There are some other advantages to this as it frees my hands up for looking through other paperwork.

When I get back to my desk I copy the MP3 file across and then from the Dragon Naturally Speaking menu I select Sound then Transcribe Recording.

It is possible to transcribe the recording directly into an application, such as Microsoft Word, but I prefer to transcribe into the Dragon Notepad.

The reason for this is that when I'm transcribing into the Dragon notepad I can use my computer for other things but when I'm transcribing into other software, Dragon needs to maintain focus on the application and warns me not to touch the keyboard or mouse for the duration of the transcribing process. Transcribing is by no means a fast process, so I'm not willing to wait.

At the moment, the transcribing process is not incredibly accurate. I expect the accuracy will pick up as I experiment with settings and when I locate the dragon transcibing training facilities.

Wednesday, October 24, 2007

RAID and Hot Swap Drives

Yesterday morning we got a defunct drive on our main Domino server. No problem, I called IBM and they arranged to send out a replacement drive within 4 hours. We got the drive within about 3. (Good Job).

I mentioned to my boss that although the drive was a hot-swap drive, there was a chance, however slight, that it could bring the server down. This is my standard disclaimer nowadays.

Well, I removed the old drive and waited about 30 seconds before plugging in the new one.

Instead of the expected rebuild operation, the RAID controller flagged the new drive as defunct and Windows Server 2003 obliged by giving me a blue screen of death.


I had a look at the packaging that IBM sent... Reconditioned Drives... not good.

I don't begrudge IBM for using reconditioned parts but I think it is a little bit cheeky.

At Any rate, following a call to IBM was told to update the firmware on the drives as the replacement drive have shipped with the very latest. Isn't that just a typical IBM response. When in doubt, update the firmware.

I had to schedule an outage and this morning I upgraded the firmware.

Did it work?

Nope. We're still in the poo.

Maybe we'll get a chance to try out our DRP after all.

I've just gotten off the phone to an IBM tech. He said that sometimes they use other brand drives and rebadge them as IBM. He asked me to check the drive.

I took it out, turned it upside down etc. and looked at the circuit board. Maxtor. The IBM tech said that it was ok for Maxtor and that it was Fujitsu that we had to worry about. (whatever?).

Anyway, I plugged the drive back and... it immediately started rebuilding.

Now, I'd plugged and unplugged the drive before and after the firmware update. The difference was that this time, I'd turned the drive upside down to read a label.

I guess those drives need a little shake before installation.

And I'll be extra-diligent on the backup until I trust the drive, that's for sure.

Thursday, October 18, 2007

A Useful Little Routine to Change Data in Fields

Level: Beginner Development

Today I thought I'd just share with you a little routine that I use when I want to make field level changes to a lot of documents without having to edit them. It's beginner stuff but I use it a lot.

What you need
A document, or group of documents with a field called DocNumber
A view where you can select those documents.
Notes Designer.

Creating the Agent
  1. Open Designer on the database (or template)
  2. Click on Shared Code then Agents
  3. Click on the button marked New Agent
  4. In the Properties box, give your agent a Name eg: Change Document Number
  5. It should be a Shared Agent
  6. In the Target Section, it should read All Selected Documents
  7. You don't need to change anything else in the properties box, so just close it.
  8. Now, in the intialize event of your Agent (just click on the word initialize and type in the box that appears).
  9. Type your code (or paste it from this page).
  10. When you've finished, Close the agent windows and choose YES to save your changes.

The code

Sub Initialize
   Dim NewSection As String
   Dim Counter As Long

   Dim ses As New notessession
   Dim doc As notesdocument
   Dim db As notesdatabase
   Dim col As notesdocumentcollection

   Counter = 0
   NewSection = Trim$(Inputbox$("What is the name of the New Category?"))

   If NewSection = "" Then
      Print "You did not specify a category to move documents to. No documents moved."
      Exit Sub
   End If

   Set db = ses.currentdatabase
   Set col = db.unprocesseddocuments

   Set doc=col.getfirstdocument

   While Not doc Is Nothing
      doc.DocNumber = NewSection
      Counter = Counter +1
      Call doc.Save(True, True)

      Set doc=col.getnextdocument(doc)
   Print Trim$(Str$(Counter)) + " document(s) moved to category: " + NewSection
End Sub

How to Use the Routine
Simply tag a whole heap of documents then click on Actions, then Change Document Number (from the Lotus Notes Menu). You'll be prompted for a new number and then it will change all the selected documents.

I use this routine a lot when I want to move documents from one section/category to another.

Saturday, October 13, 2007

Cut-Down PS3 doesn't support PS3

Normally, I wouldn't be using this blog as a platform for a quick rant about a gaming platform - I tend to keep it computers as much as possible but there's a post on DVD Bits that's really got my gander up.

It talks about the cut-down Playstation 3 being released in Australia for $700. As the article says...

"This shaves $300 off the current RRP, but also removes backwards compatibility with Playstation 2 titles; takes out the multi-card reader (for your Memory Sticks, SD cards or Compact Flash) as well as 20GB of HDD space. On the plus side, it is still a Blu-ray player, and may be one of the cheaper and more reliable options."

Now I'm a big fan of backward compatibility. One of the reasons why I felt that Microsoft's XBox deserved to fail was because they don't provide adequate compatibility with their own product.

The article goes on to say that

"Sony has confirmed that the 60GB model will only stay on shelves as long as stock lasts."

If this means that Sony is dropping PS2 compatibility altogether then I'm afraid that I'll be giving the PS3 a miss. Our kids aren't playing the PS2 enough for it to be worthwhile upgrading but you can be sure that when they are ready, I'll be checking carefully for backward compatibility.

Thursday, October 11, 2007

Where did "Set Bookmark as Home Page" disappear to in Notes 8?

One thing has really been bugging me in Notes 8 so far. The apparent disappearance of the Set Bookmark as Home Page option.

I tried configuring myself a new home page but I kept getting greedy and wanting six-panel monstrosities which for some reason, the welcome screen refused to create. That is, I thought it refused to create... until I opened Notes this morning and was confronted by my own handy-work - yuck.

Whatever the cause, I decided that today I was going to get my old Navigator home page back. Here are the Steps...

1. Right Click on the Tab for your Database and choose Create Bookmark.

2. The usual bookmark window would appear.
You can put the bookmark anywhere but I'm going to put it in favourites, since it is one of my favourites.


Click on Favorite Bookmarks.
Change the type to Application (default is view and this can sometimes muck up framesets).
Click Ok to add the new bookmark.

3. Click on Open, then Favorite Bookmarks, then Right-Mouse Click on your newly added favorite (it will usually be at the bottom - I haven't figured out the sorting yet) and there, sitting in the popup menu is our missing function... Set Bookmark as Home Page.

From here there's only a YES - I really want to do this! type prompt and we're done.

Next time you open Notes 8, you'll be in familiar territory.

Getting Domino Databases to Work on Mobiles without Extra Technology - Part 2

As promised last time, I'm going to have a look at views.

Suppose we decide to have a view called ITContacts.

We will also need a form called $ViewTemplate for ITContacts.

We can't change the $ViewTemplateDefault form because changing this will affect other web views of the database. Of course, if your database isn't otherwise available on the web, you can save yourself some trouble because otherwise you'll need to create a $ViewTemplate for each view that will be available on the mobile.

Tips for the View
Creating this view is pretty much the same as creating any other Notes view except that you need to be conscious of how much data you're pushing out.

For example;
Your normal web or notes view of IT Contacts might have;
|FirstName | Surname | Company | Phone | Fax | Mobile | Email | Support ID | Address | City | State |

This is fine for a wide screen but isn't at all useful on the mobile.

Consider concatenating fields; eg:

Instead of the first two fields, try...

@IF(@Trim(FirstName) != "" ; FirstName + " " + Surname ; Surname)

Use HTML to Spread out Vertically
Instead of having a whole heap of columns, consider doing everything in two but using HTML to space things out more neatly.

Your first column would be the link to from the view to the full document. Just make it something small - even an "X" would do the trick.

Your second one would contain useful things...

Obviously your html would be more polished than this, you'd use an @IF like the firstname bit to check whether the Email address existed before writing the html for it.

The end result would be that you end up with a view that displays each record on the web like this.

X Roger Wilco
Space Janitors
Phone: 06 9506 5080
Fax: 06 9059 8905

instead of a columnar format.

Obviously the views would be slightly different for different databases.
Note also that we've ignored the address. If you can, you should try to suppress unnecessary information on the VIEW, save it for the form.

The $ViewTemplate for ITContacts.
This is just a normal notes form with an Editable text field in it called $ViewBody

The important thing is how you structure your menus.

Here's an example of how I did my form - the links go nowhere though.

IT User Manual - IT Contacts
Menu | Prev Pg | Next Pg | Search


Menu | Prev Pg | Next Pg | Search

Other IT Books
IT Contacts
Disaster Recovery

The Menu Link should go to:
Named Element, Page, Mobile

The Search Link will contain formula similar to the following;
DB:= @Implode(@Explode(@Text(@Subset(@DbName;-1)); "\\");"/");
SearchURL := "/"+DB+"/msearchdb?Openform";


(for more info on the search facility - see How and Why to use Different Search Templates in Domino)

The Other IT Books links will contain links going to;
Named Element, View, Mobile\Contacts etc..

That leaves only the Prev Pg and Next Pg Links.
These should have formula for...

@DbCommand("Domino"; "ViewPreviousPage")


@DbCommand("Domino"; "ViewNextPage")


Note that I haven't been able to get these two commands to work on Opera Mini or the Blackberry Browser even though they work fine in a normal browser. When I have an update on this, I'll post it.

I haven't covered forms, because there's not a lot to do with them. I suppose you could try to launch a different form from the mobile views... (one with less graphics). I'll consider it as a future project.

Notes also has a "hide when" for Mobiles which would be good for graphics if phones were reliable. Apparently the blackberry doesn't see itself as a mobile browser.

So... There you have it. Who needs a fancy API (or even a Blackberry) to get things working on the Mobile?

Wednesday, October 10, 2007

Getting Domino Databases to Work on Mobiles without Extra Technology - Part 1

This is a Beginner/Intermediate Domino developer post.

Most mobile phones these days will happily support web browsing. Some, like the Blackberry, will go much further and offer you an API for development. The problem really is that you need to find the common denominator rather than developing for one of the higher end platforms. I believe that the common denominator is probably plain old web access.

If you've got Domino running web services, you most likely have many of your databases already served over the web. The key things to remember with mobiles are;

  • Low Bandwidth

  • Narrow Screens

  • Simplicity

This post will cover one method that could be used to provide non-push mobile access to databases using a Notes-only solution. There are plenty of other options available but this solution should work well in Domino 6 & 7 (and I'd expect, 8).

Create a Mobile Page
Open your database in designer and create a new page, you should call it mobile.
This will be the front screen for your database, so put the database name here and some links to views you'd like to use.

Don't worry too much about the actual links yet - just descriptive names for the views would be fine. When you have some views to link to, you'll want to change these to hotspot links (highlight the text and choose: Create, Hotspot, Link) set the links to Named Element, and the element type to View. You will be able to pick the appropriate view from the list by clicking the folder icon.

Try to keep it simple and small - Try to use 8 points Default Sans Serif as your main font and avoid using graphics.

At this point, you can save your page and then use your mobile to access it. The page should look something like the following (though your links might not be there yet).

Your URL will probably be something like;

(I've cheated on these graphics but this is pretty much how they appear).

If your mobile supports favourites/bookmarking, you might want to bookmark this for later reference since you'll be returning here a lot.

If you're interested in how to build the search link, look at yesterday's post. The link would be something like...

In your link, made using: Create, Hotspot, Link Hotspot and with a Type of URL, you could get away with a shorter URL of;


since the first parts are relative.

Here's how your search form could look;

My next post will look at Views and if it doesn't get too long, Forms.

Tuesday, October 09, 2007

How (and Why) to Use Different Search Templates for Different Lotus Domino Views

Why would you need to do this?
Until recently, I'd have been at a loss to give you a good reason. Now however, since I've decided to modify some databases for Mobile Phone use, I have a very good reason.

Suppose that you want your database to be searchable via the web and also searchable via mobile.
  • On the web, you can afford to spread out on the screen and you want to use a lot of fancy graphics and fonts.

  • On the mobile, you need to keep things as small and as plain as possible.

Working with your existing Database
Your database probably already has a $$SearchForm (or similar) and a $$SearchTemplateDefault. Leave these as they are and your web site will continue to work beautifully.

Make a copy of the two forms and modify them for mobiles

In these examples, we'll call...
  • the new $$SearchForm, MSearchForm

  • We'll call the new $$SearchTemplate for MSearchAll

On your MSearchForm, you need only have;

1. An Editable Text Field (called SearchWord1)
2. A Button
3. A Computed Text Field called $$Return

The formula for the button could be as follows;

DB:= @Implode(@Explode(@Text(@Subset(@DbName;-1)); "\\");"/");

SearchURL := "/"+DB+"/MSearchAll?searchView&query="+@Trim(SearchWord1);
ReturnURL :="/"+DB+"/MSearchAll?OpenView";

@Trim(SearchWord1) != "" ;
@URLOpen(SearchURL) ;

The formula for the $$Return Field could be as follows;
Note: HTML Brackets have been replaced with curly braces

"{script language=\"javascript\"}" +
"document.forms[0];" +

(Actually I'm not sure you need this code on the mobile, but it's better to be safe than sorry).

Creating the Search View
You should now create a view and give it an alias of MSearchAll

If you're doing this for use on a mobile, you should make your view really simple and small (eg: Default Sans Serif 8 Points).

You won't need any categorizations here, just keep it as simple as possible (a list of titles only perhaps?)

Testing your Search
Once everything is saved, you can test your new search facility.

The URL would be something like;
(obviously this is a dummy url which won't work)

Friday, October 05, 2007

How to Get RSS Feeds to Work on the Lotus Notes R8 Sidebar

This is a Notes 8 Newbie Tip.

Getting to the Sidebar
If you can't see the sidebar, you should click on View, Sidebar, Open (In the Menu).
The sidebar will display on the right hand side of the screen.

Look in the Sidebar for an orange icon with the word Feeds next to it.
If you don't see it, you may need to click (on the menu) View, Sidebar Panels, Feeds

Adding a Feed
1. To Add a feed, click on the orange icon with a plus sign on it.

2. An Add New Subscription dialog box will appear.

3. Type (or paste Ctrl+V) the address of the feed you want to subscribe to.

You can usually get these addresses by right-clicking on the RSS icons (or orange icons) on web sites and selecting

  • Copy Link Location (in Firefox)

  • Copy Shortcut (in Internet Explorer)

4. Click the button marked Go. This causes the bottom section of the dialog box to fill in. You can change these settings if you want to, but often they'll be ok.

Note: You can change them later by right-clicking on the Feed Name and choosing Edit Feed Subscription.

5. Click on the button marked OK.
The dialog box will close and after a few seconds you will see the feeds populated with a number of titles.

Reading the RSS Feeds
1. To look at a feed, simply click on it in the list.
It will turn from Boldface to unbolded and will display a popup box containing a summary of the feed.

2. If you are interested enough to want to read the feed, simply click the open button.

3. You can quickly move through the feed list by using the up and down arrows on your keyboard (cursor keys).

Thursday, October 04, 2007

Live-Testing the Notes 8 Client

We're a Notes 7 shop and will be until November 2007 at the earliest (while we wait for the relevant blackberry fixes for Notes 8). That said, I wanted to get some familiarity with the client without Losing my Notes 7 install.

So far it's working, so here's how I did it.

A Near Miss
My first attempt at installing Notes 8 could have ended in disaster had I not been watching carefully. The software wanted to install right over the top of my Notes 7 installation and wouldn't give me an option to change directories.

Installation Procedure
I quickly located an IBM tech note on the problem which said to temporarily rename my notes directories.

I renamed them from Lotus to xlotus (both the Application and the Data directories). This was enough to allow me to do a fresh install of Notes 8. This time, I chose a different location.

After installation, I did the workstation setup and chose not to make Notes 8 my default email client (just in case it overwrote something important).

After a quick look around, I closed Notes and renamed my xlotus directories back.

The Effects
My start menu has the new Notes icon next to Email, but it still launches Notes 7 - This is good.

I can also choose to run either Notes 7 or Notes 8 but can't run them both at the same time. If I click Notes 8 while Notes 7 is around, it simply brings Notes 7 to the front. I'm quite happy with that behaviour.

My Notes 7 client was an Administrator/Designer, but I've left the Notes 8 Client as standard.

At this stage, I'm obviously not planning to upgrade any database designs or replicate anything from Notes 8. I'm just going to have a look around and get used to the interface.

My initial thoughts on Notes 8
Note: these are VERY initial.

The interface looks spartan and it's hard for me to get it to do exactly what I want - I'm sure I'll change my opinion on that soon.

The application, as is usual for Notes, is VERY compatible. Even things that weren't perfect in the Notes 6.5 - 7 transition behave well here. Given the degree of change from Notes 7 to 8, I'm very pleasantly surprised.

The open button is going to take some getting used to.

Tuesday, October 02, 2007

Getting Hotmail to work on your Blackberry

Ok, this is just a really quick post.

I've been trying to get hotmail to work on the blackberry but it's just not as intuitive as Gmail and there's certainly no nice application available.

In the past, I've been able to browse to hotmail but it doesn't automatically recognize the blackberry as a mobile device. This is (I think) due to the way the blackberry browser registers itself.

Today, I stumbled upon this link and all my problems are gone.

It's still browser based, (no nice Gmail style app) but it's fast and works well enough.

I don't know if this is due to the recent hotmail/windows live updates or if it has been there all along and I didn't notice.

Thursday, September 27, 2007

How to Get some Visitor Reporting from your Domino Web Server

This isn't intended to be the greatest method, but provides a quick method for setting up a means of reporting web site hits.

1. Copy the Domino Web Server Log Template so that you don't overwrite the original.

2. Create a new view (or better still copy/paste and rename the All Requests View).

3. Change the Selection Criteria to something like this...

REM {Normalize the adress: remove leading 'www.' and trailing ':'};

_server := @LowerCase(ServerAddress);

_hasPrefix := @If(@Left(_server; 4) = "www."; @True; @False);
_hasPort := @If(@Contains(_server; ":"); @True; @False);

_address := @If(_hasPrefix; @RightBack(_server; 4); _server);
_address := @If(_hasPort; @LeftBack(_address; ":"); _address);

SELECT _address = ""

4. Leave the first column (Hits) as a Totals Column hiding detail rows.

5. The second column should be uncategorized ascending and hidden with a formula of @Year(@Created)

6. The third column should be uncategorized ascending and hidden with a formula of @Month(@Created)

7. The fourth column should display the date. It's best to make this ascending and categorised

Use this formula;

_list := "January" : "February" : "March" : "April" : "May" : "June" : "July" : "August" : "September" : "October" : "November" : "December";

_date := @Date(@Created);
_month := @Month(_date);
_name := _list[_month];

_name + " " + @Text(@Year(_date))

8. The fifth column should be a display values as icons column and should contain the following formula.

REM {the image resource names};
_user := "user";
_system := "system";

REM {check if we got an authenticated user};
_isAuth := @If(AuthenticatedUser != "-"; @True; @False);

REM {display the user icon if we got an authenticated user, else show system icon};
@If(_isAuth; _user; _system)

9. The last column will be the one where you make a lot of changes....
Here are some that I made in mine. You might want to search for specific URL strings and report them as something else or throw in a @replacesubstring to convert %20 to _ but ideally, the aim is to strip off all the leading and trailing junk to leave the unique page information in the URL.

URequest := @UpperCase(Request);

RQ1 := @Right(URequest ; "GET /");

RQ2 := @Left(RQ1 ; "HTTP");

RQ3 := @If(@Contains(RQ2 ; "$FILE"); @Right(RQ2; "$FILE");RQ2);

RQ4 := @If(@Contains(RQ3 ; "?OPENDOCUMENT"); @Left(RQ3; "?OPENDOCUMENT");RQ3);

RQ5 := @If(@Contains(RQ4 ; "WEBPAGEDISPLAY"); @Right(RQ4; "WEBPAGEDISPLAY");RQ4);

RQ6 := @If(@Contains(RQ5 ; "RESOURCELOOKUP"); @Right(RQ5; "RESOURCELOOKUP");RQ5);

RQ7 := @If(@Contains(RQ6 ; "/0/"); "PAGE PREVIEWS" ; RQ6);

RQ8 := @If(@Contains(RQ7 ; "/ALL/"); "SEARCH RESULTS" ; RQ7);

RQ9 := @If(@Contains(RQ8 ; "/SEARCHVIEW"); "SEARCH QUERIES" ; RQ8);

RQ10 := @If(@Contains(RQ9 ; ".GIF"); "GRAPHIC IMAGE" ; RQ9);

RQ11 := @If(@Contains(RQ10 ; ".JPG"); "GRAPHIC IMAGE" ; RQ10);

RQ12 := @If(@Contains(RQ11 ; ".JPEG"); "GRAPHIC IMAGE" ; RQ11);

RQ13 := @If(@Contains(RQ12 ; "?OPENELEMENT"); "GRAPHIC IMAGE" ; RQ12);

LastFix := @Trim(@ReplaceSubstring(RQ13 ; "/" ; ""));

@If(LastFix = ""; "INDEX"; LastFix)

10. Well, that's it really. You can now replace the design of your WebServerLogs and start reporting. To get some neat graphs, try selecting all the pages for the month (the categories, not the invidual pages and copying them as a table).

Paste the table into excel and you can highlight and draw some graphs from them.

Wednesday, September 19, 2007

How to Obtain and Install some decent free Games for the Blackberry

These notes come from some instructions I made for people today. I figured that they were worth sharing...

Blackberry applications, including games are generally loaded using either;
  • The Blackberry Browser (over the air)
  • The Blackberry Desktop Manager

The method you use will depend upon the particular game/application in question as some vendors use one method only. The "over the air" method is easiest.

Ka-Glom, Medieval Chess, Circle Poppers, BlackJack, Spider Solitaire and Suduku
Note: Not all of these games will be available as Blackberry rotate them on their site.
You will also find some older games listed under Classic Games (Spider Solitaire is especially good).

  1. On your blackberry device, go to:
  2. Scroll down to Fun and Games and click on Super Games
  3. Click on Free Games
  4. At the Terms and Conditions, click I accept
  5. Find the Game you're interested in and Click on the arrow next to Download
  6. At the next screen, click on Download
  7. You'll get a bar graph that should last less than a minute.
  8. Click Ok on the Successful Installation Dialog box.

If you look around the blackberry site, you'll also find a lot of free ringtones and backgrounds.
You can make your own background, but that's for another document.

There's a lot more places you can go for mobile phone games (which aren't necessarily perfect for blackberry) one such location is;

Games and Applications in .ALX format
ALX is the Blackberry application format. Unlike Java, applications and Games in ALX are specifically designed for blackberry.

First you need to locate some .ALX files and save them somewhere (eg: your desktop). You can find ALX files via Blackberry Forums etc, and searching in Google.

Before doing this procedure, you must have already loaded the Blackberry Desktop Manager software on your PC.

  1. Connect your blackberry to your PC using the USB Cable.
  2. Run the Blackberry Desktop Manager software (start, all programs, blackberry, desktop manager)
  3. Enter your current Notes password (and rewew encryption keys if prompted).
  4. If your icons are greyed out, you need to go into options, then connections and make sure that you set it to USB and click OK.
  5. Double-click on Application Loader
  6. Click Next and wait for the bar graphs.
  7. If you see applications already here, you could remove them if you wanted to by deselecting their checkbox - that's just a handy hint though... we're here to add.
  8. Click the button marked ADD
  9. Browse to the file you want to install and click Open
  10. Click Next, then Finish and wait for the Bar Graphs again...
  11. Click Close and disconnect your blackberry to play your game.

Note: The best way to disconnect your blackberry is to
  1. Close the Blackberry Desktop Manager software
  2. Right-Click the "Safely Remove hardware" icon on the system tray (near the clock).
  3. In the "tree" look for the word blackberry on a lower branch then go to the top of that tree.
  4. Click on it then click Remove and Ok.
  5. After a few seconds you'll get a message saying that it's safe to unplug the blackberry. (remove the USB plug).

Java Games
There are lots of web sites out there telling you that you need the Blackberry Software development kit to run java applications on the blackberry. This is no longer the case, provided that your blackberry has operating system 4.2 or higher.

The instructions for Java games installation are tricky, so I'll use someone else's instructions with some modifications;
(For citation reasons, I got these instructions from:

  1. Download the jad/jar file onto your computer's desktop.
  2. Check it has the right extension by right click and check properties on the file. The download might need unziping. (ie: JAR not ZIP)
  3. Connect your blackberry to Desktop Manager
  4. Open your Media Manager application in Desktop Manager
  5. In the right hand window, make a new folder in My Blackberry/Device Memory/Games
  6. Using the right side of your media manager copy your JAD/JAR files into the folder.
  7. You must follow these instructions Exactly, otherwise you won't see your file.
  8. Open the Media application on the blackberry
  9. Press the right button next to the trackball
  10. Click explore
  11. Track down to Device Memory
  12. press the right button next to the trackball
  13. Click Open
  14. Track down to your /Games Folder
  15. press the right button next to the trackball
  16. Click Open
  17. Select the JAR file
  18. Select "Download"

The Application will load on to your blackberry and is now available in your application menu.

You can also use this method to access HTML files/Text files/PDF Files etc on your media card and read them but you must the EXPLORE,OPEN menus to see them otherwise you can see the folders but not the files.

Tuesday, September 18, 2007

Using Domino as a Normal Web Server

One of our recent projects involves the publication of an online annual report. As with most of these corporate things, the marketing people approach non-domino, non-windows designers and ask for what they want completely oblivious to the technical ramifications of what they have just requested. This isn't to say that we have bad marketing people, in fact ours are rather good. It's just that this is normal marketing behaviour and is typical of all of the organisations I've worked in.

So, we were suddenly faced with a very short deadline and a whole heap of html, css and other web files.

We could probably have put all of these files into a domino database and changed a lot of code, but the keyword here was "deadline".

The answer: Simply dump all of the files into the html directory on the domino server...


This path is correct... for our server at least. The word Domino does appear twice.

We also have a D:\Lotus\Domino\html folder on our server. Putting the files there doesn't work. I'm not sure if that directory is a standard one or if it is just on our server.

At any rate, once you put a file eg: myfile.html into the right place, you can reference it simply by using the following URL format.

You can even nest your files in folders (eg: and can reference sub-folders in the usual manner for html. This is useful if you want to have several discrete items (eg: annual reports for different years) or if you want to keep your data and images separate.

Of course, hosting data in this way bypasses a lot of the security advantages of domino but it does serve to demonstrate the versatility of the domino system.

Thursday, September 13, 2007

Remote Access and APEC

Due to the Apec conference taking place in Sydney a couple of weeks ago, management suddenly felt the urge to move all of our employees of the site and have them use remote access.

As this was done at very short notice, a couple of days at the most, we were concerned that most of our users would find the task impossible. Most of them had never used our remote access facilities before. Luckily we were wrong, with only one morning of constant calls.

We tried a number of different methods with the aim of fully proving our remote access DRP.

These methods included;
  1. Complete Web based access (Web mail and notes databases via the Web)
  2. Lotus Notes clients via the Internet
  3. Lotus Notes clients on a memory sticks (Nomad)
  4. Files (from our File Servers) on the memory stick or CD-ROM
  5. Drive mapping to the domain using a VPN
  6. VPN followed by remote Desktop
  7. Offsite server access for Lotus Notes Domino
  8. Replication of files from our file servers to an offsite server and access via Web based VPN using a remote desktop and OpenOffice.

All of these methods work to some extent however some were obviously better than others.

Web based mail was considered to be the easiest method of accessing our systems and I expect that many of our employees will use this in the future now that that they've experienced it. Unfortunately, it doesn't provide file server access or access to many of the important notes client features.

Remote Desktop is easily the best, fastest and most reliable method of accessing our complete systems. The main problems we had with remote desktop were;
  • The complexity of multiple logons (Logon to Internet, then Logon to VPN, then Logon to Desktop) was overwhelming for some staff.
  • The windows drivers were a bit flaky (we need to look for an entirely web-based vpn solution).
  • Users with laptops only had no desktops to connect to.
The file replication was done using some software called double-take which was fantastic and seemed very easy to setup. The connection to the offsite server was done using Terminal Services, with OpenOffice loaded to get around any MS Office licensing issues.

In future, I expect that we will not only avail ourselves of these services but that we will also set up some in-house terminal servers for laptops to remote desktop to.

We also redirected phones (remotely) and remotely accessed voicemail with great success, though we didn't have time to setup our photocopier/faxes to internally distribute inbound faxes (something we will do in the very near future).

Overall, the exercise was very worthwhile and went a long way towards testing our disaster recovery and business continuity plans.

Monday, September 10, 2007

Benchmarks and Speed tips for preparing Lotus Notes Nomad USB Sticks

Last week, with the APEC conference looming in Sydney, I was suddenly called upon to provide a number of Nomad sticks to staff members.

Now, I haven't used Nomad beyond my initial testing when Notes 7.0.2 came out because I'm simply not traveling much these days and my home setup is too good to need it.

I dug out my old instructions and started installing using my work computer, which admittedly is an older model (2GHz P4) and I started the installation routines and it said that time to complete was 260 minutes.

I assumed that these were "microsoft minutes" (ie: ones unrelated to reality) but when, after a lunch break ,the install was still going - I decided to cancel.

I then tried installing to a directory on my PC. There were some good instructions from IBM and the procedure took under 5 minutes. Then I tried copying the installed files to the memory stick using Windows copy, but it was going to take 181 minutes.

I tried to cheat by ZIPPing the files (3 minutes), copying the ZIP file to the memory stick (under 1 minute) and then exploding the ZIP on the stick (6 hours).

Eventually I used the command prompt version of XCOPY. At 50 minutes, it was still a long procedure, but seemed to be the best of the lot.

The problem may have been slow memory sticks or slow ports but at least now I know the fastest way to do multiple installs. I've burned the directory to a CD so that from now on (at least until I change notes versions) I can just XCopy from the CD to the stick.

Tuesday, August 21, 2007

Remote Desktop via Blackberry

I am a big fan of remote desktop and use it for all sorts of things with notable examples being;
  • Starting large downloads (eg: Domino 8) from Home to my work PC
  • Running MS Project on our Presentations Equipment even though it isn't loaded there.
  • Getting better speed in Lotus Notes when I'm using the system remotely.
It was only a matter of time before I tried to get it working on the BlackBerry.

I investigated a couple of companies but they weren't very helpful and I had problems getting their software to work. I specifically wanted Remote Desktop, not VNC - as remote desktop is built-in to Windows.

Eventually I found a company called Idokorro and their software worked first time.

What's great about this software is that given that our Blackberry Enterprise Server is inside our Corporate Firewall I can access my desktop PC without having to use VPN and without weakening our firewall.

One note: On the standard BlackBerry Enterprise Server settings I got the following message;

Error message: "You have reached the maximum amount of data which can be transferred by this BlackBerry device over a single connection. If you are using a BES please contact your BES administrator to increase this limit."

The way around this message (as I discovered from the BlackBerry Forums, was to;
  1. Go the Blackberry Enterprise Server
  2. Select the MDS Connection Service (in Explorer View)
  3. Click Edit Properties (top right hand corner)
  4. Look for a setting marked "Maximum KB/Connection" in the General section
  5. Change this to 1024.

Wednesday, August 15, 2007

Figuring out the Server Name

A bit about our Off-site Server Project
The aim of this project was always to have an off-site server that was capable of providing us with alternative facilities in the event of a disaster. My employers were on Domino before I started working here (7 years ago) and many of our oldest databases are in relatively "untouched" form. One of the biggest challenges of our off-site server project was always going to be the detection and removal of server-name hard-coding.

Discovering all those server names was a tedious business which I won't go into here. This blog entry will provide you with one bit of code we used to replace a single-line server name. We used several different methods but this method is interesting in that it provides an alternative when the server is local.

Getting the Server Name itself
Generally, getting the server name in a late-domino server is quite easy. There's an @function (@ServerName) for it from R6 onwards, and prior to that it was accessible via @DBName. There are also script methods which I'll detail here. One problem can arise when you don't want the server to be local.

What you need for the Code Sample
The code sample will identify the current server name using LotusScript. If the current server name is local (ie: if we're running from a local replica) it will then use a keyworded value instead. This enables you to have a local replica for speed reasons but access a server for things that really need to. The keyword value is a document in a view called KRetrieval with the first column containing the keyword ServerName and the second column containing the name of the domino server to be used if the database is local. We use the amazingly handy evaluate function to retrieve that value.

A bit of code
Admittedly, this isn't the cleanest of code, but it does the job.

Dim session As New NotesSession
Dim db As NotesDatabase
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument

Set db = session.CurrentDatabase
Set docs = Source.Documents
Set doc = docs.GetFirstDocument()

Dim ServerName As New NotesName(db.Server)
Dim KeywordServerName As String
Dim EvaluateArray As Variant
Dim ServerToUse As String

EvaluateArray = Evaluate({@If(@IsError(@DbLookup("":"NoCache"; ""; "KRetrieval" ; "ServerName"; 2 )) ; "" ; @DbLookup("":"NoCache"; ""; "KRetrieval" ; "ServerName"; 2 ))})

KeywordServerName = EvaluateArray(0)

If Ucase$(Trim$(ServerNameText)) = "LOCAL" Then
Print "You are running this DB from a LOCAL Replica - will use Keyworded Server Name"
ServerNameText = ""
End If

If Trim$(ServerNameText) = "" Then
Print "Setting Server Name to Keyworded Server Name :" + KeywordServerName ServerNameText = KeywordServerName
End If

Tuesday, August 14, 2007

The Mysterious "Relay Host for messages leaving the Local Internet Domain" setting

We migrated our off-site server back on-site last Friday night and once again we were thrown by this setting. For this reason, I'll explain it a little.

The Symptoms
The most obvious symptoms of this value being incorrectly set are;
a. Mail routes internally happily.
b. Inbound internet mail is working fine
c. Outbound internet mail is not working
d. Other externally visible services generated by the server (eg: http) are visible on web.

Some of the Domino server console error messages you may see if this is wrongly configured include;
  • DNS Not Implemented
  • Messages about Relaying being Denied or Relay Hosts
  • No messages transferred to xxxxx via SMTP: SMTP Protocol Returned a Transient Error

Where is it?
The setting in question lives in the Server Configuration documents on the Router/SMTP and then Basics tabs. The actual name of the setting is: "Relay Host for messages leaving the Local Internet Domain".

What should it be set to?
This depends mightily on your configuration but if you're going through some sort of email passthru gateway, such as an anti-spam appliance, then it should be set to the IP address of that appliance. This is particularly true of hosted environments where the server itself may not be granted direct SMTP to the Internet rights on the firewall.

If your server is going directly to the internet, then this setting should be blank. We tried lots of values including to self-reference, but it took a leap to think of blanking it out entirely.

Saturday, August 04, 2007

A Blackberry Newbie

I wasn't terribly excited about the prospect of getting a Blackberry server especially at this technically "crowded" time of my life but now I'm fairly convinced about the technology.

Before I join the converted and start spouting the virtues of the blackberry system, I first want to go over some of the bad bits - chances are I'm not likely to look back at them.

The Bad Bits
The Telstra people who sold us the system told us that you could use any pc running the Lotus Notes Client - this is wrong... Beware: The Blackberry Enterprise Server is expensive, though not necessarily in terms of the Blackberry software.

In order to run Blackberry Enterprise Server (for Notes/Domino) you will need;

  • A reasonably powerful PC or Server, they recommended 4GHz but realistically it can be a little lower in spec.

  • Lotus Domino Enterprise server - yup - now that is a serious extra expense if you don't want it running on your production server

  • A fair amount of hard drive space. The C: Drive on our domino server is tight because the Windows updates have resulted in Win2003 server bloating to over 3 times it's original size - even if you install Blackberry on a different drive letter, it still takes up a lot of system drive space with its DLLs

  • A Decent internet connection - most systems will already have this.

  • Access to unblock ports on your firewall - there's a bit of configuration involved.

  • A good backup/DRP strategy - because putting Blackberry on our main domino server pretty much invalidated ours (ie: the multi-platform ease of moving Domino from one piece of hardware to another disappears once you start dumping DLLs everywhere and modifying registry settings.

I must say though, once the blackberry server is setup and working, the devices work really well. I've been accessing my Notes Email and Notes calendar via the device.

I've also installed Gmail and Google Talk on the device and am currently looking at a remote desktop product. I'll let you know as more happens.

Monday, June 25, 2007

The Move - Complete

My blogging has slowed down considerably lately due to an office move which used up most of my time. There were two aspects of the move;

1. The move itself
Whereby all equipment had to be disconnected and packed up then unpacked/reconnected at the new site. There was a lot of planning and testing involved with this.

2. A Temporary Domino Server Switch
In some ways, this was more work than the move. Management decided that they wanted our systems to remain running throughout the move. We used the server setup for the "temporarily abandoned" clustering project to set up a new offsite domino server. We did a lot of testing of applications and needed to make a few changes to some of our applications.

I'm happy to say that the off site server worked well and kept our systems running throughout the move. I'll provide more detail on changes made and difficulties encountered in later posts.

Tuesday, June 05, 2007

When your ISP tries to kill you....

I've just edited and anonymised my last post in case I can't control myself here...
If you haven't read it, you should read that one before this one.

We've had no SMTP inbound mail since lunchtime yesterday.

We contacted our ISP (PT) but they weren't interested in the problem. They told me to reboot the Domino server....

No thanks.

Internal mail is working fine.

I tried using a VB Application to send SMTP mail to the server's internal IP Address. It worked fine - proving that if mail were reaching the server it would process it.

All indications were that there was a duplicate IP on the internet - but that couldn't be right - we got that problem fixed yesterday...

After hours of wasted IT time, we finally discovered the truth. Our ISP (PT) who duplicated our IP Address yesterday had removed the address as requested. They then put the address back into their system and allocated it to a new customer.

I can't think of a closing statement that wont get me in trouble with the law so I'll leave it up to your imaginings.

Monday, June 04, 2007

When your ISP is your own Worst Enemy...

[This post was edited to provide anonymity to the ISP - Not that they deserve it]

Our current internet service provider, (I'll call them PT to anonymise them in case this blog takes too much of an annoyed tone) is a medium sized provider in Australia. When I say current, I don't mean that we plan to change... heck, we only change ISP's once, but have had five ISPs. We made a switch from Ozemail shortly after they were taken over by a less service-conscious entity (can't remember who). From there, we moved to Davnet, who were taken over by NTT Australia, who were taken over by PT. All of the service we've received since the initial switch to Davnet has been top-quality. Until, of course, we get to PT.

In our early days of PT service, we were affected by an unplanned outage that lasted approximately 2 days. It was (and still is) the biggest total outage in my computing history. Even worse, they didn't seem to be in control of the situation but were at the mercy of other (larger) ISPs. That outage led to a three-year period of not signing a proper agreement with them in case we decided to ditch them.

Last year, when most people affected had either forgiven/forgotten the outage, or left the company, we signed a two year agreement. As is typical of these things, management decided to move offices shortly after signing the agreement. I'm sure that there will be plenty more blog posts to come detailing the effects of this move. One important aspect of the move is that we needed to have an internet connection available in our new office. We renegotiated with PT and the connection was installed last Friday.

Coincidently, from around midday last Friday, our current internet connection became very flaky indeed. It would not find a lot of sites at all and would render others at a snail's pace. One of our first thoughts on the matter was that the problem could be associated with the new connection. Sure, we'd filled out the documents and written very clearly that it was not to become active until after our moving date - but who knows, accidents happen right?

We contacted PT technical support who assured us that this had not happened. At any rate, several of our staff members had spoken to the technicians on-site before the event and reminded them not to make the connection active. If there was any doubt, the fact that they were installing in an empty half-renovated building would have provided some useful visual clues.

We spent the remainder of Friday troubleshooting our own network, hampered by the fact that we didn't realize the effects of updates to our local PC software firewalls on our ability to ping and tracert. (We figured that out after quite a bit of conflicting data).

There were other connectivity problems in Australia last weekend with my own local ISP (OPNet) dropping the ball locally for almost an entire day. This seriously impaired my ability to work on the problem.

This morning (Monday) the problem was there waiting for us when we started work and amid cries of anguish from staff who couldn't check their stock reports, we set to work. Of course, we're not stupid... we did call our ISP four times and ask specifically about the impact of the connection in our new office on our current connection. They assured us that it wasn't a problem and that there were no traffic issues. It also followed that since they could access the internet, the problem must be at our end.

Several experiments and many hastily redrawn contingency network diagrams later, we decided to take the plunge and disconnect our systems from the internet - replacing our firewall with a single laptop which plugged directly into the ADSL modem. We were expecting some serious surfing speed improvements but saw none... the problem was still there.

A last call back to PT pointing the finger firmly in their direction made them sit up and take notice....

guess what...

they had connected that other site after all... and guess which public IP address they allocated...


Monday, May 28, 2007

Who has the Right to Perform Updates on your Computer and how Important are they?

These days, it seems that just about everyone feels that they have the right to update your computer automatically and for the least important applications.

But the questions need to be asked;

  1. Exactly how critical is the update and what will happen if I don't do it?

  2. How much testing has been done on the impact of this update on the applications I like to run?

  3. What is the update doing to my startup?

  4. Who gets to decide the timing and what warning is given?

  5. What will the application do to my network?

I'm not going to attempt to answer these questions in this post. I'm basically just going to whinge and then post updates as I get my policy in order. At the moment, I don't know what the best answers are.

The Microsoft Whinge
Microsoft used to provide only important security updates as "critical" but they are now putting out all sorts of unwarranted updates, like Internet Explorer 7, via the automatic distribution system.

The really annoying thing about Microsoft's update strategy though, is that they believe that they have the right to reboot your PC without your permission just because you don't seem to be doing anything much at the time.

I often leave my PC running overnight to do big things, such as download large files, convert pictures to DVD with fancy fades etc. In Microsoft's view, I'm not using my PC (keyboard and mouse), so it's alright to reboot.

There's worse though, much much worse.. I've left the automatic update on the recommended settings on servers just to see what will happen... Microsoft thinks nothing of rebooting the domino server just to put an IE update on it. I don't even use IE on my servers but Domino really needs to run 24x7.

I've also seen the Microsoft update reboot a server in the middle of a backup job.

Needless to say, I've turned it off on the servers I care about but now there are some serious considerations at work as to whether or not we need to turn it off on all our PCs as well.

Other Update Culprits
Microsoft isn't the only one, there are lots of other update culprits too with probably the worst of these being;

  • Sun Java
    Aside from being overly interactive and very slow to update, the sun Java update has one particularly nasty flaw. I've never seen "good" come from it. In other words, I've never had an instance where something that didn't work, suddenly started working after the update. Of course, I've seen plenty of things go the other way - for instance, I can no longer remotely manage our Symantec Firewall from my PC. Luckily, I have another un-updated PC I can use. This update should certainly be stopped.

  • Anti-Virus (Symantec and McAfee)

    Last Thursday, McAfee decided to do an automatic update to their personal firewalls. There were a number of side-effects. The update blocked most applications, including those previously given authorization, from the internet. It forced users to reboot, sure, it did give them a Yes/No choice but it also prevented any access to the file servers (bad luck if you had open files). Finally, it reset everything back to an "untrusted network" status. The timing was very unfortunate as Thursday was our "Board of Director's meeting day" and everyone was in a rush. It basically meant that I had to drop everything to deal with the problem - and it took all morning.

    Although the update was messy, at least it worked. We ditched Symantec about a year ago because it was deploying updates which failed regularly. From the look of the news, this is still happening - Article: Anti-virus cock-up paralyses millions of PCs (thanks Anna for the link).

    So should Anti-Virus updates be turned off - certainly not - but there has to be a better way of testing them first. I'll be contacting McAfee today (hopefully) and will post some results (if I get them) here.

  • Adobe Acrobat

    Adobe should win some kind of award for the worst deployment mechanism for updates. Where else can you find an update system that wants to reboot in the middle of an update and then continue installing. Also - why do they keep trying to sneak extra bandwidth hogging software in? Photoshop LE? Yahoo Toolbar? Come on, if we wanted it we would go get it ourselves. You should certainly remove the automatic Acrobat update utility from your computer. It doesn't serve any useful purpose as far as I can see.

  • RealPlayer

    Unlike its nice brother Quicktime, RealPlayer loves to be automated and loves to be updated. I don't play a lot of realplayer stuff but I've noticed that it refuses to play files and wants to update almost every time I use it. Unless you absolutely need to access Realplayer things, this belongs OFF your system - not the updates, the whole application. If you do need to run it, go through the preferences and file association with a fine toothcomb, nearly everything is NOT what you would want. Oh, and get it out of startup.

Mucking Around with Startup
This post is getting long, so I'm not going to worry about covering startup here suffice to say that you should get your hands on Mike Lin's excellent Startup Control Panel Applet and start blowing unnecessary things out of startup. I'll explain how to identify things in another post, but for the moment, consider removing the following from startup;

  • Adobe Acrobat Speed Launcher

  • Adobe Acrobat Assistant

  • Quicktime Tasks

  • iTunes Helper

  • RealPlayer

  • Sun Java Update Sched

  • CD Burner Utilites (like Nero)

  • MS Messenger unless you use it

  • Spyware - such as anything starting with WhenU

You don't need these applications in startup, they add a lot to the load-time of your computer. If you need Acrobat, you can start it (or it will start when you open a PDF file) - you may need to wait a few seconds, but better to lose a few seconds there than during startup every time. The same applies for most of the other applications.