Saturday, December 30, 2006

Domino 7.02 upgrade - mosty good and a few glitches

Today I upgraded my mail server from 6.5.4 FP3 to 7.02. The install was relatively painless, but trying to track down all the information on getting Rooms and Resources set up was frustrating. I had read some posts about it on Notes.net and the blogosphere, but I couldn't find it all when I needed it and ended up spending an hour or so pulling it all together. My pain is your gain. Here's the down and dirty on what you need to do to go from 6.x to 7.x:
  1. Upgrade to Domino 7.x
  2. Load your Domino server
  3. on the console tell rnrmgr quit
  4. on the console tell sched quit
  5. on the console load convert -d [your reservation database] * resrc7.ntf
  6. Open your reservation database in Designer and enable all the disabled agents. Optionally sign the database with the server's ID if you don't want automatic notices to have your name on them.
  7. Make sure you have an administration server set on your reservation database
  8. on the console load sched. Let it finish processing.
  9. on the console load rnrmgr
My only problem now is I'm getting errors like this:
12/30/2006 02:22:02 PM RnRMgr: Error processing reservation document (NoteID: NT0000988E) in database RSVP.nsf
12/30/2006 02:22:02 PM Error connecting to server MAIL/WMBIRD: The server is not responding. The server may be down or you may be experiencing network problems. Contact your system administrator if this problem persists.

The server this is running on is MAIL/WMBIRD, so I don't know how it could possibly not be responding. Also, the filename in the OS and in all the mail-in records is rsvp.nsf. I don't know where that all upper case thing is coming from. I haven't broken out NotesPeek to see which documents can't be processed, either.

Friday, December 29, 2006

Upcoming travel

The next several weeks are going to be a little insane...
  • January 6 - 13, 2007 - Lake Tahoe ski trip (link to our timeshare resort). This will be my 9th year going to Tahoe and my partner's 12th, and a friend from San Francisco will be joining us for the third year. If there's anyone out there in the Sacramento or Bay Area and you want to join us, let me know. We have a spare sleep sofa. :-)
  • January 20 - 26, 2007 - Lotusphere. My second! I still need to figure out what sessions to attend.
  • February 4 - 11, 2007 - WinterPRIDE in Whistler, BC (ski trip) We went to this event in 1999 when it was called Altitude. Some friends from Atlanta will be joining us
Between all this I'll be upgrading our servers to Domino 7.02 and migrating more servers off the iSeries and onto Red Hat. I still need to publish more documentation about that process...

Later in the year I already have the following planned...
  • June 3rd - Wedding in the Eastern Shore.
  • July 13th - Wedding in Toronto
  • October 20th - Wedding in Boston
  • November 13 - 24 - transatlantic cruise - Barcelona to Miami on the Oceania Regatta
With all this travel I'll end up taking a couple of weeks off without pay. I gotta live while I'm still alive, right?

Thursday, December 28, 2006

Blue Rinsed application template

A really long time ago I created a standard application template for all my applications. After R6 was released I decided to "Blue Rinse" it and make it look more like the regular mail template. It was a little tedious but it has allowed me to provide my applications with a consistent look and feel. Hopefully someone else can benefit from my effort, too.


A few things to know:
  • ENFORCE CONSISTENT ACL IS CHECKED!!
  • The star icon is an image resource with the alias DBIcon.
  • The name beside the icon is an action button with a computed label of @DBTitle. You can find it on the ($notes-Top) form.
  • There is a view for comments, and an agent for adding comments. Nearly every application I create needs this feature so I just built it into my template. To get rid of it you'll need to delete the (Add Comments) agent, the Comments view and the Comment form.
  • There are a few shared actions.
  • Everything on the form template is sized so it will print nicely. This means a left margin of 0.85" and a maximum table width of 6.8".
There's probably something I left out so let me know if you have any other questions. Download the template here.

[EDIT - 12/29: Added the General script library and reuploaded.]

Wednesday, December 27, 2006

Michael Sampson on Sharepoint Portal 2007

Michael Sampson recently wrote an article for Messaging News Magazine in which he does a high-level review of his favorite features from Sharepoint Portal 2007. In his final analysis he states the following:
Collaborative capabilities in SharePoint are positioned as merely one of six major functionality areas, the others being portal, enterprise search, enterprise content management, business processes and forms, and business intelligence. This is an extensive product that addresses an extensive list of business needs.
Wow. Where else have we ever seen a product do so much? I mean, one platform that handles all that? All kidding aside, welcome to the party, Michael. :-) Customers have been doing all that for nearly two decades with Lotus Notes and Domino. In fact, there isn't anything particularly revelatory in what Sharepoint Portal 2007 delivers. Michael's favorite features are as follows:
  • Blogs and Wikis - As far as I know this has always been part of Notes in the form of discussion databases, it just didn't have a supercool buzzword attached.
  • Shared Notebooks - The concept is that you can store information in a central repository and you choose who can view it. Again, it's a discussion database.
  • Knowledge Network for Collaboration Auto-Discovery - For those of you still awake after reading that, the idea is some sort of server-based spider searches your e-mail to find out what you're an expert in, then lets you choose whether you want to tell the rest of your organization. I think Lotus had something called Raven or KMStation that was similar, but it died because nobody cared. I guess in a large organization this might be useful for those times when the person who handles Responsibility X could be in another country. For the other 97% of companies I just don't see it being relevant.
  • Engine for Human Workflows - Basically a set of six or eight document-centric workflow choices, such as fill out your TPS report then select the "Forward to PHB" option. There isn't really much to say, other than it's nice this is easily accessible to end users. Doing it in Notes is still several orders of magnitude simpler for a developer. Notes doesn't have a built-in way to extend this to end users, though, and that is a shame.
I never used any previous release of Sharepoint Portal and only installed the 2007 version to see what all the hooplah was about. Coming from Notes and Domino I wasn't particularly impressed. The features aren't new, and to get the full functionality everyone needs to use Office 2007. That is an extremely heavy requirement in every conceivable way: massive hardware requirements, massive server requirements and massive user retraining. Michael sums it up well:
If your business or organization has the financial wherewithal to embrace Microsoft's Office 2007 system, plus the people to manage and maintain the resultant infrastructure, SharePoint is good move.
That excludes me.

Picked up from Peter de Haas, the article is available from Messaging News Magazine.

Tuesday, December 26, 2006

Install Shield Tuner on Passport Advantage

There's something seriously strange going on with the Passport Advantage site. None of the Notes or Domino 7.0.2 stuff shows up in my preferred list and I have to go to the "all" view to find it. I was just downloading the 7.0.2 files and noticed there is now a downloadable Install Shield Tuner package, which I have never seen before. According to the PA website this was posted on August 25, 2005 but it only shows up under the Domino 7.0.2 section. I don't know if it rolls up to the most recent list but I do know for a fact I never saw it for 7.0 or 7.0.1. You can't find it by searching, either. I tried by name (Install Shield Tuner) and part number (C84T5NA). By name gives no results, by part number returns everything in the catalog that I have access to.

Anyway, for those of you who do use the Install Shield Tuner, there is now a downloadable version. Or maybe it's over a year old and I somehow missed it.

