Salesforce

Differences Between Magic xpa 4.6 and Magic xpa 4.7 (Magic xpa 4.x)

« Go Back

Information

 
Created BySalesforce Service User
Approval Process StatusPublished
Objective
Description

Differences Between Magic xpa 4.6 and Magic xpa 4.7

Here are some prominent points by which Magic xpa 4.7 is different from Magic xpa 4.6. The following functionality is provided in 4.7:

Enhanced GIT Connectivity and Support

  • Magic xpa deprecates the use of PushOk Git plugin and supports TortoiseGit plugin as a default for connecting to Git.

  • Magic xpa Identifies if a project is under Git version control or not while opening it. Irrespective of whether a project is under Git or not, the three flags VCActive, WorkOffline, and VCUseGitPlugin are set to ‘N’ by default in the <project_name>.edp file.

  • Magic xpa Identifies when the working branch changes from outside and loads the contents of the project repositories.

  • Magic xpa checks the prerequisites for using Git with xpa. You will find a new option named ‘Git Connectivity’ under the menu File > Version Control. On selecting this option Magic xpa will check if:

1. TortoiseGit is installed

2. Compare and Merge is installed and configured

3. Developer eMail ID is configured

4. Developer ID is allocated

5. A Branch ID is allocated for the current branch

If anything from the above was not done then Magic xpa informs you.

  • Magic xpa supports unique version control ID. Magic xpa now guarantees the uniqueness of the ISNs being used among the developers. When you create a project in GIT for the first time, Magic xpa adds your following information into devids.txt file:

    1. Developer's ID

    2. Developer's Name

    3. Developer's eMail

  • Magic xpa identifies a branch uniquely. Similar to devids.txt file, Magic xpa maintains a branch ID file named branchids_x.txt to store the active branch names and numbers to be able to identify a branch uniquely. You can create at the most 64 branches (0-63) of a project in Version Control.

  • Source Control Plugin setting is removed.

  • You can use the special flag SpecialDisableGITFunctionality to treat a Git project as a non-Git and work on it offline.

  • Git Flow Commands (git init, git feature start, and git feature finish) are provided under Version Control > Git Flow menu.

    1. Git Flow Init - Initialize a directory as a Git flow repository.

    2. Git Feature Start - Start a Git flow feature

    3. Git Feature Finish - Finish a Git flow feature

  • When developing with Git, Magic’s Compare and Merge tool is mandatory. It is available at Downloads Area (downloads.magicsoftware.com).

General Enhancements

  • Enhanced APG: The existing APG utility is enhanced to create Browse programs quickly when Data Source has relationships defined for Table linking. The programs are created with the following:

    1. Multiple and multi-level Subforms (for 1:N relationships)

    2. Linked Tables (for 1:1 and N:1 multiple and multi-level relationships)

  • The programs are created based on the selected relationship(s) from the APG Relationship Tree.

  • For creating the Browse programs, you need to set a Relationship Criteria to link the Tables. The relationship between two tables is displayed in the form of a tree.

  • If you have linked two tables in 1:1 relationship, then with the enhanced APG, a program is created with a Link Query in it.

  • While overwriting a Data Source, Magic xpa issues a confirmation message for deleting the Data Source from the SQL-type and ISAM-type databases.

  • In addition to Plain Text format, Magic xpa enables sending and receiving mails in HTML format using a function named MailFormatSet(mode). The support for HTML format is applicable only on Java mail framework.

  • Magic xpa introduces two functions named FileOpenDlg() and FileSaveDlg(), to enable you to upload and download the selected file(s) respectively. The functions are available in Online tasks only.

  • Magic xpa provides 32-bit and 64-bit Open JDK version 1.8 along with xpa installation.

  • While working with LDAP/AD you can create SUPERVISOR_GROUP (underscore in between) instead of SUPERVISOR GROUP (space in between) and while validating against the security file, Magic xpa treats it as SUPERVISOR GROUP in order to assign supervisor rights to the users.

