0% found this document useful (0 votes)
105 views31 pages

Magic Xpa 3.1a Release Notes

Magic xpa 3.a Release Notes

Uploaded by

August West
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
105 views31 pages

Magic Xpa 3.1a Release Notes

Magic xpa 3.a Release Notes

Uploaded by

August West
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 31

Magic xpa 3.

1a
Release Notes
New Features, Feature Enhancements and
Behavior Changes
Controls on Multiple Columns Support
Controls placed on a table can be shown on multiple columns using the new Multi
Column Display property. This property provides backward compatibility for
uniPaaS 1.9 applications.

WCF – Message Contracts Support


The WCF consumption capabilities were enhanced and you can now generate message
contracts for the WCF client.

Invoke UDP Operation – GUI Thread Execution


The Invoke UDP operation’s new UDP Type property determines whether the UDP will
run on the Runtime engine’s GUI thread (main thread) or background thread.

Space Middleware – Manual Startup


When selecting to install the Space middleware as a service, the service’s Startup Type
is now set by default to Manual.

RIA Security – Server Side Settings


Using the new SpecialExcludeServerSideEnv special setting, you can control whether to
send the following environment settings to the client: StartApplication, Default Broker,
EngineDir, WorkingDir and TempDir.

Version Control Project ID


A new value named VCProjectID was added to the EDP. This setting is similar to the
Version Control ID environment setting and if defined, a prefix is added to the current
ISN number of objects in the source files. The purpose of this setting is to provide a
distinguished ID for the representation of internal objects in the source files. This provides
the proper infrastructure for third party apps, such as compare and merge tools. Note
that the RM Converter utility does not support applications that use this setting.

2
The VCProjectID setting is designated to provide support for branches while the Version
Control ID environment setting is designated to provide future support in multiple check
outs of the same object in the same projects.

Note: The Version Control ID environment setting was limited to numbers between 0-31.

Upgrade Manager
A new message was added for controls with expressions on their X and Y properties
when the X and Y values were changed during the upgrade process.

Microsoft® SQL Server 2016 Support


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

3
Fixed Issues
# Description
131491 A blank space was inserted into an MSSQL data source when using the Link
Create operation to insert empty string values.
132463 At runtime, when column visibility was set by expression, the placement of tables
and columns was incorrect and a scrollbar wrongly appeared at the bottom of the
Table control.
132492 The Runtime engine crashed when a component's right was used on the form of a
host program in a specific scenario.
132697 Control widths on a first record were wrongly assigned to subsequent records on
iOS devices when the control’s Width property had an expression.
132704 Text values in Label controls and Rich Text controls were deleted when Online
forms were converted to RIA.
132801 In the Expression Editor, when Ctrl+2 (Internal Events) followed by Ctrl+3
(Shortcuts) was pressed, and then assigned any shortcut key, the focus remained
in the right pane of the Expression Editor instead of returning to the modified
expression in the left pane.
132811 The wrong control layer was assigned to the control if a control with specific X
and Y positions was placed in a table header.
132814 A 'Function not allowed for use in expression' error was wrongly displayed in the
status bar during the upgrade process.
132815 An ‘Attribute Mismatch' error was wrongly displayed in the status bar during the
upgrade process.
132824 The second expression was expanded when a large expression was navigated
using the down arrow key from the second expression to the third expression in a
specific program.
132827 Multiline text was not displayed in the Column Title property of Table controls on
Android devices.
132841 When variables were dragged and dropped one by one onto a form window,
some of them incorrectly dropped onto the form’s title bar area.
132842 In the Runtime Form Designer, the Dock and Undock options were wrongly seen
in the Tree control properties.
132887 A black line was displayed for unsupported.NET object properties if an object
type Button control was modified to a TextBox control.
132890 If changes were made in the Form Designer and the changes were saved, and
then changes were made in the same form but not saved, then a blank form was
seen when zooming again to the form.
132892 When working with VersionControlID, the Magic xpa Studio crashed after
overwriting the previously created .ecf file if a component had also been created.
133010 When zooming into the Form Designer, Visual Studio crashed if there were
specific third party controls on the form.

4
# Description
133028 No records were displayed when a range was set with a null value in a DB SQL
Where even when the table contained records with null values.
133029 Magic xpa crashed during runtime when calling a parallel program with a
parameter containing an expression with a BLOB variable.
133044 When pressing the Default Button, the focus wrongly moved to the first record of
the table.
133312 When working with RIA offline, subform parameters were not returned back to the
host task after being updated in a subform task.
133391 A space before a character was removed in the Translate function at runtime.
133394 The Studio crashed after zooming to the Form Designer on a specific program that
was upgraded from uniPaaS 1.9.
133445 A newly compiled APK could not be uploaded to the Google Play Developer
Console.
133474 When using the Hebrew const file, Edit controls with expressions were aligned to
the left.
133482 The engine crashed when a batch DSQL task used query binding with numeric
output variables.
133486 It was not possible to zoom to the Edit control in a Main Program when the Edit
control was within a Group control.
133489 In the Logic tab, it was not possible to select a control that was defined on the
Main Program's form.
133526 The error 'There is no such tag in MgFont class' was wrongly written to the
Android log file.
133556 The Upgrade Manager was unable to go to a Studio object if the GUID value in
the EDP file was different than the value defined in the ProjProps.xml file.
133560 Images whose width was greater than 2000px and height was greater than
400px were not displayed correctly for image buttons on Android devices.
133588 During runtime, there was a memory leak when .NET objects were defined as
local variables in user events or functions.
133589 GigaSpaces failed to start due to an encoding problem in the
MgxpaGSMonitoringSpace_sla.xml file.
133599 The Upgrade Manager crashed when executed on a Windows 2008 Server R2
operating system.
133669 During upgrade, the Button control's Format property was not removed if its value
was defined and the Button Style property was inherited from a model.
133698 The v9converter.exe lost the Mode value in the Stat function.
133712 When working with MySQL, decimal values were not saved when the Decimal
Separator was set to comma.
133713 If the screen resolution was changed, the Upgrade Manager utility’s Welcome
screen was not centered correctly when the utility was re-opened.
133737 Operations in Forward mode defined in the Control Verification logic unit were
not triggered for a second time after activating the default button.