Saturday, December 23, 2006

Template upgrade finished

It took a little tinkering but I finally got this the way I like it. The most frustrating part was the default sidebar was HUGE. We're talking nearly 1/3rd of the screen. Fixing it meant wading through the seemingly endless layers of divs wrapped in divs wrapped in more divs. Anyway, I figured it out and it's more appropriate now. You'll also notice the annoying wasted space at the sides is gone. Someone finally got the memo that people want to actually use their full screen real estate.

You'll also notice the About Me section is a little different. I put my e-mail address on my Blogger profile. Hopefully that won't get abused too much, if it does I'll obfuscate it a bit. The big reason I did this template upgrade in the first place was for the comment RSS feed. That's mostly for my own benefit because now it's on my Netvibes page. I hope you like the new layout and find the comment feed useful. Let me know f there's anything else you would like me to move around or add.

Thursday, December 21, 2006

Domino's place at the table

The discussion over on Ed's blog is about why people believe rumors that Notes is dead. I posted a lengthy comment there, but I had some more thoughts on the subject that were more contentious and I didn't want to take over Ed's blog with my ramblings.

It isn't Notes that is threatened. It's Domino. Look at the recent announcements:

  • Sametime RTC Gateway
  • Lotus Component Designer
  • Activity Explorer
  • Workplace Forms
  • Domino Toolkit for Websphere Studio
  • Domino and Extended Product Portlets
  • Lotus Expeditor
It's all about Websphere. Where are the Domino innovations? IBM's lack of focus on Domino, while claiming it is a focus on Domino, is creating FUD. There is a roadmap for Domino and there has been a commitment to new releases for the next decade or so. The question is what lies along that road?

I'm not suggesting that Websphere is replacing Domino. When I look at everything laid out in front of me and I start connecting the dots, Domino's role and even it's usefulness isn't clear. End users don't care about the difference between Notes and Domino, and you need to look no further than the above examples to understand why people are willing to believe the rumor that Notes is dead. Strictly speaking, though, it's Domino that is more likely on a path toward extinction.

Wednesday, December 20, 2006

Template upgrade

Blogspot has some new templates available so I'm going to be changing mine around this weekend. The big thing I'm trying to hack in is a comment feed. I also plan to tie up a lot of loose ends this weekend and provide some follow-up I promised a while back. I just wanted to give everyone a head's up in case things go wonky. :)

Friday, December 15, 2006

Why I love Netvibes (subtitle: Okay, so I'm a little slow.)

Over the past year or so I've accumulated quite a list of blogs that I like to keep up with. The problem has been trying to keep up with all the updates since everyone publishes new content on their own schedule. This is the problem RSS and Atom are supposed to address.

RSS and Atom are both relatively simple protocols, but there is a huge number of clients that can be used. The issue I had is I wanted something that was Internet-based so I could use it from wherever I happened to be. I didn't want to have to install software or use a special browser add-in that essentially tied me down to one computer.

And then I stumbled across Netvibes. Here is a description from Wikipedia:

Netvibes is an Ajax-based start page similar to Google Personalized Homepage. It is organized into tabs, with each tab containing user-defined modules, such as RSS/Atom feeds, iCal calendars, Gmail messages, notes, Web search, the local weather forecast, Google Docs & Spreadsheets documents, bookmarks, del.icio.us, Meebo, and user-created modules.

Nathan Freeman recently commented that he found Netvibes overwhelming. I can understand why, the initial screen takes some time to figure out. But once you do, you realize you can tailor it to be exactly what you want, such as this:


And when you click an article, it gives you the full thing (depending on content and how the blog publishes it):


I never really got the buzz over RSS until I found Netvibes. Now I can't imagine keeping up with all the blogs I read without it. I know I'm a little late to the party, and my uptake on these things is a little slow. Many of you are probably either smiling or guffawing at the idea that I only recently embraced this. It's better late than never, right?

Wednesday, December 13, 2006

Upgrade to Office 2007 and Outlook takes over

Today I upgraded to MS Office 2007 Professional. Here is the Notes icon on my desktop before...



and after...



And now my Notes shortcut launches Outlook:


Edit: Here are the properties of the updated shortcut:


And here are the properties of the Notes shortcut in my Start menu:

Is it okay to share modified versions of Lotus templates?

I know OpenNTF has their Mail Experience, but I just wanted to make sure it was acceptable to share copies of modified templates. I have an application template I created based on the Notes 6 mail template and I also "Blue rinsed" many of the other templates to look like Notes 6. A lot of the templates are stuck in Notes 5, and some (like the Sametime Configuration database) are from some earlier version (4.5?). I was just wondering if it was okay to share my updated versions.

Saturday, December 09, 2006

Any hope for iTunes on Windows XP 64?

I have intentionally avoided getting an iPod because...
iTunes is currently not supported in Windows XP Professional x64 Edition (the 64-bit version of Windows XP). Features may or may not work correctly. One example is reading or writing to an optical drive (CD-ROM, CD-RW, DVD-ROM, DVD-RW). It’s also possible iTunes for Windows may not successfully install.

Recently I purchased a Sony Walkman because it is supported on XP64. (The Sony SonicStage software is horrible, by the way.) So wouldn't you know it, I won a 30GB iPod Video at my company's holiday party!

I debated just selling it on eBay and decided that was more hassle than the $175 - $200 I could get out of it. I considered regifting it but I don't know anyone I like that much. So I finally broke down and installed iTunes.

The installation went fine and after it finished it tried to load iTunes and this all that happened:


Okay, I'm a nerd, I can make this work. I excluded all the EXE's from Data Execution Protection and set them all to run in Windows 2000 compatibility mode. I fired up iTunes, and I get the same error. Multiple reboots, lots of Googling, numerous suggestions, and all this is as far as I can get.

Apple's lack of support for XP64 is frustrating, but it's not completely surprising. Supposedly Anapod Explorer works in XP64 so I'm going to give it a try. Does anyone have any other suggestions? Until I can get some software that works I have a really pretty but effectively useless $200 paperweight on my desk.

Thursday, December 07, 2006

Why you care about the new Electronic Discovery rules

On Friday, December 1st, 2006, new rules concerning electronic discovery went into effect in the US. Technically these rules only apply to federal litigation, but since they were ruled on by the US Supreme Court they can be used as precedent in any case. In a nutshell, the regulations say that all electronic communications must be saved for a period of 7 years.

Basically this brings at least part of Sarbanes-Oxley down to all levels of business. It does provide a few "outs", though. For example, Rule 26(b)(2)(B) states:

The amendment to this rule will provide that a party need not provide discovery of electronically stored information from sources that the party identifies as not reasonably accessible because of undue burden or cost. The burden would be on the responding party to show that the information is not reasonably accessible because of undue burden or cost. Even if that showing is made, the court may nonetheless order discovery if the requesting party shows good cause. The court may also specify conditions for the discovery.

That's nice, but trying to justify why it is unreasonable to store 500TB of e-mail data to someone whose knowledge of technology starts and stops with iPod ads on TV is going to be painful. And there is Rule 37(f), which I see being invoked a lot:

This amendment will provide that absent exceptional circumstances, a court may not impose sanctions on a party under the rules for failing to provide electronically stored information lost as a result of the routine, good faith operation of an electronic information system.


In other words, you can overwrite backup tapes if you can prove your backup procedures maintain full copies of documents. The questions I still have are:

  • What about revisions to documents? Do you need to maintain those?
  • What about the autosaved revisions some applications like Word, Excel and Lotus Notes create? Do those point-in-time snapshots have to be maintained?
  • What about personal computers used to conduct work-related business?
  • Or what if someone uses their personal cell phone to text message a customer are we expected to capture that?
  • What about using a personal digital camera to take pictures of a customer site? Are we supposed to confiscate the camera media so we can obtain a copy?
  • What is the liability of the systems administrator responsible for a messaging solution? Can we be held accountable at any level?
A good write-up can be found at the website of O'Melveny & Meyers, LLP. I have no relationship with them at all, I found their site while Googling for information and it was actually readable. They also provide a link to the full text of the new rules.

Tuesday, December 05, 2006

A matter of perspective

I've been lurking and/or participating in the blogosphere for over a year. Most of the blogs I read are written by IBMers, their business partners, or consultants. Many of the discussions I have participated in show this point of view almost to exclusion.

What seems missing from most discussions is the voice of the end user and customer. The role of a BP or consultant is inherently different than someone on staff. The BP is brought in for a specific project or problem, and when they're done they move on. I don't mean that to sound cold or callous, but the reality is they aren't sitting at the same desk every day, working with the same group of coworkers. The outside vendor hopefully has an ongoing relationship with the customer, but it's still a different focus.

I'm also not saying that BP's aren't customers themselves or suggesting they don't have a place at the table. I'm not knocking the role BP's and consultants have, I value their input tremendously. They have seen more than I ever will and their expertise is truly amazing. They're usually the ones who have the opportunity to push tools in directions and ways staff developers such as myself never will. The insight they gain in that process is invaluable, and it is extremely rewarding when they freely share that experience, as many of them do.

So, to my point. I think the BP's and consultants are the minority, but in most conversations I participate in they have a majority voice. Their influence is disproportionate, and I try to balance the scales somewhat and bring the perspective of the end customer to the discussion. I don't want to sound like an egomaniac with delusions of grandeur. I definitely have my own agenda and ultimately I can only speak for myself. I am by no means claiming to be "the voice of the common man".

But I don't think my experiences or needs are so different from the majority of Notes and Domino customers out there. I keep hearing that the majority of Notes and Domino customers are small to medium businesses, so I feel that my perspective and concerns are representative of a lot of people, and I often don't feel like we are being heard.

Saturday, December 02, 2006

In memoriam - Theodore (Ted) Wesley Pstrak - February 8, 1927 to December 2, 2006

At 5:15 AM my partner's mother, Helen, called to say that Ted had fallen out of bed, she didn't think he was breathing, and she needed help. At 5:35 AM we arrived at their house and wove our way through two fire trucks, two police cars, and two ambulances. Ted was taken to East Cooper Regional Medical Center shortly after we arrived and was pronounced dead at about 6:15 AM. The cause of death was a heart attack.

Ted's health had been declining for a few weeks. He recently spent 13 days in the hospital, returning home on Friday, November 24th. Ted is survived by his wife, Helen Tyriw Pstrak, five children, and eight grandchildren. Ted was a former Navy Captain, having served for 10 commands with that rank. He joined the Navy in 1944 and was in active duty during World War II, Korea and Vietnam. He retired as Commander of the Charleston Naval Base in 1977, having been awarded numerous citations including a Bronze Star. A frugal man who grew up during the Great Depression, Ted was generous to a fault. He contributed to numerous charities and took great joy in leading the congregation at Christ Our King in Mount Pleasant, SC, in hymns.

This has been an extremely surreal day. I helped my partner and his family plan the funeral of their patriarch this morning, then this evening attended a wedding for the daughter of my partner's boss, whom he has known for 23 years (since she was 3). It struck me during the service that I heard The Lord's Prayer twice today: at shortly after 6:00 AM and again at shortly after 6:00 PM. I'm not a Catholic or even a Christian, and I'm having a hard time understanding the dichotomy of how this one piece can be used in two vastly different circumstances.

Ted, wherever you are, know that you are loved and will be missed tremendously.

Thursday, November 30, 2006

new hardware - Rosewill R913E (LCD) and Biostar V760GS51 (video card)

Last week I decided to upgrade my computer to a dedicated video card. While I was at it I decided to also swap out my old ViewSonic 19" CRT for a new LCD monitor. Trying to select either of these components can be an overwhelming experience. I started out on Tom's Hardware to get some basics, then on to Newegg to find something I could afford.

First up, a decent video card. I have an Asus motherboard which has an onboard GeForce 6 GPU. That has served me fine for a few months, but it uses shared memory and I've gone back to playing some games and this lack of power shows. Also, with Vista having such insane requirements I wanted something more powerful. I had the following requirements: short card form factor with a small heatsink (since I'm using a really small case), PCI-Express 16x, DVI, dual monitor support (a future upgrade), and under $150. Oh, and it had to be quiet. I've made a lot of compromises to make my computer nearly silent and I didn't want a graphics card that sounded like a jet engine ruining all my hard work.

