NetTalk History & Future

 
Vote for this Product at ClarionShop
 
Buy now at ClarionShop
Version beta

www.capesoft.com
Updated 18 March 2008  
c3pa approved
     

NetTalk History & Future

Learn NetTalk (great for New users)
NetTalk Examples
NetTalk Protocol Objects
NetTalk Protocol Objects
NetSimple Objects
NetDUN (Dial-Up Networking Object)
NetTalk Support - Important Information
NetTalk Future & History
Learn NetTalk
Examples
Common
Features
NetAuto
Objects
NetSimple
Objects
Dial-Up
Support
Version History
  = recommended reading

 
Contents - Version History
  NetTalk Version History  
  What will NetTalk do in future?
     

NetTalk Version History

Please note: We offer both beta and gold releases of NetTalk. If you are requiring the most stable release please use the gold releases. New functionality and bug fixes are normally first released as beta releases.
 
Important Information before you use Version 4

Important: Please read FAQ G7 - What's changed in NetTalk version 4
                     There's an update to the FTP_Upload and FTP_Download functions new in 4.09 and later.
                     If you are upgrading from 4.23 or earlier, and you have Static pages, please note the items in Orange in the 4.24 release notes. 
                     If you are upgrading from 4.14 or earlier, please note the items in Orange in the 4.15 release notes.
                     If you are upgrading from 4.15 or or earlier, please note the items in Red in the 4.16 release notes.
 
Version 4.30 (Beta)  17 March 2008)

1)

NetWebServer

  • Add: Memory Form Variables are automatically copied into the Session Queue when a form is "Save"ed
  • Add: New option when priming fields on a form, you can limit priming to cases where the SessionValue does not already exist. Useful for priming fields the first time they are encountered, but "remembered" thereafter.
  • Add: New Example: LegacyGraph (41)
  • Add: New Example: SOAPServer (42) - Requires xFiles version 1.61 or later
  • Add: New Example: AccessLevels (43)
  • Updated: Example: File Download (40) - Blobfile structure changed.
  • Updated: Doc for creating Secure web sites has been updated.
  • Add: FILE protocol to NetWebPage. Allows for serving static files, from outside the web folder, easily. Beware of security implications though.
  • Add: Support for extension templates (like XFiles) that generate objects in NetWebPage.
  • Add: Border width property for Framesets.
  • Add: Ability to suppress PressedButton parameter on browse buttons
  • Add: Support for arrays when generating field validation based on C6. (Arrays are only supported in C6)
  • Add: New method, p_web.GetSessionIP()
  • Add: Session now (optionally) locked to IP address.
  • Add: More embed points to Validate routines in the Form.
  • Add  LogPath and UploadsPath properties to server. (see Paths)
  • Add: SessionLevel property - use p_web.SetSessionLevel and p_web.GetSessionLevel.
  • Add: Template support for Session levels to Advanced tab of all templates.
  • Add: Support for ViewOnly to NetWebYear
  • Add: Embed points if "More Assignments" done after lookup.
  • Add: WebLogName property to NetWebServer class. Allows you to set first part of weblog file name.
  • Add: AddLog method added to WebServer class. This adds the logging on the window, and (optionally) onto disk. You can call this method from inside the WebServer class using NetWebServer.AddLog('whatever'), and you can also call it from inside one of the other procedures using p_web.AddLog('whatever')
  • Add: Packet variable in Forms adjusts to size of largest text field if text field > 15K.
  • Add: Smarter setting of SetFocus when tabs are conditionally excluded. Also JavaScript errors caused by incorrectly setting focus to fields that do not exist are suppressed.
  • Add: On Form, can now set the CSS class for TabHeading different to MainHeading.
  • Add: p_web.site.PageTitle property. p_web._title property removed. Template setting for setting site-wide page title added to WebServer extension.
  • Add: If a browse on a form, set to "Send new value to server" then the unique ID of the browse is now automatically stored in the session queue.
  • Add: site.PromptClass property, defaults to FormPrompt, is the default CSS class for prompts.
  • Add: Content-Length is set for static files being sent.
  • Deprecated UploadsDir and LogDir properties.
  • Change: Hard coded settings of ReplyContentType not use _GetContentType method.
  • Change: Example 40 - Serve Document procedure now handles all file types.
  • Change: Re-arranged the validation of fields, based on dictionary settings, so the correct tab is chosen if a field fails.
  • Change: Validation of Auto-Numbered fields, if the form is not pre-auto-numbered, is suppressed.
  • Change: If a record-not-available message is generated when going to the form, the error now displays on the client, not the server.
  • Change: Browse navigation uses POST rather than GET to avoid GET length limit in IE.
  • Fix: Cancelling from a Lookup window could result in child-browses losing their Insert/Change & Delete buttons.
  • Fix: Handled & and % characters in strings sent asyncronously back to a form.
  • Fix: %Family was incorrectly set for NetRefresh in Legacy apps.
  • Fix: In some cases an unknown %Translate were possible.
  • Fix: If a form was embedded on a NetWebPage than many of the routines (InitForm etc) did not get called correctly.
  • Fix: Must-Be-In-List validation was not, but needs to be, Case Sensitive.
  • Fix: Template code handles dict setting for MustBeInList where no choices are provided.
  • Fix: Turned "Must Be In File" validation back on.
  • Fix: Moved SessionPic outside IF statement in SetPics routine
  • Fix: Better support for deformatting @P pictures.
  • Fix: Duplicate check while doing an auto-incrementing Insert suppressed.
  • Fix: Cascading Delete Restricted Parent against Child.
  • Fix: Checkboxes set as Read-Only (or hidden) could be cleared when the form is saved.
  • Fix: Improved Green baring on browses using the Radio button selection method. Note that the Greenbar option has been removed from the template, if you wish to suppress green baring then set the One-Color and Two-Color the same on the CSS Classes tab.
  • Fix: Other Buttons in a browse, that followed a disabled-other-button were also disabled.
  • Fix: On Insert, After initial validation fails, if a checkbox is changed fro 1 to 0 the change was forgotten.
  • Fix: Browse color overrides not set correctly if browse opened first with no records.
  • Fix: Added SSL code to legacy template.
  • Fix: Add Login Required code to NetWebYear template
  • Fix: Browse-Inline buttons didn't respect the "Only call form if user logged in" setting.
  • Fix: Example 31, Browse Invoices, Filter when a child of UpdateCustomers was incorrect.
  • Fix: Tips for the Browse header weren't being Xhmtl validated.
  • Fix: In an incoming GET / characters after the ? were being flipped to \.
  • Fix: XHTML embedded "inside <head>" did a SendPacket, before the HTTP header had been sent.
  • Fix: CreateText method no longer has limit on length of the field.
  • Fix: If "Allow XHtml" was on for a browse column, but the picture was set to something other than '' (quote quote) then the html would not be applied.
  • Fix: In IE hidden form fields now "compress" just like they do in FF.
  • Fix Some browses could get duplicate records visible in some circumstances.
  • Fix: The .StoreValue method now takes Value Picture, and SessionValue Picture into account when storing the value.
  • Deprecated: Force Browse to fetch whole page option.
  • Tweak: Extra GET removed from _LoadRecord method.
  • Internal: _ParseFileName method name changed to _ParseURL
  • Internal: _TouchSession no longer calls _NewSession

 

2)

Other

  • Add: Option on global extension, advanced tab, to suppress call to CloseCallbackWindow.
  • Change: NET:64BaseMaxDecodedLength and NET:64BaseMaxEncodedLength extended. Base64 functions can now take (unencoded) strings up to 16K large.
  • Change: WebClient class respects .ProxyServer and .ProxyPort properties.
  • Fix: Rare possibility of leaking socket handles.
  • Fix: NetAuto compatibility with Vista added.
  • Fix: If NetBase64Encode, or NetBase64Decode were called with illegal length parameters a GPF was possible. Now the function simply terminates when the maximum length is reached.


Version 4.29 (Beta)   5 September 2007)

1)

NetWebServer

