Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs






July, 2011
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


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


Thu 7 Jul 2011, 11:20 AM
The easy part of writing software is often "making it work." It may take a lot of time and effort, but if you plan appropriately, design carefully and develop to meet your specifications, the software will eventually work.

The hard part of writing software is "making it easy." It takes effort at every stage, from planning to design to development, and still you are likely to miss the mark. So, you re-design, re-develop and keep working. Losing patience means off-loading the effort on to your customers, who may not be interested in a harder process or less intuitive interface.

With that in mind, I am close to introducing better support for XPages and CoexEdit. First, I made it easy to handle a known template, the ND 8.5.2 Discussion database, by simply adding a Notes.INI line CoexEditRecognizeDiscussion=1. No design changes necessary, but also dedicated to a single template. 

It has been harder to make things easy for any potential XPage application. I tried various methods for identifying the custom/bespoke application, but some were too cumbersome or convoluted, while others were too draconian or resource-intensive. The current plan includes two or three steps, depending on the application.

Step 1) Add a Notes.INI line CoexEditEnableXPages=1

Step 2) Add a text field, $CoexEditXPage on any form (not XPage or Custom control) that contains rich text fields to be handled. It can be computed or set, but a value of "0" means the form does not use CoexEdit, while "1" (or higher) means it does.

Step 3) If there is more than one rich text field, or if there is one which is not named "Body", add a text field, $CoexEditFlds, which may have multiple values that are the names of the rich text fields. If the only rich text field to be handled is named "Body", you can skip this.

This may still change, but at least it is close. I might even skip Step 1, and only check for CoexEditEnableXPages=0, with 1 being considered the default. Then, in many cases, only Step 2 would be necessary for adding CoexEdit support to a custom XPage app using a Body field.

Copyright © 2011 Genii Software Ltd.

Tags: