NetTalk Upgrade to NetTalk 11
This document works through the major changes between NetTalk
10 and NetTalk 11. It is designed for users, currently experienced with NetTalk 10 to quickly
identify and use the new features in NetTalk 11.
It covers things that are likely to break when you upgrade your app, and
instructions on how to correct the application to allow for a smooth upgrade. It also covers other new features which you may wish to
make use of in your application.
I've upgraded to NetTalk 11 and I'm getting Compile Errors!
The most common cause for compile errors (in NetTalk class code, or generated code) is because one of the other related tools you are using has not been updated.
Especially StringTheory and xFiles.
StringTheory version 2.88 or later is
If you are getting compile errors in your embed code then see the list below for the various changes.
The goal of this section is a quick overview of things that have
changed since NetTalk 10 which experienced NetTalk 10 users will want to know about.
NetTalk uses many of the latest
methods and functions in the following products. If you are using these then
please update them at the same time.
File Explorer 5
- All NetSimple classes (Email, Web etc) can specify the
expected name of a certificate if it's known, but does not match
the Host name for the connection.
- All Web Client HTTP Methods (GET, POST, PATCH, UPDATE, DELETE) can
take a StringTheory object as the URL and/or Data parameters.
- WebClient custom cipherlist support added
- WebClient supports SetValue for GET/FETCH methods.
- NetOAuth class gets new parameter
pExpectedCertificateCommonName, and support for new grant
- Email gets new method SetAttachmentFileName. Can be used to
override incoming attachment names before they are saved.
method renamed to SaveFile. Makes it easier to embed code before
or after saving attachments.
- Upgraded to jQueryUI 1.12.1
- Added new theme - ui-darkness
- Upgraded to Redactor 3. (Alignment, Fontcolor, FontFamily
and FontSize plugins are all included by default.)
- New form-field type (and Browse EIP type) -
(live via web sockets)
- Rubberband selection added to Browses
- Added "print" CSS classes to improve printing.
- Menus improved.
- Updated default CipherList to remove all RSA options.
- jQuery-Mobile support removed. (Was already deprecated in
- Removed deprecated menus "chrome" and "Xp-TaskPanel"
Web API Server
- UpdateInsert action support added to Web Service Methods
- Get action can get multiple records (from ID in parameter
- All documentation for a Service can be displayed (and thus
printed etc) on one page.
- Method documentation include working TryIt option for live testing of the API.
Changes Required to Convert your App from NetTalk 10 to NetTalk 11
TLS Connections require Visual Studio Runtime
NetTalk 11 makes use of OpenSSL version 1.1.1.x for maximum security and protection for your program. This was compiled in Visual Studio 2017,
and so requires that the
Visual Studio 2017 (x86) runtime
be installed on the target machine. Most desktop machines will have this installed
already, but servers, especially servers dedicated to your NetTalk WebServer app probably do not. You will need this installed on machines where you offer TLS
Client or Server connections.
- Internal properties _CommandURL,
_TempRedirectURL have been
refactored and renamed to _CommandURLst,
_TempRedirectURLst. This should not affect programs unless
they have used these in embed code (which is unlikely.)
- Internal method _CheckForHTTPS has been removed - unlikely
to affect programs.
- CompleteURL method now takes StringTheory parameter -
unlikely to affect programs.
- _SaveFile method has been renamed to SaveFile.
Refresh Buttons and Global styles in Web Server procedure
If you have not customized your global styles, and global button settings, then this would be a good time to revert them to default values.
You can do this in the WebServer procedure by deleting all the buttons, (they scroll around - each deleted one is added to
the bottom of the list) and by using the
various Reset to Defaults checkboxes on the Styles tab.
jQuery-Mobile support removed
Support for jQuery-Mobile was added in NetTalk 6 and was really
helpful in allowing apps to work well on small screens. However with
the support added in NetTalk 10 for responsive pages the need for a
second client-side framework was removed and the feature was
deprecated. In NetTalk 11 support for jQuery-Mobile has been removed
from template set. This simplifies a lot of code, and also reduces
some clutter on the template windows.
properties and methods have been removed from the classes. If you
are using these in your embed code then you can remove usage of them
jQuery UI Updated
The jQuery UI library has been updated from build 1.10.4 to 1.12.4. This has several implications as far as themes goes.
- Shipping themes have been updated
- The old theme\whatever\jquery-ui.css
file has been removed, and replaced with
theme\whatever\jquery-ui.theme.css. In addition
jquery-ui.structure.css has been added
to the \web\styles folder.
- If you have a custom ThemeRoller theme, then open the old
jquery-ui.css file, and go to the link
noted at the top of the file (typically line 4). This will put your
theme back into ThemeRoller, and from there you can download the
1.12.4 version of the theme. From the download copy
jquery-ui.theme.css to your theme
- The \theme\whatever\nettalk-ui.css
file has also been updated so that it contains most (or all) of the
colors declared elsewhere in the styles. This makes it easier to
edit the colors for a theme in one place. See the top of this file
for setting the preferred font for your app as well.
_divHeader and _divFooter deprecated methods have been removed. Use DivHeader and DivFooter instead.
Auto-Select Rest Parameter Removed
In NetTalk 10 a REST parameter is selected as;
- The specified REST parameter is used (if it exists) else
- The Primary Key Field of the first Table parameter is used (if it exists) else
- The first non-table parameter is used as the REST parameter.
This can lead to some strange effects because the first parameter could be an unusual type for this.
So from NetTalk 11 the 3rd step above is removed.
REST parameter is specified, and no Table is used, then there is no REST parameter.
[End of this document]