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.
New Classes
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
programs.
Refactored Classes
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
- NetSimple - Minor
cosmetic changes.
- NetWholePacket
- Code simplified, excess properties removed.
- NetWebClient - Some
properties change to StringTheory, some methods renamed.
- NetEmail - Some properties change to StringTheory,
some methods removed.
OpenSSL Updates
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.
Support
for SSLv2 and SSLv3 has been removed. The equates
NET:SSLMethod3TLS,
NET:SSLMethodSSLv23,
NET:SSLMethodSSLv2,
NET:SSLMethodSSLv3 have been removed. If you code is using one of
these remove the assignment (and let the default value apply.)
Documentation
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
the
Index) then please report that as
well.
Quicklist
- 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
Date Lookup Button
The Date Lookup button now uses the global button settings, not just the Datepicker icon. You can therefore change the text, and icon,
globally in the Web Server procedure on the buttons tab. the text may currently be set to
..., so this will likely need (want) to be removed.
GetContentType
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
Ports 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 setting.
You will need to
move this to the
Listen on Insecure Port setting.
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
secure.
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
Names, and it is moved from the Security tab to the General
Tab.
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
www.capesoft.com, the CRT file
is named
www.capesoft.com.crt
and the key file is
www.capesoft.com.key .
The CRT and KEY file belong in the
Certificates folder (by default, a child folder of
the EXE folder.) the Certificates folder though can be set to a
different location by changing the
p_web.site.CertificatesPath 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
instead.
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.
Responsive Layout
To enable responsive code generation;
WebServer procedure,
Defaults Tab, Browse Tab, Layout Method, Children Layout Method, Set
both to Div.
WebServer procedure, Defaults Tab, Form Tab, Layout
Method, Set Div.