The goal of this section is a quick overview of things that have
changed since NetTalk 9 which experienced NetTalk 9 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.
There are a large number of new classes included in NetTalk 10. Here is a list, with links to their respective documentation.
- NetLDAP - including access to Active Directory Directory Services.
- NetOAuth - client-side support for
Web services that use OAuth logins.
- NetDrive - a wrapper for popular cloud storage, include Dropbox,
Google Drive and Microsoft Onedrive.
- WebSocketClient - for
interacting with servers that use the WebSockets protocol.
- NetWholePacket -
split from the NetSimple class
- NetMaps - for including interactive Maps functionality in Desktop
- NetSageOne - example class for interacting with the SageOne
Several classes have undergone major refactoring to make them easier to use, faster, and more consistent with the other classes.
Her is a list to these classes with specific upgrade notes for those classes. While initial compiles may
OpenSSL support has been upgraded to version 1.1 (from 1.0) which means all new DLL names.
See the section
Deploying a TLS Client or Server
for more details.
for SSLv2 and SSLv3 has been removed. The equates
have been removed. If you code is using one of
these remove the assignment (and let the default value apply.)
Documentation is a process, not an event. It is an ongoing effort to
make sure that all information is topical, up to date, and accurate. As
such if you find documentation confusing, or inaccurate, then please
report it so it can be updated.
If you encounter cases where documentation is hard to find (starting at
) then please report that as
- Runtime Settings Control Template
- Refresh Server Cache button - clear the server side cache without restarting the server.
- Support for Ranges in requests.
- Save Form, without saving (aka Interim Save) support added to forms.
- New Themes, Base and Material17.
During the NetTalk 9 releases the _GetContentType method was renamed to GetContentType.
So if you are upgrading from an earlier NT9 build, or possibly an
earlier build, and you have used _GetContentType in your embed code,
then remove the underscore from the name.
Port Numbers Possibly Incorrect
The setting for the Port Number has changed. the server can now
listen on 2 ports. (See Listening on 2
for more on this.)
If you have an insecure server, ie one serving on a non SSL port
(like port 80), then it's likely the conversion from NetTalk 9
has mis-aligned your template setting
The setting you had will go to
the Listen on Secure Port
You will need to
move this to the Listen on Insecure Port
This is in the WebServer procedure, General tab.
If you fail to correct this you will see the following error
message when the program starts;Secure Port set to
80, but no Server Domain names are set. Server will run, but is not
Changes to SSL Setup and Naming Convention
In NetTalk 8, setting up a site for TLS support consisted of a
single Certificate setting. In NetTalk 9 this grew to 3 settings,
allowing a comma separated list for CRT, KEY and Host names. In
NetTalk 10 this is reduced again to a single setting, Host
, and it is moved from the Security tab to the General
This is a Comma Separated list meaning that a single server can
serve multiple domains.
To simplify the setup, the previously
recommended naming convention for certificates is now mandatory.
CRT and KEY files must be named in the form domain.CRT and
domain.KEY. For example, for the site
, the CRT file
is named www.capesoft.com.crt
and the key file is
The CRT and KEY file belong in the
folder (by default, a child folder of
the EXE folder.) the Certificates folder though can be set to a
different location by changing the
property. It is also a setting
which can be set via the new Settings Control Template.
Listening on 2 Ports
When NetTalk 4 came out (circa 2006) it was reasonable common for web servers to mix secure serving with insecure serving, depending on
where on the site the user was. Through NetTalk 9 this was accomplished by having 2 Server objects in the WebServer procedure, one set up to listen on
one port (say Port 80) and the other setup to listen on another port (say Port 443).
The web has progressed over the years and these days mixing
secure and insecure pages is considered bad. So it became common to
set the insecure port to simply redirect to the the secure port.
In NetTalk 10 the server is now able to listen on 2 ports, and
so it becomes trivial to set the server to listen on an insecure
port, and automatically respond with a 301 Moved Permanently
message to the browser which then knows to use the secure port
It will thus be necessary to remove the second
object in the WebServer procedure, and just set the two port numbers
for the primary object correctly.
To enable responsive code generation;
Defaults Tab, Browse Tab, Layout Method, Children Layout Method, Set
both to Div.
WebServer procedure, Defaults Tab, Form Tab, Layout
Method, Set Div.