Nightly Build Notes for Alpha Anywhere

IMPORTANT: The nightly builds (previously called the 'pre-release' builds) are only available to customers with a valid Alpha Anywhere subscription. If your subscription has expired you will not be able to use the nightly build.

If your subscription is valid and you download and use the nightly build please keep in mind that if you do not renew your subscription after it expires your eligibility to use nightly builds will end.

 

Build 7427- 5552 21 JAN 2021 - 10:26 AM

 

The Features and Bugs Listed Below are for the current nightly build. These features/fixes will be included in the next official Update. These notes are for users who are testing the nightly build.
 

This is not an official patch, so you should not deploy this update to a production environment.

 

This nightly build is our internal, development build and it is made available to you for the sole purpose of testing the new features that have been added and the bug fixes that have been made since the last official release. We are making this nightly build available to you so that you can provide us with feedback on whether the changes we are making are working correctly and have not introduced new issues.

 

If you encounter any type of bug while using this nightly build, please send information about the bug (including full instructions on how to duplicate the issue, and a test case that we can run on our own machines) to a5v12bugs@alphasoftware.com.

 

Please do NOT post bug reports concerning the nightly build on the message board. Alpha Software engineers do NOT routinely monitor the message board and there is a good chance that your posting will be overlooked. Also, since your posting will be referencing unreleased code, it will only serve to confuse other users.

 

This nightly build is not intended to be used in a production environment.

 


 

Downloading the Universal Installer

IMPORTANT: A new installer (called the Universal Installer)  is used to install the nightly builds. To learn more about the Universal Installer, click here.

Videos

 

UX Component - List Control Single click on a column in a row to enable in-place editing By default a List with in-place editing is toggled into edit mode by tapping on an edit icon in the row, or by double clicking on the row. However, you might want to toggle edit mode on with a single click on the row and simultaneously select the field that the user clicked on.

In this video we show how you do this.

Watch video

Date added: 01-14-2021
UX Component - List Control Filtering choices in an edit-combo pick list When you are editing data in a List row using in-place editing, you might have configured some of the columns to be edited using an edit-combo control. When you open the edit-combo to display the pick list, there could be a very large number of rows in the pick list, making it difficult to find the row in the pick list that you want to select. You can add a filter box to the pick list to make it easier to find the row you want to select.

In this video we show how you can add a user filter box to the edit-combo pick list.

Watch Video

Date added: 01-20-2021

 

 



 

UX Component - List Control - Calendar Layout - (This feature is still under development and requires a Feature Key in order to enable it. We are making an early version of the feature available so we can get feedback from the community). To request a feature key, go to Help, send an email to  enhancementrequests@alphasoftware.com with "List Calendar Feature Key" in the subject.

The Calendar layout is a view of the data in a List See video:

https://www.screencast.com/t/dvLrLJNmhG1

 

 

HTML Editor - We are reworking the HTML editor. In this pre-release there are know issues with the HTML editor.

Features

Build 7427

UX Component - List Control - In-place Editing - Edit-combo - Filter the Pick List - You can now filter the choices shown in an edit-combo pick list.

Watch Video

To enable filtering in the edit-combo pick list, edit the properties for the edit-combo control in the List Builder. (Fields tab, Control settings property)

 

 

Build 7422

UX Component - PDF Viewer Control - The PDF Viewer Control has been rewritten. The new PDF Viewer eliminates some of the limitations of the previous PDF Viewer Control . Previously, you could only only include a single PDF Viewer control in a UX. Now, there is no limit as to how many PDF Viewer controls can be added to a UX.

 

The control allows you to navigate from page to page in a multi-page PDF document. You can either navigate by clicking on the VCR icons or typing a target page number into the text box and then pressing enter. You can scale the PDF document by selecting a scaling factor in the dropdown box. You can click the Find icon to search for text in the PDF document. The page in which the first match is found will be focussed. You can also click the help icon to get metadata information about the PDF file.

To add a PDF Viewer control to a UX, select the control from the Other Controls section of the UX Builder toolbox.

 

