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.
Technorati tags: Lotus Notes