Combining the advice from Tom's with my requirements and budget I found the Biostar V760GS51. It uses the 7600GS chipset, which isn't the latest and greatest, but it has all the features I was looking for and performs extremely well for the $125 I paid. With 512MB RAM it should not only support Vista Aero, it should do it with ease. It barely fits in my case, with maybe 5mm to spare between the end of the card and my hard drive. It's so quiet I can't even tell I added it, which surprised me. It can be overclocked and even includes special software to do that, but I've never been a fan of overclocking anything and it performs well enough without it. It's also SLI-capable (my motherboard isn't), so if you're in the market for low-cost SLI give this card a look.

Then I went looking for an LCD. This was tougher, since I had specific requirements and I wasn't willing to compromise. I wanted a 19" screen, DVI, at least a 8ms response, and native resolution had to be 1280 x 1024. That's the smallest resolution at which I can still read text comfortably, and running LCD's at a non-native resolution causes blurring or graininess in the picture.

I found the Rosewill R913E, which is a 19" monitor with 4ms response. The list price is $240, which isn't bad, but you can get a $60 mail in rebate if you purchase before 1/31/2007! This monitor for $180 is an absolute steal, so much so I'm considering getting a second one. A height adjustment would be nice, the stand is a little cheap, and it's a little bright out of the box, but overall... ooh la la! No ghosting in anything, ever. The CPU and GPU stutter but the monitor has no problem keeping up.

Here is my current setup:

Case - Antec Aria
Motherboard - Asus M2NPV-VM
Memory - 2GB DDR2-533
Hard drive - Seagate 7200.10 (160GB SATA-2)
DVD - Sony DWQ 120A
Video - Biostar V760GS51
Monitor - Rosewill R913E

recent CD purchases

I still buy CD's because I think the entire body of work conveys the artist's message. Here are some of my more recent purchases and my thoughts on them.

Daughtry - Chris Daughtry - The American Idol hopeful who should have won. It's a great CD, full of the passionate vocals Chris displayed on TV. Definitely one of my favorites. I have the final track, What About Now in my favorite playlist.

Awake - Josh Groban - The voice is still amazing, but this one lacks substance to me. Way more artsy than previous releases, with some interesting collaborations with Ladysmith Black Mambazo, but overall it just doesn't work for me. I find the pieces in Italian on this CD to be annoying, where I found the ones on previous releases to be intriguing.

The Open Door - Evanescence - Amy Lee's voice is still luscious and the lyrics are great, but every track is overproduced. Amy has an incredible vocal range; unfortunately she went Mariah Carey with it. Just because you can hit 5 or more octaves doesn't mean you should do it in every song. The current radio release, You Never Call Me When You're Sober is so different from the rest of the CD it sounds like it's another group entirely.

Coming up next: An Other Cup, the first pop release by Cat Stevens since he changed his name to Yusuf Islam 28 years ago; and Siempre, the latest from the opera group Il Divo.

Tuesday, November 28, 2006

Notes MU Migrator download - CORRECTED LINKS

Here's the minimal version with just the EXE and the INI files:

Notes Migrator - 05 - minimal.zip

If you want the documentation, which is pretty sparse at the moment, you can get it here:

Notes Migrator 05.doc

Sorry about messing that up earlier, the link with the source code is disabled now. I'm working on a UI to configure the application INI, as well as adding more additional debugging and logging. That should be up by the end of the week.

Monday, November 27, 2006

Notes MU Migrator 0.5 available

[UPDATE 27-3-2012] - IBM now has an officially supported tool: http://www-01.ibm.com/support/docview.wss?uid=swg21459627.

This is a utility that will take multiple single user installs and migrate them to a multi-user install. The general premise is that each user's Notes data directory is stored on his/her home drive (such as h:) and this will move the files to the appropriate %UserProfile% folders to make it work with the multi-user installation. I did this specifically for our own Windows Terminal Services servers, but there is no reason this shouldn't work for shared workstations, too. Just as long as Notes was originally set up a single user installation and each user had their data directory stored elsewhere, this should make it easier to migrate them to a multi-user install.

Here is the [EDIT - link removed 11/28/06]
Here are the VB5 runtimes if you need them.

I have tested this in my own environment and it worked well, but your mileage may vary. If you get any errors or need any help either post a comment or e-mail me and I'll do my best to help. Also if there are any features you would like to see added let me know. If there is enough interest I would also be willing to release the source code.

Wednesday, November 22, 2006

Domino on Linux tunekrnl overflow vulnerabilities

Just in case you missed it.

Joel on Software: Choices = Headaches

Nathan Freeman pointed out this article to Mary Beth Raven on her blog and I was simply astounded by what it contained. Here is someone whom I believe is relatively well-regarded in the software development world who is 1) willing to challenge Microsoft's doublethink and 2) agrees with my own approach. It's not common for my views to be popular so I'm always surprised when anyone agrees with me.

Joel discusses the confusing mess surrounding simply turning off Windows Vista. He tallied over fifteen different ways, then describes how to pare it down to only two. This can very easily be correlated to software development in general.

How many preferences are there in Lotus Notes? Well, that depends. There are up to six different sets of preferences, plus the ones built into the mail file itself. Each one is broken up into multiple tabs and subtabs, and some such as Toolbar Preferences have a completely unique UI paradigm for making changes. In all there are over 130 decisions to be made just in File > Preferences > User Preferences in Notes 7.01, and that's not counting all the combinations of port settings and International dictionary settings.

Nathan has long supported the idea of radical simplification in the Notes client, and I'm with him all the way on that charge. For my users their single biggest complaint is not that the Notes client is ugly or slow, it's that it is simply overwhelming. That criticism is mostly based on their use of Notes as a mail client. In my own applications I keep it as minimal as possible, such as the following

