Salesforce

Differences Between Magic xpa 3.1 and Magic xpa 3.2 (Magic xpa 3.x)

« Go Back

Information

 
Created ByKnowledge Migration User
Approval Process StatusPublished
Objective
Description

Differences Between Magic xpa 3.1 and Magic xpa 3.2

New Functionality

  • Magic xpa now lets you develop applications for Windows 10 Mobile devices.

  • Web Services can now be used as data sources. This feature is only available if you set the SpecialWebServiceDataSource flag to Y.

  • Java 7.0 support.

  • Compare & Merge – A third party Compare & Merge tool, supporting Magic xpa’s XML metadata format, is now available. To obtain this tool, please contact your local representative.

  • Additional functionality has been added to the Edit control's Hint property:

  • The property is now also supported for Windows desktop (in addition to the existing mobile support).

  • The property now also supports the use of expressions.

  • You can now define the foreground color of the hint's text.

  • When a translation file is defined, the Hint value is automatically translated.

  • The Edit control now supports transparent colors.

  • The new HTTP Framework environment setting was added where you can define Java as the underlying HTTP library to be used for the HTTPxxx functions. Using Java provides enhanced support in TLS 1.2. In v3.2, Java support was added and in v3.2a, the EasySoap library was replaced with a .NET library. Both the Java and .NET libraries provide support in TLS 1.2.

  • You can now use pixels as a form’s unit of measurement.

  • An Inherit All option is now available in the Form Designer's Model property. This allows you to inherit all of the properties defined in the model.

  • You can now replace any repository object with another object of the same type as was possible in previous versions.

  • You can now define the color of a selected tab page.

  • You can now define the style of a check box's border.

  • In the Form Designer, the values of the X, Y, Width and Height properties are displayed on the status bar.

  • You can now change the text of the Check Box, Group, Label, RTF and Column controls, by pressing Enter.

  • When models are available for controls, you can now right-click on a control in the Toolbox and select the required model from the context menu. The Reset Toolbox option has been moved to the Studio’s Options menu.

  • You can now see checker and find-reference results in the Form Designer.

  • In the Application Properties dialog box, you can zoom to select the external files.

  • The Task Variables pane has been renamed to the Variables pane. This pane now shows variables from ancestor tasks, and also includes search capability.

  • Link Query operations for Oracle 12 and above, MSSQL and ODBC databases are now limited to fetching a single record, even if the cursor returns more than one record. You can maintain the previous behavior of not limiting the fetch to one record by setting the LimitLinkToSingleFetch keyword to N in the Database Information property.

  • You can use result sets in Oracle stored procedures.

  • The View by Key functionality that was available in V1.9 using Ctrl+K, is once again supported via the End User Functionality component. For this purpose, the following was added to V3.2:

  • The Index Change event changes the index of the main data source in a task.

  • DataViewIndexNames – This function returns the index names of the main data source defined on the task.

  • DataViewIndexSegmentNames – This function returns the segment names of a data source’s index.

  • You can now add the schemaLocation attribute to newly generated XML files to enable validation tests using third party tools. This is done by using a new property added to the XML data sources.

  • The SpecialDisableMouseWheel flag lets you define whether the mouse wheel will scroll through records in screen mode.

  • The SpecialXMLViewCreateOptional flag lets you define whether optional compound elements with no simple elements under them will be created when inserting a node.

  • The SpecialClientSecureMessages supports the HTTPS protocol. (Since version: 3.2a)

  • The SpecialExcludeServerSideEnv has been extended and now does not send the following items to the client: environment settings (except the [MAGIC_ENV] and [MAGIC_LOGICAL_NAMES] sections, and any other user section created by the developer), internal global parameters and the Project directory. When using this flag, the ProjectDir() function will return a blank value when executing on the client side. (Since version: 3.2a)

  • You can give your end users the ability to export data from a table into an Excel file. You can even give them the ability to generate a chart out of their data. You do this by sending the value of 1 or 2 as the parameter value to the Print Data internal event. (Since version: 3.2a)

  • When using the Expression Editor in multiline mode, you can now use the Word Wrap functionality to wrap every line that exceeds the line's displayed width to the next line. (Since version: 3.2a)

  • The descriptive name in the Display Name variable property is now used in the Print Data Wizard and can be used in the Report Generator. (Since version: 3.2a)

  • A sample for syncing data between the server and the client was added – RDS01 in the Rich Internet Samples. (Since version: 3.2a)

  • The Control list now also displays controls from parent tasks. (Since version: 3.2a)

  • Accelerator keys for Tab controls are now supported again. (Since version: 3.2a)

  • You can use the Advanced Encryption (AES) algorithm to encrypt cached files by setting the SpecialRIAEncryptAES flag to Y. (Since version: 3.2a)

  • The SpecialFlatEditOnClassicTheme flag was added to support 2D appearance on Edit controls when the Use Windows XP property is set to No. (Since version: 3.2a)

  • The Logo File environment setting lets you select and use a splash screen when opening an Online app. (Since version: 3.2a)

  • The DataViewVars and DataViewVarsIndex functions have an additional option that lets you return table variables only. (Since version: 3.2a)

  • The SpecialRefreshControlProperties flag was added to support the refresh of the control properties as was done in uniPaaS. (Since version: 3.2a)

  • You can now prevent the list of suggested functions from opening automatically in the Expression Editor by using the SpecialExpressionAutoCompleteDefines flag. (Since version: 3.2a)

