DumontEXE 0.0.1
Todo List

Member cmcApi::GetServerString (DISPID dispid, const QString &req, WORD wFlags=DISPATCH_PROPERTYGET, HRESULT *hr=NULL)
Make this code report these errors via the err object.

Class cmcCursor

It is quite possible to have the cursor object "reissue" itself if a column is requested that was not initially defined in the cursor column set. This would be a convenience function. It would allow the developer to spend less attention to what columns he *might* be needing for a particular task, and just request them in the cmcRowSet functions. Since all the cmcObject wrappers are wrapping commence objects, and there is no state-data in those commence objects, then re-requesting a commence object should not cause any wrapper difficulty. It could cause some latency in the rowset if a new rowset had to be called up from a new cursor just to add a single column, but for small rowsets or properly filtered rowsets it might be quite handy to have a rowset automatically add columns to a cursor on demand.

It is possible to create calculated columns as well. It would be possible to create simple calculated columns that operate on some simple concatination of fields, but if we can get the scripting module hooked in to this system, then we would be able to create a new cursor object call it a cursor model or something, and have that object have access to the scripting module whereby we can create truly calculated columns.

Class cmcDatabase
Item Models The Database object should provide data models compatible with the Qt framework instead of requiring that all data access is performed through the cursors and rowsets. This would allow programmers to to use the Qt user interface controls as activex components in their applications, as well as simplify the whole data interface.

Member cmcForm::field (QString fieldName)
Log Field Access Errors

Member cmcForm::toXml (QString fieldList)
finish for( int i=0; i<categoryDef()-> fieldDefs()-> count()-1; i++ ) { cmcFieldDef * fieldDef = categoryDef()-> fieldDefs()-> get(i); field(fieldDef-> name())-> deValue( doc, root ); }

Member cmcRowSet::deleteRow (long row, long flags=0)
implement dirty rowset

Member cmcRowSet::getRowGUID (long row)
get GUID values working

Class cmcSyncProxy
Disable Syncing. The application object should include a synchronization control module that would provide for the ability to disable syncing through scripting. It can accomplish this by subclassing admineng.dll and overriding the various synchronization functions in it, but this would probably be complicated. Another option is for Dumont to provide its own synchronization proxy. The advantage to the synchronization proxy is that no disturbance to the existing synchronization engine is done. Also, a synchronization proxy would provide a much needed fix to the ftp synchronization engine which falters constantly from disconnects. One particularily annoying "feature" of the synchronization engine is that after a failure user intervention is required to get synchrnization going again. A sync proxy in Dumont would fix this. The sync proxy would move sync packets from a database (client or server) into and out of a shared sync proxy repository. It would be a trivial matter, then, to turn the proxy off to disable syncing. The proxy could also handle other media types beyond network share and ftp if desired.

Class DumontEXE
Provide an application update module to allow Dumont to check a central repository and bring down updates. Be sure to include a mechanism whereby an update can be easily reversed. Frankly, the whole cmcDatabaseApi modue should be placed into a plugin, where versions can be quickly and easily managed. Also, I'd like to see the cmcDatabaseApi on a single code-base so that it can be compiled into a stand-alone dll, compiled into a stand-alone static executable, or compiled into a Qt plugin.

Page How to fix the font sizes on multi-views
fix multi-view font sizes

Page Of Cursors and RowSets
figure out what the two values are for opening a cursor.
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties

~ ~ ~ ~ ~ ~
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