5
# Description
133778 The ClientFileOpenDlg function did not return the path of the image on Android
4.4 when selecting an image from the Images repository.
133837 The forms of phantom tasks were not refreshed when calling the tasks more than
one time.
133855 The Android client crashed when executing native code that used 3rd party
libraries.
133889 The Android client crashed under certain circumstances.
133995 If the CenterScreenInOnline flag was set to Yes, Table controls were not refreshed
properly when the data view was refreshed and a locate criteria was defined.
134048 The Magic xpa Studio could not import a project file that was bigger than 2GB.
134128 After upgrading a uniPaaS project, scrollbars were seen in forms with no title
when there was a control on the entire width of the form.
134132 Placement did not work correctly and tables were not stretched to fill the form size
when visible expressions were attached to the columns.
134179 In the Form Designer, controls attached to table columns were unlinked after
being linked to a new and larger column, and a scrollbar appeared on the table.
134211 When working with a Local database, Float values were wrongly displayed as
multiplied by 10 when the Decimal Separator was set to comma.
134215 The subform position in a Tab control was changed after upgrading a project
from uniPaaS if placement properties were used.
134217 The control placement in a task that was called with the Form property set was not
working properly.
134229 Magic xpa's form transparency functionality did not work.
134262 If the Show Grid property was set to True, controls did not always move
according to the grid.
134352 After upgrading a task from uniPaaS, controls were wrongly attached to a group
if they were originally placed on the edge of the group.
134410 A transparent Label control placed on a table header will now use the table title
background color.
134477 The "WP0115: Only true type fonts are supported" checker error was displayed
when non-TrueType fonts were used on controls of Class>0 forms.
134482 The Studio crashed when parked on the Edit control’s Data property expression in
a text-based nested subtask form.
134485 Generated XMLs showed optional container elements when the container element
contained more than two levels of elements.
134501 When a control was placed on a table header and was stretched over more than
one column, during runtime it was stretched only to the right side but not the left
and it also exceeded the last column.
134503 Controls placed on a table header were not painted according to their Z-order.
134589 Magic xpa crashed after opening the Range or Locate screens in the End User
Functionality component when the parent task had an Alpha field with a specific
format.

6
# Description
134605 When using WCF to define a Web Service, the created assembly classes were
not seen in the Invoke .NET operation.
134611 After attaching a control to a table using the Link to Parent option, the column title
remained blank.
134660 An Image control placed on a push button was not displayed on devices running
Android 5 and above.
134714 The Magic xpa Studio crashed when zooming to the Form Designer of a subtask
that contained an invalid column width.
134785 The Magic xpa Runtime engine crashed when reopening an application and
executing a DSQL task or performing the APG of a DSQL task when the
application role parameters were defined in the SQL tab of the data source’s
Information for SQL Database property.
134799 Z-Order of subforms did not work in Android when a subtask was called using the
Destination property.
134901 Magic xpa stopped responding to keyboard and mouse events after specific
exceptions occurred in a certain scenario.
134919 The Studio crashed when clicking on the Form Units property from the Form
Designer screen.
134920 Multiline did not work properly on a Label control on Android devices.
134940 Scroll bars were wrongly displayed on a form if the control height and the X
position value were greater than the form height.
134949 When pressing Enter to execute the default button logic, the focus moved out of
the current control and executed the Control Verification logic unit even if the
default button's Park on Click property was set to False.
135018 If the Main Program included .NET events and the events were used somewhere
else in the project, Magic xpa crashed.
135023 The Studio crashed when pressing Ctrl+E or reopening the Form Editor when the
program did not pass the Checker in a specific scenario.
135026 An error was written to the mgerror.log file when opening a uniPaaS 1.9 project
containing a label with a model.
135053 When working with a database that was defined as Local in the Data repository,
not all records in a range were shown.
135104 The Studio crashed under certain circumstances when the Argument list of a .NET
control was opened.
135215 If a static type model was defined and linked to a label, and the model’s Top
Border Margin was set to No, an error was written to the mgerror.log file when
the program was executed.
135244 In the Form Designer, a dash was shown on a Subform control that was dropped
on a Group control when the Group control's Top Border Margin was set to False
and its Text property was blank.
135278 Database unmapped error handler issues caused the Magic xpa engine to crash.

