Genii Weblog

Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.

Wed 26 Nov 2003, 02:25 PM
I was changing my password on an on-line brokerage account, and encountered the following hint:

Hint: Pick a Password you will easily remember. We recommend entering your Password in all lower case letters.

Note, this is not a free subscription to on on-line magazine or something.  This is a brokerage account with lots of access rights, where the systems people have chosen a system that uses case sensitive passwords for a good reason - because they are more secure, and any password that is really easy to remember is probably really easy to guess.  As my friend Rich Schwartz would probably point out, it is easier to break a password with social engineering than with software engineering.  

I guess it could have been worse.  They could have added "Remember to write down your user name and password and keep them together in your wallet.", but maybe that is just assumed.

Copyright 2003 Genii Software Ltd.

Tue 25 Nov 2003, 11:44 PM
If you haven't seen the news about IBM's new Express pricing for small businesses ($120 per user, no server fees), you should find out more about them.  IBM is finally making a serious move for smaller businesses.  In a similar vein, we introduced our VSB discount for the Midas Rich Text LSX (50% off all prices for companies of 10 and fewer people) a few months back, and it has been very popular.

COEX! Links is the one product left which has pricing more appropriate to larger enterprises.  Can't have that, so we have lowered prices and added a Small Business discount (50% off all prices for companies of 250 and fewer people).  Read the press release for more details.  

Maybe we should call it COEX! Express.  Nah!

Copyright 2003 Genii Software Ltd.

Mon 24 Nov 2003, 01:00 PM
As my previous post jovially points out, I am looking at Eclipse more these days as the IBM "rich client" picture grows slightly clearer.  There is lots of good material on the Eclipse website, and I have been reading a lot, and the latest article is called PDE Does Plug-ins by two IBMers, Wassim Melhem and Dejan Glozic.

The article is well written, and seems to comprehensively cover the steps necessary to get your Eclipse plug-in to actually plug in.  I am certain that I will use it extensively when (and if) I get to that point.  Still and all, it leaves me with renewed appreciation for the ease with which one adds plug-ins to Lotus Notes/Domino.  Below are a few different types of extensions for Lotus Notes/Domino and what it takes to get them working.  This is by no means complete, just enough to point out the differences.

