Ben Langhinrichs

November, 2003
SMTWTFS
      01
02 03 04 05 06 07 08
09 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

Search the weblog





























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


Conclusions
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.

Sun 23 Nov 2003, 08:21 PM

And not just because of this young lady, although that alone might be an excellent reason, as Robert points out.  What with the IBM's "rich client" based on Eclipse, and the rich client for Microsoft's Longhorn also based on Eclipse, it just seems hot right now.  Very hot.

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


Description
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.

History
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.

Documentation
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
  rtchunk.GetNextTarget
Wend

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.

Michigan promo shot



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.