barracuda spam stats
[Side note: That's based on my own "blue rinsed" standard application template.]

It could be argued that some applications need more functionality and can't be as barebones as this. I challenge that assertion. The issue isn't that the functionality isn't needed, it's that the functionality should only be presented when and where it is needed.

As a real world example, create a Reply to an e-mail message. Using the standard Notes 7.01 DWA template, the action bar in the response has Reply to All and Follow Up actions. What on Earth do those mean in this context? If I wanted to Reply to All I would have done that from the view. Is the Follow Up flag getting put on the original message or my response? Why would I want to do that from here, anyway?

Also, the vectors for accessing functionality should be presented in the fewest places possible. How many different widgets are there related to Instant Messaging in the Notes client using the integrated instant messaging?

  • Right-click context menu
  • Chat view action (with multiple subactions)
  • Instant Messaging toolbar
  • Instant Messaging statusbar
Am I the only one who finds this ridiculous? By the way, the one vector I couldn't find was a direct keyboard shortcut. You can use Shift+F10 to open the context menu, which comes up in an odd place, or use Alt+A to open the Actions menu then H to open the Chat submenu.

I applaud Joel for tackling the issue of overloaded software that tries to please everyone but ends up bewildering the majority. And I also appreciate Nathan for keeping the pressure on the Notes 8 design team to simplify while innovating. I sincerely hope that goal is met.

Monday, November 20, 2006

Postsecret needs your help

PostSecret is an ongoing community art project that allows people to share their secrets anonymously. People send in postcards with their secrets and Frank Warren, the site owner, posts a selection of them each week. More information about how it works can be found at the site.

The PostSecret blog has had over 50 MILLION visitors in the past two years and Frank has always maintained the site ad-free. He contends, and I agree, that by keeping it free of advertising it makes people want to open up and share. Ads would taint the image, making it appear like a commercial venture instead of the helpful outlet it truly is.

Frank has taken some of the postcards and created some wonderful books. He also teamed up with Amazon to help further offset the costs of running the site. For every purchase you make with this link, Amazon will donate 10% of the proceeds to the PostSecret Project. If you're going to be buying from Amazon anyway, please take a moment to do it with this link. It doesn't cost you anything and it helps continue a very worthwhile project.

Lotusphere session breakdown - take 2

I recounted the Lotusphere sessions and here are the updated numbers.

Portal                    31  16.4%
Workplace 10 5.3%
Notes 8 27 14.3%
Expeditor 4 2.1%
Lotus Component Designer 6 3.2%

All the Websphere sessions mentioned Portal so I lumped them together. I also broke out the Lotus Component Designer sessions separately.

Recounting the Notes and Domino 8 sessions proved difficult because many of the session titles don't explicitly say they are covering Notes 8. For example, AD504 - What's New in the IBM Lotus Domino Objects? is actually focusing on what's going to be new in Notes 8, not what is new in Notes and Domino 7.02. You have to read the abstract to figure this out. I didn't find the "dozens" of Domino 8 sessions Ed mentioned in a comment to my previous post, so it is likely that much of the Futures and Innovations and Planning and Managing You Collaboration Infrastructure tracks will include significant R8 coverage, it's just not stated in the session titles or abstracts and therefore I have no way of counting those.

My methodology is likely highly flawed and my numbers are likely off. The point of this exercise was twofold. First, to highlight the significant amount of sessions that are focused on either Portal or Notes 8. Second, to ask the question is this truly the content customers are asking for?

I'm not complaining, there is a lot of good content that will keep me very busy. I'm just shocked to see more than 30% of the sessions devoted to a new Notes version and to a product that no one I know uses. My experiences could very likely be different from the norm.

Sunday, November 19, 2006

What is Lotusphere's focus?

Ed announced the Lotusphere 2007 sessions are posted. As I read through them I was struck by how much coverage there was for Websphere, Websphere Portal, Lotus Component Designer and Workplace products as well as Expeditor and Notes 8 that aren't even released yet. Here's how it breaks down:

Total sessions       189
Websphere sessions 7 3.7%
Portal sessions 27 14.3%
Workplace sessions 9 4.8%
Notes 8 sessions 20 10.6%
Expeditor sessions 4 2.1%

Since Lotus Component Designer components can be deployed on Websphere or Portal I chose to include them with Websphere. Portal's numbers were already high enough.

What is Lotusphere's focus? What is the target audience?

Friday, November 17, 2006

Ballmer: Linux users owe Microsoft

November 16, 2006 (Computerworld) -- In comments confirming the open-source community's suspicions, Microsoft Corp. CEO Steve Ballmer today declared his belief that the Linux operating system infringes on Microsoft's intellectual property.


It is rather ironic that the company most sued for IP infringement is now claiming Linux infringes on theirs. Further down in the article:

Jones (Pamela Jones, editor of the Groklaw.net blog) also challenged Ballmer to "put his money where his mouth is" and detail exactly what part of the Linux kernel source code allegedly infringes upon Microsoft patents, so that "folks will strip out the code and work around it or prove his patent invalid."

Ballmer did not provide details during his comments today. But he was adamant that Linux users, apart from those using SUSE, are taking advantage of Microsoft innovation, and that someone -- either Linux vendors or users -- would eventually have to pay up

This is sounding a lot like the SCO v. IBM case.

Wednesday, November 15, 2006

SNTT - Follow up to "Calling an agent using RunOnServer when saving a new document"

In my previous post I called doc.Save in the PostSave event to force the NoteID to update. This was so I could pass it to NotesAgent.RunOnServer. In the comments to that post David Bohlin suggested I run the agent code in QueryClose instead, with the understanding that the NoteID is populated by the time QueryClose executes.

I did some testing and that is not the case. Try this:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Msgbox Source.Document.NoteID, 0, "Queryclose NoteID"
End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

In my testing the NoteID was always 0 for a new document. The only way I was ever able to get it to update the NoteID was to call Source.Document.Save.

,

Monday, November 13, 2006

Rod Boothby - Updated Simple Recipe to Get Off Lotus Notes

Here are Rod's latest thoughts on a subject I was sure he would have grown tired of by now:

Updated Simple Recipe to Get Off Lotus Notes
  1. Screen scrape all static content. You could use some Notes APIs, but why bother finding someone who learnt Notes back when it came out in 1984?
  2. Have end users rebuild all your Notes based applications using QED Wiki, or something similar, such as Teqlo.
Step one might be even easier if your Notes team has set up standard compliant feeds, such as RSS or ATOM for your static content. With a system such as iUpload, Blogtronix, Suite Two or Atlassian's Confluence, it is a small coding exercise to bring your existing content into a new system.

Nope, he still doesn't get it. I would write him off if he weren't in a position where he influences so many decision makers.

IBM QEDWiki

I was reading Rod Boothby's blog and he mentioned this new technology from IBM. From the developerWorks Emerging Technology blog:

QEDWiki is a platform for collaboration

  • Lightweight standards based collaboration environment
  • Unstructured to Structured Data Definition
  • Enables personal publishing

QEDWiki is a runtime for aggregated services:

  • Dynamic platform for integrating “live” data
  • Personalization in consumption of external services
  • Application Concept (navigation, menus, install, config)

QEDWiki is an IDE for users to build ad-hoc applications:

  • Consumes SOA services via Wiki markup
  • Flexible visual drag-drop and markup based application development features
  • Enable mark-up based client development
Here's a demo of QEDWiki in action.


And a follow up article from Zend's Developer Zone.

This, combined with the IBM Application Designer for Medium Business, shows a concerted move by IBM that mirrors Microsoft's recent announcements (via Gregg Eldred). There appears to be a desire to push application development down to the masses and I'm not sure where that's coming from.

The concepts are great, I just find the hype overwhelming. You can't force such a fundamental change through, it takes time. It seems like the analysts who sit on the sidelines want this to be the new new thing so they can be proven true in their predictions, but those of us in the trenches really want to take it slowly to avoid disasters.

I spent most of the 1990's cleaning up non-programmers' attempts at application development in Visual Basic and Access. Time will tell whether this is a good thing or not.

Friday, November 10, 2006

IBM alphaWorks: Application Designer for Medium Business

I found this on alphaWorks a few days ago and downloaded it, and only got around to installing it today. From the alphaWorks website:

What is Application Designer for Medium Business? Application Designer for Medium Business bundles together two technologies: a pre-release of Lotus® Component Designer 6.0 and WebSphere® Application Server, Community Edition (WAS CE) 1.1. Lotus Component Designer is an Eclipse-based Integrated Development Environment (IDE) that helps non-Java developers to create database-driven Web applications for an IBM WebSphere Portal 6 environment. The use of Application Designer for Medium Business enables Lotus Component Designer to be deployed to WAS CE. In addition, Lotus Component Designer provides four sample applications to help users get started quickly and understand what a typical application looks like.

That sounds like it's right up my alley, considering I have no clue how to do anything with Java. However, what is delivered doesn't quite live up to the promise. Installation is extremely simple, just double-click and follow the prompts. When you're done a webpage is loaded that outlines the next steps and helpfully suggests creating a simple application and deploying it. I'd love to, but I can't figure out how.

After loading the WAS CE server, which took a while, I double-clicked the Lotus Component Designer icon. After that finally loaded the initial window is pretty, but I'm not sure what to do with it:
I moused over the various graphics and clicked the Tutorials button, which is the one with the green check mark.

I clicked the first one: Create an IBM Lotus Component Designer component. The tutorial opened in a separate window with a rather strange layout:


There are no navigation hints at this point, you have to expand the section under the "Getting started" bit to get to the real meat of the tutorial.

You'll notice there are now Previous and Next links on the pages. Okay, now that that bit of insanity is behind us, let's get down to it. Lesson 1 says:

To create a component, perform these tasks:

  1. Open Lotus Component Designer.
  2. Click File > New > Component.
  3. In the IBM Lotus Component Designer - New Component dialog box, type Designer Tutorial in the Name field.
  4. In the Description field, type This component is for the Lotus Component Designer tutorial.
  5. Keep Start with blank component selected.
  6. Click OK.
The Designer Tutorial component is listed in the Designer Navigator.

I follow the instructions, my hard drive runs like crazy for about 3 minutes, and then I'm back at the Tutorial list. I can't find the Designer Navigator anywhere. It's not listed in any of the menus and no new tab was loaded, so I have no clue where the component went. After several minutes digging around I got frustrated and gave up trying to find the Designer Navigator.

Instead I decided I'd load one of the sample applications, which the website promised would "help users get started quickly and understand what a typical application looks like." I clicked the Samples button on the Welcome page (it's the collection of shapes) and a list of several samples is provided. No matter which one I select all I get is a help page telling me about the sample. I can't figure out how to actually load the sample and the help doesn't tell you. Going to the menu and selecting File > Open doesn't do anything, so I'm at a complete and utter loss.

