Sw4   >   About   >   Version 2009-04-30

Version 2009-04-30

This is a minor release with various bug fixes. No major enhancements.

  1. $:UserKey - Caching the current userkey value in the tBase/oTableClassMethods objects give problems if you want to temporarily switch the current user without doing a full signin. The table class methods have been modified to fetch the current $:UserKey from oSecurity when needed. The $UserKey.$assign method has been deprecated in tBase and oTableClassMethods_abstract. There is virtually zero performance impact.

To update to this new release:

  1. Quit Omnis Studio.
  2. Backup your application!
  3. Replace the studioworks folder.
  4. Open your application and test it.
  5. If you hit any snags, email me a zip of your application with instructions on when and where you are running into problems.
Each library and the modifications in the release are listed below. The modifications are compiled from the @MOD tag comments found in the methods of the classes in the library.

myAppMain

No modifications

mySysAdmin

No modifications

swBase4

oDBAdminMethods_POSTGRESQL/retTableOID (2009-02-05 Josh L. & Doug K.)
Select the lines which match the tablename (case insensitive) and take the last one. if there are no lines returned, log an error.

oDBSessionMethods_SQLSERVER/$tables (2009-03-26 Doug K per Frank Bradley.)
Overrode the superclass method and changed 'iSessionRow.tablesownername' to 'dbo'

oEmail/pingSMTPServer (2009-03-31 Doug K per Mike Matthews.)
Commented out TCPReceive as the Windows version gets hung up waiting for a reply from a disconnected socket.

oErrorHandler/$logProgramError_InvalidParameter (2009-04-06 Josh L.)
The if statement was never true, so changed it to test length. Changed calculation of Dtls from con(pDtls_opt,kcr,kcr,pDtls_opt) to con(Dtls,kcr,kcr,pdtls_opt)

oFunctions/$replaceallCaseInsensitive (2009-02-10 Doug K.)
Increased variables length to 1000000 characters to avoid truncating any text.

oFunctions/$retListFromTextString (2009-03-26 Doug K per Mike Matthews)
Bug fix. Changed con(kCr+kLf) to con(kCr,kLf).

oMetaDataSchemaClass_Model/update_extrasqltext_tableandcolname (2009-02-10 Doug K.)
Increased variables length to 1000000 characters to avoid truncating any text.

oMetaDataSchemaClass_Model/update_extrasqltext_tablename (2009-02-10 Doug K.)
Increased variables length to 1000000 characters to avoid truncating any text.

oMetaDataSchemaClass_Model/update_servertablename (2009-02-09 Doug K.)
Added a bunch of checks for len(OldBaseTable), len(NewBaseTable), len(pOldServerTableName), len(pNewServerTableName) so that empty values don't get updated.

oMetaDataSchemaCol_Model/syncColumnsForSQLClass_full (2009-02-09 Doug K.)
Only send an $updateStringTableRow message if StbName and StbID are not empty.

oSQLChildRecords/$doesRestrictedDeleteChildRecordExist (2009-02-17 Doug K.)
Log error message if flag false.

oSQLLists/$:USERKEY.$assign (2009-02-11 Doug K.)
Deprecated the $:UserKey.$assign method. Cached values are a problem.

oSQLLists/$retDefinedList (2009-02-11 Doug K.)
Removed the code which gets the $:UserKey from oSecurity and sets it in the defined list's table class instance.

oSecurity/$:UserTimeoutMinutes (2009-04-30 Doug K per Tom Maher)
Bug fix. Added '.securityinforow.' to the calculations.

oSecurity/$:UserTimeoutSignOffTime (2009-04-30 Doug K per Tom Maher)
Bug fix. Added '.securityinforow.' to the calculations.

oSecurity/$quickSignIn (2009-02-13 Doug K.)
Added 'quick sign-in' method which lets you switch the current user without changing any permission. This can be useful when sharing a workstation with several users that have the same security settings. Needed to do this for a shipping/receiving workstation in a warehouse. Want to track who entered things, but not require full sign-in.

oSecurity/$retGroupUsersList (2009-04-30 Doug K per bug reported by Will Adkin)
Refetch the users list every time since the groups they are included could have changed.

oStartupTaskVarsTool/$reloadModuleData (2009-02-05 Doug K.)
Added method to reload the module data. This is needed if using the VCS after updating an oModuleData class which another developer has modified.

