Web Application Generator

Labels
AJAX(112) App Studio(9) 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(178) 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(184) 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(3) 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 Application Generator
Sunday, July 1, 2012PrintSubscribe
Drag and Drop, Cut/Copy/Paste, and More…

Code On Time release 6.0.0.29 includes enhancements to both code generation library and application design environment.

Generated web applications now support JavaScript Business Rules and Automatic Tracking of Selected Record. The Project Designer has been enhanced with drag & drop and cut/copy/paste  capabilities and offers “Navigate To” window that allows quickly locating project configuration elements.

The following features, enhancements, and bug fixes are included in this release:

  • Drag & drop and cut/copy/paste are support for pages, containers, data views, controls, user controls, controllers, and commands. Other project configuration elements will also be enhanced in the coming weeks.
     
  • The entire data controller can now be cloned.
     
  • Project Designer properties of menu configuration elements can be easily synchronized with Project Explorer.
     
  • Navigate To window allows quickly finding project configuration elements.
      
  • Code generator automatically combines all JavaScript files found in [Documents]\Code OnTime\Library\_Client\Scripts folder in a single _System.js file. The file is included in the generated web applications of all types.
     
  • Automatic Tracking of Selected Record is supported by the client library. Developers can take advantage of selected record synchronization.
     
  • New search option $autocompleteanywhere will cause the auto-complete to search anywhere in the field values. By default, the framework searches using "Begins With" operation, which generally performs better, but will not yield partial matches.
     
  • Data field property "Search Options" supports $disableautocomplete, $disablesamples, and $disablemultiplevalues options.
     
  • Modal form views now support dragging of the header.
     
  • View Details shows a modal view that will refresh the original source if changes are made.
     
  • "Hidden" fields will be displayed in summary if marked as "Show In Summary".
     
  • Master data sheet views automatically set focus on the first cell of the first row.
     
  • "Flat" actions will display the action description as a tooltip.
     
  • Implemented a fix for Import Processor to ensure that field values that are missing in import file are created to simulate as if the values were entered in the user interface form. Previous implementation has passed the non-blank values only. This makes it possible to implement UPSERT when importing data records.
     
  • Code On Time will now pre-process the designer logs before navigating to the data controller summary.
     
  • Localizer now takes into account the name of the module/webpart when caching the resource strings.
     
  • Project Explorer tab now feature "Home" button that shows List of Pages, List of Controllers, or List of User Controls.
     
  • The issue with the left border in AjaxControlToolkit tabs is fixed in all themes.
     
  • Sorting on fields with Format On Client = false will not cause a runtime exception.
     
  • Method Controller.UserInInRole is now creating an instance of ControllerUtility class to verify the user identity. This allows implementing custom role validation against SharePoint or DotNetNuke user groups.
     
  • ControllerDataSource will correctly perform Update/Insert/Delete operations when C#/VB business rules are associated with the data controller.
     
  • Component ControllerDataSource will use "=" filter operation if FilterParameter instance has its DBType property set to any value other than Object or String.
     
  • Aggregate fields are correctly formatted on the server when "Format On Client" property of a data field is set to "false".
     
  • It is possible to specify "about:blank" as the URL of top level pages without breaking the rendering of Advanced Menus.
     
  • Context Field Filters now support static filters in the both formats:
    FieldName = 12345 and FieldName='12345'
      
  • Decimal parameters are automatically initialized as Decimal(38,10) in SQL Business Rules and SQL action.
     
Sunday, July 1, 2012PrintSubscribe
Feature: Automatic Tracking of Selected Record

Applications automatically keep track of the selected record when users page, sort, filter, or modify data.

For example, the product “Chang” has been selected on the second page of the list.

Sort by Product Name and filter to 'Beverages' in Category Name.

Filter Category Name by “Beverages”, and sort in descending order of Product Name.

Sort by Product Name, and filter to 'Beverages' in Category Name.

The grid will display page three with product “Chang” selected in the view.

The data view paged to and selected Chang record.

Clear the filter. The data view will display page two and with “Chang” still selected in it.

Clearing the filter will navigate back to page 2 and still have Chang selected.

Sort the Unit Price field in ascending order. The data view will preserve the selection by navigating to page eight.

Sorting by Unit Price will move Chang record to page 8. The record selection will be preserved.

The application framework automatically locates the page that the data row belongs to while taking into account the sort order and filters. This behavior is automatic – it requires no programming.

Developers can take advantage of this application framework feature. For example, an application can select a page of data that contains a specific record in response to user actions.

image

Saturday, June 30, 2012PrintSubscribe
Introducing JavaScript Business Rules

An application data controller can define powerful JavaScript Business Rules to perform validation and required interactions with the user. The rules are written in JavaScript to execute in the client web browser.

JavaScript Business Rule defined in 'Customers' data controller of the Northwind sample created with Code On Time web application generator for ASP.NET, Windows Azure, DotNetNuke, and SharePoint

Application client library will create an instance of a JavaScript class enhanced with the rules defined in the data controller to handle actions in a fashion similar to server-side SQL Business Rules and C#/Visual Basic Business Rules. A rule can analyze the field values, change them, request additional information, or prevent an action from execution.

This is the example of a JavaScript business rule performing client-side validation.

// validate the data field value
if ([Country] == 'USA') {
    // tell the client library to skip the execution of update, insert, or delete
    this.preventDefault();
    // set the focus to the field "Country" and display an error message
    this.result.focus(
        'Country', 'You are not authorized to {0}, if the country ' +
        'is equal to "USA".',
        this.arguments().CommandName);
    // show an additional information in the message bar at the top of the page
    this.result.showMessage('Error trying to execute {0} command', 
        this.arguments().CommandName);
}

The implementation of the business rule is functionally equivalent to the SQL business rule performing validation on the database engine level, but does not involve a round-trip between a browser and webserver.

This screenshot demonstrates the business rule in action.

Validation with JavaScript Business Rules in a web app created with Code On Time web application generator

Learn to create sophisticated JavaScript Business Rules performing complex data validation and just-in-time correction of values.