7
Past Release
Notes
Magic xpa 3.1: New Features, Feature
Enhancements and Behavior Changes
Form Designer Improvements
 The performance of the Form Designer was enhanced.
 Frames forms now work with the new Form Designer. There is a new Frames
Layout property where you define the frame layout of the form.
 You can view the ancestor form by selecting the form from the drop-down list in
the toolbar.
 The Quick Expression Editor is now supported in the Properties pane.
 You can now create, modify and delete fonts and colors directly from the font
and color picker by using the buttons at the bottom of the repository.
 You can now inherit and assign expressions to multiple controls.
 The Document Outline was enhanced with filtering capabilities.
 In the Model selection list only the applicable models are displayed instead of
all of the models.
 The Cancel (Ctrl+F2) option was added to the Edit menu.
 You can select all of the controls on a table without the table itself by doing one
of the following:

 Press Shift+Click on the table.


 Click on the table, then click on the action arrow on the top right side of the
Table control and choose the Select attached controls option.
 Click on the table, then click the Select attached controls link at the bottom
of the property sheet.
 When parking on a field in the property pane, you can now move between
properties using the keyboard.
 You can now expand a property and see the expression by pressing Alt+Enter.
 An expanded property will remain expanded when moving to another control.
 The Go to Object and Return from Object options are supported for subforms
and frames.

9
Expression Editor Improvements
 The Wide mode now displays the client/server indicator.

 The Validate button was added.

End User Functionality Enhancement


The End User Functionality now includes the following enhancements:

 You can now do a range on partial text in your data using the new Contains
field added to the range.

 Choice control values are now seen in the Range and Locate screens. For the
purpose of this feature, new functions were added:

o VarControlID – Returns the index of the control attached to the variable.

o ControlItemsList – Returns the Items List property value defined in the


control.

o ControlDisplayList – Returns the Display List property value defined in the


control.

 You can now zoom from a control in the Range/Locate screen and select values
from a selection table defined on the original control. For the purpose of this
feature:

o The ControlSelectProgram function was added. The function returns the


Select Program property value defined in the control.

o The Call by Exp operation was enhanced and now supports calling a
program that exists in a host application.

 A new Display Name variable property was added to let you enter a descriptive
name for the variable. This name will be used as:

o The label (next to the variable) when dropping a variable on the form or
using the APG utility.

o The default Hint property value (for mobile apps) when a variable is
dropped on the form with the Shift key pressed.

o The column Title value when dropping a variable on the table or using
the APG utility.

o The control name in the Range, Locate, and Sort screens.

The new VarDisplayName function returns this value.

10
 You can now easily define complex ranges by using the Advanced tab in the
Range screen. The RangeExpAdd function was added for this purpose. This
function adds filtering criteria to the range, such as 'A>5 or A<2', so that the
next time the view is refreshed, the new criteria will be used (in addition to the
range defined in the task).

Runtime Form Designer


You can now make changes to the form during Runtime mode. The Runtime Form
Designer provides the following functionality:
 Move controls on the screen by dragging and dropping and by using the
keyboard. You can even move controls from one tab to another.

 Resize the controls.

 Hide (and restore) controls.

 Change some of the controls’ properties, such as Color and Font. The changes
can be saved per each user or in a central location.

The following elements are provided to use the Runtime Form Designer:
 Open Form Designer event – Opens the Runtime Form Designer. This event has
an optional parameter, Admin mode, to define whether the end user can delete
controls or see hidden controls.

 Controls Persistency Path environment setting – This setting governs the location
of the files generated by the Runtime Form Designer.

 ControlsPersistencyClear function – Clears the persistency of the controls.

Table Controls
 You can now use the new Fill Width property to determine whether columns will
be spread over the width of the entire table. This lets you automatically resize
the other columns if a column gets hidden or visible or if a vertical scroll bar
appears.

 You can now define the color for the table area without columns. When the Set
Table Color property is set to Column, the value set in the Color property of the
table will be used for the remaining area after the last column.

11
 It is now possible to filter data during runtime using a filter indication on the
column. This is done by using the Allow filtering column property. Once defined,
a filtering screen from the End User Functionality component will be shown to the
end user. The Column Filter event was also added for this feature.

 The Title BG Color property now has support for Windows in addition to Android
and iOS.

 You can now place controls over the table title.

 You can now define the color of the column dividers and line dividers using the
Divider Color property.

Tab Controls
 You can now define the color of the tab’s title by using the new Title Color
property.

 You can now define the color for the tab’s title items when the mouse cursor
hovers over them using the Hot Track Color property.

 You can now define the amount of space around each tab’s caption using the
Title Padding property.

 You can now define that each tab be evenly spread across the entire width of
the Tab control using the new Fixed in Line option in the Tabs Width control
property.

 Left and right tabs are now supported.

Combo Box Controls


The 2-D style was added to the Combo Box control to provide the same appearance as
in previous uniPaaS versions.

Group Controls
The new Top Border Margin property defines if the top border will be seen with a margin
when the group has no text.

Radio Button Controls


The Border Style property was added with 2-D, 3-D Sunken and No Border options.

12
Edit Controls
You can define the focus color of all the Edit controls using the new Default Focus Color
environment setting.

MDI Form
It is now possible to show static controls on the MDI form. Unlike previous versions, there
is no need for a separate form; you can place the controls directly on the MDI form
defined in the Main Program.

