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.