UI Enhancements

  • Magic xpa now supports scaling of Forms, Frames, and Controls in RIA executing on desktops.

  • Magic xpa supports expanding (+) and collapsing (-) the Block operations in Program Logic. In case of nested Block operations, expand/collapse state for the inner blocks is retained.

  • Magic xpa enables you to customize the foreground (FG) and background (BG) colors of Columns in Link operations.

  • Microsoft® Visual Studio Code now identifies the binding and shows the drop down box of IntelliSense in Magic xpa environment.

  • Magic xpa enables you to find a desired program from the entire repository when you enter the program’s source file name in Find Text dialog box. Magic xpa optimizes search by providing a check box named Search source file name only, which on clicking only searches the program associated with the source file name.

Studio Enhancements

  • A 2D Label control will be migrated from UniPaaS to Magic xpa with its borders as follows:

Thick => 2D

Thin => Windows

No Border => No Border

  • While migrating an application from uniPaaS, Magic xpa enables you to convert an Edit control with Data set as an Expression and located outside the container control to a Label control with the same Expression as its Text. A new Command Line Option UpEditWithExpToLabel is introduced, which upon setting to ‘Yes’ enables this conversion.

  • Magic xpa automatically installs Visual Studio 2015.

Runtime Enhancements

  • Magic xpa provides runtime values of the variables in the tooltips while debugging programs with Step (F10) and Step Into (F11) options.

RIA Enhancements

  • In RIA, using Scroll Here option you can jump directly to the clicked position when Scroll Bar Thumb is set to Absolute. Magic xpa supports Scroll Here functionality for Preload View also.

Runtime Enhancements

  • An Editing event named Create Line Above is introduced, which creates a record above the current record during Runtime. This event is supported in Online, Rich Client, and Web Client applications.

Database Enhancements

  • Magic xpa’s MySQL ODBC gateway now supports MySQL 8.x.

  • Magic xpa now enables you to define One-to-One (1:1), One-to-Many (1:N), and Many-to-One (N:1) relationships among the tables created in Magic Data Repository. Defining relations is not supported on XML table.

  • You can now use the binding (~) for the statements that do not return a result set.

  • Magic xpa was tested and is compatible to work with Microsoft SQL Server 2019.

Web Client Enhancements

  • Magic xpa introduces an Environment setting to handle re-initialization of the context when sessions terminate abnormally. The setting named Reinitialize Web Client sessions on abnormal terminations offers three options:

    • Yes: Reinitialize the context by default.

    • No: Do not re-initialize the context.

    • Alert: Issue an alert message to let the user decide whether they wish to reinitialize the context or not.

  • You can use the keyword named WebClientReInitSession, which upon setting to 'A' in magic.ini issues the same Alert message. The setting is effective on restarting Magic xpa Studio.

  • Magic xpa introduces an Environment Setting named Context Inactivity Warning Time, which enables you to set how much time before terminating the session you want Magic xpa to issue a warning message about termination of the session.

  • You can use the keyword named ContextInactivityWarningTime to set the time in magic.ini.

  • The Directive for Numeric Pictures is supported with blank ‘Zero fill’ characters. With this directive, Magic xpa fills the variable value with blanks if the variable value was zero. The characters other than blanks are not permitted in Directive of numeric pictures.

  • When Date or Time is zero, Date Picker or Time Picker will display it blank respectively.

  • You can change Date and Time formats to be different than that defined on Magic xpa’s Form.

  • Magic xpa supports CallJS() function in Web Client tasks to call a JavaScript method of Magic Angular component.

  • Magic xpa supports to define the level of binding between Edit control and variables. A property named Binding Level is introduced which lets you define binding option either as Control (where a variable receives a control’s value on leaving the control), or as Character (where a variable receives a control’s value on each character typed).

  • You can call Overlay programs from Load on Demand folder without Route.

  • A log level named RequestInfo is introduced, which upon setting in Web Client Application Execution Properties, the requests sent to server and their corresponding responses received from the server are logged on the console.

  • A method named PropertyChanged() is introduced, which on writing in the .ts file of the component notifies you about change in the value of Custom Properties property in Magic xpa. The method is invoked whenever value of any custom property changes.

  • When you change the contents of a Web page and attempt to close it without saving the changed contents, i.e. when the transaction cache is not empty, Magic xpa raises a warning about the pending changes. On all browsers except Chrome the context is terminated after the context-inactivity timeout.

  • Magic xpa does not issue Confirmation update dialog box on using Record Flush event.

  • Magic xpa now provides Enum for Custom Properties so that you can access them easily.

  • Earlier on generating an application containing Table control(s), the array displayedColumns[] used to be entered into <component_name>.component.ts file. The array is entered into mg.controls.g.ts file to avoid updating the <component_name>.component.ts file each time a new column is added into the array.

  • A function named IsContextReInitializing() is introduced to indicate whether the context has been reinitialized after abnormal termination of application. The function when called from Main Program/Task Prefix returns ‘TRUE’ when the context is reinitialized after crash.

  • Web Client tasks are set to behave in an interactive manner by default.

  • Magic xpa enables you to identify the runtime path of the error message that might appear in Client-side browser console while debugging Web Client applications.

