Genii Weblog

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

Fri 5 Sep 2003, 05:54 PM
Word Association: When you see the word Rocky, you may think of Rocky I, II, III, IV..., or perhaps Rocky and Bullwinkle, but what I think of is Rocky Oliver, co-author of the Lotus Notes and Domino 6 Programming Bible along with Brian Benz (Brian de Palma?, Life of Brian?).

Challenge Overview: Rocky has written a series of excellent technical articles, many of which draw on his work in the Programming Bible.  The challenge which I set forth is that I find a constructive way to use either the Midas Rich Text LSX or @Midas to work with each of these technical articles.  This is a risky challenge, as few of these have anything to do with rich text, but it is a good way for me to show that Midas technology can be used more pervasively than you might think.  It also might stretch my brain a bit, besides nudging Rocky to try and find topics which I can't find any way of working with.  The goal will be to come up with a publishable demo for each challenge, although the actual demo db may take a few days each time.

Of course, there is a bit of a backlog, as Rocky has already written several articles, so I guess I'll start backwards and take on his two part article on New in ND6: In-View Editing (Part 1 and Part 2).

Challenge: In-View Editing, as you would know if you had read Rocky's articles, allows you to click on the columns in a view and edit the value without ever opening the document.  In-view editing can be a real timesaver, but since rich text doesn't show up in views, it might seem a bit of a stretch to use with Midas.

Thinking out load: Even though rich text itself is not available from a view, it is common when using Midas to interact with a table by setting its various column values as if they were fields.  Therefore, we need a scenario in which it would be useful to only see one set of the data for a table, but it would also be useful to see a nicely formatted view of the same data inside a table.  While this could be done with a simple set of multi-value fields, we could Midasize it a bit by using some form of categorization and making a tabbed table with the categories taken from the in-view columns.

Solution Scenario: In customer relationship databases, you often need to keep track of the customer interactions.  Each phone call or visit is logged with a date and time and interaction type and possibly comments.  In this way, a customer's interactions can all be seen together by a supervisor or auditor or whatever, but each interaction need only see its own information.  In the view, all that is needed is a record of the latest interaction, thus making this ideal scenario for in-view editing.

So here's the plan.  I create a database to keep track of customer interactions, and create a form with an Interactions rich text field.  From the view, the latest interaction is shown.  When the Interaction type column is clicked, the interaction time is logged, and the InteractionType value and InteractionComments value are blanked out.  The user can then put in any kind of interaction they please, and also add the interaction comments.  When the Save_Request event is triggered by leaving the column, the bits of information, date, time, type, and comments are logged twice in the Interactions field.  Once is a tabbed table with the tabs representing the Interaction Type, so all the phone calls are collected together, etc.  Second is the chronological tabbed table with a tab for each month/year in which there are interactions, so the history of interactions is shown clearly.  All of this is non-editable by the user, with the view the only way of setting values, thus ensuring for auditors that the data has not been tampered with afterwards.

Publishing the solution: So far, I have a database with the basic functionality, but I plan to post the working sample by Monday, Sept. 8, 2003 for all of you who want to see this in action.  Obviously, you'll need a license, production or free evaluation license to try it out, but that isn't too hard.  You'll also need at Notes 6.0.1 at the least.   Still think there isn't anything you could do with the Midas Rich Text LSX?  Oh, and for those who just want to read about it but are scared to try it out, I'll publish the InVewEdit event code so you can see how little there is to be scared of.

Next Challenge:  Unless Rocky hurries up and writes a new article, I'll probably take on New in ND6: Colored Rows in Views, because that certainly sounds like it has a heck of a lot to do with rich text.  Not!  C'mon, Rocky, save me...

Copyright 2003 Genii Software Ltd.