Genii Weblog
A difficult request for CoexEdit
Thu 7 Apr 2005, 07:22 PM
Tweetby Ben Langhinrichs
A large customer trying out CoexEdit has made a request that is quite difficult to know how to implement. Since I haven't anyone else to bounce it off tonight, I thought I would use you all as my sounding board.
Requirement: Pass through HTML with square brackets
The customer has rich text fields that are edited in Notes and then shown and edited on the web, but in the Notes client they want the ability to "pass through" HTML which will be used on the web, but which will remain designated as "pass though HTML". They currently use the square bracket approach, so that [<b>this</b>] appears like this. That part would be easy, but when the document is edited on the web and returned, they want it to appear back as [<b>this</b>]. Obviously, they would use it for that sort of pass through, but rather for complex JavaScript, or with applications that automatically generate a link or image with HTML marked off this way.
Implications and questions
This may sound like pretty standard stuff for Notes/web coexistence in the age when the rich text would not be edited from the web, but think of the implications for a CoexEdit product. It would not be hard to use the Midas engine to convert those pass through parts into HTML, but keeping that demarcation in the rich text editor for the web and returning the HTML afterwards is a good deal more tricky.
Should the HTML inside the passed through HTML be editable? Of course.
Should the web designer be able to set the pass through HTML themselves, so that the Notes client would have access to the raw HTML? I'm not sure.
What sort of marker would best set off the passed through HTML? It could not be visible on the web, so you could use comments, but they may be impossible to set in the web editor. It could use spans and classes if the web editors lets you set a "style", but that risks setting other attributes, and not many web editors let you define such a style yourself.
Pass through Notes
What about the other way around? Should it be possible to have "pass through Notes" coding? In other words, while the requirement defined above makes sense if you are using the Notes as more of a content manager system for the web, but what if your primary goal is content for the Notes client and there is a structure which does not show up well in HTML? For example, what if you wanted to create a button in Notes which had a formula, should you be able to write some string in your web client which would be recognized and translated into a button in Notes with a formula value?
Easy to implement, hard to ensure it is right
The problem is some ways is that the Midas engine is powerful enough to do any of these things, and I have even added a few "in the lab", but whichever approach I use and make public, we will be stuck maintaining for the long haul. Just as IBM has offered several ways to handle pass through HTML, and now has to support them all going forward, if we put out a system and later find a better one, we will have to keep supporting both from then on. So, how do I know which way to put out there? And is CoexEdit really meant for use in CMS systems, or am I taking the first step down a slippery slope?
My brain hurts.
Copyright © 2005 Genii Software Ltd.
What has been said:
305.1. Richard Schwartz (04/08/2005 10:31 PM)
What do the web editors do with text enclosed within CDATA blocks? Seems to me that that might be a logical way to assure that the passthru HTML makes a successful round-trip. But dependable behavior from a wide variety of different editors is probably unlikely.
-rich