Web Form Builder

Labels
AJAX(112) App Studio(7) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(177) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(183) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(2) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Web Form Builder
Monday, March 2, 2015PrintSubscribe
Automatic Construction of Charts in Touch UI

Data views in an app created with Code On Time may present users with the view style called “Charts”. This view style is either enabled automatically by application at runtime or by developers at design time. The purpose of the view style is to provide instant insight into data.

If the definitions of charts are not a part of application design, then the application framework will compose up to nine charts based on the properties of fields in the data view if possible.  The app will attempt to define charts after examining the presence of lookup, date, or numeric fields in the view. First, it will try creating charts with dates as the rows, and lookups as the values. Then, it will pair a few numeric fields with a lookup.

The picture shown below displays the charts automatically created for the Orders controller of the Northwind sample application.

All nine charts that were automatically composed for Orders page of Northwind sample database.

The automatically created definitions for all of the nine charts are shown below. Each chart is described with one or two tags that start with “pivot-“ keyword followed by properties.  The elegant simplicity of the tag language makes possible sophisticated collections of charts defined both by developers and end users.

The chart definitions generated by the client library.

Application framework performs efficient server-side data pivots following the tag specification. Data pivots for all charts are performed on the server simultaneously. Data pivots take into account application-level and user-defined filters.

Let’s see how each chart works.

Chart 1 – Stacked Column + Dates

The first chart pivots customers by the order date in a stacked column chart.

Pivoted data of the 'stacked column + dates' chart.

This chart uses the first date field, OrderDate, as the rows. The “pivot1” property assigns the field to the pivot with ID of “1”. The “row” property sets the field as a row in the pivot, and assigns it index “1”.

The property “date” instructs the application to try several date bucket groups and choose the best one available based on the number of rows in the output. Application framework tries not to have too many or too few “date” rows in a pivot. For the dataset in the picture, the framework has produced the pivoted data as if tags “pivot1-row1-year pivot1-row2-month” were specified.

The “all” property ensures that any empty gaps in the data will be included in the pivot dimension.

The first lookup field, CustomerID, is used for the columns. The columns are sorted in descending order by the value of each column. Then, only the top five customers are kept, and the rest of them are dropped from the output. The “columnstacked” property defines the type of chart.

When a value field is not defined for the chart, a count of the first available field is used.

Field Name Tag
OrderDate pivot1-row1-date-all
CustomerID pivot1-col1-sortdescbyvalue-columnstacked-top5

Chart 2 – Area + Dates

The second chart pivots employees by required date in an area chart.

Pivoted data of the 'area + dates' chart.

This chart uses the second date field, RequiredDate, as the rows.

The second lookup field, EmployeeID, is used for the columns, and the top seven employees sorted in descending order are used. The “area” property specifies the chart type.

Field Name Tag
RequiredDate pivot2-row1-date-all
EmployeeID pivot2-col1-sortdescbyvalue-area-top7

Chart 3 – Column + Dates

This chart pivots shipper companies by the shipped date in a column chart.

Pivoted data of 'column + dates' chart.

This chart uses the third date field, ShippedDate, as the rows of the output.

The ShipVia lookup field is used, and only the top five values are kept. The type of the chart is defined as “column”.

Field Name Tag
ShipVia pivot3-col1-sortdescbyvalue-column-top5
ShippedDate pivot3-row1-date-all

Chart 4 – 3d Pie

This chart shows the top ten orders by customer in a 3d pie chart.

Pivoted data of 3d pie chart.

The fourth chart uses CustomerID as the row values. The top ten values are displayed. The “other” property commands the server to sum up the rest of the values in an “Other” row. The type of chart is “pie3d”.

When no column field is defined, there will be only one column to display the value.

Field Name Tag
CustomerID pivot4-row1-top10-other-sortdescbyvalue-pie3d

Chart 5 – Columns

This chart shows the top 10 employees that made orders in a column chart.

Pivoted data of 'column' chart.

The fifth chart uses EmployeeID lookup field for the rows. The top ten values are displayed, and the rest are summed up into an “Other” row. The type of chart is “column”.

Field Name Tag
EmployeeID pivot5-row1-top10-other-sortdescbyvalue-column

Chart 6 – Line

This chart shows the count of orders made by order date in a line chart.

Pivoted data of 'line' chart.

The next chart uses the OrderDate field as the rows. The “date” property will generate multiple sets of data, differentiated by bucket size, and use the best result for the chart. The property “all” will ensure that there are no missing values in the date range. The type of chart is “line”.

Field Name Tag
OrderDate pivot6-row1-line-date-all

Chart 7 – Columns

This chart shows a count of orders made by required date in a column chart.

Pivoted data of 'column' chart.

This chart uses the RequiredDate field for the row values. The type of chart is “column”. The server will compose multiple results and pick the best one that fits in the graph when “date” is used. The chart will not miss any gaps in dates with the “all” keyword.

Field Name Tag
RequiredDate pivot7-row1-column-date-all

Chart 8 - Area

This chart shows the count of orders made by shipped date.

Pivoted data of 'area' chart.

This chart shows values grouped into rows by the ShippedDate field.

Field Name Tag
ShippedDate pivot8-row1-area-date-all

Chart 9- Donut

This chart shows the count of orders made, grouped by shipper company, in a donut chart.

Pivoted data of 'donut' chart.

This chart uses the ShipVia lookup field for the rows of the result. The “top10” tag is disregarded as there are less than ten values in the result.

Field Name Tag
ShipVia pivot9-row1-top10-other-sortdescbyvalue-donut
Friday, January 23, 2015PrintSubscribe
Responsive Grids, Lists, and Cards

