Sw4   >   About   >   Version 2008-12-31

Version 2008-12-31

These version notes cover the minor releases from 2008-10-16 to 2008-12-31

Release 2008-12-31

  1. Security - Changing group security for a user while the user was signed in was being overwritten when the user signed out- fixed. Changing accessallowed in the Security > Group Windows tab was not being saved - fixed.
  2. Field Decorator Checkbox Fields - The field properties list was missing kCheckbox fields, so decorator types was not being set for checkbox fields - fixed.

Release 2008-11-25

  1. Nav Menu Lines List - The previous release saved all of the navigation menu list line to the main library. This was done to simplify sorting of the nav menu lines and reduce the number of oModuleData objects that had to be checked out of the VCS. However, it was discovered that several developers dynamically loaded different modules for different clients. The 2008-11-24 release reverts to saving the navigation menu list line to their respective modules and dynamically building the list during startup.
  2. Field Properties List - A change was made in 2008-11-17 which mapped lookup column names to the main list based on matching column names if a schemaname+schemacolname match could be found. This change caused problems for one or more developers so it was rolled back in the 2008-11-24 release. The lookup field handler will only update main list columns that are mapped to the same schema+column as the lookup list.
  3. Field Handler Controller - Discovered that the field properties list was being built twice when a non-runtimized window as being instantiated. oConcretizer built and stored in the field properties list in the window instance $userinfo property but the oFieldHandlerController $initialize method was not using it and rebuilding the field properties list a second time. There should be a slight performance improvement with this release when instaniating non-runtimized windows.
  4. Lookup SQL Class Name - To allow developers to override a lookup field a ---NO_LOOKUP--- entry was added to the lookupsqlclassname droplist in the SQL Meta-Data Editor query columns tab. When set to ---NO_LOOKUP--- StudioWorks will not attempt to do any lookups on the field. The developer will be responsible for setting the foreign and other related fields.
  5. Lookup Droplist Position - Modifications have been made to improve the positioning of the lookup droplist for the new style Mac OS X tab panes and to account for border widths on various window objects.
  6. String Tables - abbrev column values were not being calculated from the meta-data.

Release 2008-11-17

  1. Nav Menu Lines List - Save the navigation menu list line to the main library only to simplify saving and sorting.
  2. Field Properties List - If a schemaname+schemacolname match can't be found between the main list and the lookup list, check for a matching column name, if found map the matching column names for lookup list updates to the main list.

To update to this new release:

  1. Quit Omnis Studio.
  2. Backup your application!
  3. Replace the 'studioworks' folder.
  4. Open you 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

oOpenLibraries/openLibrariesInFolder (2008-11-03 Doug K per Andy H.)
Use the Omnis command "Open Libraries" instead of $libs.$add notation since the command has options that allow runtime to convert libraries.

mySysAdmin

No modifications

swBase4

oErrorHandler/$getonceLastError (2008-11-03 Doug K.)
Return False if no error was fetched.

oMetaDataQueryClass_Model/$:fetchall.$assign (2008-10-23 Josh L.)
When changing the value of fetchall to true, the fetchallwhere field wasn't being enabled.

oMetaDataQueryCol_Model/$:listcolname.$assign (2008-11-11 Doug K.)
Removed 'End if' in the wrong spot.

oMetaDataQueryCol_Model/$:lookupsqlclasseslist (2008-11-24 Doug K.)
Added a special line to the top of the lookupsqlclasses list named '---NO_LOOKUP---' Developers can use this if they want to prevent StudioWorks from doing lookups on a field that would normally be a lookup field.

oMetaDataQueryCol_Model/$:lookupsqlclassname.$assign (2008-11-24 Doug K.)
Removed code that set the decoratortype to 'displayonly' if lookupsqlclassname was left empty.

oMetaDataQueryCol_Model/$updateQueryCols_treatasboolean (2008-11-06 Doug K.)
Bug fix. Setting treatasboolean to kTrue was not setting zeroallowed to kTrue. Fixed.

oMetaDataSchemaCol_Model/$:refdtablename.$assign (2008-10-24 Josh L.)
Took out the ColName parameter as it is not specified in the definition of the called method.

oMetaDataSchemaCol_Model/$:refdtablename.$assign (2008-10-24 Josh L.)
Put this bit of code back in so that the refdcolnames list would be updated with colum names from the specified schema.

oMetaDataSchemaCol_Model/update_foreignkey (2008-10-24 Josh L.)
Edit Allowed on Foreign Keys?? This is a big no no Doug. Users should not be able to view foreign keys and if someone needs it changed they can do it by legal means.