Executing SQL Statements


You can now execute SQL statements directly in your task, without creating a
dedicated task for it. Two new functions were added for executing an SQL statement:
 SQLExecute – This function executes an SQL statement on the server-side.

 ClientSQLExecute – This function executes an SQL statement on a local database.

Refreshing the Data of Choice Controls


The new ControlItemsRefresh function was added to refresh the Items list of a specific
control. This function is useful when you have controls that get their Items List from a data
source and the end user adds entries to the data. You can then use this function to see
the new entries in the control.

Dynamically Change Fonts and Colors


It is now possible to dynamically change the value of the fonts and colors using the new
FontSet and ColorSet functions.

WCF Consumer Components


Magic xpa now provides WCF consumption capabilities, including the loading and
executing of WCF Web services. Access to the WCF services is provided using .NET
integration via Magic’s Composite Resource Repository (CRR).

Create Cabinet File without Using the Studio


You can now create a cabinet file (ECF) from the project sources without using the Studio.
This is done by an additional option added to the MgxpaSettings.exe utility.

This functionality is often required if you create the cabinet files in a customer location
where you do not have the Studio installed.

13
Local Databases -- Encryption
The Local database now also supports encryption on the Windows desktop client.

Environment Settings
 The Range/Locate Box Popup Seconds and Sort/Temp Box Popup Seconds
environment settings are now supported as in version 1.9.

 The Version Control ID environment setting was added. This setting adds a prefix
to the current ISN number of objects in the source files. The purpose of this setting
is to provide a distinguished ID for the representation of internal objects in the
source files. This provides the proper infrastructure for third party apps, such as
compare and merge tools. Note that the RM Converter utility does not support
applications that use this setting.

Menus
If there are a large number of menus that do not fit the menu bar, an additional arrow
will be shown to let you display the additional menus.

Fonts
Non-TrueType fonts are now supported for forms in order to have the same form size as
in previous versions.

Print Preview
 The focus on the print preview window remains even if there is logic in Magic
that changes the focus to another control.

 You can now close the Print Preview window using the Esc key.

HTTPCall Function – Encoding


It is now possible to encode the entire URL string sent using the HTTPCall function by
defining @ as the first character in the URL string.

Additional Functions
The following two functions were added for converting values from form units to a value
in pixels and vice versa: FormUnitsToPixels and PixelsToFormUnits.

14
RIA Client Cache Files
The application execution file now has an optional setting, ClientCachePath, where you
can set the location on the client where the cache files will be created.

Upgrade Manager Utility


The Upgrade Manager utility is provided to make the upgrade process easier. The utility
will show you the changes done automatically to your applications and the steps that
you need to do manually.

For each item, you will see detailed information about the required change and you can
go directly to this object in the studio.

The Upgrade Manager utility is opened after the upgrade process ends and can then be
re-opened from the Tools menu.

Upgrade Process Improvements


The following improvements were done to the upgrade process in order to minimize and
reduce the manual work required:

 The upgrade wizard is opened when opening or importing applications.


 Creating new fonts and assigning them to controls to easily change non-TrueType
fonts to other fonts.
 Creating new colors and assigning them to controls to replicate the uniPaaS 1.9
appearance.
 Labels are converted to column titles even if they start a few pixels before the
column starts.
 Controls placed on a Table control’s column or a Group control, but not attached
to it or attached to another column or a Group control, are now attached to the
proper control.
 Additional information was added to the upgrade log file.

Magic and SQL Server Default Mapping Change


The mapping between a large Numeric field and the database was by default Binary.
Now the default is CHAR. If you have existing data in binary fields, you must specify
Binary as the SQL Type for this specific field in order to keep the previous mapping.

15
Space Middleware
 The deployment of the space and the startup of Magic xpa servers in a cluster
are now automatically handled by one GSA in the grid. In addition, the servers
only start up if the space was successfully deployed by the current GSA.

 You can now stop a specific instance of a project from the command line.

 You can use the DefaultApplicationAndProgramNames system property to define


the default application and program names whenever the APPNAME or
PRGNAME is missing in the URL.

 The DefaultErrorFormatFileName system property is used to define a customized


error template into which error details are merged before being sent to the Web
requester. You can also set this in the Magic.ini file’s [JVM_ARGS] section for
errors returned directly by Magic xpa servers.

 The Install_GSA_service.bat file and other files are installed in the GigaSpaces-
xpa\OS_service folder allowing you to start the grid as a service.
 Worker Request Polling Interval environment setting – This setting controls the
interval, in milliseconds, in which a server checks for unhandled requests in the
Space.

 Maximum Number of Contexts environment setting – This setting specifies the


maximum number of contexts that are handled by a single Magic xpa server.

 The Space middleware, like the broker, is now able to automatically load a new
Magic xpa server when receiving a request and there are no available servers
to serve that request.

 When Magic xpa servers are started from the grid (projectsStartup.xml), the
Server Address property in the Magic.ini file is ignored and the
LOOKUPLOCATORS= set in the GigaSpaces-xpa\bin\setenv.bat file is used
instead.

 The Tomcat Web Requester can be used instead of, or in addition to, the
ASP.NET Web requester.

 A new Space Monitor application log based on the log4net infrastructure is now
available in the MgGSMonitor.exe.config configuration.

 A server entry in the Magic xpa GigaSpaces Monitor now has a new status:
