[p]This chapter describes how to set site preferences for Lasso Professional Server. The Setup > Site Settings section in Site Administration allows the Lasso site administrator to set site preferences for the Lasso Professional Server server. These settings cannot be overridden by any lower level security settings or via Lasso. [/p]
- Summary covers password and serial number settings.
- Administrator Settings covers password and serial number settings.
- Lasso Settings describes how to change site settings for Lasso syntax, Lasso file extensions, and LassoApps.
- File Extension Settings describes how to change site settings for file extensions.
- Session Settings describes how to set site options for the [code][Session_…][/code] tags in Lasso Professional Server.
- Java Settings describes how to configure Lasso to work with Java.
- Import/Export Settings describes how to import and export Lasso 8 settings files.
[p]The [code]Summary[/code] page provides an overview of the settings of the Lasso site. The left panel includes information about the version of Lasso, platform, uptime, etc. and a set of quick links to other site LassoApps. The right panel includes a summary of configured data sources, groups, and URL rewrite rules. [/p]

[p]The site administrator username and password is established when Lasso Professional Server is installed and initialized. Only the administrator has the privileges to change Lasso’s configuration or security settings, as described in the previous chapter. [/p]
[p]The [code]Administrator Settings[/code] page is where the site administrator username and password can be changed. The site administrator username and password are initially set during initialization as described in the configuration chapters in this guide. The right panel also allows the following settings to be configured. [/p]
- Auto Refresh – Controls whether administration screens auto refresh. The setting can be established for administration queues or administration errors pages.
- Listing Size – Sets the maximum number of items to show per page on listings pages.

[p]The [code]Administrator Settings[/code] panel allows the administrator username and password to be updated. The password is not shown, but can be changed by entering the current password with a new password and confirmation. [/p]
[note][b]Lost [/b][b]Password Note[/b]: If the site administrator password is lost the server administrator can reset it. See the instructions in the Server Administrator section for more information. [/note]
- Enter an administrator username in the [code]Username[/code] field. The username is [code]Administrator[/code] by default.
- Enter the current administrator password in the [code]Current Password[/code] field.
- Enter a new password in the [code]New Password[/code] field.
- Enter the same password exactly as it was entered in the [code]New Password [/code]field in the [code]Confirm New Password[/code] field.
- Select the [code]Update Settings [/code]button.
[p]During administrator login, the administrator will be prompted to supply the administrator username and password specified in the [code]Administrator Settings [/code]panel. [/p]
[p]Select the [code]Restart Site[/code] button. It can take up to a minute for the site to restart. No other sites in Lasso Service will be affected. [/p]
[p]The [code]Lasso Settings[/code] page in Site Administration allows the administrator to control how Lasso Professional Server processes certain types of Lasso syntax, and how it handles cases where certain types of code can adversely affect Lasso Service. [/p]