oStartupTaskVarsTool/$setTaskVarPropertiesAfterSignIn (2009-02-11 Doug K.)
Removed the code which gets the $:UserKey from oSecurity and sets it in the defined list's table class instance.

oStringTables/$reloadModuleData (2009-02-05 Doug K.)
Added method which just reloads the cached list from the oModuleData objects.

oTableClassMethods_SQLSERVER/$doinsertsBatch (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_SQLSERVER/$insertEmptyRecord (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_SQLSERVER/$insertRow (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_base/$:USERKEY.$assign (2009-02-11 Doug K.)
Deprecated the $:UserKey.$assign method. Cached values are a problem.

oTableClassMethods_base/$doinsertsBatch (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_base/$doupdatesBatch (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_base/$insertEmptyRecord (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_base/$insertRow (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

oTableClassMethods_base/$setDefaults (2009-02-04 Doug K.)
Send a $setDefaults message to oCheckData if it has a recipient method.

oTableClassMethods_base/$updateRow (2009-02-11 Doug K.)
Get the $:UserKey from oSecurity, rather than using the cached iUserKey. Cached values are such a hassle.

tBase/$:USERKEY.$assign (2009-02-11 Doug K.)
Deprecated the $:UserKey.$assign method. Cached values are a problem.

swDocs4

No modifications

swGui4

oFieldDecorator_click/$decorateField (2009-04-07 Doug K.)
Enable the default context menu in case it was disabled by 'displayonly' decorator.

oFieldDecorator_displayonly/$decorateField (2009-04-07 Doug K.)
Disable the default context menu for security reasons. Omnis Studio 4.3 fault that doesn't trap evClipChangedData for the default context menu.

oFieldDecorator_normal/$decorateField (2009-04-07 Doug K.)
Enable the default context menu in case it was disabled by 'displayonly' decorator.

oFieldHandlerController/$event (2009-04-07 Doug K per Will Adkin)
Added pEventCode=evClipChangedData to the events being trapped. Need this for security on displayonly fields.

oWindows/$reloadModuleData (2009-02-05 Doug K.)
Added method to reload the module data.

wEdit_abstract/$eventClose (2009-04-07 Doug K. per Will Adkin.)
Changed "Set ibModified to kFalse" to "Do $cinst.$:Modified.$assign(kFalse)" so that the code will work if $:Modified is overridden by a developer.

wHeadedListSimple_autoconfig/$attachHeadedListEventsObserver (2009-04-30 Doug K. per Will Adkin)
Added method to allow events observers to be attached to the headed list. Added this to change the prompt headed list behavior so that evDoubleClick can Queue OK.

wHeadedListSimple_autoconfig/$control (2009-04-30 Doug K per Will Adkin)
Added $notify events observers to the evClick and evDoubleClick events.

wHeadedListSimple_autoconfig/$detachHeadedListEventsObserver (2009-04-30 Doug K. per Will Adkin)
Added method to allow a registerd events observer to detach itself.

wPromptDateCalendar/$control (2009-04-30 Doug K per Birger Ragnarson)
Added $control method for issuing 'Done' for enter or return key press.

wPromptShell/$event_ButtonPressed (2009-04-28 Doug K.)
Changed Queue cancel to Queue OK to stop continuous loop in Omnis Studio 4.3.1.4 on Mac OS X. This doesn't affect ButtonPressed value.

wSearchbar_abstract/$find (2009-03-26 Doug K per Andy H)
Calculate the WhereRow value column as "Value" instead of iRow.[ColName] so that if search operator is 'contains' the % character suffix won't get truncated off when a long search value is entered by the user.

wShell_Lookup/$event (2009-04-28 Doug K.)
Don't let the user change tabs using the tab bar. They must either cancel or save to close lookup tabbar windows.

wShell_Lookup/$showSubWin (2009-04-28 Doug K.)
Set ibIgnoreEvents to true while setting the current tab.

wWindowInstancesListEditor_View/runtimizeSelectedWinInstIDs (2009-02-27 Josh L.)
Added the @DEBUG-NOTE comments so Doug can figure out why the errors are coming up whenever a window is runtimized. Then someone tries to access metadata without oModule Data being checked out.

swIcons4

No modifications

swRefs4

No modifications

swReports4

rReportFields_template/$#About (2009-04-30 Doug K per Andy H)
Made the maximum width of any field 18cms to work with A4 paper.

swWeb4

No modifications