Waiting for GS Agent. This status means that the GSA will keep retrying, every
60 seconds, to restart the Magic xpa server.

16
 You can now filter the information displayed in the Magic xpa GigaSpaces
Monitor by parking on a specific server or context.

 From the Magic xpa GigaSpaces Monitor, you can now start and stop a Magic
engine, terminate a context, and terminate a pending request.

Space Databases
 Direct SQL can now be used for execution commands (commands that do not
retrieve records).

 The Part of Datetime column property is now supported.

 Most of the database functions are now supported when using the Space
database.

Single Sign-on Support for RIA Clients


Single Sign-on for RIA clients is now supported. The user’s authentication on the client
machine can be sent to the Web server and on to the application server for use with
LDAP or Active Directory within the Magic application.

Mobile Changes
 Magic xpa now supports the Android Studio and uses the Gradle tool for
compiling the APK file. To compile the client, you need to install the Android
Support Repository and Android Support Library component from the Extras
folder in the Android SDK Manager. When compiling the client, you must have
internet access (at least on the first build) in order to download all of the Gradle
components.

 The Android folder structure was changed.

o The source files are now located at:


RIAModules\Android\Source\app\src\main\java\com\magicsoftwar
e\magicdev

o The manifest file is now located at:


RIAModules\Android\Source\app\src\main

 When the Execution on Android button is pressed in and you run a project or
program, if the mobile application is not installed on the device, the Magic xpa
Studio will install it.

 Magic xpa now uses the Android Support Library v23.

17
 You can now use the generic RIA client (available on the store) and provide the
application URL as an argument to it. This enhancement allows you to open the
same client with different application URLs.

 The Sortable column property is now supported for Android and iOS devices.

 Action Bar Menu form property – You can define a menu entry that will be seen
on the right side of the Action or Navigation bar.

 The Check Box control's Appearance property now has a Switch option for use
on Android devices.

 You can now refresh the task’s view by swiping down from the top of the table
if the Swipe Refresh property of the Table control is set.

 For iOS devices, the caret only appears on the focused Edit control when the
keyboard is present. In previous versions, the caret always appeared on focused
Edit controls.

 In the Title BG Color table property and Title Color tab property, you can now
use expressions for iOS and Android devices.

 The size of the icons for Tab controls was changed to 25 points, which is
compliant with the iOS Human Interface Guidelines.

 Xcode 7 is now supported instead of Xcode 6.

Special Settings
 SpecialKeyboardBuffering – Instead of just N and Y values, this flag now has the
following values:
o N – No buffering
o B – Basic buffering inside an existing editable Label control
o E – Extended buffering
 SpecialRIAEncryptCache – This flag controls the security of cached files.
 SpecialOldZorder – This flag supports the Z-order for orphan windows.
 SpecialExpReturnNull – This flag maintains backward compatibility when
comparing a variable that has a Null value to an empty value.
 SpecialSwipeFlickeringRemoval – This flag removes flickering when swiping a
laptop’s touch screen.

18
Partitioning Error Change
-117 RQGNRC ERR MISMATCHED REQIDS – This error is issued when a requester sent
a request to a Magic xpa server and received a response that was directed to another
request. In previous versions, error RQ_ERR_UNEXPECTED (-200) was returned in this
scenario.

Source Files
Source files were changed to better support external merge and compare tools.

Windows 10 Support
Magic xpa was tested and is compatible to work with Windows 10.

Pervasive 12 Support
Magic xpa was tested and is compatible to work with Pervasive 12 including Unicode
support.

iOS Support
Magic xpa was tested and is compatible to work with iOS 8 and above. iOS 6 and iOS
7 are no longer supported.

Android 6.0 Support


Magic xpa was tested and is compatible to work with Android 6.0 Marshmallow.

Internet Explorer 11 Support


Magic xpa was tested and is compatible to work with Internet Explorer 11.

Microsoft Edge – Rich Client Compatibility


Magic xpa’s Rich Client functionality is compatible to work with Microsoft Edge.

Magic xpa’s Browser Client functionality is not supported on Microsoft Edge.

19
Magic xpa 3.0a: New Features, Feature
Enhancements and Behavior Changes
Windows 10 Support
Magic xpa was tested and is compatible to work with Windows 10.

Array Size’s Calculated Value Increased


The default calculated value of the data source’s array size was increased in order to
improve performance.

A new environment setting, Cache size for array fetching(kb), was added to the
Preferences tab in order to define the cache size to be used when fetching records.

Space Gateway – Performance Improvements


The performance of different aspects of the Space gateway was improved.

Support Array Fetching


In the Space gateway, records are now fetched according to the array size defined for
the data source in the Data Sources repository or the Data Source properties. This
functionality reduces network calls and improves performance.

Batch Task as a Selection Program


You can now select a Batch task as a Selection program. This functionality is offered
for backward compatibility.

20
Magic xpa 3.0: General Information
Introducing Magic xpa 3.0
We are delighted to provide you with the new major release of Magic Software’s
Magic xpa Application Platform.

Magic xpa 3.0 enables software vendors and enterprises to quickly and cost
effectively develop and deploy complex multi-channel business applications and enjoy
all the benefits of .NET applications, Rich Internet Applications (RIA) and Mobile
applications whether on-premise or on-demand.