[p]The [code]Syntax Settings[/code] panel allows Classic Lasso syntax to be globally enabled or disabled, and also allows the Lasso Professional default error page to be configured. [/p]
- [def]Inline Host Specification[/def] – This setting allows the use of inline host specifications to be disabled.
- [def]URL Rewrite[/def] – This setting allows the URL rewrite system to be disabled.
- [def]Classic Lasso Syntax[/def] – Classic Lasso syntax is a deprecated programming method which provides Lasso database commands within URLs or HTML forms. These commands are passed from the page in which they are specified to a response page which formats the results of the commands. Classic Lasso syntax is enabled by default to ensure compatibility with solutions built using earlier versions of Lasso.
- [code]Enabled[/code] – Allows Classic Lasso paramters to be used in URLs.
- [code]Minimal[/code] –Allows only [code]-Response[/code] and [code]-Error[/code] parameters to be used in URLs. This setting is equivalent to disabling Classic Lasso in earlier versions of Lasso.
- [code]Disabled[/code] – No Classic Lasso parameters including [code]-Response[/code] and [code]-Error[/code] are recognized. This is the most secure setting if you don’t use Classic Lasso and is the recommended setting.
- If Classic Lasso syntax is disabled, then older Lasso solutions using the Classic Lasso database methodology will not work. Disabling Classic Lasso enhances the security of a Lasso powered Web site by allowing database schema to be hidden and preventing site visitors from manufacturing URLs that perform different database actions than those explicitly programmed into the Web site.
- [def]Error Reporting[/def] – A default Lasso Professional error page is shown whenever a [code].lasso[/code] or [code].lassoapp[/code] page is processed that contains an unhandled error. The [code]Error Reporting[/code] pull-down menu allows the level of detail shown by the default Lasso Professional error page to be configured. The following levels may be set:
- [code]None[/code] – Sets the error page to show no information about the error that occurred. Only a message stating “An error has occurred“ will be shown.
- [code]Minimal [/code][code](Default)[/code] – Sets the error page to show only the error message and code number of the error that occurred. This is the default setting.
- [code]Full[/code] – All available information about the error (including source code) will be shown. This setting is recommended for development and debugging.
- [note][b]Note: [/b]Errors and error codes are further discussed in the Error Control chapter of the Lasso 8.5 Language Guide. A list of error messages and code numbers can be found in Appendix B: Error Codes of the Lasso 8.5 Language Guide. [/note]
- [def]LassoApps[/def] – This setting allows the use of LassoApps to be disabled.
- [def]Digest Authentication[/def] – Digest authentication is a more secure method of sending usernames and passwords from a Web browser to a Web server. If this setting is set to [code]Enabled[/code] then Lasso will attempt to use digest authentication when possible.
[p]The [code]Default Page Encoding[/code] panel allows the administrator to specify the default character set that Lasso Service should assume when interpreting data sent via client browsers (such as HTML form data). This can be UTF-8 (Unicode) or Latin-1 (ISO-8859-1). Unicode is used by default. [/p]
- Select [code]UTF-8 (Unicode)[/code] or [code]Latin-1 (ISO-8859-1)[/code] from the [code]Encoding[/code] pull-down menu.
- Select the [code]Update[/code] button.
[p]The [code]Recursion Limit[/code] panel allows the administrator to set a limit as to how many times a Lasso page may call itself using an[code] [Include][/code] or [code][Library] [/code]tag. A recursion limit will eliminate cases where a page has been programmed to recurse infinitely, and would otherwise adversely affect the operation of Lasso Service. [/p]
- Select [code]Yes[/code] from the [code]Limit Recursion[/code] pull-down menu (default). Selecting [code]No[/code] removes the recursion limit, which is not recommended.
- Enter the number of times (positive integer) you want to allow a page to recurse before being stopped in the [code]Recursion Threshold [/code]field (50 by default).
- Select the [code]Update[/code] button.
[p]The [code]Lasso page Execution Time[/code] panel allows the administrator to set a time limit as to how many seconds a Lasso page (Lasso page) may run before timing out. A Lasso page execution time limit can help eliminate cases where a page has been programmed to perform endless operations that may otherwise adversely affect the operation of Lasso Service. [/p]
[note][b]Important: [/b]The Lasso page execution time limit controls the amount of time Lasso waits before timing out a true Lasso operation. This does not include nor factor in any timeout thresholds present in third-party components, such as data sources, Web servers, and Web browsers. [/note]
- Select [code]Yes[/code] or [code]No[/code] from the [code]Limit Execution Time[/code] pull-down menu to enable or disable page timeouts for the entire server ([code]Yes[/code] by default).
- Enter the number of seconds (positive integer) you want to allow a page to run before being timed out ([code]600 [/code]by default). The format value time limit can not be set to a value below [code]60[/code] (one minute).
- Select [code]Yes[/code] or [code]No[/code] from the [code]Allow User Override[/code] pull-down menu to enable or disable developers’ abilities to set custom timeouts for individual pages using the [code][Lasso_ExecutionTimeLimit] [/code]tag ([code]Yes[/code] by default).
- Select the [code]Update[/code] button.
[p]This panel allows a default DNS server to be configured for this Lasso site. Lasso will normally use the system default DNS server. However, Lasso’s TCP-based DNS tags are not compatible with DNS servers found in some DSL or cable modem routers which only support UDP. If Lasso returns an error when using the DNS tags then a different DNS server can be tested and configured here. [/p]
- Enter a custom DNS server host name or IP address and select [code]Test[/code]. Lasso will report on whether the DNS server can be accessed or not.
- Select [code]Update[/code] to accept the configured DNS server..
[p]The [code]File Extensions[/code] section in Site Administration allows the administrator to control what file extensions are allowed for use with Lasso. The [code]Lasso Page Settings[/code] panel includes the extensions that can be used for Lasso pages in Lasso Professional Server. The [code]File Tags Settings[/code] panel includes the extensions that can be used with the file tags, image tags, pdf tags, etc. [/p]