oMetaDataSchemaCol_Model/update_foreignkey (2008-11-17 Doug K.)
Reversed the previous change. The 'enterallowed' property is the property which prevents users from directly editing the fkey field. The 'editallowed' property is enforced at the table class level. It prevents the value from ever being changed. Not something we want to enforce on fkeys. Setting 'editallowed' to kFalse makes sense for a number of the admin columns. (editnum, insby, insdatetime, modby, moddatetime)

oMetaDataSchemaCol_Model/update_hidden (2008-10-27 Josh L)
If a column is hidden it can't be entered. (if this is wrong, then enterallowed should NOT be calculated as ktrue when not hidden)

oMetaDataSchemaCol_Model/update_hidden (2008-10-27 Josh L.)
Primary Keys and Foreign keys should not be editable at any time. They are intrinsic to the database's integrity.

oMetaDataSchemaCol_Model/update_treatasboolean (2008-11-06 Doug K.)
Bug fixes. Setting value to treatasboolean=kTrue was not setting zeroallowed to kTrue and nullallowed to kFalse. No setting it correctly.

oMetaDataTool_OldVersionMetaData/$#About (2008-11-04 Doug K.)
Created this object class to contain all the methods related to the old version meta-data that was stored in the SQL classes.

oMetaDataTools/$#About (2008-11-04 Doug K.)
Moved all of the methods related to the old version meta-data that was stored in the SQL classes to oMetaDataTools_OldVersion.

oModuleDataTool/$canModifyData (2008-10-20 Josh L.)
Changed the initial value of the parameter pbLogErrorIfNot to ktrue because it wasn't logging any errors.

oModuleDataTool/$saveNavMenuList (2008-11-24 Doug K.)
Revert the method to respect the 'homelibname' and only save nav list menu lines from the list belong to the specified pLibName.

oOpenLibraries/openLibrariesInFolder (2008-11-03 Doug K per Andy H.)
Use the Omnis command "Open Libraries" instead of $libs.$add notation since the command has options that allow runtime to convert libraries.

oSQLLists/$saveChangedData_commit (2008-11-05 Doug K.)
Commented out the @DEBUG breakpoints.

oStartupTaskDefaultMethods/autoSignIn (2008-11-14 Doug K.)
The 'Clear method stack' is killing multiple webapps which need to automatically sign-in and startup on web servers.

oTableClassMethods_base/$doworkBatch (2008-10-21 Josh L.)
The table class instance doesn't need a reference to itself to execute the method.

wSQLMetaDataSchemaColsEditor_View/$event (2008-10-20 Josh L.)
Commented out the OK message. Shouldn't be in there for release.

wSQLQueryBuilder/$refreshField (2008-11-17 Doug K.)
Modified the code to correctly inform the user if the query class and/or oModuleData object need to be check out of the VCS.

wSQLQueryBuilder/eventDrop (2008-11-17 Doug K.)
Added code to the $event evDrop to check if edit is allowed. If not, prompt user with an OK message.

wSQLQueryBuilder/event_evOpenContextMenu (2008-11-17 Doug K.)
Added VCS check to make sure the query class and oModuleData are checked out if VCS is being used.

swDocs4

@65 Version 2008-12-31/@00 About (2008-11-25 Doug K.)
Started release notes for minor releases from 2008-10-16 to 2008-12-31

swGui4

oFieldHandlerController/$setMode (2008-11-04 Doug K.)
Added parameter pbForceResetFields to allow the sender to force the field handler controller to reset all the field, even if the mode didn't change.

oFieldHandlerLookupTypeAhead/event_evKey_arrow (2008-11-20 Doug K.)
Use irLookupListWin instead of irWin.$wind().$:LookupListFieldRef

oFieldHandlerLookupTypeAhead/initialize (2008-11-20 Doug K.)
Send a $:LookupListFieldRef.$cando message to the subwindow to see if it has its own wLookupList window instance. This was added to make it easier to correctly position the lookup list in nested subwindows.

oFieldHandlerLookupTypeAhead/selectLookupListFieldLine (2008-11-20 Doug K.)
Use irLookupListWin instead of irWin.$wind().$:LookupListFieldRef

oFieldHandlerLookupTypeAhead/setLookupListField (2008-11-20 Doug K.)
Commented out "Do irWin.$wind().$:LookupListFieldRef() Returns irLookupListWin" since irLookupListWin is set by the initialize method.

oFieldHandlerLookupTypeAhead/updateLookupList (2008-11-20 Doug K.)
Use irLookupListWin instead of irWin.$wind().$:LookupListFieldRef

oFieldHandlerPropertiesList/$#About (2008-11-24 Doug K.)
Reverted to the pre-2008-11-10 changes version. Those changes to setupLookupProperties caused problems to existing lookups.