Migrating from Magic xpa 2.5 to Magic xpa 3.0


Magic xpa 3.0 works with the same source files as Magic xpa 2.5. No migration is
required.

Rich Client – Client-Server Compatibility


The internal communication protocol between the Client module and the Server was
changed. Therefore, Magic xpa 2.x clients (such as 2.5) cannot be used with a
Magic xpa 3.0 server, and Magic xpa 3.0 clients cannot be used with Magic xpa 2.5
servers.

Licensing
To use Magic xpa 3.0, you need to obtain version 3 licenses. To obtain Magic xpa
licenses, please contact your local Magic Software representative.

21
Magic xpa 3.0: New Features, Feature
Enhancements and Behavior Changes
New and Improved Form Designer
The new Visual Studio-based Form Designer offers an intuitive and user-friendly
experience that makes designing Display forms even easier. The new Form Designer
offers a variety of enhancements, including:

Modern workspace with improved docking capabilities.


New Toolbox and Variable panes that replace the Control and Variable palettes.
New Models pane to allow fast and simple dropping of pre-defined controls onto
the form.
Improved Document Outline view that allows you to easily locate controls and
move them into container controls.
Filtering capability of properties.
Improved Table control with visual indication for dropping controls over it and
automatic attachment of controls to the proper columns.
.NET controls that are visible on the Form Designer and a visible .NET control icon
in the Models pane.
Control alignment lines (when the Show Grid property is set to False).
Change of behavior:

All of the multiple-control related actions (such as alignment and make same size)
are done now according to the first selected control instead of according to the
outer control.
The Maximum Width, Maximum Height, Minimum Width, and Minimum Height
control commands are no longer supported. Instead, you should use the Make
Same Size command and select the outer control as the first control.
Selection of a value in a Combo Box and Radio Button control is now done via the
action arrow of the control.
When placing a control in a container control, the control is automatically attached
to the container.
Resizing the table header height will also move the controls in the table line.
The default value of the Show Grid property was set to False in order to take
advantage of the new alignment capabilities of the Form Designer.
A Radio Button control with the appearance set to Button will show buttons
according to the number of items defined and not according to the Choice Column
property value.
The Automatic Tab Order and Automatic Z-Order properties are now properties of
the form (and not the palette).

22
The Form Designer shows the form of the current task only. This means that for child
windows, the parent form will not be shown behind the current form.
In the Form Designer, the Edit control will not appear with a transparent
background color, even if a transparent color was assigned to it.
A Table control cannot be placed on a Tab control using the mouse. If you want to
have a Table control on a Tab control, place the Table control on the form and
move it onto the Tab control using the arrow keys.
The Quick Expression Editor is currently not supported in the property grid of the
new Form Designer.
Support for display templates was removed.
RTF-related properties were removed from the Label control and Label-related
properties were removed from the RTF control. To achieve the same functionality as
Enable RTF=Yes, you should define an RTF control.
Note: The Visual Studio-based Form Designer is used to design Display forms only. Other
forms are currently designed in the legacy designer.

Mobile Form Preview


Magic xpa 3 introduces the Mobile Form Preview to make developing for mobile
platforms even easier. This new feature lets you play around with the placement and
size of the controls and see how the controls will appear on various mobile devices as
you create them.

Refer to the Mobile Devices Settings topic in the Magic xpa Help for additional
information on how to define your own devices.

New and Improved Expression Editor


The new Expression Editor offers a smoother experience including:

Improved Auto Complete of functions


On the fly coloring of the expression
Improved error indications
Embedded pick lists in the right pane
Expression filtering capability
Change of behavior:

Adding an expression above a line of the Expression Editor is now done by


pressing Ctrl+Shift+F4. Therefore, to add an expression as the first expression,
park on the first line and use this shortcut.
The filtering capability replaces the Locate dialog box. To search for an entry,
simply type any part of its name and all of the relevant entries will be shown.
Overwriting an entry is available using Ctrl+Shift+W instead of Ctrl+Shift+O.

23
When the Expression Editor is opened, it is not possible to go directly to other task
dialog boxes such as the Sort dialog box. You need to first close the Expression
Editor to reach other task dialog boxes.

Selection Lists Enhancements


Selection lists that are opened from the new Form Designer were enhanced as follows:

Filtering capability – The filtering capability replaces the incremental locate and the
Locate dialog box. To search for an entry, simply type any part of its name and all
of the relevant entries will be shown. Note that you can start typing even if the
focus in not on the filtering field.
The description area can now be resized.
The tasks in the Variable list and the folders in other lists can be collapsed and
expanded.

Mobile Design Mode


You can now switch to a Mobile Design mode, which takes into account certain
constraints necessary for developing a mobile application. For example:

The default form size will be small, which is the required size for mobile phones.
Controls placed on the form will receive default values adapted for mobile for
some of the properties, such as the control height and placement.
When dragging variables to the form with the Shift key pressed, the variable name
will be added as the value of the Hint property.
When dragging a Tab control on the form, it will occupy the entire form size.

In-Memory Data Grid Messaging Middleware


Magic xpa 3.0 offers an additional enhanced and robust messaging layer. The award
winning XAP middleware from GigaSpaces is now supported as a messaging layer,
which uses a distributed, self-healing and scalable architecture. This directly enhances
Magic xpa 3.0 projects. Existing projects upgraded to this version can be easily
scaled to multiple processes and even to multiple machines (scale out) just by changing
external configurations.

