Presentation is loading. Please wait.

Presentation is loading. Please wait.

DataFlex 19.0 - 2017 John Tuohy.

Similar presentations


Presentation on theme: "DataFlex 19.0 - 2017 John Tuohy."— Presentation transcript:

1 DataFlex John Tuohy

2 Why we use DataFlex… In one of our single day training classes you might: Create a workspace Connect to a complex SQL database Create a set of business rules (DDs) Use the power of SQL to create and utilize an SQL view that combines elements of the complex data structure into a tight set of targeted data Create a Web Application Create a modern, good-looking, responsive web application with a complete set of navigationally contextual views for adding, editing and deleting data according to the business rules Tie everything together with a user-friendly dashboard Employ nice navigational interfaces for breadcrumbs, menus (multiple styles) and user access that are essentially automatic

3 Why we use DataFlex… Back to our training class:
And you would do it all in a matter of hours and in under a couple of hundred lines of code (actually typed) And that’s just for the Web If you had a couple of more hours you could do this in Windows as well

4 DataFlex 18.x

5 DataFlex 18.0 Rebranding Web - Version 2 of the Web Framework
Web - Grid/List, Upload class, SuggestionForm Windows - new classes, buttons w/ images, LinkButton, dbSuggestionForm Windows - optional modal views Studio Table Viewer Studio Native SQL Type Modeling DD - DD SQL Filtering DD - DD Inspector has constraint usage, optimization and SQL filter info Client Web Services - nullable data type support Character encoding translation class

6 DataFlex 18.1 Web - Introduced mobile framework!
Web - Complex web properties (structs and arrays) Web Designer – Previewer evolved into interactive designer Studio - Debugger much faster DD - Big performance and memory improvements Connectivity – PK support, identity column, GUID, Azure, better restructure UChar Array improvements - tables, sequential files, String to UChar functions Many new struct/array functions Improved missing (deleted) record handling

7 DataFlex 18.2 Primarily created to fix bugs and implement suggestions
Web - Version 2 of the Mobile Web Framework Web – cWebParentCombo, new desktop theme Web - Web DD Inspector Windows - Windows 10 Support Windows - ParentCombo, month calendar Studio - pre/post compile processing DDs - Smart Relates Refined deleted/missing record handling Extensive new set of DateTime functions

8 And now… Introducing DataFlex 19.0

9 DataFlex 19.0 Connectivity – Managed Connections
Connectivity – Improve indexing support Windows Framework – Enhanced high DPI Support Windows Framework – Updated look Windows Framework – An MDI alternative style Studio – More natural developing using SQL Studio – Updated look Web Framework – Server Web Properties Web Framework – New Controls Web Application Server – Simplified deployment Web Application Server – 64-bit support Runtime – JSON Parser

10 Connectivity

11 Connectivity Goals Fully integrate Connection IDs into the application framework and the Studio (all our tools) Improve indexing support for SQL databases Improve the flow of SQL-based application development Make support for typical SQL features in the Studio (PKs, FKs, identity, clustered indexes, etc.) more automatic and natural Improve the database login process (support encrypted credentials) Make the Convert, Connect, Reconnect process easier to use and more robust Maintain backwards compatibility! Connectivity in DataFlex 19.0 Presentation later today

12 Windows Framework

13 Windows Framework Improved DPI Awareness Flat Style Icons
An alternative approach to MDI in Windows

14 Improved DPI Awareness
DPI awareness is key to making the UI look consistently good across a variety of high-DPI display settings The font improvements in 17.x already took care of all the text in Windows controls, our controls and Codejock controls, but… Codejock controls did not resize images (images in toolbars and menus did not change) Codejock controls were not using complete DPI text scaling (font only, not overall spacing) Updating to a newer version improves the DPI awareness in the Codejock menus and toolbars. That’s a start…

