As part of my work on the Discussion NextGen project I have been looking at ways the discussion thread capabilities provided by a discussion database could be easily added to any existing Notes Application. I have now taken the work I have done so far on Discussion NextGen and folded it back into my own.Domino Framework project. With a few tweaks I have been able to
Add a discussion area to the framework database in which people can add new discussion topics and/or create responses; and
Add discussion threads tied to other documents that already existed in the framework database.
The steps involved to discussion-enable your own application would include:-
Copy a defined collection of design elements into your application
Add outline entries that connect to the standard Discussion views you wish to include
Add a sub-form to any existing forms you wish to discussion enable
There will also be some advanced configuration options available with the installed code that can be added
that would allow you to fine tune the discussion capabilities you
require. e.g. Turning off advanced discussion features such as sticky
Notes, read-only topics etc. My goal is to make this task no longer than 5-minutes and in the coming weeks I hope to have a 5 minute video that proves it. Note: It has not yet been determined if any of these feature will be included as part of IBM's discussion template. But at the very least you can expect the components to be available as part of an upcoming release of the .Domino Framework.
Part of the art of customizing the mail template is doing it in such a way that the maintenance effort is as little as possible each and every time IBM release a new version of the mail template. The following is one suggestion for reducing the footprint of your customizations.
1) Add a "Custom" subform to the Memo &Response forms (either one each or one common subform)
2) Add any number hidden fields to the subform needed to add additional internal data to mail documents
3) Add any number of actions that you would like to appear. Granted you do not full control over where these actions appear compared with modifying the forms themselves, but I can live with this compromise to reduce the impact of the changes.
4) Procedural Programmers:
4.1) Add code to each action to define what each action should do
4.2) Add code to the QueryOpen, PostOpen etc events of the subform as a way of customizing what happens when the form is processed.
5) Object Oriented Programmers:
5.1) Create two new classes one for the foreground document and one for the background document
e.g.
Class DominoUIMemo
Private iNotesUIDocument As NotesUIDocument
....
Class DominoMemo As NotesDocument
Private iNotesDocument As NotesDocument
....
5.2) Wire the QueryOpen event to instantiate the above classes
5.3) Modify the UI class to trap any form events as part of the constructor.
e.g.
Sub New(Source As NotesUIDocument)
On Event PostOpen From Source Call OnPostOpen
On Event PostSave From Source Call OnPostSave
End
5.4) Add methods/properties to either class to support the custom Actions
The above will not handle all the likely mail customizations needed but it is a good start and each time a new mail template is released there is a single change needed to the existing IBM code - adding the "custom" subform.
Note: Adding subforms does have a performance impact, but given the number of subforms already included in the standard mail forms and the amount of processing that takes place it is unlikely to be noticeable.
A tag is a keyword that is used to categorize an entry. To view the entries with a particular tag, click a tag name or enter a tag in the box. The tag cloud indicates the frequency of tag use. Popular tags appear darkest. The slider control adjusts how many tags are displayed in the tag cloud.