NOTE: Pictures now apply to Display fields. If you have used long display fields, you may need to set the picture to '' to suppress it clipping the string.

  • Add: Support for GlobalErrors class (for those who use the Procedure name from there)
  • Add: new example 39 - integrating with CapeSoft MessageBox
  • Add: new example 40 - demonstrates serving static files from BLOB's. Also demonstrates serving static files from folders other than the web folder.
  • Add: read-only option to Drop controls.
  • Add: property for "required" comment, p_web.Site.requiredText.
  • Add: Support for Insight Graphs in Legacy web servers added.
  • Add: Support for "Send new value to server" added to "Display" Form fields (Buttons, Images and Hyperlinks) even if the form field also has a URL.
  • Add: Auto-Complete option added to String and Date Form fields. Auto-Complete is automatically disabled if the field is dynamic, or is a password. Auto-Complete is optional to the end user, who can turn it off in his browser.
  • Add: Report procedures can be called as functionname.pdf as well as just functionname.
  • Add: Dictionary validation (on the whole record) has been added to the ValidateRecord routine.
  • Add: Before doing an Insert, or Update, Non-Autonumbering Keys are checked to see if a Duplicate will be triggered.Change: Ability to set CSS class for Display fields on form (without having to fill in Display Text).
  • Change: Client-Side tab simplified a bit. Move "refresh: Prompt   Value  Server" into "Reset" list. Once done the options to specifically reset itself disappear.
  • Change: When the browse is called as a lookup, it's a lot smarter about what record it jumps to.
  • Change: All form elements (prompts, values, comments) are wrapped in a DIV which seems to solve some of the layout issues. In the past only dynamic form elements were enclosed in a DIV.
  • Change: Forms (containing a browse) can now be used as a Lookup URL. This allows for complex filtering on lookup browses. However note that none of the form fields on this lookup page should be a STRING with LOOKUP of it's own. In other words a lookup inside a lookup is not allowed.
  • Change: Hand-code HTML tabs changed to XHtml, since that's what it needs.
  • Added parameter to .RenameFile method, makes moving incoming files easier.
  • Fix: Browse Delete button could get invalid "Action" in some cases.
  • Fix: Add D06 and D02 to supported date pics (in addition to D2 and D6)
  • Fix: If a form field spans the prompt/value/comment columns then the prompt is top-aligned, not bottom-alligned.
  • Fix: Text fields can now be used dynamically (ie Send new value to server).
  • Fix: Before Div and After Div html embed points
  • Fix: Setting the Comments Class blank on a form could cause a compile error.
  • Fix: Headings, and Sub-headings can have special chars (eg <)
  • Fix: Translation added to Sub-heading on Browse.
  • Fix: If Allow Unfilled is on, then disabling of Next & Last buttons failed at end of file.
  • Fix: Disabling of buttons under IE just hid the graphic.
  • Fix: Blank, unfilled, lines did not take conditional columns into account.
  • Regression: fix use of %nFieldFile 
  • Regression: automatically format Display fields if picture set in dictionary.
  • Regression: a few examples needed a "touch" to compile correctly.

    to do: prime local variables when form set to memory.
    move local variables to session variables when form is "OK"d? 
    browse buttons

 

 



Version 4.28 (Beta)   9 July 2007)

1)

NetWebServer

  • Add: New method, GetHeaderField
  • Add: Div around Generated Form code.
  • Add: Ability to set Div name for Browse, and Form Procedures.
  • Regression: Locator on default sort order (when it has a picture set) corrected.
  • Regression: Issue with changing sort orders on browse fixed.


    to do: prime local variables when form set to memory.
    move local variables to session variables when form is "OK"d? 
    browse buttons
 




Version 4.27 (Beta)  6 July 2007)

1)

General

  • New options in the NetEmailSend class: NetEmailSend.OptionsContentType  and NetEmailSend.OptionsMultiPartContent
2)

NetWebServer

  • Add: Support for Clarion's ABC translator, and the ADI Translation template, for
    Global button text, Form headings, Form prompts, Browse column headings,
    This work contributed by Ubaidullah Nubar
  • Add: This form called as Lookup option to Advanced tab of Browse. Use this when creating WebForms which contain a Browse, and the Browse must have a Select button. [work in progress]
  • Add: Thread number now displayed in DebugView if you use p_web._Trace()
  • Add: Can now set the "must be logged in" setting for multiple procedures from the WebHandler procedure settings.
  • Add new method p_web.StoreValue('name'). This copies the "name" variable in the Value Queue to the Session Queue, if (and only if) it exists in the Value queue.
  • Change: In Browse, Picture now applies to "Display" field (if set) or to "Field" (if set). Before Picture only applied to Field.
  • Change: Deprecated ProcessBrowse and ProcessForm methods.
  • Fix: Browse columns can now locate on non-string pictures
  • Fix: Previous button now disabled in more cases where no previous records exist.
  • Fix: Code to determine primary sort order (to see if it matches a column) is smarter.
  • Fix: Calendar code is now completely self contained (no startup code required) so calendar field can be shown/hidden dynamically and lookup still works.
  • Fix: Locator field could get lost if a range was set.
  • Fix: "Server Code" button added to Client-side tab for Browse fields in a form.
  • Fix: Regression with Chrome menu in IE 6 with Icons on the menu items
 




Version 4.26 (Beta)  June 2007)

Shameless Plug:
John Hickey of Positive Software has launched NetTalk Central web forum where NetTalk users can hang out, swap tips and help each other. Although not affiliated to CapeSoft we support this venture and encourage users to check out the forum for themselves.
1)

General

  •  "Smart Generate" option added to "Classes" tab for all Netsimple objects.
    This only applies to Legacy apps, and should only be ticked on in Clarion 6 or later. This option will make the generator generate the NetTalk object into newer (ABC) embed points, which means the generated code is smaller in Legacy projects.

    NOTE: If you are making a Web Server procedure, using the Legacy templates, then make sure this switch is ON in the WebHandler procedure.
1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.
  • Add: Support for Legacy report procedures, and (I think) CPCS report procedures. See example.
  • Add: Forms now have a variable, loc:act which is set to either InsertRecord, ChangeRecord or DeleteRecord. Expressions can use this to determine current form action.
  • Add: Ability to override CSS class for Prompt and Comment for individual form fields.
  • Change: Made blank tab headings more visible in list of tabs.
  • Change: .SetSessionPics, and .SetPics methods have been retired. Replaced with SetPics routine in form.
  • Add: Translation for the "Locate" prompt can be set in WebServer procedure, Advanced tab.
  • Add: Embed point into menu routine.
  • Add: New Short-hand method names, GSV and SSV for GetSessionValue and SetSessionValue respectively. Use either short, or long form.
  • Add: GetSessionValueLength method to return length of Session Value.
  • Add: GetValueLength method to return length of parameter in Value queue.
  • Add: New examples, 38 (Legacy) and 39 (LegacyReports) added.
  • Update: Chrome menu script updated to version 2.01
  • Reorganised docs a bit.
  • Fix: Could generate code for "SmallOtherButton"
  • Fix: "highlighted record" problem when Last or Previous pushed.
  • Fix: Values getting dropped when a lookup is done.
  • Fix: DATE and TIME data types were being treated as Alpha, not Numeric.
  • Fix: For time fields that were > 12:00, but didn't include am or pm.
  • Fix: Handled empty packets (with just a header) sent from a NetWebPage. Typically when sending a PDF or other static file from a NetWebPage.
    ** Those Who attended the World Tour, and added code to work around this issue can now remove the work around code **
 


 

Version 4.25 (Beta)  May 2007)