The syntax for the {dialog.object}.pdfViewerLoad() method has changed. Since a UX can now have multiple PDF Viewer controls, you must now specify the ID of the PDF Viewer control you want to load. For example:

{dialog.object}.pdfViewerLoad('PDFVIEWER_1','mypdffile.pdf')

 

 

 

 

UX Component - List Control - Column Actions - Change in behavior - The behavior of the List Column Actions feature has been changed to more closely resemble the behavior in Excel (after which this feature was modeled).

Now, if you type into the search box, the list of matches is automatically selected (i.e. the checked icon is shown for each item) and you can then click the Filter button to search for the selected items (previously when you typed in the filter box, the items in the filtered list shown in the pick list were not selected. Clicking the <Select All> option would select all of the records in the list, not just those shown in the pick list).

If addition, when you type into the filter box  you have a new option - (Add current selection to filter). If you check this item, then when you click the Filter button, the selected items are added to the existing List filter.

 

 

UX Component - List Control - In-place Edit - Single Click to Go into Edit Mode - You can now configure a List to toggle into row editing mode with a single click on the row. You can also specify that the field you clicked on should get focus and that the text in the field should be selected when the row is toggled into editing mode.

 

 

UX Component - List Control - <listObj>.editInplaceEditRow(rowNumber,flagSetFocusToTarget) method - If you tap on a field in the List and call this method from the List's onClick or onTap event, the row you clicked on will be put into edit mode and the field you clicked on will have focus and the existing text will be selected. Previously the first input control in the row had focus and nothing was selected. You can turn off this behavior by setting the optional setFocusToTarget parameter to false.

 

Watch video

Build 7404

 

UX Component - Static HTML - Upload to S3 - When you create a static HTML fileset from a a UX component you can now upload your files to S3 into a special bucket managed by Alpha Software.

When you select the Create Static HTML Files... menu open from the drop down Menu button in the UX Builder, you can now set the Storage connection string to <AlphasSoftware> to use the special bucket managed by Alpha Software. You can still continue using a private bucket if you prefer by entering the name of your connection string.

 

UX Component - List Control - In-place Editing - Double Click - If you configure the List to switch into in-place editing mode when you double click on a row, you can now double click on a column in the row and when the row goes into edit mode, the field you double clicked on is now automatically given focus and the text in the field is selected.

Web Applications - Security tables - If you change the connection string for your web security tables to a different database in which the security tables do not exist, the Utilities menu open, shown in the image below, can be used to re-create the missing security tables.

NOTE: You can also use the Xbasic utility function: a5wcb_createSecurityTables(connectionString) to re-create the missing tables in the target database.

 

Build 7382

Web Applications - Live Test - You can now perform a Live Test of your application on the Development Server. When you click the LiveTest button on Web Control Panel the following will happen:

 

LiveTest differs from LivePreview in that it is a test of your entire application LivePreview is a test of a single component or page.

 

Xbasic split() Function - Takes a delimited string and populates an array.

Syntax

split(c string, c delimiter, p array)

Function does not return any value.

Where

 

Example:

 

string = "x|y|z"

dim a[0] as c

split(string,"|",a)

showvar(a)
 

pdf_merge_amyuni() - Same functionality of the pdf_merge() function, but uses the Amyuni ActiveX control, rather than PDFSharp. The PDFSharp implementation of the pdf_merge() functionality is more sensitive to malformed PDF documents and will throw an error in certain situations where pdf_merge_amyuni() will succeed.

NOTE: The pdf_merge_amyuni() function can only be used if Alpha Anywhere has been previously installed on your machine using the old installer. That is because the new Universal Installer no longer installs the Amyuni controls.

 

Web Applications - Security Framework - LDAPS - Added support for secure LDAP.

 

Xbasic - a5w_report_saveas(), a5w_letter_saveas() and a5w_label_saveas() - The functions now all now use the PDFDOCGEN format which does not use the Amyuni primter driver. If you want to force these functions to use the Amyuni printer driver specify the save as format as PDFAMYUNI.