[p]Adding a file extension to this page does not cause the files with that extension to be processed by Lasso, but rather grants permission for the use of files with that extension within Lasso. The difference between Lasso page settings in Site Administration and Lasso page settings in the Web server is described below. [/p]
- Lasso Page Extension Security – Allows the administrator to specify what Lasso pages extensions are allowed for use with Lasso. By default, the list will include [code].htm[/code], [code].html[/code], [code].inc[/code].[code] .incl[/code], [code].las[/code], [code].lasso[/code] and [code].LassoApp[/code]. This applies to all Lasso pages which are served via Lasso or referenced within an Lasso tag (e.g. [code][Include][/code]). Files with extensions not listed here cannot be processed or included by Lasso.
- File Tags Extension Security – Allows the administrator to specify what files extensions are allowed for use with Lasso through the file tags, image tags, pdf tags, etc. By default, the list will include [code].uld[/code], [code].xml[/code], [code].wsdl[/code], [code].text[/code], [code].txt[/code]., [code].pdf,[/code] [code].jpg[/code], [code].gif[/code], [code].png[/code], [code].bmp[/code], [code].psd[/code], [code].tif[/code], [code].rbg[/code], and [code].cmyk[/code]. This list includes file extensions that are referenced within an Lasso tag (e.g. [code][PDF_Doc][/code], [code][File][/code], [code][Include_Raw][/code], [code][Image][/code]). Files with extensions not listed here cannot be manipulated using Lasso.
- Lasso page Settings in the Web Server – Configuring what Lasso page extensions are actually processed by Lasso is handled in the Web Server. A file extension must be added in Site Administration and configured in the Web server before the Web server can invoke Lasso to process files. Only the [code].Lasso[/code] and .[code]LassoApp [/code]extension are configured in the Web server by default after installation. See the Extended Configuration section of the configuration chapters in this guide for instructions on how to configure additional Lasso page extensions in the Web server.
- Enter the extension to be allowed in the [code]Add Extension[/code] field. If the file extension is for a Lasso page that should be processed by Lasso it needs to be entered in the [code]Lasso page Settings[/code] panel. If the file extension is for a data file that will be manipulated by Lasso it needs to be entered in the [code]File Tags Settings[/code] panel. All extensions must be preceded by a period ([code].[/code]).
- Select the [code]Add Extension [/code]button.
[p]Select the [code]Minus (-)[/code] button next to the extension to be removed. [/p]
[note][b]Note: [/b]The [code].Lasso[/code], [code].LassoApp[/code], and[code] .uld [/code]extensions cannot be removed as they are required for the basic operation of Lasso. The [code].uld [/code]extension is used by Lasso to temporarily identify files uploaded via the Web, and is necessary if files will be uploaded via a Web interface. [/note]
[p]The [code]Sessions[/code] page allows the administrator to set site preferences for the [code][Sessions_…][/code] tags in Lasso Professional Server, including establishing where all session data for the site is stored. [/p]