1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.

  • Add: New Page type "Other" added to NetWebPage template. Allows developer to set content type, HTTP header
  • Add: Option to override PageHeaderTag and PageFooterTag on Browse and Form templates.
  • Add: SetQueueRecord embed point to NetWebBrowse (same place as ValidateRecord embed.)
  • Add: Embeds to Menus, and MenuItems generated code.
  • Add: Fast-Style selection for Browse column totals.
  • Add: Span ability to Totals
  • Add: custom text ability to Totals.
  • Add: Various new embeds in Browse routines.
  • Add: Embed point in browse for overriding OnRowClick javascript.
  • Add: New example (36) which shows HTML editing.
  • Update: Example 4 updated to show variable URLs for FrameSet.
  • Update: Example 13 updated to show calling a report, from a browse, with the browse row acting as a filter.
  • Change: changed images\ in _CreateSortHeader to images/.
  • Change: Range fields are automatically added to the Sort order (if they aren't there already) to improve browse performance.
  • Regression fix: Auto-Lookup on Insert was broken.
  • Fix: 12:00AM now correctly translates to 0:00, not 12:00.
  • Fix: %AllowUnfilled error if web server is Legacy based.
  • Fix: Some buttons on IE did not disable correctly.
  • Fix: Tabbing issue in IE
  • Fix: Local variables on form could have an incorrect "size" parameter.
  • Fix: Added encoding to tool tips
  • Fix: Added encoding to sort header text
  • Fix: Problem with lookup loosing previously primed form fields.
  • Fix: Cancel button on form did not get correct JavaScript.
  • Fix: Position locator on descending sort orders.
  • Fix: When locating selected record was not always first row located.
  • Fix: If display field had a form field set, and text, then both were displayed. Now Text overrides form field.
  • Fix: JavaScript error which occurs in browse after resorting header.
2)

General

  • Update: LinkPoint example to work with the current version of xFiles and ReadMe.txt updated.

Version 4.24 (Beta) 7 April 2007)

1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.

  • Add: Layout option to NetWebForm to suppress Prompt/Value/Comment columns.
  • Add: Option on individual Form Fields to "span" Prompt/Value/Comment fields.
  • Add: Ability to explicitly set form table width.
  • Change: Removed use of onLoad event, and swapped it for an embedded script, just before </body>. This removes the complications from using this event. However users of NetTalk in Static Pages should review the updated doc here.
  • Change: Example 25 extended to show browse, and child browse, inside NetWebForm. (Update Customers).
  • Change: Timer on NetWebSource template changed from 100'ths to 1000'ths to be consistent with browse.
  • Change: Extended MAXLENGTH for Time fields to always allow space for am/pm
  • Change: For time fields can use a / p instead of am/pm.
  • Change: All template prompts which are for a CSS Style name now say "CSS Class" rather than "Style".
  • Change: Form Field Styles "inherit" if they are entered with a leading space character.
  • Change: Internal change to way \ is encoded in _jsok method.
  • Fix: Removed ToolTip from calls to CreateStdButton
  • Fix: anArgs error in Javascript
  • Fix: Date Fields didn't generate Callback code correctly if only "Update Value on Server" was ticked.
  • Security Update: Larry Sands discovered this paper on JavaScript Hacking. NetTalk is currently NOT vulnerable because it is built on Rico. However to avoid the vulnerability from appearing in other code you might include, all Ajax requests MUST now include a SessionID cookie. This is done automatically, so there's nothing for you to do.
2)

General

  • NetNewsReceive class updated to support XOVER command.

Version 4.23 (Beta) 26 March 2007)

1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.

  • Add: Support for tooltips (most of the work done by Chris Cordes.)
  • Change: Right-Justify option added to Form Field type "Date".
  • Update: To NetTalk Deployment document.
  • Change: Include Styles before Scripts when using <!-- Net:c:head --> tag.
  • Change: Show FormFieldType in list of form fields.
  • Change: Images are generated with AbsMiddle if the browser is Firefox.
  • Fix: Browser Timer was broken.
  • Fix: Lookup fields with a picture set was broken.
  • Fix: XSL files set content-type to text/xml
  • Fix: Div to allow embedded browses to update form.
  • Fix: Dynamic update of form fields where field equate <> form field name.
  • Fix: Removed $A is undefined error from prototype.js
  • Fix: Javascript Error when line-item in child browse clicked.
  • Fix: Added DocType to MakeErrorPage method.
  • Fix: If browse pages had an alternate name, they didn't work when set as children.
2)

General

  • Install script tweaked to make it smaller.
  • FTP timeout support completed.
  • Added MSVCR71.DLL to the install set. This is required by the new SSL DLL's. If you get Error -73 "SSL Could Not Load SSL DLL's" then this file is probably missing from the machine.

Version 4.22 (Beta) 21 March 2007)

1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.
  • Add: More embed points
  • Fix: Regression with forms embedded on pages.
  • Fix: Added ; to bodyOnLoad.

 

 

2)

General

  • SSL Libraries updated to v0.9.8e (built 23 Feb 2007)
  • Fix: Adjusted FTP code so that it doesn't timeout unnecessarily on large files.

Version 4.21 (Beta) 20 March 2007)

1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.
  • Add: "Right Justify" option for entry fields.
  • Add: Ability to override CSS class for form fields on an individual basis.
  • Add: "Server Code" button to template, just after the "Send value to Server" checkbox.
  • Add: Buttons on a form are automatically disabled and refreshed after being pressed (if "Send New Value to Server" is ticked on.)
  • Add: Various Embed points.
  • Add: Better handling of @N picture types on Form.
  • Change: (Internal) form class code is simplified by using class concatenation techniques.
  • Change: Calculator example to show more techniques.
  • Change: File Upload example to show network logging.
  • Update: Documentation of examples.
  • Fix: Drop-down menus regression.
  • Fix: Regression breaking browse buttons if page is back-filled (ie last page).
  • Fix: Height of Taskpanel border was not being correctly observed.
  • Fix: PageBody Css class was wrong case (css names are now case sensitive).
  • Fix: If form is not the parent then validation failure returns to the parent.
  • Fix: Regression if override ButtonClass not set.
  • Fix: Problem with CreateImage if URL contains backslashes before the ?.

 

Version 4.20 (Beta) 12 March 2007)

1) NetWebServer
  • NOTE: the latest Web folder is installed to \clarion6\3rdparty\libsrc\netweb
    Copy this to your application folder after installing the NetTalk update.
  • Include: Example 34, missing from version 4.19
  • Add: Example 35, showing time fields.
  • Add: Ability to override "onLoad" JavaScript for a net web page. (see advanced tab).
  • Add: Template overrides for inline Browse buttons.
  • Add: Ability to set browse colors globally (Web server procedure, styles tab.)
  • Add: Ability to set browse greenbar, and highlight colors (on Browse styles tab) - note these colors cascade onto children.
  • Change: Smart time reformatting on form fields.
  • Change: Made blank line after form & browse heading and sub-heading optional.
  • Change: In Chrome menu, allow developer to override div name.
  • Fix: Tiny_mce.js wasn't included properly in all.js
  • Fix: Regression. Returning from child-form, and child-browse contained incorrect filter.
  • Fix: Handled very long browse lines.
  • Fix: Dynamically hidden fields are no longer validated.
  • Fix: Regression where child browses displayed incorrectly as parent opened.

 

Version 4.19 (Beta) (8 March 2007)

1) NetWebClient
2) NetWebServer
  • Change: On a Form on the Date type. The option to Refresh Window When Date Changed has been deprecated. You should use the Client-Side tab instead. If you get a warning during the Generate then go to the form, and untick the option.
     
  • Add: New example 34, shows dynamic fields on a form for calculator type screens.
  • Add: Buttons on a form support "client-side" updates.
  • Add: Support for editing HTML on a form using the TinyMCE editor. (See HTML checkbox for Text fields).
  • Add: Escape method.
  • Add: Implemented MaxLength attribute for form fields.
  • Add: Pages are now more compliant with XHTML spec. (ie XHTML DocType)
    NOTE: Style names (CSS names) are now Case Sensitive.
  • Add: Implemented Green-baring on drop-down form fields.
  • TIP: Note that drop-down form fields have a HEIGHT option. If this is set then the drop-down appears as a single-column list box.
  • Add: Fixed Pitch as a common browse column style.
  • Add: Support for multiple form fields on the same row on a form.
  • Add: Form type "Wizard".
  • Add: Ability to hide, and unhide, form fields based on other form field values.
  • Add: Hot Fields to Form field type "Drop".
  • Add: Support for Multiple option in Select lists.
  • Change: Added a DocType to the generated pages.
  • Change: DSP function in JavaScript only disables submit buttons if target is set to self.
  • Change: Session, and Value queues now accept (and return) data of unlimited size.
  • Removed: Some obsolete, unused, methods.
  • Fix: Passing a + in the URL of a GET or in a cookie, was mis-decoded as a space.
  • Fix: Checked for nulls in the RemoveElement javascript function.
  • Fix: If auto-lookup fields on a form were not on the first tab, then in some cases code was not generated for them.
  • Fix: Extended packet size in RegisterDiv method.
  • Fix: Added more SendPacket calls to menu, allows for bigger menus.
  • Fix: Conditional Browse filters, when using a file relationship, with a String field.
  • Fix: Secure page redirect missing a parameter.

