General Tab
Listen on Port Number
Each server listens on a "port". This allows multiple servers to run on the same machine. Only one program can
be listening on a specific port at a time. That is how TCP/IP works.
The default port number for normal web sites is 80. The default for secure websites is 443. The default for NetTalk examples is 88.
The port number you enter here will be used for this server
(regardless of whether the server is SSL or not.) The common values
(80 and 443) are just common values, you don't need to use them -
your server can use any port you like.
However the browser
knows about common values too, so when the port number is omitted
from the URL it defaults to the common value. For example,
http://www.capesoft.com
is the same as
http://www.capesoft.com:80
and
https://www.clarionshop.com
is the same as
https://www.clarionshop.com:443. If you use an uncommon port
number for your server then your users will need to explicitly use
the port number when accessing the server. For example, the shipping
examples all use port 88, so the URL to get to them (when running
the browser on the same machine as the server) is
http://127.0.0.1:88.
Handler Procedure
This is the name of your WebHandler procedure. the default name for this procedure is
WebHandler, and it's
a good idea to stick to the default name.
Web Directory
This is the name of the web folder, typically a sub-directory of the application folder. Files in the web folder
can be downloaded by the browser. It contains (in sub-folders) all the files that your site needs, like
JavaScript files, CSS files, Images and so on. The default name is
'web'.
Default Page
This is the name of the html file, or procedure, which will be called when the URL does not contain an
actual name. The default in most of the examples is
'Indexpage' which corresponds to a procedure in the app.
Login Page
This is the page that contains the Login form (if one exists). This is then called automatically when the
user tries to access a page which requires them to be logged in (when they are not already logged in.) Typically
this is a Form procedure in the app (but it could be a static HTM page.)
Login Page is a Control
If the Login Page is a NetWebForm procedure (which is recommended), then tick this option on.
Date Picture
You are able to set the default date picture for the web site here. This value will be placed in
p_web.site.DatePicture,
which in turn can be used in any place where a date picture is required. This allows you to change the default date picture
globally. You can make the date picture variable, or even set per-user, by setting the
self.site.DatePicture property in the
Webhandler procedure,
ProcessLink method, before the parent call.
Note that date pictures up to D16 are supported. D17 and D18 specifically have no meaning in a web app, and are
explicitly not supported.
Generic-Page Header Tag
All generated pages consist of three parts. The header, the footer and the content body. Enter the name of the
header procedure (usually a NetWebSource procedure) here, in "tag" form. For example if the procedure is called
PageHeader then the tag is
'<!-- Net:PageHeader -->'.
The generic-header (and generic footer) are wrapped around
NetWebBrowse, NetWebForm and NetWebYear controls when those controls
are called as a stand-alone page. The generic header and footer can
be overridden at the procedure level for specific browses and forms
etc.
Generic-Page Footer Tag
See Generic-Page Header tag above.
Wrap Content with
ContentBody Div
Tick this on to make use of the Content-Body
feature. The Content Body is a DIV block around all the content between the header and the footer.
It can make navigation through the application faster, and smoother.
Default Page Title
The page title is what the browser displays in the caption bar when looking at a specific page. You can set this
at the procedure level, however you can enter a generic app name here for pages that do not have a specific title set.
Suppress Error Messages
If this option is off, then the server will display error messages in a MESSAGE box to you as they occur. Most
errors though, in the web context, are expected, and harmless. This option must be off for deployment, or your
web server will stall when a message is displayed. However it can be useful to have this on when
experiencing a
problem in the server - especially a problem when deploying a new server (which you are
struggling to connect to.)
Defaults Tab
Browse
Doubleclick Row to Form
If this is on the user can double-click on a browse row to open the form.
Form
(On Delete) Prompt for Confirmation
If the user clicks on the Delete button on a FORM, then a message will be displayed asking them to confirm
before the record is actually deleted.
(On Cancel) Prompt for Confirmation
If the user is on a form, and clicks on the Cancel button, and some fields on the form have changed, then
the user will get a confirmation message asking them to confirm the Cancel before the changes are abandonned.
Mobile Tab
Support Mobile Browsers
Tick this on to allow the site to be served in either Desktop mode, or Mobile mode.
Browses - Header Fixed
If on then fixes the browse header at the top of the pane. If off then the header is fixed to the top
of the page, and moves upwards as the user scrolls down the page.
Browses - Footer Fixed
See Browses - Header Fixed above.
Forms - Header Fixed
See Browses - Header Fixed above.
Forms - Footer Fixed
See Browses - Header Fixed above.
Max Mobile Resolution
This is used to detect if a connecting device is mobile or not.
If a device connects to the server, and has a screen size greater than the resolution entered here,
then the site will be served in Desktop mode, and not Mobile mode.
Scripts Tab
NetTalk contains default functionality that is based on JavaScript. If you are not using this functionality
then it's a good idea to exclude these scripts from your application, as this will result in smaller JavaScript
requirements, and therefore faster initial load times for the app. The various script options are listed below.
NetTalk supports multiple WYSIWYG HTML editor scripts. By setting the default here (and using the
default as
the field level setting) it's easy to change the editor used by an application in one place. It also allows
the setting to be applied at runtime, on a user-by-user basis allowing users to select the editor they prefer.
Note that you still need to include the possible scripts for the editors (including the default) in the settings below.
Include TinyMCE HTML Editor Script
The TinyMCE Editor is one of the offered HTML editors, which allow users to enter WYSIWYG HTML into a Text
field in your app. Tick this option on if this is your preferred editor.
Include Redactor HTML Editor Script
Redactor is the other offered HTML editor. Use this one
instead of (or in addition to TinyMCE) if you prefer it.
Redactor Language
Redactor supports the use of multiple languages. If you are using a language other than
English you can enter the language code
here. For more information on Redactor language codes see
here.
Include Calendar Script
The Calendar script refers to the NetWebYear procedure type. If you have any NetWebYear based procedures in your
application then tick this on. If not you can turn it off. This does not affect the date-lookup control at all.
Include Gallery Script
The Image Gallery is a Form Field type, which allows you to display one, or more, pictures in a gallery
format. Tick this script on if you have a form with this field type.
Include Media Script
The Media script allows your page to contain non-HTML fields containing other media, like PDF files, sound,
movies and so on. Read more about the Media control
here.
Include File Upload Script
The File Upload script allows your user to upload files with a lot more feedback, and control than the native
HTML file Upload field. If you allow your users to upload Files to your site, then you will probably want to make use of
this feature. You can read more about File Uploading
here.
Include Google Maps Script
Work-in-progress - Do not tick this on for now.
Scripts Directory
To make organization easier, all JavaScript files are grouped together for convenience. the default sub folder
where this is done is the
'scripts' folder. You can change this if you like (but for various reasons, it's not
recommended.)
Scripts
Additional script files can be added to your application. Click on the Insert button to add a new
file, or the Properties button to change an existing entry in the list.
Script File Name
The name of the file to add. You should not include the scripts folder name - just the name of the
scripts file. For example
'signature.js'.
Browser
By default the JavaScript will be served to all browser types. However it is possible
to restrict the use of the JavaScript file, based on the browser being used.
Desktop
Tick this on if this script should be included in the app when it is in Desktop mode.
Mobile
Tick this on if this script should be included in the app when it is in Mobile mode.
Included in All.Js
Tick this on if you want the script to be included into All.Js. This is recommended to make the site
as fast as possible.
"
Suppress CacheCheck for this file.
Prevents the ?c=1 parameter from being
added to the HTML for this file. This can be used in cases where passing the parameter would cause the
remote server to complain. In other words may be necessary for scripts being served by other servers.
Include JS for Chrome Menu
The Chrome menu and XP-TaskPanel menu types are
deprecated and should no longer be used. However these are still included for backward-compatibility reasons.
If you are using these menu types then either change to a new type, or tick this option on. (Remember to turn
on the similar option on CSS tab as well.)
Include JS for XP-TaskPanel menu
See option for Chrome menu above.
Run GZIPALL
The app creates a batch file for combining and compressing the CSS and JS files. If you manually change
these files, then you will want to re-run the batch file. You can do that from Windows Explorer, or by
pressing this button.
Styles Tab
Site Tab
Reset to Defaults
Tick this option on, then off, to reset the CSS settings on this tab back to their default values.
HTML Class
Is applied to the <HTML> tag on every generated page. Defaults to
'nt-html'.
Body Class
Is applied to the <BODY> tag on each generated page. Defaults to
'nt-body'.
Body Div Class
Each generated <BODY> contains an immediate DIV which wraps all the contents
of the body. ie it wraps around the Header, Content body and Footer. This defaults to
'nt-body-div'.
Content Body Div Class
The content body wraps around all the html after the Header but before the footer. Defaults to
'nt-left'.
Busy Div
This <DIV> contains the busy graphic, the spinning wheel. Defaults to
'nt-busy'.
Busy Image
This is the name of the image to use for the spinning wheel. Defaults to
'/images/_busy.gif'.
Validation Message
This is the <DIV> surrounding the on-screen error messages. Defaults to
'nt-width-50 nt-alert ui-state-error ui-corner-all'.
Google Fonts
Google Fonts allow you to embed additional fonts, from the
Google Fonts library on your web page.
Some of the following features are in beta (by
Google) so it's a good idea to read the
Google Fonts primer.
Google Font
The name of the font to add. Note that this is case sensitive.
Regular
If you are going to use the regular form of the font, tick this on.
Bold
If you are going to use the bold form of the font, tick this on.
Italic
If you are going to use the italic form of the font, tick this on.
Bolditalic
If you are going to use the bold italic form of the font, tick this on.
Include in Desktop
Allow for this font to be used when the pages are displayed in Desktop mode.
Include in Mobile
Allow for this font to be used when the pages are displayed in Mobile mode.
Script Subset
This field is a Comma Separated List. Some of the fonts support more than one Charset. To
minimize the charsets needed you can use this setting.
To see a list of charsets see the
Google document.
Alphabet
If you are only going to use a small subset of the characters in the font, like in a single heading, then you can enter that subset here.
Font Effects
This field is a Pipe Separated List. Font Effects can be applied to fonts. To see a list of font effects, see the
Google document.
Browse Tab
Reset to Defaults
Tick this option on, then off, to reset the CSS settings on this tab back to their default values.
Div
The DIV tag that surrounds the whole browse procedure. Defaults to
'nt-left'.
Heading
Defaults to
'nt-header nt-browse-header'.
Subheading
Defaults to
'nt-header nt-browse-header-sub'.
Table Div
The DIV which surrounds the browse table. Defaults to
'ui-widget'.
Table
The browse table itself, which includes the header, body and footer of the table. Defaults to
'nt-browse-table ui-widget-content ui-corner-all'.
Header
The header part of the table. Defaults to
'ui-widget-header nt-browse-table-header'.
Body
The body part of the table. Defaults to
'nt-browse-table-body'.
Row
The row part of the table. Defaults to
'nt-browse-table-row'.
Footer
The footer part of the table, for columns that have a footer. Defaults to
'nt-browse-table-footer'.
Footer (empty)
The footer part of the table for columns that do not have a footer. Defaults to
'nt-browse-table-footer-empty'.
Locator
Defaults to
'nt-locator'.
Locator Btn Set
Defaults to
''.
Navigation Btn Set
Defaults to
''.
Update Btn Set
Defaults to
''.
Select Btn Set
Defaults to
''.
Hyperlinks
Defaults to
''.
Empty
Defaults to
''.
Edit Entry
Defaults to
'nt-browse-entry'.
Edit Text
Defaults to
'nt-browse-entry'.
Edit Date
Defaults to
'nt-browse-entry'.
Edit Drop
Defaults to
'nt-browse-entry'.
Edit Drop Option
Defaults to
'nt-browse-entry'.
Edit Check
Defaults to
'nt-browse-entry'.
Other button (w/text)
Is applied to "Other" buttons added to he browse, where the button contains text. Defaults to
''.
Other Button (wo/text)
Is applied to "Other" buttons added to he browse, where the button does not contain any text. Defaults to
''.
Mouseover Style
Is applied to browse rows as the mouse moves over them. Defaults to
''.
Highlight Style
Is applied to the currently selected browse row. Defaults to
''.
Greenbar One Style
Applies to the one half of the greenbar color set. Defaults to
''.
Greenbar Two Style
Applies to the other half of the greenbar color set. Defaults to
''.
Form Tab
Reset to Defaults
Tick this option on, then off, to reset the CSS settings on this tab back to their default values.
Form Type
Select the default form type from the drop down. This (and all other CSS settings) can be
overridden at the procedure level.
Div
Defaults to
''.
Heading
Defaults to
'nt-header nt-form-header'.
Subheading
Defaults to
'nt-header nt-form-header-sub'.
Table
Defaults to
'nt-form-table'.
Prompt
Defaults to
'nt-form-div nt-prompt nt-formcell'.
Button Div
Defaults to
'nt-form-div nt-left'.
Entry Div
Defaults to
'nt-form-div nt-formcell'.
Entry
Defaults to
'nt-entry ui-corner-all'.
Entry Required +
This is added to the Entry class above, for fields which are set as required. Defaults to
'nt-entry-required'.
Entry Readonly +
This is added to the Entry class above, for fields which are set as read only. Defaults to
'nt-entry-readonly'.
Entry Error +
This is added to the Entry class above, for fields which have failed a
validation test. Defaults to
'nt-entry-error'.
Droplist
Defaults to
' nt-select'.
Comment
Defaults to
'nt-form-div nt-comment nt-formcell'.
Comment Error +
This is added to the Comment class above, for fields which have failed a validation test. Defaults to
'nt-comment-error ui-state-error ui-corner-all'.
Tab Outer Div
Defaults to
'nt-tab-outer'.
Tab Title
Defaults to
'nt-tab-title'.
Tab Inner Div
Defaults to
'nt-tab-inner'.
Save Button Set
Defaults to
''.
Other Button (w/text)
Defaults to
''.
Other Button (wo/text)
Defaults to
''.
Calendar Tab
Reset to Defaults
Tick this option on, then off, to reset the CSS settings on this tab back to their default values.
Month Set
Defaults to
'nt-month-set'.
Month Header
Defaults to
'ui-widget-header ui-corner-top nt-month-header'.
Month Header Cell
Defaults to
'nt-month-header-cell nt-wide'.
Day Cell
Defaults to
'nt-monthday-cell ui-corner-all'.
Empty Day Cell
Defaults to
'nt-monthday-empty-cell'.
Big Month
Defaults to
'nt-month-big ui-widget-content ui-corner-all'.
Big Content in Cell
Defaults to
'nt-content'.
Big Label (with content)
Defaults to
'nt-label'.
Big Label (no content)
Defaults to
'nt-label-empty'.
Small Month
Defaults to
nt-month-small ui-widget-content ui-corner-all''.
Small Content in Cell
Defaults to
'nt-hidden'.
Small Label (with content)
Defaults to
'nt-label-small'.
Small Label (no content)
Defaults to
'nt-label-empty-small'.
Files Tab
Themes Directory
The folder inside the web folder which contains the various available themes. Defaults to 'themes'. Changing this is not
recommended.
Theme
the default theme to use for the site. Enter the name here (in quotes).
Theme Files
Additional files can be added at the theme level. Use this approach for custom css files
when the files will be different from one theme to the next.
Theme File Name
The name of the file.
Desktop
Include when the app is being displayed in Desktop mode.
Mobile
Include when the app is being displayed in Mobile mode.
Styles Directory
The folder inside the web folder where style files which apply to all themes are stores. Defaults to 'styles'. It is not recommended to change this setting.
CSS Style File
Additional style files can be added to the app. Use this
approach for files which are theme neutral.
Style File Name
The name of the CSS file to include.
Desktop
Include when the app is being displayed in Desktop mode.
Mobile
Include when the app is being displayed in Mobile mode.
Browser
Limit the file to being used in a specific browser type.
Is Included in All.Css
Ticking this on is recommended. This will include the file in your All.Css file, which will make your site load faster.
Include CSS from NetTalk 4
Use this if your app uses styles deprecated by NetTalk 5.
Include CSS for Chrome menu
Tick this on if your app still uses the Chrome menu type.
Include CSS for XP-TaskPanel menu
Tick this on if your app still uses the XP-TaskPanel menu type.
Run GZIPALL
The app creates a batch file for combining and compressing the CSS and JS files. If you manually change
these files, then you will want to re-run the batch file. You can do that from Windows Explorer, or by
pressing this button.
Buttons Tab
Buttons sets, when on, group like buttons visually together into a mini toolbar.
Use Buttons Sets for Browse Locator
The browse locator has the option for Search and Clear buttons. Tick this on to group these buttons together.
Use Buttons Sets for Browse Navigation
First, Previous, Next and Last buttons.
Use Buttons Sets for Browse Updates
Insert, Copy, Change, View, Delete buttons.
Use Buttons Sets for Browse Select/Cancel
Select and Cancel buttons (when the browse is called as a lookup.)
Use Buttons Sets for Form Save
Save and Cancel buttons on a form.
Standard Buttons
Standard buttons exist so that control over the look of a button can be controlled globally for all browses and forms.
If you click on the Delete button under this list, the deleted button is added back to the bottom of the list,
with the default values restored. Thus is it easy to restore buttons to their default state by deleting all
of them. Each button ahs the following properties;
Text
The text that appears on the button in Desktop mode.
Image
The image that appears on the button in desktop mode.
Image Width
The width of the above image. If omitted the width of the image itself is used.
Image Height
The height of the above image. If omitted the height of the image itself is used.
Image Alt
the alternate text to be displayed if the image is not available. This setting also helpful to screen readers.
Button Class
The CSS Class for the button.
Tool Tip
the tooltip to display when the user hovers over the button. Note that tooltips are not visible when in Mobile mode.
Use jQuery styled Button
Tick this on to turn the button into a jQuery styled button, which can be controlled by CSS. If off then a button native to the Browser and OS is displayed.
jQuery Icon
Enter the name of a jQuery UI icon here. For a list of available icons see
http://jqueryui.com/themeroller/. the icons appear at the
bottom of the page, and you can see the name by hovering over
them. Note that the prefix of the icon (
ui-icon-) is not included here.
Form Header Text
If the button causes a popup to open, then the Title of the popup will be set to this.
Mobile - Compact
If in mobile mode, then this button does not expand horizontally to fit the whole width.
Mobile - Icon
The mobile icon to display. Note this is not the same list as the desktop icons. To see a list of mobile icons see
here.
Mobile - Text
The text to display on the button in Mobile mode. This may be shorted than the text used in Desktop mode to save space.
Security Tab
Use SSL to make server Secure
Servers that use SSL encrypt the traffic between the server and the browser. This makes it possible
to store, and transmit sensitive information, like credit card numbers. You can read more about making your
site secure
here.
Certificate
If you are making your site secure then you will need a certificate. It will be placed in your app\certificates folder.
Enter the name part of the certificate here. For example, if the file is called settings.crt and settings.key, then you
would enter just
'settings' here,
without the extension.
Always Redirect to Secure Site
When you are creating an SSL only site, then it can be advantageous to also create a site on Port
80 which automatically redirects users to the SSL port. If this NetSimple Object is the Port 80
version of this setup, then tick this option on.
Secure Site Port
If the above checkbox is on, then enter the port number of the SSL site here The default value is 443
Bind Server to only IP
Machines can, and do, have multiple IP addresses. If this option is on then clients will only be able
to connect via a specific one of those addresses. If it is off then the server binds to all the addresses.
Binding to just one address allows other programs to use the same port, on the same machine, by in turn
binding to one of the other addresses.
Session Length
The number of characters in the string to use for the Session ID. Longer makes for bigger packets.
Shorted makes for a lower security level. 20 is considered the minimal current "best practice"
but NetTalk defaults to 30.
Change Session on Log In / Out
Changing the session ID when the user logs in and out can prevent certain kinds of possible attacks
on your users. By default this option is on.
Delete Session on Logout
There is a distinct difference between a user being logged in or out, and their session. If you want the
actual session to be deleted when they logout then tick this option on. Note however that you will need to
take the user to a Logout page. You cannot delete the session underneath a form (and expect it to keep working.)
So the practice of automatically logging a person out when they enter the Login form is not compatible with
this option.
Bind Session to IP Address
If this option is on then a session is bound to the IP address that created it. This prevents a session
from being hijacked. Unfortunately it can hinder access from clients that have a variable IP address, and
so is off by default.
This sets the maximum size for any file uploaded to the server. If your site is being hosted
as a DLL by the HOST.EXE program then the Host program's setting will also apply. Files which are too large
will be marked as "failed" on the form after the upload is started.
This setting is in Megabytes - ie if set to 5 then no files
larger than 5 Megabytes in size will be accepted.
Use Number for Session Id
NetTalk 6 introduced the notion of using a random string for the Session ID rather than a number.
If you need to use a number then tick this option on. The strings offer more bits of security so
it's a good idea to migrate to using strings as soon as you can.
Advanced Tab
Combine common files
JavaScript and CSS files are simpel text files, and can be combined (into all.js and all.css
respectively).
This improves performance of the site a lot, and can make initial load times much faster. However if this
is on then you need to re-run GZIPALL.BAT after editing any of the source JS or CSS files. Thus is it usually
off while developing the CSS or JS, and on for the rest of the time.
Serve pre-compressed files
Allows the server to search and serve
xxx.yyy.gz when asked for the file
xxx.yyy. If the .gz file exists then
it will be sent to the client. This saves time compressing the file, but still delivers the file compressed
to those browsers that can accept compressed files.
Compress static files
Allows the server to compress, on the fly, static files which do not have the
<!-- NetWebServer --> header. Files
with the extensions SAF, ZIP, GZ, RAR, 7Z, JPG and PNG are not compressed (as these file types are already
compressed).
Compress dynamic data
Most of the data travelling between the server and the browser is generated on the fly by the various procedures
in your app. Tick this option on to allow this data to be compressed. This is a good idea for most situations
because the bandwidth ("pipe size") between the server and client is usually the limiting factor. Of course compressing
on the server, and decompressing on the client takes a bit of effort at both ends, but in almost all cases will be quicker
than sending the data uncompressed.
One small problem with .JS and .CSS files being cached in the browser is that they are
not updated automatically when you update your server and web folder. The user typically will see an error message telling them to press Ctrl-F5.
If this option is on, then the browser will test the validity of a cached file (.JS or .CSS) before using it. If the file is the
same as the one in the cache then the server sends a small packet (305 Not Modified). Obviously this test can slow down the page a bit, but
the balance is greater automatic compatibility with your changed files.
Session Timeout
The server is a single EXE handling multiple
simultaneous users. Each user is thus allocated a unique
Session ID so that data that belongs to that user can be stored with that user.
Because users can leave
without notice (by just closing their browser) a session timeout occurs after a period of inactivity.
The length of this period is 15 minutes by default, but you can set it to anything you like. Note that each
session consumes a small amount of resources (RAM) so it's not ideal to have an unsuitable large number
of Sessions still active after they have been abandoned.
Charset
The HTML Charset to use for the server. The default is 'utf-8' which is the most flexible, and most
compatible charset to use.
Store Data As
Clarion does not support utf-8 as a native type, so strings stored in utf-8 form cannot be displayed on
normal Clarion screens or reports. Thus in most cases you will want to store the data set as a subset of utf-8
,using a Windows code page. Select the one from the drop-down that most fits the
language of your data.
Translate - Locate
A local translation of the word "Locate" as used by the locator.
Translate - Locate (Position)
See above.
Translate - Locate (Begins With)
See above.
Translate - Locate (Contains)
See above.
If this is off then the default version check between the NetTalk version
used to generate the app, and the Version number in the netweb.js/all.js file is not done.
If this is off then the screen-size of the client device is not sent to the
server with each full page refresh.
This is an experimental setting for a Work-In-Progress and should not be used at this time.