<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>StudioWorks - Version 2008-12-31</title> <meta name="keywords" content="omnis studio, raining data, studioworks documentation" /> <link rel="stylesheet" type="text/css" href="http://www.studiotips.net/css/codedoc.css" /> <link rel="stylesheet" type="text/css" href="http://www.studioworks-dev.net/css/codedoc.css" /> </head> <body> <div id="container"> <p><a href = ../index.html > Sw4 </a> &nbsp &gt; &nbsp <a href = index.html > About </a> &nbsp &gt; &nbsp Version 2008-12-31</p> <a name="version20081231" /> <h2>Version 2008-12-31</h2> <p>These version notes cover the minor releases from 2008-10-16 to 2008-12-31</p> <p><span class="nav">Release 2008-12-31</span><br /> <ol> <li><span class="nav">Security</span> - Changing group security for a user while the user was signed in was being overwritten when the user signed out- fixed. Changing <span class="code">accessallowed</span> in the <span class="nav">Security > Group Windows</span> tab was not being saved - fixed. </li> <li><span class="nav">Field Decorator Checkbox Fields</span> - The field properties list was missing kCheckbox fields, so decorator types was not being set for checkbox fields - fixed.</li> </ol></p> <p><span class="nav">Release 2008-11-25</span><br /> <ol> <li><span class="nav">Nav Menu Lines List</span> - 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 <span class="code">oModuleData</span> 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.</li> <li><span class="nav">Field Properties List</span> - A change was made in 2008-11-17 which mapped lookup column names to the main list based on matching column names if a <span class="code">schemaname+schemacolname</span> 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 <span class="code">schema+column</span> as the lookup list.</li> <li><span class="nav">Field Handler Controller</span> - Discovered that the field properties list was being built twice when a non-runtimized window as being instantiated. <span class="code">oConcretizer</span> built and stored in the field properties list in the window instance <span class="code">$userinfo</span> property but the <span class="code">oFieldHandlerController</span> <span class="code">$initialize</span> 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.</li> <li><span class="nav">Lookup SQL Class Name</span> - To allow developers to override a lookup field a <span class="code">---NO_LOOKUP---</span> entry was added to the <span class="code">lookupsqlclassname</span> droplist in the <span class="nav">SQL Meta-Data Editor</span> query columns tab. When set to <span class="code">---NO_LOOKUP---</span> StudioWorks will not attempt to do any lookups on the field. The developer will be responsible for setting the foreign and other related fields.</li> <li><span class="nav">Lookup Droplist Position</span> - 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. </li> <li><span class="nav">String Tables</span> - abbrev column values were not being calculated from the meta-data.</li> </ol></p> <p><span class="nav">Release 2008-11-17</span><br /> <ol> <li><span class="nav">Nav Menu Lines List</span> - Save the navigation menu list line to the main library only to simplify saving and sorting.</li> <li><span class="nav">Field Properties List</span> - If a <span class="code">schemaname+schemacolname</span> 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.</li> </ol></p> <p>To update to this new release:</p> <ol> <li>Quit Omnis Studio.</li> <li>Backup your application! </li> <li>Replace the 'studioworks' folder.</li> <li>Open you application and test it.</li> <li>If you hit any snags, email me a zip of your application with instructions on when and where you are running into problems.</li> </ol>Each library and the modifications in the release are listed below. The modifications are compiled from the <span class="code">@MOD</span> tag comments found in the methods of the classes in the library. <a name="myappmain" /> <h3>myAppMain</h3> <span class="code">oOpenLibraries/openLibrariesInFolder</span> <span class="moddateby">(2008-11-03 Doug K per Andy H.)</span><br /> Use the Omnis command "Open Libraries" instead of $libs.$add notation since the command has options that allow runtime to convert libraries. <a name="mysysadmin" /> <h3>mySysAdmin</h3> No modifications <a name="swbase4" /> <h3>swBase4</h3> <p><span class="code">oErrorHandler/$getonceLastError</span> <span class="moddateby">(2008-11-03 Doug K.)</span><br /> Return False if no error was fetched.</p> <p><span class="code">oMetaDataQueryClass_Model/$:fetchall.$assign</span> <span class="moddateby">(2008-10-23 Josh L.)</span><br /> When changing the value of fetchall to true, the fetchallwhere field wasn't being enabled.</p> <p><span class="code">oMetaDataQueryCol_Model/$:listcolname.$assign</span> <span class="moddateby">(2008-11-11 Doug K.)</span><br /> Removed 'End if' in the wrong spot.</p> <p><span class="code">oMetaDataQueryCol_Model/$:lookupsqlclasseslist</span> <span class="moddateby">(2008-11-24 Doug K.)</span><br /> 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.</p> <p><span class="code">oMetaDataQueryCol_Model/$:lookupsqlclassname.$assign</span> <span class="moddateby">(2008-11-24 Doug K.)</span><br /> Removed code that set the decoratortype to 'displayonly' if lookupsqlclassname was left empty.</p> <p><span class="code">oMetaDataQueryCol_Model/$updateQueryCols_treatasboolean</span> <span class="moddateby">(2008-11-06 Doug K.)</span><br /> Bug fix. Setting treatasboolean to kTrue was not setting zeroallowed to kTrue. Fixed.</p> <p><span class="code">oMetaDataSchemaCol_Model/$:refdtablename.$assign</span> <span class="moddateby">(2008-10-24 Josh L.)</span><br /> Took out the ColName parameter as it is not specified in the definition of the called method.</p> <p><span class="code">oMetaDataSchemaCol_Model/$:refdtablename.$assign</span> <span class="moddateby">(2008-10-24 Josh L.)</span><br /> Put this bit of code back in so that the refdcolnames list would be updated with colum names from the specified schema.</p> <p><span class="code">oMetaDataSchemaCol_Model/update_foreignkey</span> <span class="moddateby">(2008-10-24 Josh L.)</span><br /> 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.</p> <p><span class="code">oMetaDataSchemaCol_Model/update_foreignkey</span> <span class="moddateby">(2008-11-17 Doug K.)</span><br /> 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)</p> <p><span class="code">oMetaDataSchemaCol_Model/update_hidden</span> <span class="moddateby">(2008-10-27 Josh L)</span><br /> 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)</p> <p><span class="code">oMetaDataSchemaCol_Model/update_hidden</span> <span class="moddateby">(2008-10-27 Josh L.)</span><br /> Primary Keys and Foreign keys should not be editable at any time. They are intrinsic to the database's integrity.</p> <p><span class="code">oMetaDataSchemaCol_Model/update_treatasboolean</span> <span class="moddateby">(2008-11-06 Doug K.)</span><br /> Bug fixes. Setting value to treatasboolean=kTrue was not setting zeroallowed to kTrue and nullallowed to kFalse. No setting it correctly.</p> <p><span class="code">oMetaDataTool_OldVersionMetaData/$#About</span> <span class="moddateby">(2008-11-04 Doug K.)</span><br /> Created this object class to contain all the methods related to the old version meta-data that was stored in the SQL classes.</p> <p><span class="code">oMetaDataTools/$#About</span> <span class="moddateby">(2008-11-04 Doug K.)</span><br /> Moved all of the methods related to the old version meta-data that was stored in the SQL classes to oMetaDataTools_OldVersion.</p> <p><span class="code">oModuleDataTool/$canModifyData</span> <span class="moddateby">(2008-10-20 Josh L.)</span><br /> Changed the initial value of the parameter pbLogErrorIfNot to ktrue because it wasn't logging any errors.</p> <p><span class="code">oModuleDataTool/$saveNavMenuList</span> <span class="moddateby">(2008-11-24 Doug K.)</span><br /> Revert the method to respect the 'homelibname' and only save nav list menu lines from the list belong to the specified pLibName.</p> <p><span class="code">oOpenLibraries/openLibrariesInFolder</span> <span class="moddateby">(2008-11-03 Doug K per Andy H.)</span><br /> Use the Omnis command "Open Libraries" instead of $libs.$add notation since the command has options that allow runtime to convert libraries.</p> <p><span class="code">oSQLLists/$saveChangedData_commit</span> <span class="moddateby">(2008-11-05 Doug K.)</span><br /> Commented out the @DEBUG breakpoints.</p> <p><span class="code">oStartupTaskDefaultMethods/autoSignIn</span> <span class="moddateby">(2008-11-14 Doug K.)</span><br /> The 'Clear method stack' is killing multiple webapps which need to automatically sign-in and startup on web servers.</p> <p><span class="code">oTableClassMethods_base/$doworkBatch</span> <span class="moddateby">(2008-10-21 Josh L.)</span><br /> The table class instance doesn't need a reference to itself to execute the method.</p> <p><span class="code">wSQLMetaDataSchemaColsEditor_View/$event</span> <span class="moddateby">(2008-10-20 Josh L.)</span><br /> Commented out the OK message. Shouldn't be in there for release.</p> <p><span class="code">wSQLQueryBuilder/$refreshField</span> <span class="moddateby">(2008-11-17 Doug K.)</span><br /> Modified the code to correctly inform the user if the query class and/or oModuleData object need to be check out of the VCS.</p> <p><span class="code">wSQLQueryBuilder/eventDrop</span> <span class="moddateby">(2008-11-17 Doug K.)</span><br /> Added code to the $event evDrop to check if edit is allowed. If not, prompt user with an OK message.</p> <span class="code">wSQLQueryBuilder/event_evOpenContextMenu</span> <span class="moddateby">(2008-11-17 Doug K.)</span><br /> Added VCS check to make sure the query class and oModuleData are checked out if VCS is being used. <a name="swdocs4" /> <h3>swDocs4</h3> <span class="code">@65 Version 2008-12-31/@00 About</span> <span class="moddateby">(2008-11-25 Doug K.)</span><br /> Started release notes for minor releases from 2008-10-16 to 2008-12-31 <a name="swgui4" /> <h3>swGui4</h3> <p><span class="code">oFieldHandlerController/$setMode</span> <span class="moddateby">(2008-11-04 Doug K.)</span><br /> 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.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/event_evKey_arrow</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> Use irLookupListWin instead of irWin.$wind().$:LookupListFieldRef</p> <p><span class="code">oFieldHandlerLookupTypeAhead/initialize</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> 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.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/selectLookupListFieldLine</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> Use irLookupListWin instead of irWin.$wind().$:LookupListFieldRef</p> <p><span class="code">oFieldHandlerLookupTypeAhead/setLookupListField</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> Commented out "Do irWin.$wind().$:LookupListFieldRef() Returns irLookupListWin" since irLookupListWin is set by the initialize method.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/updateLookupList</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> Use irLookupListWin instead of irWin.$wind().$:LookupListFieldRef</p> <p><span class="code">oFieldHandlerPropertiesList/$#About</span> <span class="moddateby">(2008-11-24 Doug K.)</span><br /> Reverted to the pre-2008-11-10 changes version. Those changes to setupLookupProperties caused problems to existing lookups.</p> <p><span class="code">oFieldHandlerPropertiesList_20081110_BAD/$retFieldPropertiesList</span> <span class="moddateby">(2008-10-24 Josh L.)</span><br /> 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.</p> <p><span class="code">oFieldHandlerPropertiesList_20081110_BAD/setLookupProperties</span> <span class="moddateby">(2008-11-11 Doug K per Josh L.)</span><br /> 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'.</p> <p><span class="code">oNavigationMenu_Model/$initialize</span> <span class="moddateby">(2008-11-04 Doug K.)</span><br /> Only search for an load data if there are lines in the data list.</p> <p><span class="code">oNavigationMenu_Model/getGroupsList</span> <span class="moddateby">(2008-11-12 Doug K.)</span><br /> Bug fix. pLibName parameter was missing.</p> <p><span class="code">oNavigationMenu_Model/getNavMenuList</span> <span class="moddateby">(2008-11-20 Doug K - bug reported by Chuck M.)</span><br /> Modified code so that apps which were partly converted during the beta process keep their nav menu lines list intact.</p> <p><span class="code">oNavigationMenu_Model/getNavMenuList</span> <span class="moddateby">(2008-11-24 Doug K.)</span><br /> Modified the code so that nav menu lines are saved to their respective library module data objects.</p> <p><span class="code">oNavigationMenu_Model/getSubGroupsList</span> <span class="moddateby">(2008-11-12 Doug K.)</span><br /> Bug fix. pLibName parameter was missing.</p> <p><span class="code">oNavigationMenu_Model/recalcHomeLibNames</span> <span class="moddateby">(2008-11-24 Doug K.)</span><br /> Added method which recalcs the homelibname to match the homelibname of the wininstid.</p> <p><span class="code">oScreenCoordinates/$getScreenOverallHeightAndTop</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> 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.</p> <p><span class="code">oWindowInstances_Model/$:modified.$assign</span> <span class="moddateby">(2008-10-30 Josh L.)</span><br /> Overrode this method because the moddatetime used for deciding whether a toolbar is visible or not is not being set.</p> <p><span class="code">oWindowMenus_Model/$:caneditData</span> <span class="moddateby">(2008-10-30 Josh L.)</span><br /> Overrode this method because the inherited one returns kfalse all the time</p> <p><span class="code">oWindowMenus_Model/$moveMenuLine</span> <span class="moddateby">(2008-11-17 Doug K (bug reported by Josh))</span><br /> Sort the menu lines list before and after moving menu lines.</p> <p><span class="code">oWindowMenus_Model/retWinMenuLinesListForLibName_oldversion</span> <span class="moddateby">(2008-11-12 Doug K.)</span><br /> Set the menulinetext when fetching the old version window menu lines.</p> <p><span class="code">wBase_ToolbarTitlebar_abstract/$_constructToolbar</span> <span class="moddateby">(2008-10-30 Josh L.)</span><br /> 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.</p> <p><span class="code">wDatabaseTablesEditor/$:SQLClassName.$assign</span> <span class="moddateby">(2008-11-04 Doug K.)</span><br /> Modified the method to work with the new field handler controller.</p> <p><span class="code">wEdit_abstract/$:LookupListFieldRef</span> <span class="moddateby">(2008-11-20 Doug K.)</span><br /> 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.</p> <p><span class="code">wHeadedList_autoconfig/$:SortClause</span> <span class="moddateby">(2008-11-04 Doug K.)</span><br /> Modify method so that it add the 'ORDER BY ' prefix after the loop, and only if order by text was build in the loop.</p> <p><span class="code">wPromptFindMultiCriteria/$event</span> <span class="moddateby">(2008-11-13 Josh L.)</span><br /> 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.</p> <p><span class="code">wWindowMenusListEditor_View/$refreshField</span> <span class="moddateby">(2008-10-30 Josh L.)</span><br /> 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.</p> <span class="code">wWindowMenusListEditor_View/event_evOpenContextMenu</span> <span class="moddateby">(2008-10-30 Josh L.)</span><br /> Overrode this method in the Model to accept the CurrentLibraryName as a parameter to return something other than kfalse. <a name="swicons4" /> <h3>swIcons4</h3> No modifications <a name="swrefs4" /> <h3>swRefs4</h3> No modifications <a name="swreports4" /> <h3>swReports4</h3> No modifications <a name="swweb4" /> <h3>swWeb4</h3> <p><span class="code">oMainWindow/$:NavMenuLineList</span> <span class="moddateby">(2008-11-12 Doug K.)</span><br /> $retNavMenusLinesList method name is deprecated. Changed to $retNavMenuLinesList.</p> <span class="code">oRemoteTaskMethods/$initializePublicSearchTaskVars</span> <span class="moddateby">(2008-11-12 Doug K.)</span><br /> Removed initialize 'logn' task var. <p class="footer">StudioWorks Documentation - Copyright 2005 Vencor Software </p></div> </body> </html>