Version 4.18 (Beta) (19 Dec 2006)

1) General
  • Fix: Derived NetTalk methods had RETURN statement being generated below the Procedure Routines.
2) NetWebServer

My thanks go to Jens Eden, Marius Røksund and Ubaidullah Nubar who assisted tremendously with suggestions, and bug reports during the creation of this build. Thanks to my regular testing team remain, as always, a key part of making sure the WebServer functionality continues to grow at a fast pace.

  • Feature: Explicit support for mail & link buttons in browse, and on form. (See new example 29)
  • Feature: Implemented static-page-pre-compression support.
  • Feature: Added option to combine all common js and css files. (Means faster load time for first page.)
  • Feature: Added "Session Timeout" as a template option - WebServer procedure / Settings / Advanced tab.
  • Feature: Added Hyperlink-to-Form ability to browse columns. (See Example 30)
  • Feature: Added options on Form Layout tab to explicitly set form column widths.
  • Feature: Added option to Browse template to allow explicit setting of browse column width.
  • Feature: Added support for Timer to browse.
  • Feature: Added Horizontal Rule as an option for Form Field Display type. (tip:set equate to something like sep1)
  • Feature: Added "Text" as an option for Form Field Display type.
  • Feature: Added ability to span prompt/value/comment columns with Display field.
  • Feature: Added Charset as advanced option on WebServer procedure extension template.
  • Feature: Added PDF as Page Type option on NetWebPage.
  • Feature: New example 33 shows how to make a browse filtered by a related file drop-down.
  • Feature: Added "Must be logged in" and "Must be secure page" options to NetWebGraph extension.
  • Feature: Added "IF" option to Required fields on a form.
  • Change: Ajax turned on for Safari users.
  • Change: Some pre-defined browse column styles supported directly by template. (RightJustify et al.)
  • Change: Hyperlink properties for a browse column moved to new HyperLink tab
  • Change: Select buttons suppressed on child browses.
  • Change: Cancel & Close buttons suppressed on child browses.
  • Change: Question W24 added to docs to describe how to edit the standard error page. (See new Example 32)
  • Change: Changed "protocol" option on NetWebPage, to "Page Type".
  • Change: Added a option to Form Advanced tab, allowing View buttons to be visible even if Change buttons are also visible.
  • Change: File uploading now stores the short path to the uploaded file in the form field (after the form is submitted.) If the upload field is empty (ie nothing uploaded) then the existing file:field is not cleared. (See example 26)
  • Change: If a person enters a value into a lookup field, and presses Tab, then the focus skips over the lookup button and goes to the next input field.
  • Change: Uses TotalStyle, or BrowseFooterStyle in blank footer cells on browses.
  • Fix: Allowed lookups, from forms, to include child browse, which include the form file.
  • Fix: Better button support for Safari.
  • Fix: Enlarged loc:rowstyle variable
  • Fix: More Assignment after lookup, if destination field was not a field on the form.
  • Fix: Drop-list items handle special XML characters on refresh.
  • Fix: Allow styles to be set for Xp-Taskpanel menu via template.
  • Fix: Report "No records" popup message fixed.
  • Fix: XML header not being sent with NetWebPage in XML mode.
  • Fix: Small Select button, with a condition (generate error).
  • Fix: Field pictures could get lost doing multiple lookups on a form.
  • Fix: (regression) Radio buttons no longer read-only.
  • Fix: Removed excess " characters when generating META tag.
  • Fix: Better support for pictures on Form Fields.
  • Fix: June changed to Jun in _Splittime method.
  • Fix: bug in _SetUserAgent that incorrectly set the UserAgent if a form field called Opera exists.
  • Fix: declaration of CreateButton in netweb.inc too long for C5. Have shortened it.
  • Fix: In IE if an entry was typed into a lookup field the Focus got "lost".
  • Fix: Bug where "Bind to IP" didn't always work.
  • Fix: Program flow could get lost when multiple children, or children on forms, existed.
  • Fix: Greenbaring after ajax update of browse now applied.
  • Fix: Corrected problem where Browser sends excess CR/LF at the end of a POST.
   

Version 4.17 (Beta) (24 October 2006)

1) NetWebServer

Important: These changes may affect your program and stop it from compiling

  • Change: button.text field changed to button.textvalue to avoid clash with Clarions XML classes. If you get a compile error on a line like
    p_web.SaveButton.Text = 'Login'
    then change this to
    p_web.SaveButton.TextValue = 'Login'
     
  • The Javascript (JS) and Style (CSS) files have been changed. Some Images (PNG etc) have been added. Copy these from \Clarion6\3rdparty\LibSrc\NetWeb\Web folder into your Web folder.
     
  • The CSS Buttons classes have been consolidated somewhat. For your buttons I recommend using MainButton class for most buttons, use SmallButton for the SmallInsert etc and LookupButton class for the Lookup, and DateLookup buttons.

The following changes should not affect your existing program.

  • Feature: Added Children tab to Browse settings. See new Examples 25 & 31.
  • Feature: Horizontal layout of Radio Buttons
  • Feature: Files submitted via the "File Upload" form field type are saved in the "web\uploads" folder. See new Example 26.
  • Feature: Autonumbering on Insert, now (if there are child browses) does the ADD and jumps into CHANGE mode. As long as the user "Cancels" or "Saves" you're ok. However garbage collection recommended.
  • Feature: New tab style added - "XP-Tabs"
  • Feature: New tab style added - "None"
  • Feature: New Menu style added - XP-TaskPanel. See new Example 27.
  • Feature: (some) Submit buttons change to Disabled after being clicked.
  • Feature: "Protocol" option added to NetWebPage. HTML (default) and XML protocols available. See new Example 29.
  • Feature: Added ability to override the Sort field for Server-Side sorting.
  • Feature: Added ability to set height of Accordion on Menu, and Form templates. Style Sheet tab.
  • Feature: Filters tab added to Browse settings, includes Ranges and Conditional filters.
  • Feature: Display fields on forms can now have buttons, images and hyperlinks
  • Feature: Added optional button to Locator
  • Feature: Added ability to position Search button before View button on browses in Lookup mode.
  • Feature: Added loc:action to form to be (optionally) used in header.
  • Change: Renamed ImageWidth and ImageHeight members of NetWebButtonGroup to avoid clash with Clarion previewer.
  • Change: On a browse, if the "Message if Empty" is blank, then the whole table is not sent.
  • Change: Better support for IE7 (distinct from IE6)
  • Change: If browse has a Change button visible, then the View button is suppressed.
  • Fix: Bug in style (netweb.css) which caused Menu to appear slightly lower, and right, of where expected.
  • Fix: Bug setting Field Equate when field is not a field in the dictionary.
  • Fix: Bug setting duplicate field in Browse prop:order, when using MsSQL
  • Fix: Browse buttons that stopped working, if the browse was inside a form, and the browse had been refreshed after a form-field change.
  • Fix: Browse back-filled if Locator type is Position.
  • Fix: Corrected generation of Formtype=multipart
  • Fix: When doing a chained-login the whole URL is now preserved.
  • Fix: Resetting fields when a 'date' field is completed wasn't working.
  • Fix: When chaining through an unexpected Login form, in a Frame situation, the Target of the Login button could be set incorrectly.
  • Fix: Returning to multi-tab field after lookup returns to the correct tab.
  • Fix: Cancel buttons on lookups didn't always return to the Form correctly.
  • Fix: Browses without a header, or footer, suppress the <thead> and/or <tfoot> tags.
  • Fix: Reset field when date changed was not working.
  • Fix: Cookies not being set in IE correctly if it expires on a Friday, or Saturday. (Thanks Jono).
  • Fix: Fields primed on insert were being forgotten if a Lookup was done.
  • Fix Search, Cancel, Next, Previous, First, Last buttons all use the Button Position settings.
  • Docs: Added a new section called Using Browses And Forms on Static Pages to docs.