NOTE: The PDFAMYUNI option will only work if the Amyuni PDF Printer drivers have been installed. If Alpha A nywhere was installed using the Universal Installer, the Amyuni printer drivers will not have been installed.

 

Cordova Applications - Printer Plugin - The Cordova Printer plugin has been updated to work with iOS 14. If you have used the older plugin in your Cordova app you will need to either create a new Cordova project or uninstall the older plugin by unchecking it in the Cordova app builder genie and save, then add the Printer plugin to the project. If you are using the CLI builder, make sure to generate a new iOS app which will include the latest version of the printer plugin.

 

UX Component - Create static HTML files... menu option - Upload files to Amazon S3 storage - When you create a static HTML file from a UX component and then select the option to upload the files to S3, the files are now uploaded to S3 much more quickly.

 

The static HTML files option is an ideal way for quickly sharing the basic layout of a UX component with another person. For example, you may be designing an app for a client and the client has given feedback on the appearance of a UX. You can generate a static HTML file, copy the files to S3 and then send the client the URL for the file.

 

To generate a static HTML file, edit the component, Click the Menu button.

 

Then select the Create static HTML files... option.

 

Then check the Upload files to Amazon S3 storage option.

 

 

Xbasic - a5Storage_copyFiles() - Fast copy of multiple files to Storage - A new Xbasic function makes it possible to copy files to storage (in particular S3 and Azure) up to 10 times faster than copying individual files (using the a5Storage_saveFile() function).

The function, a5Storage_CopyFiles() can copy an entire folder, or a comma delimited list of files.

NOTICE: If the target connection string points to disk storage (rather than S3 or Azure), then there may be no advantage to using this function. Instead, use the copy_folder_fast() function.

 

Syntax:

L flagResult = a5storage_copyfiles(C connectionstring ,C sourceFolder [,C pattern [,C targetFolder [,N concurrentTasks [,* pResultIn [,L flagSetReadPermission]]]]])

 

Where:

 

Example

Copy all .jpg files in the c:\myfiles folder to a folder called 'images' in a S3 bucket referenced by the 'myS3Bucket' storage connection string.

 

flag = a5storage("myS3Bucket","c:\myfiles","*.jpg","images",100)

 

UX and Grid Components - Javascript Actions - Description - You can now add descriptions to actions defined in Javascript Actions

Bugs

UX Component - List Control - In-place Editing - Edit-combo and Auto-suggest - AtRenderTime - If the choices for the edit-combo or auto-suggest were configured to be fetched atRenderTime, the second and subsequent edit-combo or auto-suggest did not display a picklist.

Web2Cal - Month View - If you are using the 3rd party Web2Cal component in your application you may see that the Month view does not render correctly. This is the result of a bug in both Web2Cal and jQuery (which Web2Cal relies on).

The bug in Web2Cal is benign if you use an older version of jQuery.

If you are experiencing this issue, go to Project Properties and change the location to where jQuery core is loaded from.

Set the location to Load from Google and set the version number to 1.6.2.

Universal Installer - When a new version of the Universal Installer is released, installing a build from the "Available" tab into a folder where that build was previously installed will work as expected. Before this fix an optimization was incorrectly kicking in seeing that the previous build was already installed.

 

UX Component - Repeating Sections - Labels - Each Row Option - Below - The 'below' option was not being honored when the Labels for a Repeating Section were set to show on all rows.

UX Component - Data Seriew - Array Arguments - Fixed an issue when the SQL for a data seriew used array arguments.

Web Projects Control Panel - Title - Build Number - The Web Projects dialog now shows the Alpha Anywhere build number in the title. You can turn this off if you wish by going to View, Settings, Preferences and then searching for Web Projects Control Panel.

 

UX Component - Repeating Sections - Row Number - If you had added a Row Number control to a Repeating Section, the row numbers were not displayed correctly.

UX Component  - Repeating Sections - Show label rule - If the Show label rule was set to All rows, the labels were not displayed.