A challenge of figuring the best presentation style for your data on a variety of devices is non-existent in apps created with Code On Time.  Data views always provide at least three responsive view styles to end users. Application automatically elects the best presentation style if developers do not provide a default option. Mobile devices will present data as responsive lists while desktop devices will switch to responsive grids.  If “image” or multi-line text fields are detected, then desktop presentation will be switched to “responsive list” instead.

Responsive List

The screen shot demonstrates a responsive list in action. Every data field is visible. The data fields and their content overflow to the next line as needed. Multi-line text fields start a new paragraph in the list item.

Responsive list in a Touch UI application created with Code On Time.

This presentation style is perfect when large amounts of information needs to be displayed.

A wider screen will fit more items, since data fields are redistributed along the entire available width.

Responsive list with a sidebar in a Touch UI application created with Code On Time.

Responsive Cards

An alternative responsive compact presentation of list items is called “Cards”. Only a subset of data fields is included in a card by default. Fields that do not fit will become invisible. The content of a field does not overflow to the next line.

Responsive Cards view in a Touch UI application created with Code On Time. 

List items are “cards” of the same height. Wider screen will break the flow of cards into two or three columns if possible.

This presentation style maximizes the amount of information available to the user without scrolling.

Multi-column cards in  a Touch UI applicaiton created with Code On Time.

Responsive Grid

The spreadsheet style presentation of data is convenient when field values require comparison. Responsive grid displays field values aligned horizontally in each row. Better yet, the grid will dynamically measure the available width, relative width of individual fields, and their importance. Then it will hide the “less important” fields to provide the best presentation possible given the width of the device.

Responsive grid view in a Touch UI application created with Code On Time.

Wider screen will reveal more data columns.

Responsive grid view with a sidebar in a Touch UI application created with Code On Time.

Developers can control how individuals data fields are displayed in each view style through tags using Project Designer.

Changing tags of data fields in Project Explorer of Code On Time app generator.

Application users switch between view styles either by choosing the desired option on the sidebar or through the context menu options. Sidebar may not be available for some screen orientations and sizes.

Context menu is available on all devices. User activates context menu by touching or clicking on the context menu button. Next user selects the very first option in panel that shows the name of the current view.

Activating context menu in Touch UI app created with Code On Time.   Activating view options in Touch UI app created with Code On Time.

Available presentation styles will be displayed. User touches or clicks on the options and the view style will change after the panel has closed.

Choosing desired view style in Touch UI app created with Code On Time.   Responsive list view style in a Touch UI app created with Code On Time.

Developers can tag the data view on a page to display a specific view style by default using Project Designer.

Changing tags of data view on a page in Project Explorer of Code On Time app generator.

Thursday, December 4, 2014PrintSubscribe
Calculated Fields, Visible When, Read Only When in Touch UI

Code On Time release 80.11.0 further narrows the gap between the features of Desktop and Touch UI. The key features frequently requested by developers are ability to calculate field values with business rules and conditional visibility of fields and categories. Fields also need to be marked as read-only when certain conditions are met.

Touch UI now introduces an enhanced implementation of these features. We have also increased performance of core features in Desktop UI.

Both Desktop and Touch applications can now take advantage of simplified configuration for calculated fields. Developers can now set Causes Calculate property of a data field to true to trigger Calculate command whenever the field value has changed.

Both Desktop and Touch UI now implement and enhanced processing of dates to ensure that dates are correctly displayed across time zones. Dates are now passed in JSON format with additional processing of time zones both on the server and on the client.

Azure SDK 2.5 is supported in this release.

jQuery Mobile 1.4.5 is supported in this release.

Touch UI applications support multiple columns of input fields in forms with tabs.

Multi-column tabbed form in a Touch UI app created with Code On Time.

Touch UI applications have new options in application settings.

Initial List Mode can be set to be displayed Summary Views on all pages instead of See All mode. This view displays a traditional action bar above the subset of rows visible to the user.

Standalone summary view of customers with action bar in a Touch UI app created with Code On Time.

Button Shapes option allows to turn off the outline of buttons for a cleaner look.

Form buttons without outlines (button shapes are 'off') in a Touch UI app created with Code On Time.

A thin outline is the default option for buttons in forms.

Form buttons with outlines (button shapes are 'on') in a Touch UI app created with Code On Time.

We have removed icons from the form buttons for a cleaner look.

Lists and grids now promote an action in See All mode.  Promoted action is the first “positive” action available to the user.

Promoted "New" action displayed at the bottom of the screen on the border of sidebar and responsive grid of customers in a Touch UI app created with Code On Time.

Promoted "New" action displayed at the bottom of the screen on the right side of the responsive grid of customers in a Touch UI app created with Code On Time.

Summary views now display view selectors on the left side of the action bar buttons. Button “…” located right next to a view selector provides access to the context menu of a data view.

View selector shows avaialble views view styles in popup menu in a Touch UI app created with Code On Time.

Summary view also display aggregates. We are working on displaying aggregates in See All mode.

Aggregates displayed at the bottom of the product responsive grid in a Touch UI app created with Code On Time.

Here is the same view of Products display in “List” style with aggregates listed below it.

Aggregates displayed at the bottom of the product list in a Touch UI app created with Code On Time.

Next release is expected to go out before the end of the year with the following features in Touch UI:

  • Blob Uploading.
  • Enhanced Advanced Search.
  • Support for many-to-many fields in search screens.
  • Hyperlink fields will be displayed in context menus.