And with that, my review is done. I can't actually do anything with Lotus Component Designer and the information in the tutorials is inaccurate or lacking in enough detail to be useful to complete beginners. I think if I knew how to use Eclipse I wouldn't be so frustrated or feel so helpless, but this is supposedly geared toward people with no experience using the tools. As such I find it an utter failure. I have Eclipse for Dummies at home and I'll read it this weekend, then report back.

Thursday, November 09, 2006

SNTT - Calling an agent using RunOnServer when saving a new document

Enough of the politics, let's have even more RunOnServer fun! Let's say that when a user saves and closes a document you want to update the newly saved document with information from an agent. RunOnServer takes a NoteID so it looks like a no brainer. In reality it proved to be more a little more difficult.

The first hurdle: I started out using the QuerySave event and the NoteID was always 0. I dug into the Notes.Net developerWorks Notes forum and learned that the NoteID doesn't exist until the document is saved to the hard drive. Okay, I'll use the PostSave event. Since it's called "PostSave" I expected the document to be saved to disk. Well, either it isn't or the PostSave event occurs before the NoteID is populated. The solution: force the document to save from PostSave. I'm not sure why this forced save is necessary, but it works. Calling doc.Save from QuerySave gave a save conflict warning, but calling it from PostSave doesn't.
Sub Postsave(Source As Notesuidocument)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim doc As NotesDocument

Call Source.Document.Save(True, False)
Set doc = Source.Document
Set db = session.CurrentDatabase
Set agent = db.GetAgent("Process Service Fees")

If agent.RunOnServer(doc.NoteID) <> 0 Then
Msgbox "There was an error and the service fee notice was not sent.", 48, "Service Fees"
End If
End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

,

Wednesday, November 08, 2006

It's official: I'm a second class citizen

It all started on May 1, 1991 with the case of Baehr v. Lewin. The state of Hawaii was sued by same-sex couples to be allowed to get married. Fast forward to 1996, and the so-called Defense of Marriage Act was signed into law. I'm not sure what it defended, but it did allow states to not recognize marriages that were legal in other states, for the first time in our country's history.

Yesterday South Carolina Amendment 1 passed by a landslide. A previous law introduced in 1996 already established the definition of marriage as being between one man and one woman. This goes a step further by preventing civil unions of any type. It is an obvious attempt to forestall legislation that would allow same sex civil unions.

I'm reminded of Martin Niemoeller's poem First they Came...
They came first for the Communists,
and I didn't speak up because I wasn't a Communist.
Then they came for the Jews,
and I didn't speak up because I wasn't a Jew.
Then they came for the trade unionists,
and I didn't speak up because I wasn't a trade unionist.
Then they came for the Catholics,
and I didn't speak up because I was a Protestant.
Then they came for me,
and by that time no one was left to speak up.

* This version is from the New England Holocaust Museum.
I wonder what they'll brand me with when they put me in a camp?

Tuesday, November 07, 2006

SNTT - Updating a UI document from an agent called with RunOnServer

Here's a technique to run an agent on the server, close the UI document, and have it reopen showing the updates done in the agent. In this case my agent is issuing LC LSX calls to update data from DB2. The following code is in a Hotspot button on the document. The tricky part here is knowing to use Delete on the NotesDocument. You have to delete the document from the object cache after the agent runs to force it refresh when you reopen it.
Sub Click(Source As Button)
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim doc As NotesDocument
Dim noteid As String

Set uidoc = uiws.CurrentDocument
Call uidoc.Save

Set db = uiws.CurrentDatabase.Database
Set agent = db.GetAgent("Get Account Info")
Set doc = uidoc.Document
noteid = doc.NoteID

If agent.RunOnServer(doc.NoteID) <> 0 Then
Msgbox "There was an error looking up the account information.", 48 _
, "New Account Setup"
End If

Call uidoc.Close(True)
Delete doc
Set doc = db.GetDocumentByID(noteid)
Set uidoc = uiws.EditDocument(True, doc)
End Sub

This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.


,

Monday, November 06, 2006

HBO: Hacking Democracy

The e-voting systems in use throughout the US are proprietary and are not reviewed by independent security analysts. We have to take the vendors' word that the information is secure. As dramatically illustrated in HBO's expose, that is emphatically not the case.

The most widely used e-voting systems are provided by Diebold. First the team went into the Diebold General Elections Management System (GEMS) and altered results. Diebold said this was not possible without creating an audit trail, but nothing the team did produced an access log. They were able to alter results in a number of ways. Speaking of access, votes are stored in a Microsoft Access database. I am very familiar with Access' security, but I also know from personal experience that it can be circumvented and as shown in this documentary, it doesn't take a knowledgeable person very long to do it.

As a final test, the team successfully altered the results of a mock election by directly altering the memory card used in the voting machine. According to Diebold it is not possible. The security analyst only touched the memory card for the voting machine prior to it being inserted in the machine. He never touched the machine itself, nor did he have access to the card after it was put into the machine. When the voting machine came up it printed a 0 total report, showing that there were no votes already in the unit. 8 total votes were cast, 6 were "No", 2 were "Yes", then a final tally was printed. It showed 7 "Yes" and 1 "No".

To verify these were actually recorded results and not just the result of altering the report, they loaded the results into GEMS. It showed the altered results. According to Diebold this is absolutely not possible. In reality, it absolutely is. This is the most likely way that John Kerry ended up with negative votes in some Florida counties in 2004.

Friday, November 03, 2006

SNTT - Saving a text file to an iSeries and processing it with LotusScript

Working with the iSeries platform has its own challenges. One of them is if you create a mail-in database that accepts attachments and you need to process them. Saving the attachment to the file system then processing it shouldn't be that big a deal, but on an iSeries it is. By default the file is saved as EBCDIC, while LotusScript expects it to be ASCII. Doing the conversion isn't really difficult, but it does take some fiddling around to figure out all the bits to flip. Here's how:
Shell("COPY OBJ('" & EBCDICFileName & "') TOOBJ('" & ASCIIFileName & "') _
TOCCSID(*PCASCII) DTAFMT(*BINARY) REPLACE(*YES)"
)

This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

,

Wednesday, November 01, 2006

SNTT - Replacing tokens in Rich Text and preserving styles

