[p]Welcome to Lasso Professional Server, the premiere tool for serving and administering data-driven Web sites. This chapter introduces important concepts and information you should know before starting to use Lasso Professional Server and Lasso Developer. [/p]
- Lasso Fundamentals introduces the architecture and operation of Lasso Professional Server and Lasso Developer.
- What’s New in 8.5 presents the new features in Lasso compared to Lasso Professional 8.
- Lasso 8.5 Features Overview provides a chart of all the features of Lasso Professional Server and Lasso Developer with the new features highlighted.
[p]Lasso Professional Server (and Lasso Developer) is server-side software that adds a suite of dynamic functionality and administration to your Web server. This functionality empowers you to build and serve just about any dynamic Web application that you need with maximum productivity and ease. [/p]
[p]Lasso works by using a simple tag-based markup language (LassoScript), which can be embedded in Web pages and scripts residing on your Web server. The details of scripting and programming in LassoScript are covered in the Lasso 8.5 Language Guide also included with this product. [/p]
[p]By default, Lasso Professional Server is designed to run on the most prevalent modern Web server platforms with the most popular Web serving applications. In addition, Lasso’s extensibility allows Web Server Connectors to be authored for any Web server for which default connectivity is not provided. [/p]
[p]On Mac OS X, Lasso Professional Server is implemented as a Universal binary application and framework which interfaces with the default Apache Web server provided with Mac OS X. Lasso will run natively on PowerPC or Intel-based Macintosh computers. Lasso Professional Server will also work with WebSTAR V, Apache 2, or J2EE compatible servers on Mac OS X or Mac OS X Server. [/p]
[p]Lasso Professional Server runs as a service on Windows 2000, Windows XP Professional, and Windows Server 2003, and interoperates with the included Internet Information Services (IIS) Web services. Lasso Professional Server will also work with Apache 2 or J2EE compatible servers on Windows. [/p]
[p]Lasso Professional Server runs as a dæmon on Red Hat Linux, and interoperates with the included Apache Web server. Lasso Professional Server will also work with Apache 2 or J2EE compatible servers on Red Hat Linux. [/p]
[p]Lasso Professional Server’s architecture is illustrated in Figure 1: Lasso Professional Server Architecture. The core of Lasso Professional Server is Lasso Service (i.e. the Web Data Engine). One or more Lasso data source connectors provide connectivity to data source applications which can be hosts to many databases. Likewise, a single Lasso Web server connector provides connectivity to a Web server application which serves data to many Web browsers. [/p]