2) Email Receive
  • Fixed a bug with incoming partial packets. Specifically failed when working against a Dovecot server.

Version 4.16 (Beta) (13 Sept 2006)

1) NetWebServer

Acknowledgements:
This build would not have been possible without the dedicated effort of a small group of alpha-testers. My thanks go to Chris Cordes, Bram Klootwijk, Marius Røksund, Johan de Klerk, Richard Lee, Wolfgang Orth and Patrick De Laet. If your update is smooth it will be thanks to them, if not, it will be my fault.

Important: These changes may affect your program and stop it from compiling

  • >> In the NetWebSource procedures the SendString routine has been renamed to SendPacket. This brings it in line with the other templates. If you have hand-coded any calls to do SendString then you will get a compile Error "Routine not Defined". Make a note of the module, go to that module, and edit your hand-code. 
     
  • >> A number of Properties of the WebHandler class have changed. If you have used properties in hand-code, or in template fields, then you may get errors.
    For most of the WebHandler properties, the change is the addition of the word .SITE in the name. For example
    p_web.allowajax has changed to p_web.site.allowajax
    Button text has an additional change, there's now a dot ( . ) between button and text. So
    p_web.savebuttontext changes to p_web.site.savebutton.text
     
  • >> In an effort to disconnect the WebServer class and the WebHandler class the use of p_web.RequestData.WebServer.property or p_web.RequestData.WebServer.method is being discouraged.

    Where methods in the web server are useful we've added the method to the NetWebHandler class. For example
    p_web.RequestData.WebServer.AddStyle becomes p_web.AddStyle

    Where properties are being used those properties have been added to the site group. For example
    p_web.RequestDdata.WebServer.DatePicture becomes p_web.Site.DatePicture

The following changes should not affect your existing program.

  • Implemented new tag of the form <!-- Net:f:filename.ext --> where filename.ext is the name of a (text) file. This "includes" the specified file at that spot in the HTML page.
  • When parsing static, or dynamic pages, the <!-- NetWebServer --> tag is removed from the page
  • Site-Wide buttons support added. You can control button look from the WebServer procedure, Settings, Buttons tab.
  • Added "File Upload" as entry type for Forms.
  • NetWebSource procedures/tags can now be refreshed asynchronously from a timer.
  • HtmlCharset is now a property of the web server. Defaults to ISO-8859-1.
  • InitForm routine added to the generated form code. This allows for default UpdateFile, UpdateKey and KeyField parameters to be set in the form, and thus not passed by the link. See FAQ, W4 for changes.
  • Routines generated for all the form "cells" (ie all prompts, values and comments). This allows all cells to be updated asynchronously, triggered by the completion of any field on the form.
  • Parameters can be passed to Browses-Embedded-on-Forms (passed via the Value Queue).
  • Refresh Window when Date Changed is obsolete, and removed. Use "Reset fields" instead.
  • Date Lookup button uses standard Lookup button settings.
  • Ability to "reset" one field on a form when another is changed has been implemented. Especially useful for Dropdowns.
  • Dropdowns now have an "Order" field, so you can override the default order.
  • Dropdowns support INNER Joining on a "Linking" File.
  • Checkboxes on a form are no longer added to the Form as a HIDDEN field (to hold the False Value). The False value is set in the ValidateUpdate routine.
  • Lookups now display the "description" field in the comments column (if it's blank). If the user types in a code the description is updated automatically. TIP: If (in the dictionary) there's a key on the Description field in the lookup file, and the user types a Description into the code field, then the entry field, and comment fields are both updated.
  • Browses are "back-filled" by default.
  • Embedded HTML now defaults position if entered incorrectly.
  • Browses disable First / Previous / Next / Last buttons.
  • Added .LoginChanged method to NetWebHandler so there's a convenient embed point in the WebHandler procedure when a person logs in, or out.
  • Added DeleteSessionValue, and DeleteSession methods to NetWebWorker class.
  • If user has to be logged on to see a page, and hence is redirected to the Login page, then when pressing "Login" it now "chains" to original request (rather than going to the default first page).
  • Changed the CallForm generated procedure so that the URL is checked before the File handle when deciding which form to call. This allows for multiple Form procedures on the same File.
  • Form template layout simplified, and "flattened".
  • After doing an Insert or Update, the file fields are copied into the Value queue. This allows for fields set by a trigger (in the ABC code, for example an AutoNumber) to be used by subsequent procedures in the thread.
  • Hidden field "LookupFrom" has been changed to "FromForm"
  • Changed some equates in netweb.inc (the Form Stage equates) so they are all on their own "bit". Should have no impact on existing apps, unless you were depending on the value of the equate.
  • Server-side validation on form fields (REQ, Numeric etc) is only performed if the Field was visible to the user.
  • Corrected some internal code generating a double ?? when using some tags.
  • Corrected Browse bug where Next / Previous didn't work if sort column were all the same value.
  • Added URL support for conditional images in a browse.
  • Updated the explanation of Tags in the docs.
  • The documentation for Reports has been expanded considerably.
  • Fixed bug if Column Headings were turned off, and Sorting was set to "Server" or "Client".
  • Example 7 updated to show using Cookies to store the login & password in the browser.
  • Extended Examples 13 and 14 to show using an existing report that has "options" on the screen, and a "Pause" button.
  • Example 14 corrected to fix  some weird header formatting.
  • Example 23 added which shows how to do a browse on one table, but go to a form on a related table. (1-to-1 style relationship).
  • Example 24 added showing how to chain from one form to another.
  NetWebClient
  • An automatic re-direct now happens with a POST as well as with a FETCH.

Version 4.15 (Beta) (17 July 2006)

1) NetWebServer
  • The Open Files code in NetWebBrowse has been moved higher in the code so that you can include file fields in column headers etc.
  • Added optional routines for opening, closing, saving and restoring files in NetWebSource and NetWebPage procedures. Note that the Routines are generated (and called) in NetWebPage, and are generated, but not called in NetWebSource.
  • Translate Tab added to WebServer extension, Settings tab. Use this to change text for whole site.
  • Incorrect generate of %FormFieldTrue (for checkboxes on form) corrected.
  • Added new function to JavaScript file (NetWeb.Js) to automatically fix the transparent PNG bug in IE 5.5 and IE 6. Script was found by Carlos Gutiérrez (thanks Carlos.) Original script and explanation can be found here. FAQ, W21
    NOTE: To make use of this new script file copy it from one of the shipping examples to your \web\scripts folder.
  • The syntax for calling a form directly from a browse has been changed slightly. The FAQ, question W4 has been updated to reflect the new syntax.
  • Corrected template bug with generating Radio buttons "checked" attribute.
  • Fixed incorrect handling of key fields containing the word "GUID". If you are using Replicate GUID fields (or other Guid fields containing binary string data) then you must put the name in the webServer property _BinaryGuid. For example:
    ThisWebServer._BinaryGuid = 'guid'
  • Added CreateButton method to class to make code cleaner.
  • Added class (in CSS) for Lookup Buttons - default is LookupButton.
  • Added "More Assignments" button when doing a lookup (see FAQ, W21)
  • Added support for @D2 dates on Forms. See Basics doc for more info. NOTE The Calendar2.js script has been updated, Calendar1,js and Calendar3,js have been deprecated, and Calendar6.js has been added. Be sure to copy these into your application's web folder.
    If you get a Compile Error in your WebServer procedure, then go to the NetTalk Extension in the WebServer procedure, and reset the Date Picture to either dd/mm/yyyy or mm/dd/yyyy.
  • In Forms moved the call to StoreMem routine to the "Pre" calls to the form. This prevents "loc variables" (stored in the session queue) being overridden on return from a lookup or elsewhere.
  • Added support for NetWeb Procedures in other apps in a Multi-Dll situation. See Basics Doc, Multi-DLL section  for details.
  • Fixed support for Relational updates & Deletes.
  • On Browses the Unique, Unchanging Key field has moved from the Form tab to the General tab. This is because this key is used when the browse is used as a Lookup.
  • Fixed bug where View button (under browse) was not visible when Browse in lookup mode.
  • Browse in Form seems to be working pretty much 100% now. For now I don't recommend having more than 1 browse on a form, if the browses are page loaded.
