Dumont Revision History - October 2012 - General Improvements
Fixed an issue with the CalendarForm where the calendarFieldMap.inc item was being improperly referenced. Fixed dumontCategoryExists() where it was not properly detecting the existance of the Dumont category. Added a message Box to warn the user when the DumontDLL.ini file does not exist or when the Dumont category is being improperly referenced in the ini file. Changed the location of the DumontDLL.ini file to reside in the actual database directory, so that the instance of the Dumont settings is relative to the database that has been opened. Turned off the code that wraps the oLocation on calendar type items with parenthesis. - October 2012 - Multidate Debugging
Improved detail on multidate trace info a teeny weensie bit. - October 2012 - Multidate Debugging
Added trace function to multidate routine. The calendarFieldMap.inc item can contain the property trace=true to turn on multidate processor debugging. - August 2012 - Multidate Agent Relocation
Relocated MultiDate code into the base DumontDLL core so that agents will fire properly ~after~ all the calendar items are edited or created. Note that this version is not yet firing the agents properly. - August 2012 - Multidate Genericification
Re-worked the multidate processing engine to be more generic. There is a page How to use the Multidate Engine that describes the process for getting it integrated. - August 2012 - Fix Spell Checker
The spell checker was not properly handling the single apostrophy ' when it was being used on contracted words such as I've, We've, shouldn't and so on. - July 2012 - Time Field Handling
Fixed a formatting error on Time type fields. - July 2012 - Date param types
Fixed an issue with handling DATE parameter types. - June 2012 - Mutiline Var Values
Changed the Var functions a bit to include the ability to have multi-line values. The multi-line character are encoded with {CR}{LF} string values, and then decoded when the strings are loaded back out again. - June 2012 - Added TextEdit dialog
The TextEdit dialog is similar to the Spell Check dialog but allows for the ability to set the window Title and set an instructional prompt. - June 2012 - Change Log Updates
Fixed up the ChangeLog code a bit to include the Category Name and Item Name values in the log. - June 2012 - Field.Value DateTime
Added code to be able to set Field values to a QDateTime value. The system checks the target field type and if it is a Date field, the Date component is extracted. If the target field is a Time field, then the time component is extracted. If the target field is just a basic text field, then the date time is formatted and applied. Other field types are ignored.
Also made a slight change to the ChangeLog code on the detail form. Now, if the change log category is not properly set up, there will be no error message, and no crashes will occur. The ChangeLog will simply not function. If, however, there is a problem with simply specifying the wrong change long category name, then a pop-up error message will occur. - June 2012 - Spell Checker
Added SpellCheck to QDumontDLL::spellCheck. Users can now call spell check against a string, and a spell checked string will be returned. If there are no errors in the string then the dialog window will never show up. The spell checker is based upon the hunspell (http://hunspell.sourceforge.net/) project. - Apr 2012 - Multidate uniqueID
Added a 4-character field to the multidate code for a unique identifier. This identifier is prepended to the multidate code and allows a single multidate definition to be easily distinguished from another. Note that this addition causes all previous multidate definition codes to be invalid. Before this can be applied to a database the existing multidate codes must be upgraded (sorry charlie).
Also added a qsrand() call in the beginning of the Dumont object launch to cause the random number generator to get seeded. The random number generator is used to generate the unique ID's for the multidate function, and it needs to be seeded properly before use. - Feb 2012 - Multidate Ignore Date
Code was added to the Multidate functions to allow it to ignore the date field. This is intended to be used in applications where a multi-date specification is required, but the actual date that the multidate is going to be applied to is unknown. When IgnoreDate is turned on, then none of the date fields will appear. The date portion of the code specification will then be set to ???????? and the fiag field will be set with 0x03 to indicate the dates should be ignored. - Jul 22, 2011 - MultiDate Skip Weekends
Added code to the multi-date calculator to include the ability to skip weekends. The system defaults to skipping backwards to the first Friday when the date falls on a Saturday or Sunday. - Apr 18, 2011 - Added MultiDate
45 day periodic range. - Oct 5, 2010 - Updates to CalendarForm
Made changes to QCommenceCalendarForm to make the field mappings more generic. Fixed a bug in the var field processing that was causing an error handing var field names and values. - Aug 20, 2008 - Detail Form Change Log
Added a new routine Form.ChangeLog which provides a more user-friendly formatted version of the change log. - Aug 17, 2008 - maintenance update
This update recompiles the entire Dumont application suites with the latest Qt version. - Apr 30th, 2008 - guid bug fixes
The categoryDef.guidFieldName function was not properly querying for the guid field when the guid field was a all-lowercase "guid" value. Note that this field value type is really a bad idea, since it will interfere with drag-and-drop operations on some categories, but none-the-less, if it is used it shouldn't crash Commence, no? So, now it doesn't. - Apr 1st, 2008 - MeInfo improvements (this is no joke!)
Modified MeInfo to include a function varField() for returning a a specific value from the var field for the me category. - Mar 29th, 2008 - ID Handlers
Modified some of the handling of the GUID values to accomodate a separate GUID field. If a GUID field is provided on the category, then it will be used to store the guid value. The purpose and need for a separate GUID field is so that items that may be difficult to identify because of 'duplicates allowed' settings can refer to a simple field, such as "calendarGuid" in agents and things. - Feb 13th, 2008 - MultiDate Dialog
Change QCommenceForm::changeLog function to make sure it includes the full connection name in the change log identifier. - Feb 13th, 2008 - MultiDate Dialog
Changed one of the flags on the QMultiDateDialog to open the window as a sub-window. Since this window is not parented, it is automatically added to the task-bar just like a main window, and I don't want that. I would also like it to be modal relative to Commence, but haven't got that figured out yet. Now the Multi Date Dialog opens but doesn't show up on the task-bar. Is goot, Ja? - Jan 7, 2008 - misc improvements
Changed the multi-date code to allow the specification of periodic multidates past 15 days. The dates include 20 days, 30, 60, 90, and 120 days. - Jan 7, 2008 - misc improvements
Added a QDumontDLL::dateTimeStamp function for quickly obtaining a date/time compressed stamp for any function. Change QCommenceConnection::name function to return only the connection name, and not the reformatted connection name which was conName->toCat - that form was incompatible with the original commence implementation. Added a new function QCommenceConnection::conCatName which provides the new conName->toCat field value. Added a function QCommenceConnection::fieldName for quick evalution of a connection field name against an OnEnterField field name. Added alias functions QCommenceForm::fld, QCommenceForm::con, QCommenceConnection::cic to help improve vbScript readability. - Jan 7, 2008 - multiDate
Fixed a formatting bug in QCommenceCalendarForm::multiDateEnd that was not outputting the date field properly. - Dec 25, 2007 - selectItemDialog, calendarForm
Added a selectItemDialog to the DumontDLL interface to support the easy scripting of an item picker. Changed the code in QCommenceCalendarForm to accomodate testing for subType connections before attempting to set the sub-type value. - Nov 14, 2007 - Item Deletion
Added code for the QCommenceForm::deleteItem() functionality. Calling deleteItem() on a form causes several things to happen. First, a change-log item is generated with a action="Delete" type. The item is fully stamped with the user information and guid back to the source item and so on. Then, the item itself is tagged, in its varField, with the deleting user information date and time. This allows for tracking of the deletion both in the changeLog and on the item itself. Ideally, then, the server should be set up to respond to these incomming items. Once the items get to the server it can choose to un-delete the item or archive it and delete it, that function is entirely up to the system integrator.
Also changed the changeLog xml output to specify the DOCTYPE and the root item to be the same 'changeLog' xml entry. - Nov 8th, 2007 - fileOpenDialog
Changed the way the ddll.fileOpenDialog() handles forward-slashes and back-slashes. All incoming "\" characters which are "windows friendly" are replaced with "/" before being sent to the dialog. And upon return, "/" from the dialog are replaced with "\" for the windows program.
3.8.98 - Nov 7th, 2007 - version, onSave
Changed ddll.version to return a string rather than a double. Fixed dfrm.onSave to time-stamp the change log category with a proper AM/PM.
3.8.97 - Nov 7th, 2007 - base version
This version is basically functional. It is exhibiting some problems regarding releasing of resources and tieing up Commence when you want the application closed. Also, there are a lot of dependencies on categories being built according to Dumont specifications, rather than more generically. Item workgroup permission control is totally hard coded, and that really needs to be changed.

~ ~ ~ ~ ~ ~
Source Code without Comments is like a Cranberry Garland
without the berries. Comment your Code!
Commence Database User Support Group Forum
~ ~ ~ ~ ~ ~
Author: Mark Petryk
Lorimark Solutions, LLC