A fairly common thing in Notes is to create a form with a Rich Text field so users can produce standard letters. To achieve this people often use tokens that later will be replaced in an agent, such as [DATE] or [ACCOUNT NAME]. Typically this is fairly easy, but there some instances where it gets tricky. What if you want the text that replaces a token to be in the same style as the token, such as a specific font, font size or color? And what about replacement text that spans multiple lines? Here is a function that will take care of it for you.
Sub ReplaceToken(Byval Token As String, Byval Replacement As String, _
RTBody As NotesRichTextItem, NewLineChar As String)
Dim rtNav As NotesRichTextNavigator
Dim rtNavEnd As NotesRichTextNavigator
Dim rtRange As NotesRichTextRange

Dim linelength As Integer
Dim oneline As String

Set rtNav = RTBody.CreateNavigator
Set rtRange = RTBody.CreateRange

If rtNav.FindFirstString(Token) Then
'Mark the original token so you can delete it later
Call rtRange.SetBegin(rtNav)
Set rtNavEnd = rtNav.Clone
Call rtNavEnd.SetCharOffset(Len(Token))
Call rtRange.SetEnd(rtNavEnd)

'Preserve the existing style. This gets a little convoluted.
' 1) The style is associated with a NotesRichTextRange.
' 2) You have to BeginInsert before you can AppendStyle.
Call RTBody.BeginInsert(rtNav)
Call RTBody.AppendStyle(rtRange.Style)

'Break up multiple lines (assumes a single character delimiter)
linelength = Instr(1, Replacement, NewLineChar)
Do Until linelength = 0
oneline = Left$(Replacement, linelength - 1)
Call RTBody.AppendText(oneline)
Call RTBody.AddNewline(1)
Replacement = Mid$(Replacement, linelength + 1)
linelength = Instr(1, Replacement, NewLineChar)
Loop

'Add the final line of replacement text, or the only line if there are
' not multiple lines of replacement text
Call RTBody.AppendText(Replacement)
Call RTBody.EndInsert

'Delete the original token.
Call rtRange.Remove
End If

Set rtRange = Nothing
Set rtNav = Nothing
Set rtNavEnd = Nothing
End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.


See, I do write code sometimes! :-)

,

Tuesday, October 31, 2006

CNN report - Mainframes making a comeback

It's true: everything old in IT becomes new again. I caught this Associated Press article on CNN.com and couldn't help but chuckle:
Cheap little servers handle so much of the Internet's dirty
work that giant computers known as mainframes, which debuted
50 years ago and often cost more than $1 million, are supposed
to be passe.
...
[if] you were to break modern computing history into its
simplest terms, it would go something like this: There was the
centralized-mainframe era, and then there was the
distributed-computing era. And the former ended a while ago.
...
"For every application, many times it takes five servers in
a distributed environment," said Jim Stallings, who runs IBM's
mainframe division. "Many customers are saying, 'I can't deal
with the complexity."'

It's interesting that this also applies to Domino. One of my key complaints about a open source or MS collaboration solution is the number of products one has to implement and manage. Domino is the mainframe of collaboration software, in more ways than one.

The cool thing is a Brazilian game company called Hoplon is releasing a new game that's hosted on an IBM mainframe. Showing the true flexibility of a mainframe, they aren't even using their own:
But rather than shelling out precious startup capital to own
a mainframe, Hoplon is remotely accessing one stashed in an
IBM data center in Brazil. The same machine manages a retirement
fund for IBM's Brazilian employees and handles operations for
a building-tools manufacturer.

Now that is something nifty. Oh, and the game looks pretty awesome, too.

Monday, October 30, 2006

Omitting holidays from @BusinessDays

Domino Administrator allows you to create holidays that users can download to their own calendars. The next logical step is to include this in calculations where you need business days, but you don't want to include holidays. Here's how to do it in Formula:
dateHolidays := @DbColumn("":"Cache";"mail":"names.nsf";"Holidays";2);
intBusDays := @BusinessDays(StartDate;EndDate;1 : 7; dateHolidays)
This omits Saturdays, Sundays, and the list of dates in the Holidays view. You may consider adding some logic to filter out only holidays for the current year, depending on your requirements. Also be aware that the view only lists the first date entered in the repeating date field. If you have the holiday set to repeat you will have to account for this.

This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

Back from vacation!

I'm back from a wonderful time spent travelling Eastern and Middle Tennessee. The hot air balloon ride was a bust, it was too windy. And the trout fishing was a wash, too, because they were generating electricity at the nearby dam. The guide we were going with said the water volume went from 160 feet per minute to 4800, which washed the fish downstream and it was too dangerous, besides.

We had a great time in Chattanooga, which was much more cosmopolitan than I expected. I was last there in 1993 when they opened the Tennessee Aquarium River Journey, and since then they have opened the Ocean Journey and a new visitor's center. The most delightfully unexpected feature was the butterfly aviary, which I can't say enough good things about.

The downtown area of Chattanooga is impeccably clean and we stayed at the Sheraton Read House, which was a convenient walk to nearly everything. I highly recommend the Read House, but if you're staying there it pays to shop around. We booked it for $59 per night on Priceline. Chattanooga has a free shuttle in the downtown area and it was a godsend at the end of a tiring day of walking. The Hunter Museum has some extremely interesting glass pieces and a nice collection of pop art. Recommended places to eat include 212 Market, The Back Inn Cafe, and Southside Grill.

The Jack Daniels Barbecue was like a trip to a foreign country. I'm from Eastern Tennessee, but this was an experience unlike any I've ever had. Picture 40,000 people all in the same place to worship barbecue. Now imagine your stereotpyical idea of someone who would make such a pilgrimage would look like. It made for some interesting people watching. Stay tuned for pictures of this, the aquarium, and the rest of our trip.

Also be on the lookout for some new posts about Notes. I finished my Notes Multiuser Migrator, and I'm working on some techniques for replacing tokens in richtext while maintaining the style associated with the token. And there's still that DXL UI Updater and SQL Query Runner, both of which I'm working on that as time permits.

Saturday, October 21, 2006

On vacation again

Next week I'll be doing a trip through Tennessee and I'm not taking a laptop so I won't be blogging. This trip came about because October 27th is my partner, Myron's, birthday. Every year since he was 35 (he's turning 53) he has travelled somewhere for his birthday. This year I suggested we attend an event in central Tennessee, and the next thing I know he has a whole week of activities planned! I still don't think he'll upstage the Tortola trip from my birthday, though. :)

On Sunday we are driving to Sevierville, which is near the world-infamous Dollywood, then Monday morning are going on a sunrise hot air balloon ride. Monday will be a leisurely day driving to Chattanooga, where we will spend three days visiting the city and the surrounding area. They have a wonderful aquarium, and the city is located in the foothills of the Great Smoky Mountains. Thursday is a trip to some tiny unknown (to me) town for a day of fly fishing. Neither Myron nor I have done that before, so it should be fun. I dunno what we're doing Friday, it's Myron's birthday and I think he has some all day history thing planned. Saturday is what I'm looking for: Lynchburg.

Anyone who is a foodie knows why I'm going there. Anyone who is a fan of bourbon knows another reason I'm going there. Saturday, October 28th is the 18th Annual Jack Daniel's World Championship Invitational Barbecue. It's two of my favorite things in the whole world combined into one. I'm from Bluff City, in extreme northeastern Tennessee and I grew up with barbeque. My love of bourbon was cultivated in more recent years, but I'm a diehard fan now.

So that's where I'll be next week. Enjoy the silence. :-)

