Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs

January, 2009
    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 31

Search the weblog

Genii Weblog

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

Thu 8 Jan 2009, 06:01 PM
As an aside to the hardcore geeks (you others just go back to reading PlanetLotus looking for tips about 8.5), can you guess how CoexLinks 3 manages to render iNotes mail correctly?  The non-hardcore probably don't think about it, while the semi-hardcore (say, half a blue pill) probably assume we just convert all email to MIME without realizing how that would mess with people reading their e-mail in a standard Notes client.  Only the truly hardcore will figure out that we can't just convert it to MIME when it is saved or sent without risking loss for the Notes client.  It should also be clear that no template or database designs were harmed (or even touched) in accomplishing this, or anything to do with CoexLinks for that matter.

I know of two ways to accomplish the general goal, but I only chose one.  Just curious whether it will be obvious to anyone.

Copyright 2009 Genii Software Ltd.


Thu 8 Jan 2009, 04:43 PM
By now, you have probably completely dismissed my rants about email rendering.  Chances are good, you don't give a hoot how the email renders.  Your company may not have any customers whom you contact through the Internet, or may even have a policy of sending all e-mail to the Internet as plain text.  Very sensible.  Your company may also not have any DAMO or Outlook clients.  You are a pure IBM Lotus Notes/Domino shop, and proud of it.  CoexLinks 3.0 is not necessary at all.  No way!

Well, not until your CEO opens that nicely formatted, completely internal, completely rich text email from iNotes on her laptop in Waikiki.  No worries, this is a good time to be looking for a new job, anyway.

CoexLinks with better rendering for Notes

Copyright 2009 Genii Software Ltd.


Thu 8 Jan 2009, 10:54 AM
It isn't quite ready to ship, even in beta, but it is getting close.  You may have read about it, heard about it, even dreamed of it, but now you could actually get a chance to give it a try.  Sign up now and as soon as we are ready to grimace, hold our collective breath and send you a beta copy, it will come your way.

Now, I can't promise you that you'll get a very good deal for being an early adopter, and I can't swear that there might be a treat available just for evaluating, but if I weren't the designer, I'd be first to sign up, I can tell you.  As Sarah Palin might say, "You betcha!"  

All you have to lose is a few bytes and seconds directed our way.  All you have to gain is the respect of your customers.  You decide.

Copyright 2009 Genii Software Ltd.


Thu 8 Jan 2009, 10:01 AM
Error resultsI have talked about this before a bit, but the error page for Genii Software's website (which comes up when you look for a page that doesn't exist) seems like a missed opportunity.  Today I took some steps to make it a bit more useful by auto-searching keywords and topics in the Midas Help database and the formulating links.  You can see the results by using a URL such as image which is a page that doesn't exist on our website.  The new error screen is shown at the right, and you will notice it has links to possible topics in the Midas Help db which match the term or a keyword.  I thought that I would take a rare chance to show some useful formula language, something I don't do in here often enough.  There is nothing here to astound the experts, but some of you who are not aware of how useful formula language can be for a website might be interested (see the formula below the image at the bottom).

This is computed text included as part of the $$ReturnGeneralError form.  Since that returns different sorts of errors, and I only care about the one, I start by using a temporary variable 
arg1, which becomes the not found design note, or "" if this is a different error.

Next, I put either a "" or the results of a partial text search of the 
FIND view in the MidasHelp.nsf database.  Note the very important [FailSilent], which ensures that a failed search will return "" rather than raising an error, which would be a nuisance to handle.  The results will be either "" or a list of values which match.  If you look at the results above, you can tell that methods such as the AppendGraphic method must use a keyword of "image" or something like it.

Finally, after ensuring that I won't have over 20 results (due to computed text issues as well as space considerations), add after eliminating duplicates and sorting the results, I am ready to create the HTML.  Note that I heavily use the feature in formula language that a formula such as 
"A"+("B":"C") will become the list "AB":"AC", which is how I first add the <a href part before each argument and then the text and ending of the a tag afterwards.  This is very powerful, but it takes some practice and trial and error.

There is more to come, such as using the same technique to make the Help topic pages have more dynamic Related Topics sections, and adding in search links on the error page, but I thought this might be useful for those somewhat new to web development or somewhat new to formula language and its strengths with lists.

arg1 := 
@If (@Begins(MessageString; "HTTP Web Server: Couldn't find design note - "); @Right(MessageString; @Length(MessageString)-45); "");
arg2 := @If (arg1 = """"@DbLookup("""":"MidasHelp.nsf""FIND"; arg1; "Subject"; [FailSilent]:[PartialMatch]));
arg3 := @Sort(@Unique(@If(@Elements(arg2) > 20; @Subset(arg2; 20); arg2)));
@If (arg3 = """<!-- No Midas Help match for '"+arg1+"' -->""<br><h3>Possible Midas Rich Text topic matches:</h3>"+@Implode(((("&nbsp;&nbsp;<a href=\"/showcase.nsf/MidasHelp?ReadForm&Focus=" + @ReplaceSubstring(arg3; " ""+")) + ("\">"+arg3)) + "</a>"); "<br>")+"<br><br>")

Of course, you probably don't want to provide links to the Midas Help database, but just a little tweaking would probably allow you to provide links to your Site map or product database or something else.  Good luck, and happy erroring!

Copyright 2009 Genii Software Ltd.