15 Improved DPI Awareness
There is also an issue with images The images used in applications are all stored in a single 16x16 size. Windows will attempt to virtualize and scale on its own, but this often results in images that are not the correct size or blurry Codejock and Windows expects you to provide multiple sized image in a icon file It will then choose the best size for the current DPI The goal is to always have the right size image to choose from – no scaling You can see DPI scaling issues in many Windows applications. This is a process of refinement

16 Improved DPI Awareness
The Windows Framework implements the new Codejock capabilities Automatically selects the best icon size for the DPI setting of the display when using resource icons (compiled in) We replaced all our simple, single-size icons and bitmaps with Icons that contain multiple sizes (16x16, 24x24 and 32x32) You will probably face the same decision about adding icon sizes The good news is that if you only use are our icons; you’re done Remember - if you don’t want to use the DPI aware icons there is a property to turn off the new capabilities (in fact, that’s the default)

17 Flat Style Icons In yet another instance of “Isn’t feature creep wonderful?” we determined that updating the older style icons would be even better if we updated to newer, “flat style” icons All of the menu and toolbar icons in our tools are updated to the new style (and high DPI format) All of the standard icons used in the Windows Framework menu and toolbar have been updated and are located in the Bitmaps folder. If you wish to continue to use the old set of bitmaps and icons they are located in a subfolder (DataFlex 2016 Bitmaps) and you can simply copy them to your workspace Bitmaps folder so they will be found and used first Of course, that led to another issue…

18 Traditional MDI Interface
Microsoft doesn’t like MDI Interface so much… In Windows 10 – Caption and System buttons are not painted correctly!

19 An Alternative MDI Style for Windows
Microsoft has not done a good job of keeping the appearance of MDI dialogs up to date Although this is a great and practical application style, Microsoft is moving away from this It doesn’t look like this will change This makes an application appear old fashioned Rather than fight this, we are supporting an alternative look for MDI style applications Tabbed Workspaces Instead of using overlapping windows your views are placed in tabbed workspaces Views can be split vertically or horizontally, allowing you to see multiple views at one time Views are selected by selecting their tab To work properly special sizing, centering and scrolling of views must be supported – it’s all automatic

20 An Alternative MDI Style for Windows
The alternative MDI style is created using Codejock Tab Workspaces and our scrolling panel class support Using the alternative MDI style requires code changes Your main application must enable tab-workspaces Each view must add a scrolling panel and scrolling container object In addition, you may want to further customize your views to take full advantage of this new style This is an optional style People really seem to like this style!

21 A New Look for the Studio
These changes also led to changes in the Studio The Studio has a new look We applied all of the DPI changes to the Studio We replaced images with multi-sized, flat icons We had a lot of images! We updated our theme

22 Studio / Windows Framework Demo

23 Web Framework

24 Server Web Properties Web properties were designed to configure everything that the client needs to know about Mainly the state of the user interface, but can be any data at all Used by the Web Framework and developers Most of the Framework properties need to be on the client Applications use web properties for all kinds of state data. This is data that is not be needed on the client but needed for the page or session This data is accessible on the client, which may be a security issue There may be unnecessary overhead as web propertied are constantly sent back and forth In 19.0, Server Web Properties provide a secure method to store application state data Related to the current page or session (no meaning after the page or session expires) Not needed on the client Harm will tell you all about this tomorrow Spoiler alert: It’s really easy to do.

25 Web Framework Controls
DataFlex 19.0 includes exciting additions to the control set for the Mobile / Touch style Color Picker List Menu Floating Panel Highlight Column Accordion Control Collapsible Group Styled Checkbox and Radio Swipe Buttons (in Lists) and Cards

26 Color Picker Custom built color picker control that is available in popup format (prompt button) and as standalone control. It can show a color palette with predefined colors as well.

27 List Menu Separate version of the menu class used in Mobile Touch applications. Works with existing menu items. Supports multiple levels, has an optional header and renders a back button on sub levels.