Thursday, October 19, 2006

Going to Lotusphere 2007

It's official, I'll be going to Lotusphere 2007. My boss is considering going, too, and I'm not sure what kind of dynamic that might create. I think he will most likely be in the PHB sessions while I'm mingling with the technonerd crowd, but I'm sure we will have some good opportunities to share information and maybe even sit in on a few sessions together.

So I'll see you there!

Wednesday, October 18, 2006

How to implement a social networking solution in Domino?

One thing that has always baffled me is the application of consumer-oriented technologies to business. Instant Messaging was one I adopted early because I support 300 people spread across 15 sites in two timezones, but the concept of blogs and wikis just left me scratching my head. Adeleida Bingham posted a comment on Rocky Oliver's blog including a link to an irreverent look at Web 2.0. It was an extremely helpful and really helped me understand more about why I should care about this new-fangled stuff. In the slides there was a reference to another blog posting called The Porous Membrane: Why Corporate Blogging Works. That included a link to Wiki This - A Model for Customer Support Using Blogs and Wikis.

None of this is likely news to anyone reading this, but it helped me wrap my head around it all. Now I get it. I grok in fullness. Now... how do I actually do it? Building the databases isn't the problem, there are OpenNTF templates to help me along (thank guys *waves*). But how to you go about making it something coherent and comprehensive? I'm looking at Peanuts Portal, and I have some ideas, but I was hoping someone could share some insight on how to make all this stuff fit together in a Domino world. Are there any examples of sites that have already done it?

Sunday, October 15, 2006

Crazy cool technology - CouchDB

Most people reading my blog are probably familiar with Damien Katz, likely read his blog, and already know about CouchDB. For the other 2 of you, go check it out. From the overview:

What CouchDb is
  • A stand-alone document store, accessible via XML REST.
  • Ad-hoc and schema-free with a flat address space.
  • Distributed, featuring robust, incremental replication with bi-directional conflict detection and resolution.
  • Query-able and index-able, featuring a table oriented reporting engine with a simplified formula query language.
The CouchDb data model was partially inspired by the Lotus Notes and Domino backend.
What it is not
  • A relational database.
  • A replacement for relational databases.
  • An object-oriented database. Or more specifically, meant to function as a seamless persistence layer for an OO programming language.
I downloaded Alpha 4 and installed it, now I'm trying to figure out what to do with it. For now I think it will likely end up on my "neat stuff to try" list since I'm working on increasing my marketability. As nifty as this is, I don't think it's going to help me get a job anytime soon. Who knows, maybe CouchDB and Fabric will be the new new thing.

Thursday, October 12, 2006

Is there an @ function to tell if a document is "dirty"?

I could swear I was reading someone's list of their favorite new features in Notes 7 and it included something about a new and undocumented @ function that would let you know if anything on a document had been changed. I didn't bookmark it, of course, and I've been searching for two days and can't find that reference. Does anyone out there have any ideas about this? Was I delusional?

Wednesday, October 11, 2006

an upward and outward spiral

I had a discussion with my boss a while back and shared my candid views on my lack of upward mobility and feeling like I was being treated like a commodity. At the time my frustration level was high, my patience was low, and it didn't take much to set me off.

One thing my boss said stuck with me. He said he "viewed life as an upward and outward spiral." He went on to describe this as the movement foward, the betterment of his and his family's lives, and the positive social impact he felt he was having. Initially I credited his charmed trust-fund existence with his being able to make such a blithe statement.

I don't know exactly when or why, but I finally got it. I'm not Pollyanna by a long shot, but I do realize now that I have choices. I can choose to better myself or I can choose to languish. I can choose to be positive or I can choose to be negative. I can choose whether my life is a downward descent into despair, or an upward and outward spiral toward happiness.

Tuesday, October 10, 2006

In response to Rod Boothby's simplistic assertions

Rod Boothby recently posted a blog entry about how simple it is to migrate a Notes application to a "Web 2.0" paradigm. He was thoroughly trounced, so he tried again. And had various body parts handed back.

First he suggested screen scraping Domino data out of HTML. Crude, but effective... but then what? Ripping data out of Domino is easy. The hard part is getting the business logic, the workflow, and the other eleventy billion bits to translate to another platform. Furthermore, Rod is proposing doing everything on the WEB! Rod, I suggest you talk to real users, not management types. I know people who have quit jobs because tools they used were moved to web-based apps. Users hate them, with a passion.

In my experience Rod's so-called "innovation creators" and "knowledge workers" accept that what they use at home or for personal use is not appropriate for them getting their work done. Rod goes on to suggest that end users should be responsible for making changes to applications on the fly. If users are tweaking apps who is doing their real job? I agree that users need to be involved in the design process, but the answer isn't to give them a completely open tool with little structure and tell them to design what they need. It is possible, even with Notes, to deliver a structured system based on user input and feedback, that is extensible and flexible.

Just who is Rod Boothby, you might ask? He's a management consultant for Ernst & Young. His only exposure to Notes has been as an end user. Somehow in his mind that makes him an expert on the Domino platform and what it takes to implement new solutions as well as migrate away from it. I must not be as smart as him because I've not been able to do it. Read my blog, you'll see that I've tried and failed. I guess all the people Microsoft put on their Red Bull initiative must be likewise untalented. It sounds like Mr. Boothby has struck a goldmine since he's the only one capable of doing this.

Actually I think he's a crackpot. If his proposition weren't so absurd he might even be dangerous. As it stands, I think the following from Despair.com is fitting:

Friday, October 06, 2006

Notes single to multi-user migrator

I created a utility that will take the traditional single-user configuration for Windows Terminal Services and migrate users to a multi-user install. It has to be run for every user, but it reduces the installation down to just entering the user's password, clicking Finish on the "Advanced Services" box, then clicking OK on the "Setup Complete" box. Is anyone interested in it? It' s driven by an INI:

UserOldNotesPath=m:\notes\data\
UserNewNotesPath=%UserProfile%\Local Settings\Application Data\Lotus\Notes\Data\
SharedNotesPath=C:\Documents and Settings\All Users\Application Data\Lotus\Notes\Data\
FilesToCopy=bookmark.nsf;desktop6.ndk;*.id;names.nsf;user.dic

If there is interest I'll figure out a way to post my utility, and include source and a writeup on how it works. I wrote it in VB5. Yeah, I know it's old, but it's what I had handy. :-P

Tuesday, October 03, 2006

Dialog to select a template?

I posted on Notes.net but I thought I would repeat it here... does anyone know how to get @Prompt([ChooseDatabase]) to show templates? According to the help there is a values property that can be set to "2", but that doesn't seem to have any effect. It appears to be possible because when you do a File > Database > Open in Domino Designer it shows both NSF's and NTF's, but I have no idea what mechanism they're using to display that dialog. I'm not afraid of going to the C API if I have to, I really really need this functionality.