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
capesoft.com,
the CRT file is named
capesoft.com.crt
and the key file is
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.