Can't find what you are looking for? Try these pages!

What's New in DataFlex

What's New in
DataFlex

DataFlex 2019/19.1

Web

HTTP Request Handler

The HTTP request handler provides a way to handle complete HTTP requests all in DataFlex code. It connects to IIS as a module and takes care of the request handling completely. This component provides the low-level interface for building REST services and any other HTTP service needed. It can handle both binary and text data in chunks or as a whole. The HTTP request handler is also used for handling WebApp Framework file uploads and downloads as well.

Meaningful URL's and History Management

This is the long way of saying that the back button works! The Web Framework also supports "deep linking". You can see how this new capability works running the WebOrder and WebOrderMobile sample applications and read about the complete Meaningful URL and History Management interface.

Expandable Lists

Web lists now support nested, expandable sections through the cWebListExpandPanel class. You can see the new capability in the WebOrderMobile example by selecting Customer Query and then clicking on any customer.

Horizontal Scrolling

Grids now support horizontal scrolling through the use of the pbAutoColumnSizing property.

Material Design Theme

We know you’ll be impressed with the new, Google-inspired, Material Design Theme. Material Design improves usability by utilizing depth through shadows, allowing you to accentuate certain elements. The WebOrderMobile sample uses this new theme.

Basic Web Applications

A new DataFlex Web Framework style, “Basic”, had been added to the existing Mobile/Touch and Desktop styles. A Basic web application does not use the DataFlex user interface objects; it only uses Web Application Server components used for service-based applications. This new style makes both the development and deployment of service-based web applications more efficient through a streamlined class hierarchy and the elimination of the JavaScript Engine and all other web components associated with the DataFlex user interface.

Connectivity

The DataFlex ODBC driver has been enhanced to better support MySQL and MariaDB and now includes the following capabilities:

  • Basic DataFlex data manipulation (Find/Save/Delete)
  • Creating/maintaining tables in DataFlex Studio.(Restructure)
  • Conversion from DataFlex embedded to MySQL/MariaDB
  • Support for managed connections
  • Support for recnum tables and standard tables
  • Support for primary keys
  • Support for auto_increment (identity) columns
  • Embedded SQL

We’ve expanded the support for the latest versions of Microsoft SQL Server and its associated clients. Unless you design your application to use a specific Microsoft client, the highest version available on a given workstation will be used.

As you take your use of SQL to the next level through the use of Embedded SQL you can now take advantage of even better performance and increased security with parameterized queries.

In addition to the benefits of parameterized queries, DataFlex SQL drivers now support various cursor types for embedded SQL statements: Forward Only, Dynamic, Static and Keyset Driven. While Forward Only cursors (the default used by DataFlex for many years) retrieve data fastest and with the least overhead, specifying different cursor types can render results more tailored to application needs and not have the same limitations. For instance, Microsoft SQL Server’s Forward Only cursors require variable length columns to be last in the SELECT statement. For queries that must include variable length columns intermixed with others, you can specify Static or Dynamic cursors instead. Note that Static cursors are generally faster than Dynamic but will not detect changes by other users.

Windows

Enhanced DPI Awareness

Your Windows application will display crisply and more accurately scaled, regardless of the DPI resolution being used. We've improved the scaling metrics used in the conversion of dialog units to pixels so that visual components will always look proportional to each other, regardless of the resolution used during the design of the component. We've also updated image lists to support proper scaling of icons and improved the DPI awareness of buttons and treeeviews.

Improved and Configurable Form Heights

You now have the ability to control the form height in your Windows applications at the workspace level. The default height for new workspaces will be slightly smaller (a form height of 12) to be more consistent with other Windows applications, but you can actually set the form height to any value. Migrated projects will continue to have the form heights set to 13 (the old standard) until and unless you decide to change them. Combo forms will also scale with the new form heights.

More

Installer

DataFlex 19.1 uses new installation technology that provides a crisp, modern look across all monitor resolutions, is 64-bit capable (in preparation for the next generation of DataFlex) and automatically configures the proper provisioning of IIS for DataFlex web applications (including automated installation of the required IIS components if necessary). The new installer is created with Advanced Installer and uses industry standard msi technology. Be sure to read about the new capabilities to control the Server and Client installations from the command line.

Embedded Manifest Files

Another early benefit born in the NextGen project is simplified deployment though the use of embedded manifest files. In order to support the different Portable Executable (PE) images needed to support a common development environment for both 32 and 64-bit applications, we created a new linker and that also allowed us to more easily support embedded manifest files. You control this new feature though an additional project property in the Studio. When using embedded manifest files in a project, the mainifest file is moved from Programs to AppSrc and then automatically linked into the resulting executable. If you do not set the project property, the manifest file will automatically be copied to the Programs folder during development.

Code cleanup

DataFlex 19.1 provides a way for you to modernize your existing code. This is an optional process and is mostly handled through a new compiler warning system. Your existing applications will continue to run the same. There are some cases where your existing application may generate compiler errors. These are easily addressed.

DataFlex Reports Examples

The various example workspaces, both Windows and Web, now include an improved and expanded set of live reports (in prior revisions they used PDF files simulated output). The live DR reports use a common, custom, DataFlex Reports runtime (made specifically for our examples - developers must use the actual DataFlex Reports runtime for their own deployment) so that we do not need to have a copy of the runtime in each workspace or have it referenced in the manifest files.

Quick Links

DataFlex 19.0

Web

Server Web Properties