Note: The Magic Request Broker middleware is still supported as in the previous
versions.

To use the In-Memory Data Grid middleware, you need to obtain a specific license. To
obtain this license, please contact your local Magic Software representative.

Refer to the Deploying Applications on GigaSpaces concept paper in the Magic xpa
Help or the Support folder for additional information.

24
In-Memory Data Grid Data Access
Magic xpa 3.0 provides a new GigaSpaces database gateway for storing and
accessing data in the space. This gateway is similar to the other Magic xpa database
gateways and enables complete access to information stored in the space.

The GigaSpaces database provides the opportunity to work with asynchronous


persistency in what’s referred to as Write Behind mode in Hibernate, which provides
the ability to handle extremely large transaction workloads. The data is uploaded to
the space from a backend database. When this data is changed in the space via a
Magic xpa application, Hibernate then does the work of updating the database server.
The gateway allows access to the data that is connected to the application, while
significantly improving performance and ensuring that data is not lost. A new
Hibernate Data Source Builder was added to generate objects in the space from
Magic xpa data sources.

To benefit fully from these new functionalities, see the Deploying Applications on
GigaSpaces concept paper in the Magic xpa Help or the Support folder for additional
information.
To use the In-Memory Data Grid data access, you need to obtain a specific license. To
obtain this license, please contact your local Magic Software representative.

Online and Rich Client – Focused Control Color


You can now define the color that will be used on a control when the control gets
focus. This is done via a new property, Focus Color, which was added to the Edit
control on Online and Rich Client forms.

This functionality is not supported for mobile devices.

Online Select Program – Change of Behavior


An Online program that is opened using the Select Program property is opened
according to its defined Window Type (as it was in version 1.9) and not as a Modal
window (which was the behavior in version 2).

Checker – New Warning Message


A new warning message was added for tasks defined with a physical transaction but
without a data source. You can disable this message in the Checker Messages settings
screen.

25
Rich Client – Non-Modal Window – Change of
Behavior
A non-modal window opened from a non-interactive task will now keep its window
type and will not be changed to a modal window. The non-interactive task will still
wait for the called program to end.

This behavior is supported only when the following conditions are met:

1. The Close Rich Client tasks on parent activation environment setting must be set
to Yes.

2. The non-interactive task did not open a window.

3. The non-interactive task was not called from a task with a Modal window type.

Removed Functionality
The following functionality was removed:
Calling a Magic application as a COM object.
J2EE support and the EJB interface builder.
SNMP support and the SNMPNotify() function.
Client Network Recovery Interval for RIA.
The deprecated internal events, such as the Settings events were removed from the
Internal Events selection list.

English Only Studio


As part of using the Visual Studio infrastructure, the Magic xpa Studio is no longer
translated to different languages. It is now available in English only.

Note: The const file is still required for proper runtime execution.

Runtime Error Messages – Translations and


Customizations
The error messages shown to the end user at runtime are now translated as part of the
multilingual support. These messages are stored under the Support folder in files
named msg_rnt.xxx (where xxx is the language).

This allows you to customize the error messages by rebuilding the translation files using
the MLS_BLD.exe utility.

26
Backward compatibility:

1. If you use your own ini file and you want to see the translated runtime
messages, you need to define a language in the environment settings that point
to the required mls file.

2. If your application already uses a translation file, you can add the strings from
the msg_rnt.xxx file to your translation file.

64-Bit Removed from Installation


The 64-bit requesters are no longer supported and were removed from the installation.
The Web requester is installed on IIS using application pools, so the 32-bit requester
can be used together with other 64-bit IIS elements.

IIS 6 End of Support


IIS 6 is no longer supported. Magic xpa is compatible with IIS 7 and above.

Encrypted Local and SQLite Database Support


Encryption is now supported for Local databases on Android and iOS devices and for
SQLite databases.

The encryption password is defined in the database properties.

It is not possible to migrate an existing non-encrypted Local or SQLite database to an


encrypted database. If you have an existing application with a Local or SQLite
database and you want to use encryption, you need to run a one-time process by
defining a different database with encryption and synchronizing your data to this
database.

Note: Encryption is not supported for Local databases on the Windows desktop client.

Large Numeric Columns in SQLite and Local


Databases – Change of Behavior
Since the Local and SQLite databases now support encryption, large Numeric columns
no longer support the following settings:

Stored As=Packed Decimal


Stored As=String Number and SQL Type=Binary
Therefore, it is not possible to open SQL data sources from previous versions if they
have these settings or if the Stored As=String Number and SQL Type has no value

27
(since the default SQL Type value was BINARY). Data from such data sources should
be converted using a prior version of Magic xpa.

The SQL data source defaults of a Numeric column with a Size of 18 or above were
changed accordingly and they now match the Local data source defaults.

Therefore, if you need to copy an SQLite data source with large numbers from the
server to the client, you no longer need to change the Stored As property or define the
BINARY value in the SQL Type property of String Number columns in the Local
database.

Android and iOS Functionality


