Alpha Five V10
- Welcome to Alpha Five Version 10
- Developing Web applications...
- To develop desktop applications...
- Server Installation Videos
- Feature Videos
- Release Notes
- Xbasic Additions
- Grid Component
- How To Grid Topics
- Desktop Features V10
- Xdialog
- Application Server
- Application Server How To Topics
- Application Server v10 Troubleshooting Tips
- Alpha Five Javascript Libraries The Core.JS Library
- Alpha Five Javascript Libraries The AjaxFormLibrary.JS Library
Description
Improvements from Alpha Five V10
Welcome to Alpha Five Version 10
Version 10 of Alpha Five introduced a large number of features. This document describes many of these features.
You can get a overview of the some of the new features by watching videos that demonstrate selected features.
- Web Application features video | http://news.alphasoftware.com/v10preview/videos.htm
- Desktop Application features video | http://news.alphasoftware.com/v10preview/DesktopFeaturesvideos.htm
The best way to get started once you have downloaded Alpha Five and viewed the short introductory videos is really to sit down with the product and build something. What you should build first depends on whether you are more interested in developing Ajax Web applications or desktop applications.
Developing Web applications...
We recommend starting with the introductory videos below, and then working through Chapter 1 of Martin Heller's book Alpha Five v10: The Tutorial, which is a free PDF download. If you'd like to continue that tutorial, the rest of Volume 1 is available as a PDF for $24. You can learn about additional aspects of Web development from this site and from the V11 videos and V10 Web Feature Videos; many of these videos may also be found on YouTube in a form viewable on iPads and iPhones. Finally, refer to What's New in Version 11 for V11 tutorials, references, and samples.
To develop desktop applications...
We recommend starting with the introductory videos below, and then working through the desktop tutorial. After that, continue with material on this site and view the V10 Desktop feature videos as well as the V11 videos. Refer to Alpha Five V11 for V11 tutorials, references, and samples.
Server Installation Videos
How to install the Alpha Web Application Server on a VPS
Feature Videos
Release Notes
[TIP Using Chinese Characters in a Tabbed UI or as a Label in a Grid Component]
[Multi-Monitor Support]
How to Use User-Defined Scalar Functions in Oracle and SQL Server
[Tip: Web Application Grid Component Enable Disable Buttons]
[MySQL Bit Fields]
[Ping Function]
Xbasic Additions
[Sending Email Using Gmail SMTP Server]
[*page Function]
[Payflow Functions for PayPal]
[Session Folders]
[.Data Method On DBF Tables and Property Variables]
[*Flatten_Interfaces Function]
Summary of New Xbasic Functions in V10
- hasChildRecords(tableAlias)
For use in a Form or Report that is based on a set with one or more one-to-many child tables. Returns .t. if the current parent record has any children in the specified tableAlias.
- stritran_multi_expressions(String,SearchReplaceString)
Does a search and replace operation in a string using a CR-LF delimited list of search and replace values. Contrast with the stritran_multi() function.
- strtran_multi_expressions(String,SearchReplaceString)
Case-sensitive version of stritran_multi_expressions()
- inListN(lookfor, value1, value2, valuen)
Returns the index (1,2,3, etc.) of the first value that matches lookfor. If there are no matches, returns 0. Function is case-sensitive.
- convert_acp_to_utf8()
Convert data from ansi code page to UTF-8.
- convert_utf8_to_acp()
Convert data from UTF-8 to ansi code page
- email_send_gmail()
Send e-mail using the Gmail SMTP server.
- emailSendCDO()
Use the Microsoft CDO ActiveX object to send e-mail rather than the Alpha Five built-in socket object.
- *page(startingLogicalRecordNumber, pageSize)
Limits the number of records returned by the table.external_record_content_get() function.
- ui_keycode_normalize(FriendlyKeyCode)
Converts a key code string (e.g. Shift-Ctrl-F12) to the syntax required by the OnKey event in a Form Layout.
- A5_field_getKeyColumns(dbfTableName)
Return the name of the 'primary key' columns of a .dbf table. .dbf tables do not use primary keys. However, you can infer the 'primary key' if the table has an auto-increment column, or a 'unique value' field rules.
- A5_defineAliases(aliases)
Takes a CRLF delimited list of aliases defined using this format: aliasname|path. Allows you to define aliases for use in a Desktop application using Xbasic. Aliases in a Desktop application are normally defined using the View/Settings/Aliases dialog. This function allows you to define the aliases programmatically.
Grid Component
The V10 Grid component was initially rewritten to use Web 2.0 Ajax features. A number features were added to the Grid and the Grid performance was made faster than it was in the V9 Grid component.
[Search Part Query by Form Search Syntax]
[Time Searches Range Search]
[Action Javascript in Grids]
[Allow individual Grid rows to be saved]
[Error style in Grids]
[CSS linked files in Grids]
[Additional Grid Styles]
[Layout Controls in Grids]
[Unbound Layout controls in Grids]
[Grid Keyboard shortcuts]
[Grid Javascript Event Handlers]
[Grid Javascript Linked Files]
[Grid Field level Xbasic data validation]
[Using AEX Files in your Grids]
[Override Settings in A5W Page]
[Naming Conventions for Fields and Objects Used In Ajax Grid]
[CurrentGridFilter and CurrentGridOrder Functions]
[Grid Component Editable Grid Hide new row after insert Property]
How To Grid Topics
How to Define Dynamic Content for a Grid Tab or Accordion Control Pane
[How to Create an Arbitrary Window and Put Content in it from a V10 Grid]
How to Put Up a Wait Dialog While a V10 Grid is Performing an Ajax Callback
[How to Perform Client Side Calculations with Non US Number Formats in a V10 Grid]
[How to Use a V10 Grid Component Instead of a Dialog Component]
[How to Dynamically Set a V10 Grid Field Label]
[How to Set Default Value for a New Record to The Values of the Previously Entered V10 Grid Record]
[How to Refresh a V10 Grid]
How to Debug Image File Reference Images Not Displaying Correctly in a V10 Grid
How to Override Certain Settings in the .a5w page or in the V10 OnGridExecute event
[How to Change the V10 Grid Base Filter using Automation]
[How to Include User Defined Controls in a V10 Grid]
[How to Pass Information to a Redirect Page from a V10 Grid]
[How to Use Security Framework Functions in the Server-Side Event Handlers of a V10 Grid]
How to Print a Report Showing Currently Selected Records of a V10 Grid
[Grid Component SQL Tables Null if Blank V10.5]
[Grid Component - New Record Row - Initial Values Grid Component New Record Row Initial Values 10.5]
[How to Set the Base or User Filter and Order or Link Definition Programmatically in a V10 Grid]
[How to Show a Control on Only Certain V10 Grid Rows]
[How to Create a Dynamic Title for a V10 Grid Detail View in a Pop-up Ajax Window]
[How to Close a V10 Pop-up Ajax Window]
[How to Dynamically Show and Hide the V10 Grid Alphabet Buttons Search Bar]
[How to Get a Pointer to a V10 Grid's Parent Object]
How to Use the JQuery Javascript Library with Alpha Five V10
Desktop Features V10
New Version of the Alpha Five PDF Printer V10 - Version 10 includes a new version of the Alpha Five Printer driver. The PDF Printer in V9 does not work on Windows 7 and certain 64 bit operating systems, such as Windows Server 2003. The Printers window in the Control Panel will show the printer name as 'AlphaFivePrinterV4' (indicating that it is based on V4 of the Amyuni Printer Driver).
The Amyuni Printer is no longer distributed with Alpha Anywhere starting with version 4.6.2.7 (build 7544). To get the Amyuni Printer drivers, you must first install an older version of Alpha Anywhere.
Browse V10 - The Browse Object (stand-alone Browse and embedded Browse) has been largely rewritten. As a result of the changes that were made, much of the Xbasic code that users had to write in order to refresh the Browse after records were added or edited in another session is no longer necessary. The Browse will refresh automatically when data is changed in another session in most cases and you will not have to synch or refresh the Browse.
Form Layouts - Browse Columns - Dynamic Properties - You can now set dynamic properties on the columns of embedded browses. This is a really powerful feature as it allows you (for example) to dynamically show or hide a column in an embedded browse (by setting its width to 0) if a certain condition is true.
Automatic Backup and Revision Control of Layouts and Field Rules V10
Export and Import Layout Definitions V10 - You can export a Layout definition to a special .a5pkg file by right-clicking on a Layout in the Control Panel and selecting the 'Export Layout...' command. You can import .a5pkg files by right-clicking on white space in the Control Panel and selecting the 'Import Layout...' command.
The feature is particularly useful for copying reports based on SQL data sources from one database to another.
Form Layouts Double Click Event V10 - Previously when you double clicked on buttons and text objects, you could edit the object's text property. Now, the double click event is used to open a modal code edit to allow you to edit the object's events.
Active Link and Passive Link Tables Convert to Native Tables V10 - You can now right-click on an active-link or passive-link table and convert the table to a native Alpha Five table. In the case of an active-link table, this will import the data from the remote table and store it in a native table. In the case of a passive-link table, the data is already stored as a native .dbf table, but the link to the remote SQL database is severed, so the table can no longer be 'refreshed'.
Forms Subforms Transparent Backgrounds V10 - If you place a sub-form on a form and you set the sub-form's background style property to 'transparent', the parent form's background will be visible behind the sub-form. This makes the use of sub-forms in a form much more natural.
Form Layouts - Tab Ordering - When you drag objects onto a Form Layout, Alpha Five is now much smarter about the way in which the new objects are inserted into the form's tab order. Previously, new objects were always inserted at the top of the tab order. Now Alpha Five looks at where the objects have been placed and if you insert the object before the first object in the existing tab order, the new objects are placed at the top of the tab order.
Transparent PNG Images V10 - You can now use transparent PNG images in reports. The background color of the report will shine through the transparent section of the images.
Xdialog
[Grid Components in Xdialogs V10]
Xdialog ListBoxes Dynamically Computing the Display Expression V10
Modifying Xdialogs at Run-time Before the Xdialog is Rendered V10
Application Server
[Session Management V10]
[Application Server Configuration V10]
[Application Server Performance V10]
[Application Server Miscellaneous V10]
[Application Server Deprecated V10]
Application Server How To Topics
How to specify an alternate configuration file for the Application Server
[How to manually modify the Application Server configuration file]
[Using the Application Server configuration file to create global constants]
How to provide both HTTP and SSL services for a single application by using multiple Application Server configuration files
Hosting SSL on part of a site is no longer recommended industry best practice. If SSL is required for part of your application, it is recommended to use SSL for the entire site. To host multiple applications using different ports, see Running Two Server Instances on the Same Hostname Using Different Ports.How to use SSL for only a portion of your application
Hosting SSL on part of a site is no longer recommended industry best practice. If SSL is required for part of your application, it is recommended to use SSL for the entire site. See Installing an SSL Server Certificate For information how to install an SSL certificate.Using a Systray Caption to differentiate multiple server instances