Mobile Enhancements

Android

  • ZBar SDK is no longer supported in Android. Barcode is not supported via Zbar and sample project has been modified to use Pic2Shop on Android.

  • Magic xpa was tested and is compatible to work with Android 10.

  • Update the project target SDK and compatibility libraries to API 29 so that your custom applications developed for higher versions will work smoothly on your latest Android devices.

iOS

  • Replaced deprecated UIWebview with WKWebview: Sample projects and previously missed-out references are updated as per WKWebview implementation.

  • ZBar SDK is no longer supported in iOS. Barcode is not supported via Zbar and sample project has been modified to use Pic2Shop on iOS.

GigaSpaces Enhancements

  • The underlying GigaSpaces infrastructure is updated to version 15.

Behavioral Change

  • A flag named SpecialKeepVirtualsOnQuitOrCancel is provided to retain the behavior of Quit and Cancel events in version 3.3e regarding rolling back the values of virtual variables.

New Special Flags

Magic xpa 4.6.3

The following functionality is provided in 4.6.3:

Database Enhancement

  • A DBMS flag named DSQL_STRING_BIND_VARCHAR is introduced in order to use VARCHAR as the type for binding. This brings back the behavior before Magic xpa version 3.3a.

Magic xpa 4.6.2

The following functionality is provided in 4.6.2:

General Enhancements

  • Magic xpa supports the use of RC5 Encryption method in Cipher() and DeCipher() functions.

  • A special flag named SpecialComponentLogging is provided in order to customize the behavior of component logging while loading a Magic component (ECF) at the time of opening a host application.

  • A special flag named SpecialAnsiBlobCheckNull is introduced to customize the display of the warning message about presence of a NULL in an ANSI Blob.

Magic xpa 4.6.1

The following functionality is provided in 4.6.1:

General Enhancements

The following general enhancements are added in Magic xpa.

  • A function named UserRightGet() is introduced to retrieve the rights of the logged-in user.

  • A new INI parameter named MailFramework is introduced, which specifies the underlying framework used for mail functions.

  • TLS and SSL mail functionality is supported only over Java framework. To choose among SSL, TLS, or Plain, a new argument named ‘protocol’ is introduced in MailConnect() function, which is regarded when MailFramework=J.

  • The special flag SpecialRIAEncryptAES is removed from Magic xpa Help.

UI Enhancements

  • A Combo box on Studio's Status Line is provided to scale the active form during Runtime presents enhanced scaling options such as 110%, 120%, 130%, 140%, 150%, 175%, and 200%.

  • Allow Scaling property which was previously present in GUI Display forms is also added for GUI Frames forms.

Database Enhancements

  • Magic xpa provides 64-bit gateway for AS/400. The name of the dll file for AS/400 gateway is changed from mgeac32.dll to mgeac.dll.

32-bit Gateway Users:

    1. All Invoke UDP operations related to this DLL will have to be modified from mgeac32 to mgeac.

    2. The MGDB16=mgeac32.dll entry in the Magic.ini file will have to be changed to mgeac.dll in case of upgrade installation.

  • Magic xpa provides 64-bit gateway for DB2/400.

Web Client Enhancements

  • Control Verification is supported for Web Client tasks.

  • Custom Validators property is introduced to be able to define a set of validators.

Mobile Enhancements

  • Support for iOS 13: Rich Internet Applications can be executed on iOS 13.

  • Support for XCode 11: Magic xpa 4.6.1 is compatible to work with Xcode 11.x.

Reference
Attachment 
Attachment