2) Changed the FTP control template to use the specified progress control, rather than always using ?progress.

Version 4.14 (Beta) (29 May 2006)

1) NetWebServer
  • The introduction of cookies, and especially the Session cookie, has meant that some of the old ways of doing a logout (by deliberately resetting the Session) will no longer work.
    Question W17 has been added to the FAQ, and examples 3 and 4 have been updated to reflect the new, complete, logout techniques you can use.

Version 4.13 (Beta) (26 May 2006)

1) NetWebServer
  • Suppressed Windows style menu bar if person is not logged in, and all menu's require person to be logged in.
  • Added code to handle reports where there are no records. See example 13.
  • Fixed problem with OnLoads on NetWebPage
  • Allowed Style to be set on individual Row Buttons in a browse
  • Added Target to Cancel button URL
  • Added Target to Browse Row buttons
  • Fixed case where ProcessLink overridden in Webhandler leads to blank parameter.
  • Fixed descending numeric sorts on browses
  • Automatic detection of numeric browse columns leads to case sensitive sort.
  • Now generates Cancel code on lookup if Cancel button exists, even if Select button doesn't exist.
  • Clicking Cancel on lookup now returns to correct form.
  • Fixed problem where special buttons did not work if they had no text.
  • Fixed browse refresh when first record is added
  • Fixed browse refresh when last record is deleted
  • If a locator field exists, then it gets focus on the browse.
  • Fixed Focus selection on Forms.
  • Added support for cookies (see Basics doc)
  • Added a checkbox so that HTML can be included in browse columns (if desired.)
  • Fixed problem where form returned to home-page missing http:// part of URL.
  • Fixed bug with Browse that only has VIEW button, not Insert/Change/Delete.
  • Added ability to override message "no records" on reports.
  • Clicking LAST on page loaded browse with less than 1 page of data, now displays the data not "no records found".
  • Added "Close" button option to Browse.
  • Added "Select Item" example (19)
  • Added "Multi-DLL" example (20)

Version 4.12 (Beta) (2 May 2006)

1) NetFTP control templates
  • Fixed problem where template was expecting a pActive parameter as the seventh parameter. Older procedures didn't have this parameter, and so a compile error resulted. 

Version 4.11 (Beta) (21 April 2006)

1) NetWebServer
  • Changed browse position when returning from form. It now returns to the browse as it was before going to the form, rather than starting the browse page from the record just changed.
  • Fixed sort order getting lost when returning from Form.
  • Browse Locators on date columns now works.
  • Fixed URL generation on Auto-Lookups.
  • Added support for apps that don't have "Defer Opening Files Until Accessed" turned on.
    Tip: Turn on this switch if you can, otherwise performance may suffer.
  • Fixed PDF reports in Firefox browser
  • Fixed problem where locator was attached to no browse field .
  • Fixed problem where Last then Previous triggered "no records"
  • When sort orders change, Locator is cleared
  • Fixed a bug with Previous going back x-1 instead of x records.
  Notes: In 4.10 the behavior of the "read-only" checkbox, for Forms, for Dates and Lookups has changed. The Read-Only box now means that the field is Read-only and cannot be changed, either via typing, or by a lookup button. If you want the previous behavior (where the user could only change by using the lookup) then tick the new option "Force user to use lookup". Remember to un-check the Read-Only box.

Version 4.10 (Beta) (12 April 2006)

1) NetEmailReceive
  • Fixed an issue where an email with a single base64 encoded attachment could be missing up to the last 5 characters.
2) NetWebServer
  • Fixed bug where large white space could be sent if first item in HTML packet was a tag.
  • Fixed bug with Totaling where the column contained formatting.
  • Fixed bug with packet length when picture used in column header (could affect next/prev buttons and sort orders.)
  • Fixed possible GPF with badly formed "direct to form" link.
  • Fixed regression with Server-side sorting
  • Fixed some bugs in the examples.
  • added 'jump straight to lookup' option on forms.
  • added "Auto lookup on Insert" option on form fields.

Version 4.09 (Beta) (05 April 2006)

1) NetWebServer
  • Removed AUTO attribute that caused a problem in C5.5
  • Tweaked the template & class so that if the user is not logged in, but links to a page that requires a login, then it automatically redirects to the login page.
  • Added key fields to view of Browse
  • Added additional HTML embed points
  • Added support for 'Other' buttons in Browse
  • Fixed problem with 'next' button when Browse has no Form.
  • Changed Browse to use POSITION instead of key fields. More accurate paging on SQL Views.
  • Added URL option to browse columns.
  • Embeds of HTML 'after heading' and 'after sub heading' work even if headings are blank.
  • Sort parameter changed from 'Sort' to 'procedure_Sort' so that browses can be chained together.
  • Added "Display" as a field option for forms.
  • If date field is set to 'Read Only' then lookup button is suppressed.
  • Fixed application of button conditions if Insert/Change/Delete/View buttons not "in row".
  • Fixed bug when there was a pipe ( | ) in the external field name.
  • Added Example 13 and Example 14 (PDF reports)
  • Added 'Browse' as Form Field type. [ work in progress ]
2) FTP functions
  • The synchronous functions FtpUpload and FtpDownload functions now have an extra (optional) parameter that can specify to use Active or Passive mode. See 3rdParty\Examples\NetTalk\FTP Template for updated examples.

Version 4.08 (Beta) (24 Mar 2006)

1) NetWebServer
  • Fixed issue where IDE could GPF if there was a Drop-Down list box on a form, and you did a right-click source in the App tree.
  • Reactivated the Drop-down filter field which had gotton itself disabled.
  • Asynchronous browses re-instated
  • "Unique Key Name" now stored, and enforced.
  • Added support for Multi-Proj
  • Fixed a couple of template bugs in multi-records-on-one-row
  • View-Only forms have a "close" button not a "Cancel" button
  • View button added to Insert/Change/Delete above or below browse.
  • Changed prompt for lookup page from "Page" to "URL" for consistency sake.
  • Header & Footer of empty browses suppressed.
  • Fixed priming of drop-down value where value was a prefix, or suffix value.
  • Added conditions for Insert / Change / Delete / View buttons
  • Added support for pictures in form fields. (Pictures are not enforced during typing though.)

Version 4.06 (Beta) (16 Mar 2006)

New Features

1) NetWebServer
  • NetWeb.JS file has been updated - copy from any of the examples to your Scripts folder.
  • NetWebForm procedures : URL on Save/Cancel has been separated into URL on Save and URL on Cancel.
  • Browse column can be a URL or MailTo: clickable link.
  • Updated Example 3 to show various menu login and logout options (based on an example by Roberto Artigas)
  • Added "onClick" ability to Menus and Menu Items.
  • Fixed "maintain sessions" on Menus that went straight to a URL.
  • Beginnings of FAQ document added to documentation

Updates & fixes

1) Examples - Minor updates & tweaks
2) NetWebClient - Minor tweak to Proxy Connect code.
3) NetDemo - Put back a simple Web Server example.

 

Version 4.05 (Beta) (15 Mar 2006)

New Features

1) NetWebServer
  • Added support for Arrays. NOTE: Arrays are only supported in C6 or later.
  • Added support for unique key not being a Primary key
  • Corrected WebServer TXA included in install set
  • Added template support for filter on droplist View
  • Added support for NAME attribute on file fields.

