<?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 2011-03-25</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 2011-03-25</p> <a name="version20110325" /> <h2>Version 2011-03-25</h2> <p>This is a minor release with various bug fixes and minor enhancements.</p> <ul> <li><span class="nav">Type Ahead Lookups</span> - Now working correctly for removing the value from the field and clicking in the combo list to add the value to the field.</li> <li><span class="nav">Headed List Prompts</span> - Updated so totals are calculated and shown in the prompt.</li> <li><span class="nav">Do Deletes Batch</span> - Updated so composite primary key records can now be deleted. Check is if all primary keys are non-zero.</li> <li><span class="nav">Finding Local IP Address</span> - Created a method in oFunctions $retLocalIP which reliably gets the local IP address by creating a connection to the computer and port in the SessionRow of db1sess and checking the IP from that.</li> <li><span class="nav">Programmer Ping Buttons</span> - Programmer Ping Buttons now utilizes the local preference to turn them off.</li> </ul> <p>To update to this new release:</p> <ol> <li>Quit Omnis Studio.</li> <li>Backup your application! </li> <li>Replace the <span class="file">studioworks</span> folder.</li> <li>Open your application and test.</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> <p>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.</p> <div class="image_sideline"><img src="http://www.studiotips.net/css/images/warning.gif" alt="Warning" /><p>This release and all future StudioWorks releases require Omnis Studio 5.x or greater</p> </div> <a name="swbase4" /> <h3>swBase4</h3> <p><span class="code">oConstants/$:SMTPSecure</span> <span class="moddateby">(2011-02-18 Josh L. as per Mike Matthews.)</span><br /> Added a constants property method for SMTP whether or not to use security. Default true.</p> <p><span class="code">oConstants/$:SMTPSecure.$assign</span> <span class="moddateby">(2011-02-18 Josh L. as per Mike Matthews.)</span><br /> Added a constants property method for SMTP whether or not to use security. Default false.</p> <p><span class="code">oConstants/$:SMTPVerification</span> <span class="moddateby">(2011-02-18 Josh L. as per Mike Matthews.)</span><br /> Added a constants property method for SMTP whether or not to use verification. Default false.</p> <p><span class="code">oConstants/$:SMTPVerification.$assign</span> <span class="moddateby">(2011-02-18 Josh L. as per Mike Matthews.)</span><br /> Added a constants property method for SMTP whether or not to use verification. Default false.</p> <p><span class="code">oDBSessionMethods_base/$_logon</span> <span class="moddateby">(2011-03-11 Josh L.)</span><br /> Instead of using TCPGetMyAddr directly use this function as TCPGetMyAddr doesn't always return the active NIC's IP</p> <p><span class="code">oDBSessionMethods_base/$_logon</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Added an error checking as the method may not be able to determine the local ip address.</p> <p><span class="code">oDBSessionMethods_base/$reconnectSession_IPAddrChanged</span> <span class="moddateby">(2011-03-11 Josh L.)</span><br /> Instead of using TCPGetMyAddr directly use this function as TCPGetMyAddr doesn't always return the active NIC's IP</p> <p><span class="code">oDBSessionMethods_base/$reconnectSession_IPAddrChanged</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Added an error checking as the method may not be able to determine the local ip address.</p> <p><span class="code">oDBSessionMethods_base/$state</span> <span class="moddateby">(2011-03-11 Josh L.)</span><br /> Instead of using TCPGetMyAddr directly use this function as TCPGetMyAddr doesn't always return the active NIC's IP</p> <p><span class="code">oDBSessionMethods_base/$state</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Added an error checking as the method may not be able to determine the local ip address.</p> <p><span class="code">oFunctions/$retLocalIPAddress</span> <span class="moddateby">(2011-03-11 Josh L.)</span><br /> Added this method because TCPGetMyAddr wasn't getting the active NIC's IP address.</p> <p><span class="code">oFunctions/$retLocalIPAddress</span> <span class="moddateby">(2011-03-15 Josh L.)</span><br /> Added a general check for localhost / 127.0.0.1 as any database connection to the local computer doesn't need to register a port.</p> <p><span class="code">oFunctions/$retLocalIPAddress</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Added a case for the Frontbase DAM which uses 20020 as a control port. Added a case for the MS SQL Server DB which uses 1433 and 1434 by default.</p> <p><span class="code">oFunctions/$retLocalIPAddress</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Completely revamped this method to add error checking and allow easier modification for additional databases.</p> <p><span class="code">oFunctions/$retLocalIPAddress</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Added a case for the Sybase SQL Anywhere which uses 2638 by default.</p> <p><span class="code">oFunctions/$retLocalIPAddress</span> <span class="moddateby">(2011-03-21 Josh L.)</span><br /> Reworked the start of the method to try and get info from the first session in $sessions if db1sess has not been initialized yet.</p> <p><span class="code">oFunctions/retEnclosedFilesList</span> <span class="moddateby">(2011-03-11 Josh L as per Mike M.)</span><br /> Want to include all parameters passed in to this recursive call of the function.</p> <p><span class="code">oOpenURL/$openURL</span> <span class="moddateby">(2011-02-18 Josh L.)</span><br /> Added prefixes for Secure HTTP (https), FTP (ftp) and Secure FTP (sftp)</p> <p><span class="code">oSecurity_DBAccessor_abstract/$updateUser</span> <span class="moddateby">(2011-03-15 Josh L.)</span><br /> For some reason getting a statement object no longer seems to work. Used the same way it's done in $updateRow.</p> <p><span class="code">oStartupTaskDefaultMethods/$constructMethod</span> <span class="moddateby">(2011-02-18 Josh L. as per Mike Matthews.)</span><br /> Removed extra 'End If's at the end of the method</p> <p><span class="code">oStartupTaskVarsTool/$initialize_eml</span> <span class="moddateby">(2011-02-18 Josh L.)</span><br /> Added initialization of new parameters to eml initialize method.</p> <p><span class="code">oTableClassMethods_base/$dodeletesBatch</span> <span class="moddateby">(2011-02-18 Josh L.)</span><br /> OK, I messed up on the first try because a zero / null / cleared value must be checked for primary keys before deletion. This separates checking in the normal case and checking in the composite keys case; which always failed in the previous version because a comma was present in iPKColName and wouldn't map to any columns in the list. First check to see if we have a primary key in the list. Next check to see if the primary key is Zero / Null / Clear when it's NOT a composite primary key. Finally, check the composite primary keys by testing if any have a value other than Zero / Null / Clear. If ALL keys are Zero / Null / Clear don't delete the record, otherwise go ahead with deletion.</p> <span class="code">oTableClassMethods_base/$doinsertsBatch</span> <span class="moddateby">(2011-02-18 Josh L.)</span><br /> Removed the parentheses after $sessionobj because they were causing trouble for some DAMs <a name="swdocs4" /> <h3>swDocs4</h3> No modifications <a name="swgui4" /> <h3>swGui4</h3> <p><span class="code">oConcretizer/$initialize</span> <span class="moddateby">(2011-02-18 Josh L.)</span><br /> Changed to get the value for showing Programmer Debug / Ping buttons from Local Prefs and Omnis Version. This prevents Programmer Debug / Ping buttons from showing in Runtime Versions and allows the preference to be used.</p> <p><span class="code">oConcretizer/_ProgrammerDebugButton_template</span> <span class="moddateby">(2011-02-18 Josh L. as per Andy H.)</span><br /> If the toolbar is not installed, an error occurs in the programmer ping buttons. Check for a toolbar before trying to ping it.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/event_evAfter</span> <span class="moddateby">(2011-02-03 Josh L.)</span><br /> Took out the if iLookupList.$colcount()&gt;0 as it wasn't allowing the columns to be cleared in the window.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/initialize</span> <span class="moddateby">(2011-02-03 Josh L.)</span><br /> Define an empty iLookupList as iLookupList is used without necessarily being defined.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/initialize</span> <span class="moddateby">(2011-02-07 Josh L.)</span><br /> This is to fix an issue when users click on the combo arrow and then click on the list. It takes 2 tries to get the value to change because the lookup list is getting cleared each time the cursor 'enters' the lookup field.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/initialize</span> <span class="moddateby">(2011-02-08 Josh L.)</span><br /> When lookups are done on a refs entry, there is no lookupsqlclassname. Therefore the default should be the sRefs</p> <p><span class="code">oPrompts/$_prompt_constructHeadedList</span> <span class="moddateby">(2011-02-18 Josh L. as per Andy H.)</span><br /> Added a couple of lines so totals are calculated and shown in Headed List Prompts.</p> <span class="code">oPrompts/$_prompt_constructHeadedList</span> <span class="moddateby">(2011-03-18 Josh L.)</span><br /> Added a cando check because if the list is not a schema / query defined list, this method fails. <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> No modifications <p class="footer">StudioWorks Documentation - Copyright 2005 Vencor Software </p></div> </body> </html>