LSX - Lotus Software Extension (formerly LotusScript Extension)
These are obviously the bread and butter for Genii Software, so I'll start with them.  
  1. Write the LSX, using the LSX Toolkit (I don't mean to minimize this step, just that I am talking about deployment, not construction of plug-ins).
  2. Copy the LSX to the Notes or Domino executable directory
  3. Optionally (I don't with Midas) register the LSX in the Registry
  4. Reference the LSX in a script using the UseLSX statement or the UseLSX method of the NotesUIWorkspace

And you're done.  And that is one of the harder extensions.

Extension Manager
COEX! Links and our new products use these, so I'll mention them next.
  1. Write the extension manager (See LSX step 1 comment above).
  2. Copy the extension manager DLL or shared library to the Notes or Domino executable directory
  3. Add the extension manager to the NOTES.INI file under Extmgr_Addins= line
  4. Re-start Notes or Domino

And you're done.  Phew!

DB extension (Uses @DbCommand/@DbColumn/@DbLookup)
@YourCommand, or first Notes/Domino product, and our new @Midas Formulas both use this technology, so I'll mention them next.
  1. Write the db extension (See LSX step 1 comment above).
  2. Copy the db manager DLL or shared library to the Notes or Domino executable directory
  3. Use the @DbCommand/@DbColumn/@DbCommand specifying the name 

And you're done.  Getting the picture here, yet?

All the rest
There are lots more kinds of extensions, including add-in menus, import/export filters, server tasks, etc.  They all look pretty much like this:
  1. Write the extension (See LSX step 1 comment above).
  2. Copy the db manager DLL or shared library to the Notes or Domino executable directory
  3. Either add a couple of entries to the NOTES.INI file or add a program document or something similar

Draw your own conclusions.  I know I am oversimplifying, and I am not saying anything against Eclipse, but it does reflect awfully well on the Iris developers and IBM/Lotus product development team that the Notes/Domino world is as extendable as it is with such an incredibly easy interface.  Easy isn't everything, but it is something.

Copyright 2003 Genii Software Ltd.

Fri 21 Nov 2003, 02:33 PM
After missing a day due to my wife's birthday (duty calls), here is the next in my customer inspired list of the top ten ways to use Midas which I started a few days ago with  #10) Rich text comparisons with red-lining.  I now offer #7...

#7) Work with images in rich text and in image resources

Midas has long allowed developers to access and modify images, referred to as graphics in some cases.  From the early days when all images were stored in internal Notes bitmap format to the current images that may be JPEG or GIF images, and may be stored in native form or as attachments or even URLs, and even image resources that may be included in a rich text field or on a form, Midas has given access to all of them.

The ability to import images has been available since Version 1.00 in June, 1997.  As additional formats have been added, Midas has been enhanced to handle the new formats, then to add image resources, and finally to modify the attributes on graphics such as alt text, image hotspots, and image flow (how text flows around the image).  As recently as Version 3.20, we have added the ability to convert Notes bitmap images into GIF images, thereby saving a great deal of space and making export of the Notes bitmap images possible.

Comparison with standard Notes/Domino functionality
Notes 6.x has incorporated some ability to access images, but mostly only to delete them or move them about.  There is no facility in the backend to import images, no facility to modify the attributes of the image, no facility to export or extract the images.  In short, the Notes model barely handles images at all.

Documented in the Help database by looking at the properties, methods and events associated with importing, exporting and modifying graphics, including the AppendGraphic method, ExportGraphic methid and SetTargetProperties method, as well as a series of properties such as GraphicWidth and GraphicHeight, GraphicFormat (which shows whether the graphic is in Notes bitmap format, JPEG or GIF format or an image resource), and GraphicOffset, which the special offset needed to use in URL's which reference the graphic directly from the rich text.

On-line demo
None available at this time.

Sample Database
Graphics are used so extensively that there are no specific samples dedicated to their use, but graphics are used in samples such as Walden, Jose's Keyword Replacements, Generate HTML, Export To MS Word, etc.  If we add a Graphics-specific sample, I'll change this post to reflect that.
Sample Script Snippet
This is adapted from a Help database script:

Set rtchunk = rtitem.DefineChunk("Graphic 1")
found = False
While rtchunk.Exists And Not found
  If rtchunk.GraphicFormat = "Notes Bitmap" Then
    Call rtchunk.ConvertBitmaps("Format=GIF")
  End If
  Call rtchunk.ExportGraphic(path & doc.NoteID & "_" & rtchunk.GraphicFormat & "." & rtchunk.GraphicFormat)
  found = True

Copyright 2003 Genii Software Ltd.

Fri 21 Nov 2003, 01:17 PM
I had to laugh.  One of our on-line demos for Midas shows how you can send HTML mail (click here to try it), so I have occasionally worried that somebody might hijack the demo to send offensive messages or pictures "from Genii Software".  Because of this, I check the messages if they are different than the standard message, just to know if I need to let somebody know a message was not from us.
Today, I found my first "offensive" picture.  Well, it might not be offensive to some, but I live in Cleveland, Ohio, and the big OSU-Michigan game takes place tomorrow.  I am not quite sure whether this was someone showing team spirit (for the wrong team) or simply demonstrating the power of Midas to colleagues, but I hope they don't mind my sharing this picture.
I am not much of a football fan, but I feel it is my duty to point out that Michigan doesn't stand a chance.

Copyright 2003 Genii Software Ltd.

Fri 21 Nov 2003, 10:51 AM
Well, for the fourth year in a row, I will be speaking at Lotusphere, but for the first time, it won't be any variation of my rich text talk.  This year I'm doing a talk on Advanced Lotus Notes/Web Coexistence, which is all about how to exploit some lesser known, or even well known, the features in R5, ND6 and ND6.5 to design once for both platforms, and when not to bother.  The official abstract is:

Discover useful tricks and techniques for handling forms, views and databases that must be used in both the Notes client and a web browser. Learn ways to better handle rich text fields, @DbLookups, JavaScript and UI methods to allow an optimal experience for both Notes users and web users. Learn when to create two sets of design elements and when to use just one. Covers native and third party solutions for managing Notes/Web coexistence.

I hope to see some of you there!  For those of you who are going to miss my demo filled rich text talk, I still plan to include some fun and fireworks.  Come and join the fun.

Copyright 2003 Genii Software Ltd.