Version 4.04 (Beta) (13 Mar 2006)

New Features

1) NetWebServer
  • Fixed template bug - initial sort order Case
  • Fixed regression - Position locator
  • Added option for server-side column sorts to be case sensitive, or case insensitive
  • Fixed inaccuracy in "count" total type
  • Added column formatting to browse totals
  • fixed bug with View Joins when relationship one-sided.
  • New Demo page available at:
    http://www.capesoft.com/nettalkdemos.htm
2) SSL - Can switch a NetSimple Server connection from non-secure to secure, using the self._SSLSwitchToSSL() method.
3) NetWebClient - added new code to allow the Web client to connect to HTTP proxies, when requesting HTTPS pages. These then switch to Secure mode on the fly. For now you'll need to set self.CertificateOptions.DontVerifyRemoteCertificateCommonName = 1 and self.CertificateOptions.DontVerifyRemoteCertificateWithCARoot = 1 to use this feature.
3) NetWebClient - added self.ProxyAuthentication and added an example of using this in the NetDemo application.

Updates & fixes

1) NetWebClient - added new code to allow the Web client to connect to HTTP proxies, when requesting HTTPS pages. These then switch to Secure mode on the fly. For now you'll need to set self.CertificateOptions.DontVerifyRemoteCertificateCommonName = 1 and self.CertificateOptions.DontVerifyRemoteCertificateWithCARoot = 1 to use this feature.

Version 4.03 (Beta) (10 Mar 2006)

New Features

1) NetWebServer
  • Change requiring a change: The Default Sort Order for the browse has changed from an Entry field on the Options tab, to a button on the General tab. Unfortunately all settings on this field will need to be redone.
  • Fix to allow " in form field values.
  • Fix to Memory Forms called after File forms
  • Additional Embed points added to template
  • Allowed "contains" filter on browse used as a lookup.
  • Width & Height of Text fields now settable
  • Scroll bar on read-only text boxes working
  • Class added for <body> tag (NetWebPage settings.)
  • property added for generic page <Body> class, ".BodyClass".
  • netweb.css updated
  • Added SendEmailFromWebBrowser example
  • Removed duplicate META tag from header.
  • "View" button support added
  • "blank until locator" bug fixed
  • HTML tab expanded on NetWebPage and NetWebForm, and added to NetwebBrowse
  • Much of 'Layout' tab in NetWebForm now obsolete.
  • Added URL option to MENU. ie Click on Menu itself causes Page Load.
  • Removed old WebServer1 Template Utility.
  • Added WebPageName option to Browse and Form
  • Added RightJustify, CenterJustify and LeftJustify styles to CSS file. Use these for Browse Column Styles.
  • Added Browse Totaling. (Note total only totals what is visible to the user.)
  • "Smarter" behavior when moving from browses to forms, lookups, view etc.
  • Fixed issue where pressing enter could load the form page (when it's not wanted)
  • Added - focus on form fields improved - when form opens, and when returning from a lookup.
  • now allowed to suppress Select button below browse (if select button in row.)

 

Updates & fixes

1) None

Version 4.02 (Beta) (1 Mar 2006)

New Features

1) NetWebServer
  • All browse functionalities are now set as local variables in the Browse procedure, and can be edited in Embed code.
  • Contains Locator added to types of locator supported
  • Table Blank until Locator entered option added to browse
  • Template message while waiting for locator added
  • Added methods to prevent script injections
  • Added new "special" folder, default is 'LoggedIn', user must be logged in before static pages, or files, from this folder will be served.

Updates & fixes

1) NetWebServer
  • Lookup now working correctly.
  • Changed dynamic page type to html from xhtml
  • Server-Side sorts now case-insensitive
  • Default Locator field now generated correctly, if entered.


Version 4.01 (Beta) (24 Feb 2006) - the 117th release of NetTalk

New Features

1) FAQ G7 - Updated to included changes needed for moving from NetTalk 3 to NetTalk 4
2) SSL - Client and Server SSL support added with Remote Certificate Verification.
For NetSimple - see NetSimple.Open
Note: The default SSL options now include:
• Remote Certificate Common Name must match Server name
• Remote Certificate must be issued by an Issuer found in CARoot file (which defaults to '.\CARoot.pem'
This implies you must ship a CARoot file or change this option.
These options are configurable.
(See also FAQ G8)
3) SSL Examples - NetDemo updated to included SSL options for NetSimple Client, NetSimple Server, Email Sending (SMTP), Email Receiving (POP3), Web Client (HTTPS), Web Server (HTTPS Server).
4) Secure Email Sending (self.SecureEmail) has now been split into two properties:
self.SSL - Which is the setting you'll use to make the whole communication use SSL. Gmail uses this option on port 465.
self.SecureEmailStartTLS - This setting will use the STARTTLS option which switches to SSL after performing a non-secure connection but before username/password or email contents are sent.
5) Added multiple IP and/or multiple Network Interface Card (NIC) support to NetAuto.
This now means that the Auto Detection sends a broadcast for each subnet and results in NetAuto working on machines with multiple IP or multiple NICs.
6) Added multiple Network Interface Card (NIC) support to NetGetIPList()
7) Changed almost all the ulongs to longs which gives a speed improvement across all objects. Which can yield speed improvements of up to 20%.
(The only method to have changed is NetEmailSend.CalcEmailName which we don't think anyone will be deriving, as derived code will now be orphaned. There were a few other methods that use ulongs, but these were not changed, as people may be deriving them.)
8) New LinkPoint (Credit Card Processing) Example. Requires a LinkPoint account (or a trial one), a LinkPoint Certificate (real or trial) and CapeSoft's xFiles.
9) Improved Error Number Reporting in NetSimple. Now there's self.Error (the NetSimple Error), self.WinSockError and self.SSLError
10) Email Receive New Option to Leave a Copy of Message on Server (using self.OptionsUseDoneBeforeQ and self.OptionsDelete = false), which uses a queue to keep a list of the emails that have been done before.
Also added self.OptionsDeleteAfterHours - which works with self.OptionsUseDoneBeforeQ to delete old emails off the server.
11) Email Receive Example with the Don't Download Again (self.OptionsUseDoneBeforeQ), which is the same as the NetDemo's TestEmailReceive window, except that it uses xFiles to load and save the queue to an xml file.
12) FTP  - Added a new FTP Template for using FTP.
Features:
• Easy to use (added using a template)
• One procedure call to upload or download a file
• Can take a queue of files.
• Can work with wildcards
• New FTP Example
13) Another New NetSimple Client & Server Example.
14) Close Apps Client - Changed so that the Shutdown command can pass a message. Also updated the Control template, and added a new embed point before the Init call, so you can potentially change the Service name.
15) Web Server Templates - More details in the NetSimple - Web Server documentation.

Updates & Fixes

1) NetWebServer.Open() - Could lock up (deadlock) if it was the first NetTalk object to be called. Fixed.
2) NetEmailReceive() - Further tweaks for extended Mime decoding.
3) Dial Up - Fixed deadlock (only was in NetTalk for Clarion 6.x ) when pressing adding or editing Dial Up connection entries.
4) Updated SSL DLLs - NetTalk now shipping with SSL DLLs v0.9.8
5) SSL - SSL new default SSL Method (self.SSLMethod = NET:SSLMethodSSLv23) which means that the connection tries to connect in the following order TLS v1.0, SSL v3.0, SSL v2.0 (e.g. Most secure method first)
6) Renamed some of the exported NetTalk DLL functions, so that they conform to either NetSimple... or NetAuto... format. (This will require that the object and DLL use the same versions otherwise "Unresolved Externals" or "Unknown Function Labels"  will occur.)
7) FTP - Fix for Apache FTP Servers that require the TYPE A / TYPE I command to be capitalized.
8) General - NET:StdStringSize changed from 81 to 80. Max length of string to use should be NET:StdStringSize - 1
9) Email Send & Email Receive - Fixed some potential memory leaks.
10) Web Server - Fixed garbage collector.
11) Improved support for working as a Service. Added NetOption (NET:SetIAmAService) call (automatically called by SelfService) so NetTalk doesn't shutdown on Log Off.
12) NetEmailSend - fixed a double dot problem where a . could occasionally be incorrectly transformed into ..

