Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs







Recent posts

Thu 29 Apr 2021

Archive a Notes DB off-line w/ Field data and active content



Tue 20 Apr 2021

Archive a Notes DB off-line in 4 easy steps



Thu 18 Mar 2021

Preservation of all the tiny details


May, 2021
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 31

Search the weblog





























Genii Weblog

So much for being Mr. Rich Text

Tue 13 Dec 2005, 02:38 PM



by Ben Langhinrichs
CoexEdit customer called today with a rich text issue.  The issue was not with CoexEdit, which works just the way they want, but rather with a database which they only use through the web.  Using our integration database and some tips I had given them before, they had gotten the database working on the web, and were using a WebQuerySave agent to set the HTML to be passthrough HTML, thus allowing it to display properly from read mode.  This was just using the regular Notes Rich Text classes, which are actually good for something after all.

But in classic fashion, creating a rich text field and then appending some html with a style set had created two Body items.  That would not normally be a problem, because when you edit in the Notes client, it puts the items together for you, but since this database was never edited through the Notes client, that never happened.  It just so happened, the customer had a process that would take the HTML from the body field and print it from the web, but it kept on getting the empty Body field.  The customer could have written a more robust handler that would take the HTML from each item, but for internal reasons didn't have that option.  (See post for details)  So they asked me for help.

Now, what did I do?  Did I whip the answer off the top of my head?  Did I search my compendium of rich text tricks to find an answer?  Well, no, I didn't.  This falls into the vast area of "rich text stuff I don't know so well", so I wrote to Jake Howlett (whose codestore.net is an invaluable resource), because I vaguely remembered his having some such issue and resolving it when integrating TinyMCE, and since I stole his code to set passthrough HTML to send to this customer in the first place...

Jake wrote back.  He did not remember ever writing about this, but he did have a suggestion.  Why not use the 

NotesRichTextItem.Compact 

method at the end of the WebQuerySave agent?  I suggested this solution to the customer, and it appears to have worked.  But Jake's comment at the end of his note said:
That seems too easy a solution to a problem asked by "Mr Rich Text"
though ;o)
Ouch!  But Jake is right in a sense.  I know a heck of a lot about rich text, but I don't always recognize the additions of recent versions.  I added an implicit compact to my rich text processing engine in Notes R3, then moved that to the Midas Rich Text LSX when I created it for Notes R4.1, and I never noticed when IBM added the Compact method in Notes 6.  This exposes one of the major shortcomings of my knowledge about rich text - it was learned so long ago, some of it just isn't true anymore.  It also shows that while IBM may be a little late to the game sometimes (c'mon, I was sorting rich text fields in formula language in R3.3 and in LotusScript in R4.1, and they still don't have that in ND7), I should not assume that they are making no progress at all.

In any event, thanks, Jake!

Copyright 2005 Genii Software Ltd.

What has been said:


406.1. Steve Castledine
(14/12/2005 02:00)

For goodness sake - I have been wanting that feature for so long and it was right there all the time.

You ask yourself - how do you miss stuff like this - ive ripped rich text apart for the last couple of years.