The DataFlex framework now includes a new property type called “server web properties”. In contrast to client web properties, server web properties are always stored only on the server; they are never sent to the web client. Server web properties provide persistency and can even be attached to sessions. The new property type provides a secure place to store an application’s state with the same ease of use as DataFlex’s existing client web properties. In addition to security, since server web properties do not consume any bandwidth, they can result in improved application performance compared to the use of client-side web properties.

Swipeable Buttons (in Lists) and Cards

Touch functionality in applications has been extended with a new control called the “swipeable list button”. This control provides a compact, effective method to add extra actions to list rows. The button functionality is highly customizable and easy to implement. Also, the card container now has a new swipe feature that enables users to swipe between cards. Swipeable cards provide a touch-friendly alternative to existing tab containers.

Floating Panel

The cWebFloatingPanel is a versatile container component that can be positioned it several ways. It falls outside the control and regular panel layout flow and "floats" on top of the application. It can be used to develop custom menu systems, provide extra details or show notifications.

Collapsible group

The cWebGroup control has been extended with the option to collapse / expand groups. Controlled by properties and a button on the screen, collapsible groups provide a new resource to use limited, small-device screen real estate more efficiently.

Improved Connectivity

DataFlex’s connectivity to SQL databases for mobile, web and Windows apps has been dramatically improved with new ways to maintain database connections and several other database-related improvements.

  • Database connection IDs are now fully integrated into the Studio and applications
  • Indexing support for SQL databases has been enhanced
  • The workflow for developing SQL-based applications has been improved
  • The Studio includes more natural support for typical SQL features such as primary keys, foreign keys, identity columns, clustered indexes, etc.)
  • The database login process has been enhanced including support for encrypted credentials
  • Easier, faster and more robust database conversion, connection and reconnection processes

64-bit WebApp Server Support

The benefits of DataFlex 2017’s 64-bit WebApp Server support are: simplified server installation and configuration and elimination of the requirement to switch default 64-bit Internet Information Servers (IIS) to 32-bit mode. These benefits are accomplished by providing both 32-bit and 64-bit binaries of parts of the WebApp Server. DataFlex web application processes and the WebAppServer.exe that controls them are still 32-bit.

Accordion Container

The cWebAccordionContainer is an accordion-style web control based on the tab / card container technology. cWebAccordionCards expand or collapse by clicking on the header or they can be controlled from the source code properties. The accordion container can be configured to allow a single expanded item or multiple expanded items.

Highlight Column

The cWebColumnHighlight is a specialized visual component that can be used to highlight hits in search results. It has several configuration options to specify exactly how it should highlight keywords. This component is ideal for enhancing the usability of web applications with search capabilities.

Color Picker

New “color picker” controls are available in popup format (cWebColorForm) and as standalone control (cWebColorPicker). They both work with HEX and RGB color strings and have the ability to display a custom color palette with predefined colors.

Communicate with RESTful services

The new cHttpJsonTransfer class now makes it easy for DataFlex web apps to communicate with the vast array of RESTful JSON services on the web. The new class supports all of the protocol’s necessary HTTP verbs and is closely integrated with the new DataFlex 2017 JSON Parser. Data is passed in and retrieved using cJsonObject handles which simplifies further processing.

JSON Parser

The JSON parser is a single cJsonObject class that contains the entire API for parsing, generating, analyzing and manipulating JSON. The API is a simplified DOM where each object represents a single JSON node. JSON can be generated by creating and configuring these objects or by simply converting a struct or array from memory before calling Stringify to generate the JSON string. DataFlex’s cHttpJsonTransfer class makes it easy to work with modern REST APIs by working closely with the cJsonObject.

Windows

Tabbed workspace

The tabbed workspace style is an alternative to Windows’ regular MDI style. When used, tabbed views are not rendered in floating panels but are stretched in the available application space. With tabbed workspaces, switching between views is done by selecting tabs that appear as part of the application’s command bar. To support this application style, several components have been improved and sizing and centering logic has been added. Views can be placed next to each other by simply dragging a view’s tab to split the client area horizontally or vertically.

Improved Connectivity

DataFlex’s connectivity to SQL databases for mobile, web and Windows apps has been dramatically improved with new ways to maintain database connections and several other database-related improvements.

  • Database connection IDs are now fully integrated into the Studio and applications
  • Indexing support for SQL databases has been enhanced
  • The workflow for developing SQL-based applications has been improved
  • The Studio includes more natural support for typical SQL features such as primary keys, foreign keys, identity columns, clustered indexes, etc.
  • The database login process has been enhanced including support for encrypted credentials
  • Easier, faster and more robust database conversion, connection and reconnection processes

DPI Scaling

DataFlex now provides better support for DPI scaling of icons used in Codejock Toolbars, Menus and Context Menus. This enhancement for Windows developers and Windows applications is provided by a combination of changes in the latest Codejock COM controls and changes to the DataFlex 2017 class library.

More

Dashboard

The dashboard has been revamped with a clean new look and improved performance. It provides a clear overview of the applications you are working on.

JSON Parser

The JSON parser is a single cJsonObject class that contains the entire API for parsing, generating, analyzing and manipulating JSON. The API is a simplified DOM where each object represents a single JSON node. JSON can be generated by creating and configuring these objects or by simply converting a struct or array from memory before calling Stringify to generate the JSON string. DataFlex’s cHttpJsonTransfer class makes it easy to work with modern REST APIs by working closely with the cJsonObject.

Communicate with RESTful services

The new cHttpJsonTransfer class now makes it easy for DataFlex web apps to communicate with the vast array of RESTful JSON services on the web. The new class supports all of the protocol’s necessary HTTP verbs and is closely integrated with the new DataFlex 2017 JSON Parser. Data is passed in and retrieved using cJsonObject handles which simplifies further processing.