DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

21

Transcript of DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Page 1: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .
Page 2: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

DataFlex Web Framework Symposium – Part 2

Web Framework Overview

John TuohyDevelopment Teamwww.dataaccess.com

Page 3: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

The DataFlex Web Framework

– At Synergy 2011, we ended the conference with a proposal for the next generation DataFlex Web Framework development system.

– The next two slides came from that presentation…

Page 4: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Web Framework - 2011

– Supports the DataFlex style of application on the web• Focused on data entry and reporting style applications• Concentrate on our core strength

– Make it feel more like an application than a web page– Lower the entry point for creating professional looking data

entry web-applications– Developers should be able to write basic web applications from

within the Studio– Developers will need a minimum of HTML and JavaScript

knowledge to write this application– However, more advanced developers will be able to use JS/CSS

and HTML to do great things

Page 5: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Web Framework - 2011

– Studio Integration• Automatic menu generation of views and reports

– Just like windows

• Preview of pages that use WBO based web controls• More wizards

– create WebApps– create web-views

– create web-reports

Page 6: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Web Framework - 2013

– Well, here we are in 2013, and that’s pretty much what we’ve done

– In this presentation, we will talk about all the parts of the DataFlex Framework and we will compare the Windows and Web Framework implementations

Page 7: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

DataFlex Application Framework

• Framework's Main purpose– Create a DD class for each table

• DD class contains all rules, dependencies– Create views

• Views contains DDO structures• Create data entry objects (DEOs) in the view, which are

attached to DEOs• You save, delete and find data within a view using a handful

of standard messages– Assemble all your views and you have an application

Page 8: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Data Dictionaries• A data dictionary class is created for each table

– Information is supplied for each column in the table• Labels, control types, masks, valid values, validation rule, prompt

lists– Information is supplied about that table

• Validations, update rules, etc.– Information is supplied about this table’s relationship to other

tables• These classes are defined once and used (reused) as data

dictionary objects (DDO)• DDOs are connected into DDO structures

– These are placed in views and connected to DEOs

Page 9: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Data Entry Objects

• DEOs are used to view and process data.• DEOS are connected to appropriate DDOs using framework

rules• DEOs and DDOs communicate via an interface contract• Data Binding: DEOs are bound to the DDOs

– Server: this identifies the DDO that handles the operations (save, delete,find find)

– Data_File & Data_Field: This binds a DEO to a table/column• Done with the Entry_Item command

Page 10: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

DEO Request Messages

• DEOs understand special request messages– These are user triggered via a keypress or menu/toolbar

item selection– These direct high level requests to their server DDO

• Request_Find• Request_Save• Request_Clear• Request_Clear_All• Request_Delete

– Expected to handle entire process• Validation, confirmation, refresh, etc.

Page 11: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Visual Objects

• Visual objects are the objects you see• They are represented as DataFlex objects• Properties are used to represent their appearance

– This determines size, location and layout• The DataFlex objects wraps the platform specific control it

creates– In Windows these are Windows and COM controls– In Web this is HTML and JavaScript

• DEO vs non-DEO– A visual object may be data-aware

Page 12: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Containers and Controls

Common containers– Views– Modal dialogs– Tab Dialogs– Groups– Containers with other

visual borders– Image and Misc.

Common controls– Form– Spin Form – Combo Form– Radio– Button– Checkbox– Treeview– Slider– Grids & Lists

Page 13: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Menus and Toolbars

• Global Menu and Toolbar system• Maintained by Studio• Classes exist for most common options

Page 14: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Special Framework Features

• Prompt Lists– Multi-function, relational, move value out, custom– Data aware / non data aware– Virtual / static– Configurable when invoked– Search dialog– Auto-configuration– Auto-column indexing

• Grids– data aware / non-data aware– Virtual / static

Page 15: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Special Framework Features

• Automatic support for– DD Options

• Autofind, FindRequired, Required, Commit, Remember, Capslock, etc.

– Data type, data-length, and numeric precision– Masking– Validation

• Forward keyboard navigation• During save and delete

– Entering / Exiting

Page 16: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Special Framework Features

• Modal Dialog Support– Callable from underlying dialog or view– Interface to react to the completion of a modal dialog

task

• Confirmation Messages• Handle common message box needs

– info, yes/no, multi-button• Automatically triggered in views

– Save, delete, data loss confirm

Page 17: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

The Studio

• The Studio understands the DataFlex development environment– It understands

• the language• workspaces• the framework• the current project

– It makes development easy

Page 18: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Studio Components

– Table Explorer• Table Designer• Data Dictionary Designer

– Wizards• Project wizards• View wizards• Prompt list wizards

– View/ Dialog Designer• Code and Visual design

mode– DDO Modeler

• with drag and drop

– Control palette• with drag and drop

– Property Panel• Properties & Events

– Workspace Explorer– Code Explorer– Code Editor

• Project aware• Code sense• Code assist

Page 19: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

The Studio

– Easy project management• add remove views, dialogs, etc.

– Class creation and maintenance– Menu / Toolbar generation– Integrated debugger– Portable workspaces

Page 20: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Special Web Considerations

• Web applications are stateless• Internet applications have special security

issues• Browsers are asynchronous• All Browsers behave differently• Browsers have their own different display

layout (flow)

Page 21: DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team .

Finally

• All of this had to be built into the Web framework

• In the upcoming presentations you will see how these pieces are all used