The Border Width, Border Color and Corner Radius mobile properties were
removed from the Image, Check Box and Radio controls and were disabled for the
Image button. To display an image in a border, place the image in a Group
control or draw the border in the image.
The default value of the Corner Radius mobile property of the Table and Subform
controls was changed to 0.
The Corner Radius property is now set to 0 when placing controls on a table. This
was done to improve the runtime performance.
A pixel is no longer added to the border width when a control (with a non-system
color) is in focus. If you want to replicate the previous behavior, you should set the
Border Focus Width property manually.
The option to capture movies when opening the camera using the
ClientFileOpenDlg function was removed.
It is now possible to define the header color of the Table control by setting a value
in the new Title Color property.
It is now possible to define the color of the Tab control titles by setting a value in
the Tab control’s Color property.
New samples were added for printing an HTML string to the printer, using offline
digital signatures and interacting with the device calendar.

Android Specific Functionality


The Android client now supports printing PDFs using the Google Cloud Print
protocol.
Material design support – Native controls will now be displayed using the Android
5.0 material design. As part of this change:
o The application icon is no longer shown in the title bar of the forms.
o The title bar color is now a flat gray, without a shadow effect.
o The Label control color is now light gray.
o The Edit control appears as a flat line.
o Buttons appear flat and no longer have a transparent effect.

28
o The Combo Box appearance was changed to a small triangle.
Improved Tab control – The Tab control was changed (in all Android versions) and
it will now look like an Android 5 native tab. As part of this change:
o The tabs will no longer be added to the title bar when executed on tablets.
o A tab with a system color will be shown in the same color as the form’s title
bar color.
o The selected tab indicator will be colored with the same color as the text.
o Unselected tabs will have a non-selection effect.
Native color customization – By changing the application theme you can change
the native color of the following objects:
o Underline color for an Edit control that has focus
o Check Box color
o Combo Box rectangle color
o Navigation drawer indication icon color
Refer to the Native color customization section of the Display for Mobile Devices
topic in the Magic xpa Help for additional information.
Android 2.3.x and 3.x are no longer supported. Magic xpa is compatible with
Android 4.0.3 and above.
The Android client now requires compilation using Android SDK 21or above. This
requirement is only for compilation.
On Android devices, a Local database is limited to 1 MB per record.
Defining a context menu per control is no longer supported.

iOS Specific Functionality


The iPad mini resolution was fixed and now controls on the iPad mini will have the
same size as other iOS platforms.
The iOS client now supports a more native look for controls defined with a system
color. If you need your controls to appear non-native, you should define them with
a non-system color. As part of this change:
o The Edit and Combo Box controls will not have a border (as in Android).
o The default background color of the Table control is White.
Some of the splash screen images were removed and some new images were
added to properly support iPhone 6 and iPhone 6+ devices.
A new sample for using the Touch ID capabilities was added.

Windows Mobile
The Windows Mobile client is no longer supported.

29
Additional Documentation
Two new documents describing the steps required to deploy a Rich Client application
were added:

1. Deploying Rich Client Applications.pdf – This document contains the basic


guidelines and instructions for preparing applications for deployment and
configuring the deployment environment. In this document, the messaging
middleware is the Magic Request Broker.

2. Deploying Applications on GigaSpaces.pdf – This document contains


information about the GigaSpaces configuration required for deployment of
RIA applications.

These documents can be found in the Support folder or in the Concept Paper section of
the Magic xpa Help and can be accessed via a link from the Start menu.

Courses
The following three courses have been revised and upgraded for Magic xpa 3.0:

Getting Started with Magic xpa 3.x and Mobile


Going Mobile with Magic xpa 3.x
Migration from uniPaaS V1.x to Magic xpa 3.x
You can download the PDF for these courses from:
http://www.magicsoftware.com/resources#selfpace.

To take the course in a classroom setting, please contact your local branch.

Prerequisite Changes
.NET Framework
The Studio and Runtime modules of Magic xpa are based on the .NET Framework. The
following .NET Framework requirements apply:

To develop an application using the Magic xpa Studio, you must have .NET
Framework V4.0 (or above) installed on your machine.
The Magic xpa In-Memory Data Grid requester requires .NET Framework V4.0 (or
above).

30
Studio Installation
The Magic xpa Studio is based on Microsoft Visual Studio, which cannot be started
from a network folder. Therefore, it is not possible to start the Magic xpa Studio from a
network folder.

About Magic Software Enterprises


Magic Software Enterprises (NASDAQ: MGIC) empowers customers and partners
around the globe with smarter technology that provides a multi-channel user
experience of enterprise logic and data.

We draw on 30 years of experience, millions of installations worldwide, and strategic


alliances with global IT leaders, including IBM, Microsoft, Oracle, Salesforce.com, and
SAP, to enable our customers to seamlessly adopt new technologies and maximize
business opportunities.

For more information, visit www.magicsoftware.com.

Magic Software Enterprises Ltd provides the information in this document as is and without any
warranties, including merchantability and fitness for a particular purpose. In no event will Magic Software
Enterprises Ltd be liable for any loss of profit, business, use, or data or for indirect, special, incidental or
consequential damages of any kind whether based in contract, negligence, or other tort. Magic Software
Enterprises Ltd may make changes to this document and the product information at any time without notice
and without obligation to update the materials contained in this document.
Magic is a trademark of Magic Software Enterprises Ltd.
Copyright © Magic Software Enterprises, 2016

31

You might also like