Prerequisite Changes

The minimum .NET version for C/S and RIA applications is now 4.0 instead of 2.0. .NET framework 2.0 is no longer supplied with the installation.

Upgrade Changes

  • You can run the Magic xpa upgrade process via the command line, outside of the Magic xpa Studio. This functionality allows you to write batch files to easily upgrade multiple projects multiple times.

  • The Upgrade process can now:

  • Add title areas to Table controls that do not have a title area, so that the labels will be moved to the Column Title property.

  • Convert Edit controls with an expression on the column title into the Column Title expression.

  • Create OK user events to replace the non-supported OK internal event.

  • Create a context menu for RTF controls and assign it to the controls.

  • Images were added to the Upgrade Manager wizard's Configuration screens to better illustrate the changes that can be automatically made to your programs using the wizard. (Since version: 3.2a)

Changed Functionality

  • Text-based forms are now edited in the Visual Studio-based Form Designer. In the text-based Form Designer:

  • The No Dividers command for Text-based forms from previous versions is not supported.

  • Dragging the splitter affects the height of the upper form only. The bottom form will only be moved and not resized.

  • It is possible to collapse and expand a form using an icon in the divider area.

  • The Undo/Redo is done on the last action performed on any of the forms (not just the current form).

  • When opening a project, the last opened projects list is no longer shared between major versions of Magic xpa. This prevents unintentionally opening projects from a different major version, which might result in an unintentional upgrade.

  • The Century Start environment setting's default value was changed from 1920 to 1930.

  • Similar to the non-Visual Studio property sheet behavior, in the Form Designer's property sheet, pressing Esc saves any changes made.

  • The Rich Edit appearance control's Border property has been replaced by the Border Style property.

  • In RTL projects, if you change the value of a control's Width property, the control will be resized from the left, keeping the right side as-is. (Since version: 3.2a)

  • Until V3.2a, cache requests and references contained the requester reference of the InternetDispatcherPath setting from the Magic.ini file. This was unnecessary and is, therefore, no longer attached to the cache files. Now the requester will be taken from the execution.properties file. To use the previous behavior, set the new SpecialAddPathToRIACacheRequests flag to Y. (Since version: 3.2a)

  • If the RangeAdd, LocateAdd or SortAdd functions are used in the Task Prefix, the values defined in them will be used when the data is fetched. It is no longer necessary to use View Refresh in the Task Prefix after these functions. (Since version: 3.2a)

  • When pasting a control on a Group control, it will be attached to the Group control. (Since version: 3.2a)

  • The Web Service Data Source structure was changed to support transactions. (Since version: 3.2a)

  • The Web Service Data Source builder generates one schema file per data source. Until V3.2a, the builder generated eight schema files per data source. (Since version: 3.2a)