Version 3.40 (Gold) (21 June  2005)

New Features

1) In NetWebClient object there's a new property:
self.CustomHeader   (string(4096)). Which is added to the request header in ._CreateRequestHeader()
Note - must not have trailing <13,10>

Updates & Fixes

1) NetWebClient.TextOnly() - Some of the code was Case Sensitive, when it should have been Case Insensitive.
2) Clarion 6.2 Fix. Slight tweak to Email and News Objects to remove compiler warning message "Warning: Field label is duplicated, first used: _ObjectType"
3) Clarion 6.2 Fix. Recompiled DLL in Clarion 6.2 9046 - which fixes a delete queue GPF issue which was present in 9045.
Requires Clarion 6.2 9046 if you are using this with Clarion 6.2.
4) Tempate Help Button Fixed. Also made slight tweaks to the install script.

Version 3.29 (Gold) (13 May  2005)

New Features

1) NetTalk objects (not NetSimple) have finally been renamed in the documentation to NetAuto objects to prevent further confusion. Similarly the NetTalk protocol has been renamed to the NetAuto protocol too.

Updates & Fixes

1) Changed NetTalk to use our own _NetCriticalSection, as the one in CwSynchC.inc has private attributes which prevent it from being re-used and tweaked correctly. NetGetCriticalSection DLL function renamed to NetGet_NetCriticalSection. If you get compiler errors then see FAQ Article A3 and upgrade to NetTalk v3.29 or greater. (Also changed the DLL to use a reference to _NetCriticalSection)
2) NetAuto - DLL. ,static added to DLL CallBackWindowSrc's variable Static:LastTime used in CheckNotifier Routine
3) NetAuto - Added a work around for Windows Firewall, where the NetAuto objects could sometimes not receive incoming UDP packets at program start just after machine reboot. This resulted in other public instances not being "visible". The work around only gets run if the application starts within the first 5 minutes after boot up, and then it does NetSendBroadcast after 30 seconds, 60 seconds and 300 seconds, to ensure it can see all other instances.
4) NetAuto. Added a slight random delay before sending back a ICanDoBack packet after receiving a ICanDo packet. This improves the chances of not congesting a network with a flood of responses.
5) NetAuto & Template. A new method NetServer.Announce() allows the NetServer.Init(), NetServer.Kill() and NetClient.Init() and NetClient.Kill() to delay the broadcast of new services, so that one can Init all services before doing the Announce(). This drastically reduces the number of ICanDo and ICanDoBack packets during startup and shutdown of NetAuto objects. The template has been changed to accommodate these changes to. Also redundant ICanDo sending has been minimized in the DLL too.

Version 3.28 (Gold) (1 April 2005)

New Features

1) New Special Option in the Template "Fix all my bugs". Added 1 April 2005.
2) Added External Run-Time DLL support to the template. Please don't use this unless you know what you are doing otherwise you'll end up with Unresolved Link errors.

Updates & Fixes

1) NetAutoGetServers() - will now return -22 (ERROR:BadOptions) if it is passed a Queue which points to null.
2) Updated NetWeb.tpw & _NetWebServerWorker.FileToSessionQueue()
3) NetOptions now allows you to call SetMaxInstances after the DLL is active, although this won't have the full effect of allowing to have multiple instances on the current machine, but it will allow you to talk to multiple instances on other machines.
4) WinSock Listen function changed to use the WinSock2 SOMAXCONN value when WinSock2 is available. This leads to slight performance increases, and may reduce 10055 errors (WSANOBUFS).
5) DIP - template and examples updated to use dip.capesoft.net - which is a server based in the States.
6) Web Client - Fix if the web server returns just "HTTP/1.1 302" instead of "HTTP/1.1 302 Moved Temporarily".
7) Email Receive - Fixed the code where it would sometime chop off the last five bytes of the text or html portion in a simple email with no multiparts.

Version 3.27 (Gold) (7 February 2005)

New Features

1) NetTalk DLL Source Code is now available for purchase. More information is available here.
(It may take a day or so until it's fully uploaded and can be ordered).
2) New Legacy Email example & new Legacy Multi-DLL example.

Updates & Fixes

1) NetWebClient. Fixed a bug in the _SendCommand() method which affects large POST operations that could cause Index out of Range.

Version 3.26 (Gold) (26 January 2005)

New Features

1) Added DLL Version information to the NetTalk DLLs.
2) Added new property to the NetEmailReceive object .OptionsIncludeTextAttachmentsInText which will store text attachments into the text portion of the email. Off by default. Previous versions of NetEmailReceive had this feature on by default, so if you want the feature on (most folk don't) then please set this property to 1.
3) NetEmailSend - Added self.OptionsAttachmentContentType property which lets you override the default Attachment Content Type of 'application/x-unknown'

Updates & Fixes

1) NetCloseApps. Changed the Warning and Shutdown window, so that they display centered, which fixes a bug (only in NetTalk for Clarion 6.1) where these windows were not visible on the second monitor
3) NetWebClient - Fix for some https sites.
4) NetWebClient - now sets the cookie into the cookie property on redirects unless you specify the new property self.OptionsDontSetCookieOnRedirect
5) NetWebServer - updated Web Server Control Template - so that you can optionally see the last transaction, and a log history. Very useful when you are developing a Web Server site.
6) NetWebClient - TextOnly() split into 3 methods. Also clears <script> and <style> HTML tags.
7) Template - #Application changed for NetRefresh (Thanks Arnor).
8) Inversed Index Ranges for String Slicing checked for and fixed in some places.
9) NetRefresh - Added new #At and new parameter to the NetRefresh.Send method. This adds support for the Dynamic Driver.
10) NetDip - Changed self.MyIPAddress from cstring(15) to cstring(16) as it was one character too short, and was loosing this last character in the IP address.
11) NetEmailReceive - Fix for email decoding where Content-Type: text/html & Content-Transfer-Encoding: base64
12) NetSimple - Minor tweaks to the Idle Timeout code.

Version 3.25 (Gold) (7 December 2004)

New Features

1) (none)

Updates & Fixes

1) Removed duplicate FTPError property from the NetFTPClientControl object.
2) Template Fix for EmailSend Control Template, which was causing a %NoThisObj error.
3) Added a ReParseSetting() method to the NetWebServerWorker object.

Version 3.24 (Gold) (15 November 2004)

New Features

1) (none)

Updates & Fixes

1) Fix to the WebServer Utility Template. Also included the images it uses.

Version 3.23 (Gold) (9 November 2004)

New Features

1) Critical Change - may impact your applications Added Useful information about upgrading from NetTalk version 2 to version 3.
Please read FAQ G7 - What's changed in NetSimple from version 2 to version 3
2) NetSimple. Renamed Net:SimpleDataPacket to Net:SimplePartialPacket
(but kept original for backward compatability - for now. May remove it later)
3) NetSimple. WholePacket handling
Added methods and properties to allow you to send and receive Whole Packets.
This will also allow you to send data to your own applications and preserve the packet boundaries. See NetSimple Methods and Properties.  For example self.WholePacketUseLengthField and self.WholePacketSend
4) NetWebServer. Utility Template
Added a Utility template to import in the two Web Server procedures, which includes sample code.

Updates & Fixes

1) (none)

Version 3.22 (Gold) (4 November 2004)

New Features

1) (none)

Updates & Fixes

1) NetEmailReceive. _SplitParam and _SplitParam2 parameter change from (String p_String...) to (*String p_String)
2) NetEmailSend Control Template - Setting options to use or not use the Display() and Cursor commands. Also change the FileDialog command to restore path.
3) Template - Further cosmetic changes.
4) NetWebserver - Fixed bug in CreateHeader() where some fields had missing colons. e.g. Connection:

Version 3.21 (Gold) (20 October 2004)

New Features