28 Floating Panel A versatile container component that can be positioned it several ways. It falls outside the control & regular panel layout flow and “floats” on top of the application. It can be used to develop menu systems and provide extra details. FloatByControl Using phoFloatByControl the panel is configured to float below (or if there is not enough space above) a specific control. FloatLeftSqueezeWebApp The panel shows outside of the webapp and squeezes the webapp making space for itself. This is a common way to display menu’s. It spans the full height of the browser. FloatLeftPushWebApp The panel shows outside of the webapp and pushes the webapp (partial off screen) to make space for itself. This is a common method to display a menu on mobile devices. FloatFixed The panel is positioned absolute using coordinates.

29 Floating Panel Examples
cWebFloatingPanel floating by a button cWebFloatingPanel pushing the webapp offscreen

30 Highlight Column Special column type capable of highlighting keyword(s) Has several options to configure how the highlighting should be performed

31 Accordion Control An accordion style control based on the tab / card container technology. The accordion cards expand / collapse by clicking on the header or from source code. It can be configured to allow a single expanded item or multiple expanded items.

32 Collapsible Group Extends the cWebGroup with a pbExpandible property making it show a collapse / expand button on top.

33 Styled Checkbox and Radio
The framework has always used the native browser checkbox, leaving the rendering up to the operating system. Styling (using CSS) is very limited. A new technique using special CSS selectors and a pseudo element allows this checkbox to be replaced with a custom checkbox fully built (and stylable) using CSS. This technology has been incorporated into the WebApp Framework allowing themes to style the checkbox or just use the native checkbox. Standard Flat (touch and desktop) checkbox Styled as a flipswitch using standard "FlipSwitch" CSS Class

34 Swipe Buttons and Cards
Swipe buttons visible in mobile lists when swiping a row left or right Card containers allow card navigation via swiping left or right

35 Web Framework Controls Demo

36 WebApp Server

37 WebApp Server 64-bit Support
Simplifies installation and configuration Allows both 32-bit and 64-bit on the same server Administrator allows applications to be configured to run on other than the default web site New Command Line Interface for Managing Web Applications Allows more control over which website is used

38 64-bit Support Applies to the Server process only, DataFlex processes are still 32-bit Additional server binaries located in Bin64 folder ISAPI handler registered so that IIS will automatically pick the right version (requires IIS 7) Any COM controls or components being called through IIS/ASP must be 64-bit to use the 64-bit server This does not apply to controls or components being called by the 32-bit DataFlex processes These changes remove the need to install the IIS 6 Metabase Compatibility or enable 32-bit support in the Application Pool (assuming that you are able to solely use 64-bit)

39 Command Line Interface
While many developers use the Web Application Administrator to manage their web applications, it is often desirable to automate the process via the command line interface DFManageVDir.exe replaces WinCrtVDir.exe Used during installation and called from the Studio and Administrator (DFManageIIS.dll) Geeky Details Create or remove virtual directories DFManageVDir.exe create “{website}" "WebOrder_19" "C:\DataFlex 19.0 Examples\WebOrder\AppHTML" /overwrite DFManageVDir.exe remove “{website}" "WebOrder_19“ Use /quiet mode to hide console Register or remove ISAPI Handler DFManageVDir.exe add-wso-restriction DFManageVDir.exe remove-wso-restriction

40 A funny thing happened on the way to Server Properties…
Runtime JSON Parser A funny thing happened on the way to Server Properties…

41 Why a JSON Parser? Designing the server side web properties we needed the ability to… Take DataFlex data of any type (and complexity) and convert it to JSON Take JSON data of any type (and complexity) and convert it to a DataFlex type We added this capability to the runtime As long as we did that, we made this public so developers can do the same thing As long as we were doing that we added an interface for a full JSON parser It never ends…. Harm will tell you all about this tomorrow

42 Timeline

43 DataFlex 19.0 Milestones First Look – mid-September
DAPCon – October, Brisbane, Australia Scanduc 16 – December, Gothenburg, Sweden Alpha 1 – December At this point we’ll also open a new Testing forum for DataFlex 2017

44 Thank you


Download ppt "DataFlex 19.0 - 2017 John Tuohy."

Similar presentations


Ads by Google