Space Middleware

  • The underlying GigaSpaces infrastructure was updated to version 11.

  • The support for posting XML files to a Magic xpa server was improved. You can now disable URL-decoding according to selected values of the HTTP header 'Content-Type' that is (optionally) sent within HTTP requests using the -Dcom.magicsoftware.xpa.ExcludeUrlDecodingForContentTypes system property.

  • You can now increase the concurrency of the HttpRequestsConvertor and HttpResponsesConvertor event containers using the optional MgxpaGSSpace.properties file.

  • Multiple RIA clients from the same machine consume one (RIA) license, similar to the behavior when using the broker.

  • The reserving of licenses is now managed per project and not per servers/workers. For this purpose a number of changes were made:

  • In the Monitor:

    • The Reserved Workers and Floating Workers columns were combined into one column displaying the total number of workers.

    • The license reservation information is displayed in the License Usage pane.

  • In the projectsStartup.xml file, the following keywords were changed:

    • The WorkersCountReservedForThreadsBased command line keyword was removed and a new ReservedThreadsLicenses attribute was added.

    • The WorkersCountReservedForUsersBased command line keyword was removed and a new ReservedUsersLicenses attribute was added

      Note: For projects created in earlier versions of Magic xpa 3.x, the WorkersCountReservedForXXX keywords will be ignored.

  • The projectsStartup.xml file was improved and repetitive values can now be defined once in the new (optional) CMDLineArgs attribute in the Projects element.

  • The log4j infrastructure was updated and is now based on log4j V2.5.

  • The host ID and PID were added to the log file names to provide easier identification of the log files in a clustered environment.

  • You can now set the BASIC logging level for the Space middleware in the log4j2.xml file.

  • The log file will not exceed 10MB.

  • The StopProjects.bat file was renamed to ShutdownProjects.bat.

  • In the setenv.bat file, a number of GigaSpaces environment variables, such as LOOKUPLOCATORS, were renamed.

  • The PollingIntervalMs setting was removed from the Mgreq.ini file. (The setting was redundant because the Web requester waits for a response rather than polls.)

  • The Default Space option was removed from the MessagingServer setting in the Magic.ini and the projectsStartup.xml files. Starting from v3.2, when a Magic xpa server is started by a GS agent, it is automatically directed to the grid according to the XAP_LOOKUP_LOCATORS environment variable set in the GigaSpaces-xpa\bin\setenv.bat file of that GS agent.

  • The GigaSpaces Monitor's Restart Project Gracefully option lets existing clients continue working, while new clients are immediately able to use the upgraded application. The Shut Down Pausing Servers option lets you pause and shut down a physical server, to be used before a server machine is shut down.

  • The GigaSpaces Monitor's Requests log window now contains Client ID and User Name columns. The Status column now has a drop-down list to enable you to filter requests according to their status.

  • The GigaSpaces Monitor's Contexts window now contains a Status column.

  • The GigaSpaces Monitor’s Servers window was enhanced to better show the projects and the servers that are defined for them.

  • When starting projects using the GS-agent (from the projectsStartup.xml file), the project name is automatically used as the value of the ApplicationPublicName setting.

  • You can select multiple statuses in the GigaSpaces Monitor's Requests log window. (Since version: 3.2a)

  • You can specify a default username and password for non-RIA Web requests in the GigaSpaces middleware using the -Dcom.magicsoftware.xpa.DefaultUserNameAndPassword system property. (Since version: 3.2a)

Mobile Changes

  • iOS 10 support.

  • Android 7 support. (Since version: 3.2a)

  • For mobile devices, pictures from cameras are now saved as .jpg files with all of their metadata. Until version 3.2, pictures on iOS devices were saved as .png files.

  • A new Android and iOS native code sample was added for audio recording and playback.

  • A new sample for using the Touch ID capabilities was added for Android devices. (Since version: 3.2a)

  • You can now easily ask the user to approve specific permissions when running native code on Android devices. (Since version: 3.2a)

  • Row placement for columns is now supported for mobile devices. (Since version: 3.2a)

  • A dedicated function named ClientImageCapture was added to capture images from a camera or image gallery and saving it in a defined size while applying compression on the result. You no longer need to use native code to compress your image. However, you can still use the native code if it better suits your needs. This function also provides the ability to the user to crop the image after it was taken. (Since version: 3.2a)

  • When selecting an image from the gallery on Android devices using the ClientFileOpenDlg function, the image will now be copied to a temporary file in the cache folder, instead of the original image path. (Since version: 3.2a)

  • You can define the GPS timeout for your mobile apps by using the enhanced ClientOSEnvGet ('device_location|xxx|yyy') function syntax. (Since version: 3.2a)

  • From Android 6 and above, if your app needs to access the GPS, a screen will appear asking for permission to access the device's location. (Since version: 3.2a)

  • Similar to Android devices, you can now override the DPI of iOS devices in the custom_dpi.txt file. (Since version: 3.2a)

  • The SecureRecentApps application execution property allows you to secure an Android or iOS app's screens so they will not be visible when switching between apps. (Since version: 3.2a)

  • You can now easily use third party fonts in your Android and iOS apps. (Since version: 3.2a)

  • Android push notification is now based on Google Firebase. (Since version: 3.2a). If you are updating the Magic xpa 3.2 installation, you need to manually delete the following files:

  • From the RIAModules\Android\Source\app\src\main\java\com\magicsoftware\magicdev folder, delete: GCMBroadcastReceiver.java, GCMHelper.java and Push.java.

  • From the RIAModules\Android\Source\app\libs folder, delete: gcm.jar and google-play-services.jar.

    If you used push notifications in your application, you also need to make some changes in your application as defined in the Sending and Receiving Push Notifications topic.

    If you still want to use the deprecated GCM mechanism, see the Using Android GCM Push Notifications with Magic xpa 3.2a and Above topic.

Outdated Utilities and Removed Files

  • The old Builder Data Converter, INI Conversion and v9 Migration UI utilities were removed.

  • The Scripts\RIA folder was removed.

Reference
Attachment 
Attachment