oFieldHandlerPropertiesList_20081110_BAD/$retFieldPropertiesList (2008-10-24 Josh L.)
Added kcheckbox and kradio so they would be included in the Fields list if they had a dataname in the columns list. The checkbox and radio button fields were allowing a user to change the data even in 'view' mode of the windows.

oFieldHandlerPropertiesList_20081110_BAD/setLookupProperties (2008-11-11 Doug K per Josh L.)
If a direct matching schema/column can't be found between the main record field and the lookup list, then try finding a match based on the column name. This change was made to accomodate an query column alias matching a special view with a matching column. In case we need to reverse this change, the original method was copied and named 'setLookupProperties_20081110'.

oNavigationMenu_Model/$initialize (2008-11-04 Doug K.)
Only search for an load data if there are lines in the data list.

oNavigationMenu_Model/getGroupsList (2008-11-12 Doug K.)
Bug fix. pLibName parameter was missing.

oNavigationMenu_Model/getNavMenuList (2008-11-20 Doug K - bug reported by Chuck M.)
Modified code so that apps which were partly converted during the beta process keep their nav menu lines list intact.

oNavigationMenu_Model/getNavMenuList (2008-11-24 Doug K.)
Modified the code so that nav menu lines are saved to their respective library module data objects.

oNavigationMenu_Model/getSubGroupsList (2008-11-12 Doug K.)
Bug fix. pLibName parameter was missing.

oNavigationMenu_Model/recalcHomeLibNames (2008-11-24 Doug K.)
Added method which recalcs the homelibname to match the homelibname of the wininstid.

oScreenCoordinates/$getScreenOverallHeightAndTop (2008-11-20 Doug K.)
Problems with positioning caused by the developer IDE toolbars and custom toolbars instantiated outside of window instances. Added a method to check for screen toolbars. Found it safest to use the main monitor height for height calcuations.

oWindowInstances_Model/$:modified.$assign (2008-10-30 Josh L.)
Overrode this method because the moddatetime used for deciding whether a toolbar is visible or not is not being set.

oWindowMenus_Model/$:caneditData (2008-10-30 Josh L.)
Overrode this method because the inherited one returns kfalse all the time

oWindowMenus_Model/$moveMenuLine (2008-11-17 Doug K (bug reported by Josh))
Sort the menu lines list before and after moving menu lines.

oWindowMenus_Model/retWinMenuLinesListForLibName_oldversion (2008-11-12 Doug K.)
Set the menulinetext when fetching the old version window menu lines.

wBase_ToolbarTitlebar_abstract/$_constructToolbar (2008-10-30 Josh L.)
Combined the two checks for toolbar visibility because it would never be visible if there were no commands. Toolbars need to be visible if there are menu items (special and report) for the window, even if there are no commands. The way it works now is: if the Window Module Data has been modified (moddatetime) then use the Window Module Data toolbarvisible property. Otherwise, if there are a toolbar class name and commands the toolbar is visible, if there is no toolbar class name or commands it is not visible. Also had to fix the moddatetime in the Window Instance Model to update when the data was modified.

wDatabaseTablesEditor/$:SQLClassName.$assign (2008-11-04 Doug K.)
Modified the method to work with the new field handler controller.

wEdit_abstract/$:LookupListFieldRef (2008-11-20 Doug K.)
Added method which finds/adds an instance of wLookupList to the edit window. This is done to make it easier to correctly position the lookup list to the lookup entry field.

wHeadedList_autoconfig/$:SortClause (2008-11-04 Doug K.)
Modify method so that it add the 'ORDER BY ' prefix after the loop, and only if order by text was build in the loop.

wPromptFindMultiCriteria/$event (2008-11-13 Josh L.)
On evClose, the window was being moved off screen on a Runtime version because of performance issues. It is not so much of an issue now and it was preventing Omnis from closing properly.

wWindowMenusListEditor_View/$refreshField (2008-10-30 Josh L.)
Overrode the Model's $:CanEditData method to use the Current Library Name as a parameter because it was returning kfalse all the time. Sending it the CurrentLibraryName from here because I couldn't see any way to get it from the Model.

wWindowMenusListEditor_View/event_evOpenContextMenu (2008-10-30 Josh L.)
Overrode this method in the Model to accept the CurrentLibraryName as a parameter to return something other than kfalse.

swIcons4

No modifications

swRefs4

No modifications

swReports4

No modifications

swWeb4

oMainWindow/$:NavMenuLineList (2008-11-12 Doug K.)
$retNavMenusLinesList method name is deprecated. Changed to $retNavMenuLinesList.

oRemoteTaskMethods/$initializePublicSearchTaskVars (2008-11-12 Doug K.)
Removed initialize 'logn' task var.