[p]The Session Tag panel allows the administrator to set site preferences for the [code][Sessions_…][/code] tags. These preferences govern how sessions will propagate through HTML pages, and are described below. For information on the [code][Session_…][/code] tags, see the Sessions chapter in the Lasso 8.5 Language Guide. [/p]
[p]The [code]Modify Tags/Attributes[/code] field allows the administrator to specify what HTML tags and attributes the [code][Session_…][/code] tags will append token values to. When using sessions, these token values allow variables for a user to stay consistent from page to page. All HTML tag and attributes involved in linking a user from one page to another should be listed here. When invoked, session URL data will be added to the attributes of the tags specified, which should be set to valid paths to files. The [code]action[/code] attribute of the [code]<form>[/code] tag and the [code]href [/code]attribute of the[code] <a>[/code] tag are listed by default. [/p]
[p]To add a new tag/attribute pair: [/p]
- Next to [code]Add Tag/Attribute[/code], enter the name of an HTML tag in the left-most field. The [code]<[/code] and [code]>[/code] HTML characters should not be included as part of the tag or attribute names.
- Next to [code]Add Tag/Attribute[/code], enter the name of the attribute of the tag to which session data will be appended in the right-most field.
- Select the[code] Add Tag/Attribute [/code]button.
[p]Next to [code]Modify Tag/Attributes[/code], select the [code]Minus (-)[/code] button next to the tag/attribute pair you wish to delete. [/p]
[p]The[code] Avoid Prefixes[/code] field allows the administrator to specify URL prefixes that should be avoided by the[code] [Session_…][/code] tags, meaning that no session information will be appended to links with the specified prefixes. Because session data may only be interpreted by Lasso pages, any prefix that takes a user to a page on a different server or initiates a protocol that cannot be parsed by Lasso (e.g. [code]telnet://[/code], [code]file://[/code], [code]mailto:[/code]) should be listed here. [/p]
- Enter the URL prefix to be avoided in the [code]Add Prefix[/code] field. Any URLs that begin with the value entered here will be avoided.
- Select the [code]Add Prefix[/code] button.
[p]Next to [code]Avoid Prefixes[/code], select the [code]Minus (-)[/code] button next to the prefix you wish to remove. [/p]
[p]Lasso Professional Server provides a new in-memory session driver which allows sessions to be served very fast. When the memory session driver is selected sessions will only persist until Lasso Service is restarted. [/p]
- The memory session driver can be selected by choosing [code]Memory[/code] from the [code]Serve Sessions From[/code] menu and clicking the [code]Select[/code] button.
- The default SQLite storage driver can be reselected by choosing [code]Local Default[/code] from the [code]Serve Sessions From[/code] menu and clicking the [code]Select[/code] button.
[p]Lasso Professional Server provides the ability to share session data with other Lasso Professional Server servers so that Lasso sessions can persist within load-balancing and redundant server configurations with multiple Lasso Professional Server servers. [/p]
[p]Session sharing is achieved by designating a single external MySQL host to serve all Lasso session data, and then configuring each Lasso Professional Server server to store all session data on this host. [/p]
[p]For best performance, the session tuning parameters described below should be used to establish one Lasso server as the master of the session table which will perform routine maintenance. Each of the other Lasso servers that are sharing the same MySQL table should be set to never delete expired sessions. [/p]
[p]If multiple Lasso 8.5 (8.1 or higher) servers are sharing the same MySQL data source then the MySQL compatibility option in the session tuning parameters should be set to [code]Lasso 8.1[/code]. This provides the best performance. If Lasso 7 and Lasso 8 servers are sharing the same MySQL data source then the MySQL Compatibility option should be set to [code]Lasso 7/8[/code]. Se the section on session tuning parameters below for more information. [/p]
[note][b]Warning: [/b]Configuring Lasso to store all session data on an external MySQL host creates a dependency on that external host in order for sessions to work. It is strongly recommended that the MySQL server be on the same network as the Lasso Professional Server servers. [/note]
[p]The [code]Session Data Server[/code] panel allows the administrator to set the MySQL host that will be used to store all session data for the current Lasso Professional Server server. [/p]
- [def]1[/def] In the [code]Serve Sessions From[/code] pull-down menu, select [code]External Database[/code]. This specifies that a session table other then the default [code]site.sessions[/code] table will be used.
- [def]2[/def] Next to [code]Select Database[/code], select the database where to want a [code]sessions[/code] table to be created. This menu contains a list of all enabled MySQL databases in the Setup > Data Sources > Databases section of Site Administration.
- [def]3[/def] Select the [code]Create Sessions Table…[/code] button. A warning will be displayed indicating that the current Lasso Professional Server server must rely on the newly created [code]sessions[/code] table in the database specified for sessions to work.
- [def]4[/def] Click the [code]OK[/code] button. This table will be used to store all session data until the host is manually switched again.
- [def]1[/def] In the [code]Server Sessions From[/code] pull-down menu, select [code]External Database[/code]. This specifies that a session table other then the default [code]site.sessions[/code] table will be used.
- [def]2[/def] Next to [code]Select Database[/code], select the database that contains the [code]sessions[/code] table you wish to use. This menu contains a list of all enabled MySQL databases in the Setup > Data Sources > Databases section of Site Administration.
- [def]3[/def] Select the [code]Select[/code] button. A warning will be displayed indicating that the current Lasso Professional Server server must now rely on the specified [code]sessions[/code] table for sessions to work.
- [def]4[/def] Click the [code]OK[/code] button. This table will be used to store all session data until the host is manually switched again.
[p]The session tuning preferences are advanced options that allow the behavior of the session manager to be modified for best performance in a variety of different server configurations. [/p]
- Delete Expired at Startup – Controls whether expired sessions are deleted automatically when the site starts up. The default is [code]Yes[/code]. Setting this parameter to [code]No[/code] can speed up Lasso’s startup time. This parameter should be set to [code]No[/code] on all all but one server if multiple servers are sharing a single MySQL table for session storage.
- Delete Expired Frequency – Controls how often expired sessions are deleted while Lasso is running. The session manager will never load an expired session, but periodic maintenance is required to ensure that the session table does not store a lot of expired records. The frequency can be set to one of the following values.
- [code]Hourly[/code] – Expired sessions are deleted about once an hour.
- [code]Daily[/code] – Expired sessions are deleted once a day in the hour after midnight.
- [code]Weekly[/code] - Expired sessions are deleted about once a week.
- [code]Never[/code] – Expired sessions are never deleted automatically.
- [code]High[/code] – Expired sessions are deleted at random about every 20th call to [code][Session_Start][/code]. This is the default setting and the standard behavior of earlier versions of Lasso.
- [code]Medium[/code] – Expired sessions are deleted at random about every 200th call.
- [code]Low[/code] – Expired sessions are deleted at random about every 2000th call.
- Setting this parameter to [code]Daily[/code] or one of the other options can increase the responsiveness of Lasso since the session table never needs to be locked for maintenance during the busiest times for the site. This parameter should be set to [code]Never[/code] on all all but one server if multiple servers are sharing a single MySQL table for session storage.
- [note][b]Note: [/b][code][Session_DeleteExpired][/code] can also be used in a scheduled event to delete sessions on a custom schedule. [/note]
- Maximum Expiration Time – Sets a maximum value for the [code][Session_Start][/code] [code]-Expires[/code] parameter in minutes. A setting of [code]0[/code] (the default) allows any value for the [code]-Expires[/code] parameter. This preference can be used to limit the expiration time of all of the sessions on the server to a reasonable value without modifying any Lasso code.
- MySQL Compatibility – There are two options if sessions are being stored in a shared MySQL data source. If only Lasso 8.5 (8.1 or higher) servers are sharing the storage (or if only this Lasso 8.5 server is using the storage) then the [code]Lasso 8.1[/code] option should be selected since this format improves the speed of the session manager. If Lasso 8 and Lasso 7 servers are sharing the storage then the [code]Lasso 7/8[/code] option should be selected.
[p]The [code]Java[/code] page is where the administrator can set up Lasso Professional to work with Java, so that Lasso’s Java-based components may be used. This includes JDBC data source connectivity, third-party LJAPI modules, and Lasso tags which have Java-based implementations. Consult the Lasso 8 Reference for information on whether or not an Lasso tag requires Java. [/p]
[p]The [code]Java Settings[/code] panel allows the administrator to globally enable or disable Java-based components, and to set the [code]Class Path[/code] and [code]Library Path[/code] for third-party Java module class files. The [code]Class Path[/code] and [code]Library Path [/code]for all default Java modules installed with Lasso Professional Server is the [code]Lasso Professional Server/LassoModules[/code] folder, which cannot be changed. Altering the [code]Class Path[/code] and [code]Library Path[/code] fields in the [code]Java Settings[/code] panel will not affect how the default Java modules operate. [/p]

[p]LJAPI allows Java programmers to develop new tags and functionality in Lasso Professional Server. For more information on LJAPI, see the Lasso Java API chapter in the Lasso 8.5 Language Guide. [/p]
- Select [code]Enabled [/code]or [code]Disabled[/code] from the [code]LJAPI Modules [/code]pull-down menu to enable or disable LJAPI ([code]Disabled[/code] by default). This includes all core Java functionality in Lasso Professional Server as well as third-party LJAPI modules.
- Enter the file path to the Java class folder in the [code]Class Path[/code] field.
- [note][b]Note: [/b]Multiple[code] Class Paths[/code] or [code]Library Paths[/code] can be specified by entering a semi-colon [code];[/code] (Windows) or colon [code]:[/code] (Mac OS X) after a path, and then entering the next full path immediately after the semi-colon or colon. There should be no spaces or carriage returns in or between any specified path(s) per JRE syntax requirements. [/note]
- Enter the file path to the Java library folder in the[code] Library Path[/code] field.
- [note][b]Windows [/b][b]Note[/b]: The default[code] Class Path[/code] and [code]Library Path[/code] may not be correct depending on the version of JRE installed. It is necessary to confirm the actual path to the [code]lib[/code] folder in Windows before selecting[code] Update[/code]. [/note]
- [note][b]Mac [/b][b]OS X Note[/b]: The [code]Class Path[/code] and [code]Library Path[/code] fields are unnecessary for Mac OS X installations, and are blank by default. [/note]
- Select [code]Update[/code]. A dialog box will appear informing one to double-check the [code]Class Path[/code] and [code]Library Path[/code] in the hard drive to ensure they are correct, and to restart Lasso Service after selecting [code]OK[/code].
- Select [code]OK[/code].
- Restart Lasso Service for the changes to take effect.
- Return to the Setup > Site > Java page in Site Administration.
- Select the [code]Test[/code] button.
[p]If the [code]Activated[/code] field now displays [code]Yes[/code], then LJAPI has been successfully enabled. Otherwise, an error will be displayed informing you to double
-check the [code]Class Path[/code] and [code]Library Path[/code] fields against the actual file path to the[code] lib[/code] folder on the hard drive, and to make sure that Java has been installed properly. For instruction on properly installing Java, see the configuration chapters in this guide. [/p]
[p]LJAPI is checked to ensure it is operational via an internal check for an LJAPI-based tag (e.g. [code][NS_Lookup][/code]). If this tag is functioning as expected, Lasso will then change the value in the [code]Activated[/code] field to [code]Yes[/code]. [/p]
[p]The[code] Import/Export[/code] page in Site Administration provides the ability to export the complete state of Lasso’s configuration and security settings. Importing and exporting setup files is useful for backing up a particular Lasso Professional Server configuration, or setting up a new installation with the same configuration as another copy of Lasso Professional Server. [/p]
[p]A Lasso setup file is an text file that contain all custom administration settings entered in Site Administration. The information in a Lasso setup file corresponds to the options selected in Site Administration in the [code]Site Settings[/code], [code]Data Sources[/code], and [code]Security[/code] pages. [/p]
[p]Care should be taken with the setup files that are exported, as these files contains all of the security settings of Lasso Professional Server. Lasso stores passwords for data sources and users in plain text. Export files which have been modified by an untrusted third-party should never be imported into Site Administration without careful review of the settings within the file. [/p]

[p]The [code]Export Setup[/code] panel allows the current Lasso Professional Server configuration to be exported as a text setup file to be preserved for future use. [/p]
- In the [code]Export Setup[/code] panel, select the [code]Export Setup[/code] button. This will automatically download a file that contains the contents your Lasso Professional Server setup file named [code]Export_YYYYMMDDHHMMSS.txt[/code].
[p]The [code]Import Setup[/code] panel allows Lasso setup files to be imported. Only setup files exported using Lasso Professional Server may be imported. [/p]
[p]To import a Lasso setup: [/p]
- In the [code]Import Setup[/code] panel, select the [code]Browse[/code] button, and choose the Lasso setup file on your hard drive you wish to import.
- Select the [code]Import Setup[/code] button. A warning informs the administrator that importing a setup will overwrite all existing installation settings with the settings being imported.
- Select the [code]OK[/code] button. This will overwrite all current settings with those stored in the imported setup file.
- After the import has been performed the current site is automatically stopped. Follow the [code]Site Administration[/code] link to trigger the site to restart. You may get an error when you first click the link. Wait 10-15 seconds and try the link again.
[note][b]Note: [/b]The site administrator username and password will not be overwritten.[/note]