[p]Using multi-site features, multiple Lasso Service processes may be running at one time. The master Lasso Service routes incoming Web requests to the appropriate child Lasso Service based on site criteria. See the chapter on Setting Up Sites for more information. [/p]
- A request originates in a Web browser as a result of a client following a link or selecting a URL (e.g., http://www.example.com/default.lasso).
- The request is sent to the Web server application which is configured to send all URLs that contain the .lasso extension to the Lasso Web server connector.
- The request is sent through the Lasso Web server connector to Lasso Service along with the Lasso page requested in the URL (e.g., default.lasso).
- If multiple sites have been configured in Lasso then the site criteria are used to route the incoming request to the appropriate site. This determines what data sources and security settings will apply when the page is processed.
- The Lasso page is processed, interpreting the embedded Lasso tags.
- If required, Lasso Service sends one or more queries through one of the Lasso data source connectors to a database hosted by a data source application.
- The database query results are sent back to Lasso Service and merged with the presentation and logic elements contained in the requested Lasso page.
- The formatted results are sent back to the Web server application via Lasso Web server connector.
- The Web server application sends the completed page back to the requesting Web browser.
[p]Although this seems like a lot of steps for a simple URL request, Lasso can handle many thousands of requests per hour, each with a unique combination of concurrent database requests and programmatic functions. [/p]
[p]The full wealth of connectivity and extensibility features available in Lasso Professional Server are shown in Figure 2: Lasso Architecture and Extensibility. Lasso Service is a hub that bridges the gaps between many different technologies in order to provide you with the flexibility to create whatever type of data-driven site you need. [/p]
[p]Lasso Professional Server can connect to other Web Servers and SMTP email servers through a built-in TCP/IP client. It can include content from other Web servers through HTTP include functionality. XML data can be both served by Lasso as well as received from other Web servers via HTTP includes and built-in XML Web services. [/p]
[p]Lasso Professional Server can be extended through LassoScript custom tags and types that can be defined within a Lasso page or collected into a library for re-use. New tags can be created by third parties in Java and distributed as an LJAPI tag module. New tags or even new Lasso data source connectors can be created in C/C++ and distributed as LCAPI modules. [/p]


[p]Lasso Professional Server is a Web Data Engine that operates in four phases for each incoming URL or HTML form submission. These four phases are: Data Access, Data Manipulation, Data Formatting, and Data Output. [/p]

- Data Access – The Data Access phase includes gathering data from a Lasso Web server connector (the URL request or HTML form input), Lasso data source connectors (results of database queries), and external application servers and XML data sources (through the HTTP include mechanism).
- Data Manipulation – The Data Manipulation phase is where Lasso tags, LassoScripts, and XML parsing routines are used to modify the data from the previous phase.
- Data Formatting – In the Data Formatting phase, the results from the manipulated data are merged with the style and graphics in your Lasso page template and formatted for output as HTML, XML or other formats depending upon the target client.
- Data Output – Finally, the Data Output phase is when the data is actually delivered back to the client which initiated the request. The data is sent as HTML or XML data. The Web server application typically handles follow-up requests calling on Lasso Service as needed.
[p]Lasso 8.5 supports the same syntax as Lasso 8, but offers a compelling set of new data sources and features which make building dynamic Web sites even easier. Lasso 8.5 includes the following new features. [/p]
[p]All solutions written using preferred LassoScript 7 or 8 syntax should run in Lasso Professional Server without modification. See Section IV: Upgrading in the Lasso 8.5 Language Guide for details about changes to Lasso. [/p]
[p]When any installation of Lasso 8.5 is run without a serial number it defaults to Lasso Developer functionality. Lasso Developer can be used for development of Lasso-based solutions and to preview those solutions to clients. Lasso Developer has all the features of Lasso Professional Server, but includes a 5 IP address limitation and a limit on the number of connections which Lasso will process per minute. Lasso Developer is not licensed for deployment of solutions. [/p]
[p]AJAX (Asynchronous JavaScript and XML) support is provided through the new LJAX tags and JavaScript library. AJAX allows a Web site to be updated asynchronously providing a more rich user experience. [/p]
[p]The [code][OS_Process][/code] type allows access to native processes running on the same machine as Lasso. This type can be used to access the shell on all three platforms, AppleScript on Mac OS X, or to access machine resources such as printers. [/p]
[p]Built-in URL rewrite tool allows Lasso to accept incoming URLs and map them to specific Lasso pages, redirect to another server, etc. [/p]
[p]Lasso 8.5 includes many new native data source connectors. In addition to the MySQL and FileMaker connectors provided in Lasso 8, the following data sources are now officially supported: [/p]
- [def]PostgreSQL[/def] – Access this popular open source data source.
- [def]Microsoft SQL Server[/def] – Access Microsoft’s flagship data source.
- Oracle – Access one of the most popular enterprise data sources.
- OpenBase – Access this fast and powerful data source.
[p]Lasso 8.5 includes support for any data source which provides a compatible ODBC driver, in addition to the JDBC access provided in Lasso 8. [/p]
- ODBC – Access any data source which provides a compatible ODBC driver.
[p]In addition, Lasso 8.5 includes a data source connector for Mac OS X’s built
-in search technology. [/p]
- [def]Spotlight[/def] – On Mac OS X only, the Spotlight data source allows file system searches to be performed from within Lasso.
- [def]Dynamic Hosts[/def] – Data source hosts can now be specified directly within an inline. This allows data sources to be configured quickly without using the site administration tools or Lasso’s built-in security.
- Key Fields – Key fields and key values can now be specified using complex search criteria with the new [code]-Key[/code] parameter. This allows groups of records to be updated or deleted using a standard inline.
- Prepared Statements – Lasso now supports prepared statements to help optimize database access. A prepared statement allows a database operation to be set up and then used multiple times.
- Multiple Result Sets – Multiple result sets from an inline can now be accessed individually. This allows batch operations to be issued as single transactions and the results of each operation to be examined individually.
- Quick Operators – Inline operators can now be abbreviated [code]-BW[/code], [code]-EQ[/code], [code]-LT[/code], [code]-GTE[/code], etc.
[p]New regular expression data type allows for faster and more powerful string manipulations including the ability to interactively modify each replacement value before inserting it into the string. [/p]
- [def]File Encoding[/def] – The [code][File][/code] object has been enhanced with additional encoding parameters which make it easy to read or write data using any character encoding. The [code][Net][/code] object is similarly enhanced.
- [Encode_URL] – URL encoding has been enhanced to use the current page character set rather than defaulting to UTF-8 encoding.
- Page Environment – New tags provide access to previously hidden variables which allow the page environment to be inspected and modified including the current text which will be returned to the browser and the current HTTP header.
- Include – A new [code][Include_Once][/code] tag tells Lasso to process a file only once even if it is included multiple times. New tag returns the name of the current processing page whether it is an include or a Lasso page.
- Namespaces – All tags are now looked up using a unified namespace mechanism whether they were defined with the [code]-Namespace[/code] parameter or not.
- Private Members – Custom data types now support private members which can only be accessed from within the data type itself.
- Big Integer Type – [code][BigInt][/code] type allows math operations to be performed on very large integers without loss of precision.
[p]Lasso can parse, merge, create, and output calendars and calendar items in the industry standard iCalendar format. [/p]
- [def]Direct Send[/def] – Email messages are now sent directly to remote SMTP servers. Lasso no longer requires a local SMTP server to relay messages, but can still utilize one if required.
- Attachments – Email attachments can now be generated programmatically.
- Inline Images – Images can now be embedded properly within HTML messages so that they display inline and not as attachments.
- Mail Merge – Messages can now be multiply addressed with mail merge parameters which are applied just before the message is queued. This allows a single email message to be sent to many recipients with customizations.
- SSL Encryption – Both SMTP and POP now support SSL connections for encrypted communication with email servers.
- Authentication – Both SMTP and POP support CRAM-MD5 and DIGEST-MD5 authentication for compatibility with a wider range of email servers.
- Performance – The performance of encoding and decoding messages has been improved.
- [def]Threads[/def] – Lasso now allows the running threads to be listed within the administration interface. Individual threads can be aborted or set to higher or lower priority.
- Interface – The administration interface now makes better use of screen real estate. The interface is resizeable and the tabs and footer are fixed within the window. In addition, many sections have been rewritten to present more information within the browser window without sacrificing functionality.
- SMTP Queue – The email queue has been enhanced with better error reporting and information about messages which are being sent directly to one or more SMTP servers.
- Event Scheduler – The event scheduler has been enhanced with error reporting and with the ability to edit scheduled events.
- Preferences – Many characteristics of the administration interface including auto-refresh and listing length can now be configured.
[p]For a list of all new Lasso tags in Lasso 8.5, see the Lasso 8.5 Reference hosted at the following address and perform a search on the Lasso 8.5 tag set. [/p]
[pre][code]http://reference.lassosoft.com[/code] [/pre]
[p]The documentation for Lasso Professional Server has been enhanced. The Lasso 8.5 Setup Guide has been updated with information about the new data sources and other features. The Lasso 8.5 Language Guide has been updated with information about new features. The Getting Started Guide has been updated with information about the included Examples Pack. The interface of the Lasso 8.5 Reference has been improved. [/p]
[p]The following features were new in Lasso 8 and are supported by Lasso 8.5. These features are listed here for those users who are upgrading from Lasso 7 or earlier. [/p]
[p]Lasso’s preferences and security settings are stored using an embedded SQLite data source. SQLite provides greater speed and architectural flexibility. The Lasso Settings Migrator can be used to migrate solution-specific databases from Lasso MySQL to an external MySQL installation. [/p]
[p]Multiple Lasso Service processes can be run simultaneously in order to provide custom configurations for different clients or Web hosts. Each site process has its own data sources, modules, global variables, and LassoApps. Code in one site cannot access any aspect of another site. If a site crashes it will be brought back up automatically without affecting other sites. [/p]
- [def]FileMaker Server[/def] – New data source connector provides communication with FileMaker Server 7 or 8 Advanced and FileMaker Server 9 through the new XML interface.
- [def]JDBC 3[/def] – Advanced JDBC 3 support provides enhanced connection pooling, better driver selection within Site Administration, and compatibility with JDBC 1 and JDBC 2 drivers.
[p]Lasso can retrieve messages from POP email servers. This allows developers to create list archive solutions entirely within Lasso or to create Web-based email solutions. Flexible POP implementation includes support for getting information about waiting messages, fetching message headers, leaving messages on server, parsing MIME encoded messages, processing attachments, and more. [/p]
[p]Improved SMTP implementation includes support for multiple outgoing email queues, sending multiple messages per connection, CRAM-MD5 authentication for SMTP AUTH, built-in support for HTML email, and better attachment handling. [/p]
[p]Built-in SOAP client allows remote SOAP methods to be called as custom tags within Lasso. Includes support for XSD and WSDL to provide automatic translation of SOAP data types to and from built-in LassoScript data types. In addition, Lasso Professional Server includes full support for serving SOAP methods and XML-RPC support. [/p]
- [def]J2EE Connector[/def] – Allows Lasso Service to be accessed through J2EE Java Servlet compatible servers such as Tomcat. Lasso can now be accessed as a servlet through Java enterprise servers.
- [def]JavaBeans[/def] – Lasso Professional Server can access JavaBeans through an easy to use interface. This allows enterprise JavaBeans to be used within Lasso and provides an easy way to extend Lasso with Java functionality.
[p]Lasso Professional Server includes a collection of new compound data types that make processing structured data easier and faster. Lasso Professional Server’s compound data types include arrays, maps, pairs, sets, queues, stacks, priority queues, and trees. [/p]
[p]MySQL inlines support the [code]GROUP BY[/code] parameter using [code]-GroupBy[/code]. A log-level option on each inline provides control over whether the SQL statement generated by the inline is logged or not. A new [code][Action_Statement][/code] tag also provides access to the generated SQL statement. [/p]
[p]Libraries of custom tags and LassoApps can be loaded on-demand from within the Lasso Professional Server application folder. This allows custom tags to be provided server-wide without restarting Lasso Service. LassoApps-based solutions can be served and updated without modifying any files in the Web server root. [/p]
[p]Recursion protection has been extended to custom tag calls. Unlimited recursion in custom tags will now be caught and reported. This protection is in addition to Lasso’s protection for recursive includes and rogue LassoScript page processes. [/p]
[p]Lasso Professional Server supports digest authentication in addition to basic authentication for Web clients. Digest authentication is more secure than basic authentication since it uses one-way hash encryption on all transmitted password. Digest authentication also provides better support for logging users out of a Web site without forcing them to quit their browser. [/p]
[p]New syntax style allows tags to be specified as the tag name with parameters included in parentheses [code][Tag_Name(Parameters)][/code]. This new syntax style is provided in addition to the existing colon syntax supported by prior versions of Lasso [code][Tag_Name: Parameters][/code]. This new parentheses syntax style is less ambiguous than colon syntax and may be more comfortable for programmers who are familiar with other programming languages. [/p]
[p]Lasso Professional Server introduces the concept of namespaces which form the foundation for the on-demand tag loading and SOAP features of Lasso Professional Server. [/p]
[p]New tags provide more information about uploaded files and make it easy to copy uploaded files to a target directory. Flexible file upload filters allow file sizes and extensions to be checked automatically. [/p]
[p]Lasso Professional Server features separate Server Administration and Site Administration LassoApps which are served on-demand from within the Lasso Professional Server application folder. The Database Browser has been enhanced with SQLite support. [/p]
- [def]Image Tags[/def] – Lasso Professional Server has improved image manipulation tags using ImageMagick 6. New tags allow images to be created from individual color files and for color histograms to be created.
- [def]Bytes Support[/def] – New options on the file, network, and [code][Include_URL][/code] tags provide enhanced support for binary data.
- [def]Retarget Symbol[/def] – The retarget symbol [code]&[/code] allows a member tag which modifies a data type directly to be called and then the root data type to be returned for further processing. This allows multiple member tags to be called on the same root data type in a single expression.
- [def]Custom Tag Encoding[/def] – Encoding can now be controlled when custom tags are defined.
- [def]LassoScript Data Source Connectors[/def] – New data sources can be coded entirely in LassoScript for access to data sources through any of Lasso’s built-in file or networking tags.
- [def]BlowFish and Encryption[/def] – Improved BlowFish algorithm provides better interoperability with other Web application servers. New encryption tags provide access to many popular encryption, digest, and encoding methods.
- [def]Page Hooks[/def] – Allow code to be executed before each page load on a site or for code to be executed immediately after a page load.
- [def]Data Type Prototypes[/def] – Improves the performance of creating custom data types in LP8 by allowing a prototype instance to be created which is copied when new instances must be created.
[p]The following provides a list of features in Lasso Professional Server. Please consult this manual or the Lasso 8.5 Language Guide for details on each of these features. [/p]
[table][tr]
| | [th] [/th][/tr]
[tr][td](8.5)[/td][td]New Feature in Lasso Professional.[/td][td](E)[/td][td]Enhanced from Prior Versions. [/td][/tr]
[tr][td](M)[/td][td]Mac OS X Only.[/td]
| [td](T)[/td][td]Available through Third Parties. [/td][/tr]
[tr][td](W)[/td][td]Windows Only.[/td]
| [td](R)[/td][td]Licensing Restrictions Apply. [/td][/tr]
[tr][td](S)[/td][td]Available in Lasso Studio. [/td][/tr]
[/table]
[note][b]Upgrading [/b][b]Note[/b]: All solutions written using preferred LassoScript 7 or 8syntax will operate in Lasso Professional Server. For a list of tags and features that have been altered, see Section IV: Upgrading in the Lasso 8.5 Language Guide. [/note]
- Operates on Windows 2000, Windows XP Professional, or Windows Server 2003 as service application.[code] (W)[/code]
- Operates on Mac OS X or Mac OS X Server as native Darwin application.[code] (M) [/code]
- Universal binary for native support of both PowerPC and Intel-Based Macintosh computers. [code](8.5) (M)[/code]
- Supports Internet Information Server (IIS) version 5 or 6 as ISAPI plug-in. [code](W)[/code]
- Supports included Apache 1.3 on Mac OS X as Apache module. [code](M) [/code]
- Supports Apache 2.0 as Apache module.[code] [/code]
- Supports WebSTAR V on Mac OS X as WebSTAR API plug-[code]in. (M)[/code]
- Supports industry standard Web browsers.
- Supports industry standard wireless devices such as cell phones and Personal Digital Assistants (PDAs[code]). [/code]
- Supports digest authentication and basic authentication.
- Includes embedded SQLite datasource.
- Supports external MySQL databases via Lasso Connector for MySQL[code].[/code]
- Supports external OpenBase databases via Lasso Connector for OpenBase[code].[/code]
- Supports external Oracle databases via Lasso Connector for Oracle[code].[/code]
- Supports external PostgreSQL databases via Lasso Connector for PostgreSQL[code].[/code]
- Supports external Microsoft SQL Server databases via Lasso Connector for SQL Server[code].[/code]
- Supports direct connection to FileMaker Pro 4, FileMaker Pro 5, and FileMaker Pro 6 Web Companion enabled databases via Lasso Connector for FileMaker Pro.
- Supports direct connection to FileMaker Server 7 or 8 Advanced and FileMaker Server 9 via Lasso Connector for FileMaker Server.[code] [/code]
- Includes integrated JDBC 3 data source support to allow connections to JDBC-compatible data sources with enhanced driver selection and connection pooling.[code] [/code]
- Support for ODBC data sources via Lasso Connector for ODBC.
- Support for Spotlight on Mac OS X 10.4/10.5 via Lasso Connector for Spotlight. [code](M)[/code]
- Provide built-in SQL Query Browser for building, browsing, and editing SQL-based databases[code]. [/code]
- Allows Lasso code to be authored from within any text or HTML editor.
- Provides graphical development environment within Adobe GoLive CS and Macromedia Dreamweaver MX 2004 for building Lasso-based sites. [code](S)[/code]
- Available glossary of Lasso tags for drag-and-drop insertion within Macromedia HomeSite[code]. (W) (T)[/code]
- Operates via a combination of Lasso Connector plug-ins for Web servers and a Lasso Service core application operating on the same machine or distributed across two machines.[code] (R)[/code]
- Multi-site features allow multiple Lasso Service processes to be created. Site criteria determine to which site incoming URL requests are routed. If a site crashes it can be restarted without affecting any other sites.
- Database connectivity provided via Lasso data source connector modules.[code] (E)[/code]
- Supports multiple Lasso server configurations with shared session data.[code] (R) [/code]
- Supports remote installation on Mac OS X.[code] (M) [/code]
- Supports multiple Lasso server configurations with shared session data.[code] (R)[/code]
- URL Rewrite – Built-in URL rewrite technology allows dynamic URLs to be created entirely within Lasso [code](8.5).[/code]
- Optimized parser designed to support multiple syntax styles including colon syntax and parentheses syntax.
- Multi-threaded processing.
- Start/stop individual sites irrespective of Web server status.
- Dynamic activation/deactivation of loaded modules per site.[code] [/code]
- Customizable console window for controlling what process information is displayed.
- Provides information about running threads and allows threads to be prioritized. [code](8.5)[/code]
[p]The following Lasso Connectors are provided with full source code for developer enhancement and customization and to serve as a model for the creation of third party Lasso Connectors for other Web servers and data sources. [/p]
- Lasso Connector for MySQL.[code] (W) (M) (L) [/code]
- Lasso Connector for JDBC.[code] (W) (M) (L)[/code]
- Lasso Connector for Apache 1.3. [code](M) (L) [/code]
- Lasso Connector for Apache 2.0. [code](W) (M) (L)[/code]
- Lasso Connector for IIS[code]. (W)[/code]
- Lasso Connector for WebSTAR V. [code](M)[/code]
- Lasso Connector for J2EE.[code] [/code]
- Web database connectivity and server-side programming accomplished via an HTML-like tag-based programming language called Lasso Dynamic Markup Language (LassoScript).
- Lasso pages containing HTML, XML, and LassoScript can be stored on a local or remote disk, or within a local or remote database.
- Lasso pages are easily edited within HTML editors using various LassoScript page builders and drag-and-drop LassoScript objects.[code] (S)[/code]
- Supports multiple methods of coding LassoScript including LassoScript and traditional square bracket syntax.[code] [/code]
- Supports multiple methods of calling Lasso including inlines, URLs, and HTML forms.[code] [/code]
- Unicode and UTF-8 encoding are used by default.
- Lasso pages and images can be compiled into a LassoApp application file.
- LassoApps can be safely and easily distributed to other users of Lasso Professional Server in order to sell or share Lasso solutions.
- Currently served LassoApps can be listed and managed from within Site Administration.
- LassoApps can be served on-demand from within the Lasso Professional application folder.[code] [/code]
- Built-in security engine provides consistent security implementation across platforms.
- Secures data source types, databases, tables/layouts, fields/columns, and records/rows.
- Enable/disable individual tags and categories of tags.
- Provides action filters to protect, validate, or facilitate personalized access to files and data.
- Supports users and groups with unique sets of permissions.
- Allows programmatic manipulation of security via administrative Lasso tags.
- Encrypted storage of usernames and passwords.
- Securely processes and protects files based upon file suffix.
- Enables encrypted transmission of data.
- Import/export security settings.
- Provides built-in, configurable protection against recursion and infinite loop crashes.[code] [/code]
- Remote Web browser based administration. [code](E)[/code]
- Included SQL Query Browser with customization controls for how detail pages should be shown for each database/table.
- Email queue provides details about email which is waiting to be sent and the status of email which has been sent.[code] [/code]
- Scheduling queue provides details about events which have been scheduled to execute. [code] [/code]
- Enhanced error logging features with options to control what information is displayed.
- Reserves single global administrator for global control of all settings.
- LassoApp Builder allows custom applications to be compiled for deployment with Lasso Professional Server.
- Allow recursion limits and page timeouts to be set.[code] [/code]
- Program database queries inline within Lasso pages.[code] [/code]
- Share database connections via nested inlines.
- Built-in data type support including context sensitive member tags.
- Advanced data types including Arrays, Maps, Pairs, Queues, Sets, Stacks, and Trees for structured data storage and manipulation.
- Object-oriented programming features including inheritance and overloading of comparisons and assignments.
- Built-in session management allow clients to be remembered automatically. Includes support for session cookies.
- Specify math and string expressions within tag parameters.[code] [/code]
- Perform Unicode string operations for localization or internationalization of data.
- Encrypt or encode data for secure transmission.
- Apply post-processing operations to the entire Lasso page before it is served.
- Provides local custom tag variables, global page variables, and session variables.
- Advanced string manipulation functions including support for regular expressions.[code] [/code]
- Advanced error controls including protect/fail blocks and debugging.[code] [/code]
- Runtime error reporting for easy debugging.[code] [/code]
- Parse XML text, generate XML data, handle XML-RPC requests.[code] [/code]
- Communicate with and provide SOAP XML Web services.
- Create, serve, and edit PDF documents.[code] [/code]
- Edit and manipulate image files on the fly.[code] [/code]
- Serve images and multimedia files.
- Built-in scheduling facility to automatically trigger scheduled events.
- Send email to any SMTP server. Supports multiple email queues and reuse of connections to send multiple emails at once.[code] [/code]
- Download email from POP servers.
- Conditional logic tags dynamically represent data based upon user entered or hard-coded criteria.
- Programmatically control network connections and perform file operations via an object-oriented methodology.
- File management tools allow for manipulation of local files and for remote files to be uploaded.
- HTTP access to remove servers including remote form submissions and server-side includes of remote Web pages.[code] [/code]
- Automatically PUT and GET files via FTP.
- Automatically GET files via HTTP.
- Communicate with HTTPS servers via SSL.
- Name inline result sets for later retrieval.[code] [/code]
- Encoding controls for accurate display of data in Web browsers and other clients. Specify encoding at page, section, or tag level.
- Log data to multiple customized log files or to databases.
- Set HTTP headers and MIME information.
- Set and retrieve cookies.
- Use tokens and URLs to pass data from page to page.
- Advanced pipe, semaphore, and reference functions.
- Advanced integer and decimal math operations.
- Advanced date/time calculations.
- Custom LassoScript substitution tags and custom LassoScript data types can be defined using LassoScript.[code] [/code]
- Custom LassoScript container tags can be defined using LassoScript, LJAPI, or LCAPI.
- Custom data source connectors can be created entirely in LassoScript.[code] [/code]
- Custom data types can be created entirely in LCAPI including support for custom member tags and symbol overloading.
- Values of any data type can be processed and returned by LCAPI-based tags.
- Lasso C Application Programming Interface (LCAPI) enables the creation of Lasso data source connector modules, Lasso tags and extended functionality via the C/C++ programming language.
- Lasso Java Application Programming Interface (LJAPI) enables the creation of Lasso tags and extended functionality via the Java programming language.
- Lasso Connector Protocol (LCP) enables the creation of Lasso Web server connectors.
- Supports XML for extensibility via cross-application and cross-server data interchange.
- Functions as a robust TCP/IP client for the creation of custom TCP/IP applications.
- AJAX – Supports dynamic update of Web pages through asynchronous JavaScript. [code](8.5)[/code]
- CGI – Supports cross server data exchange with other Web application servers.[code] [/code]
- DNS – Supports looking up DNS records including IP addresses, reverse lookups, and MX lookups. [code](8.5)[/code]
- File Upload – Supports multi-part HTML forms and file upload.[code] [/code]
- FTP – Supports File Transfer Protocol.
- Java – Provides extensibility via Java.[code] [/code]
- JDBC – Supports JDBC-compliant databases.[code] [/code]
- HTML – Outputs data formatted in HTML for display in HTML compliant devices such as Web browsers.
- HTTP – Supports HTTP 1.1.
- HTTPS – Supports HTTPS and SSL.
- iCalendar – Supports parsing and creating iCalendar documents. [code](8.5)[/code]
- LDAP – Supports the lightweight directory access protocol for security and information lookups. [code](8.5)[/code]
- ODBC – Supports ODBC-compliant databases. [code](8.5)[/code]
- PDF – Outputs data formatted in Portable Document Format for display in PDF-compliant devices.[code] [/code]
- SMTP – Supports email forwarding to SMTP email servers. Includes support for CRAM-MD5 and DIGEST-MD5 [code](8.5)[/code] authentication and SSL encryption [code](8.5)[/code].[code] [/code]
- POP – Supports downloading email from POP servers. Includes support for CRAM-MD5 [code](8.5)[/code] and DIGEST-MD5 [code](8.5)[/code] authentication and SSL encryption [code](8.5)[/code].[code] [/code]
- SOAP/WSDL – Provides ability to use and serve SOAP XML Web services.[code] [/code]
- SQL – Supports Structured Query Language.
- TCP/IP – Built-in TCP/IP client enables interoperability with SMTP email servers, remote Web servers, and other application servers.
- Unicode – Provides support of internationalization and localization of data.
- WAP – Interoperates with wireless devices via WAP.
- WML – Outputs data formatted in WML for display in WML compliant wireless devices.
- XML – Provides cross-application data exchange via XML.[code] [/code]
- XML-RPC – Provides ability to output XML data and handle XML-RPC requests.