ASP.NET Code Generator

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
ASP.NET Code Generator
Saturday, February 1, 2014PrintSubscribe
Mobile Database Apps With Responsive Design

Code On Time is pleased to announce immediate availability of a significant revision of the Mobile Client in applications created with Code On Time database application generator. It allows creating mobile database apps with responsive design.

See the latest demo of the mobile client at http://demo.codeontime.com

Release 8.0.3.0 includes the following features and enhancements that cover mobile and desktop functionality:

  • Mobile client enables applications with a sophisticated responsive design.
     
  • Mobile client supports advanced formatting and presentation of lists and forms. Tutorials explaining data field tags used for list formatting are coming out this week.
     
  • Mobile client supports multi-field copy and performs processing of context fields.
     
  • Mobile client supports dedicated login pages. We recommend generated a brand new app with a dedicated login page and copying the “mobile” contents of the Login.ascx markup to your existing dedicated page. The tutorial covering dedicated login will be out this week.
     
  • Mobile client supports confirmation controllers. Try it out here.
     
  • Mobile client works correctly with default values assigned with RowBuilder methods and SQL and Code business rules.
     
  • Mobile client supports native input for date, date-time, numbers, URLs, email, and phone.
     
  • Mobile client scopes page-specific user settings by application and user name.
     
  • Switch "_mobile=true" and "_mobile=false" in the URL will refresh the page after switching mobile/desktop client on desktop devices instead of redirecting to the application home page.
     
  • App generator puts project name in the page header if a header is not provided.
     
  • App generator records project name and type in the root element of DataAquarium.Project.xml.
     
  • Desktop client will correctly display line breaks in fields with Text Mode = "Notes" when rendered in modern browsers.
     
  • Idle user detection configuration will affect the forms authentication timeout in web.config of a generated app by making it five minutes longer than the idle user timeout.
     
  • Unauthorized exception raised when user looses identity due to timeout is enhanced with recommendation to enable idle user detection. The exception will remain in place to prevent unauthorized requests to data controllers.
     
  • Idle status of a user is now checked every minute instead of every 3 minutes.
     
  • Desktop client will not fail when a modal form is closing and control is passed to a grid view with "asc" or "desc" in multi-field sort expressions.

We expect that the release at the end of February 2014 will include mobile support for most of the following features:

  • Blob upload/download
  • Calculated fields
  • Conditional visibility of categories and fields
  • Conditional read-only fields
  • Filtering capabilities
  • Mobile advanced search bar
  • “Check Box List” lookup style for many-to-many fields with “basket” functionality
  • Dedicated presentation for Auto Complete, Check Box lookup styles.
  • Multiple selection of list items
  • Tabular display of list items

We are preparing a mobile version of Order Form sample.

The Roadmap 2014 will be published shortly with details about http://cloudontime.com.

Friday, January 31, 2014PrintSubscribe
User Guide for Mobile Forms

Mobile apps created with Code On Time will display a form view in response to many user actions. A form will present data for a single database table record as a list of fields.

Navigating in a Form

Here is an example of a form displayed in response to a tap on an item in a list of products.

Tap on an item in a list will transition to a form view in a mobile app created with Code On Time mobile app generator.  A form view with portrait orientation displayed by iPhone 5s in a mobile app created with Code On Time mobile app generator.

A field label is displayed above the field value on devices with smaller screens. If orientation of a mobile device is changed, then a label will be displayed on the left side of the field value.

A form view of a mobile created with Code On Time mobile/desktop application generator is presented in landscape orientation.

Note that a change in orientation will also reveal additional user interface elements. Actions “Edit”, “Delete” and “New” are visible on the application toolbar in the top right corner of the screen.  Action “Edit” is the only available choice available on the mobile phone with a portrait orientation. Mobile apps created with Code On Time have a responsive design that ensures optimal viewing on a device with any screen size.

If a field label is too long, then it may become partially hidden. Tap and hold a field label for three quarters of a second to see a hint with the full label text.

Tap and hold a label in a form view for about a second to see the full text in a popup in mobile apps created with Code On Time mobile app generator.

Fields of a form are grouped in one or more categories defined by the application. Tap a category to collapse a list of fields. Tap the same category again to have it expanded.

Tap a field category in a form view to have it collapsed in mobile apps created with Code On Time mobile app generator.   A collapsed field category in a form of a mobile app created with Code On Time mobile app generator.

An item card with a summary of a data record will be displayed at the bottom of a form view when on a master-detail page. Links to related detail lists are displayed below the card.

Tap a link under the card and the form will transition to a list with corresponding items.

A summary card with links to details of the selected master record is dislayed in master-detail pages of mobile apps created with Code On Time mobile app generator.   Tap on the detail link below the summary card to see a list of details in a mobile created with Code On Time mobile database app generator.

Actions in Forms

The context menu provides access to all actions available in a form view. Tap the context menu icon on the right side of the toolbar to see the menu of actions.

Tap a context menu button on the toolbar to see a complete list of actions available in a mobile app created with Code On Time mobile database app generator.   A context menu panel with a list of actions available in a form view on a mobile app created with Code On Time mobile/desktop application generator.

A context menu sidebar will be docked to the right side of mobile devices with a larger screen. Context menu button is not visible if the sidebar is docked.

Form view actions listed in the docked sidebar on iPad Air in a mobile app created with Code On Time mobile/desktop app generator.

A subset of available actions is presented on the application toolbar as icons. The number of visible icons depends on the screen size.

Tap an icon to activate the corresponding action.

Tap a toolbar icon to activate a corresponding action available in a form view of an app created with Code On Time mobile app generator.

Form view may also display action buttons at the top and bottom of the view if the sidebar is undocked. The number of visible action buttons depends on the screen size. Tapping on a button will execute an action, which may result in a different set of buttons becoming available.

Editing of a data record in a form is activated when 'Edit' button is tapped in a mobile app created with Code On Time database mobile app generator.   A form view is displayed in edit mode in response to 'Edit' action in a mobile app created with Code On Time mobile database app generator.

Entering Data in Forms

Application form view will display input controls in response to “Edit” and “New” actions. Ability to create or edit data is controlled by the application and may not be available to all users.

Tap and hold a field value in a form view to quickly execute “Edit” action. The form will switch to “Edit” mode in response to tap and hold.  The form will set a focus on the field input control if you continue holding a finger on the screen of your mobile device.

Tap and hold a field value in the form view to activate 'Edit' mode in a mobile apps created with Code On Time mobile app generator.  Extended 'tap and hold' on a field value will set focus on the field input control in a mobile app created with Code On Time mobile database app generator.

Form view will activate a standard text input keyboard on mobile devices when a text field is focused.

A numeric native keyboard is activated if the field has a numeric data type.

A numeric keyboard is displayed when a numeric field is focused in a form view of a mobile app created with Code On Time mobile app generator.

Fields configured to capture phone numbers will also have a dedicated input keyboard.

A 'phone number' keyboard is displayed when a 'phone' field is focused in a form view of a mobile app created with Code On Time mobile app generator.

Specialized native keyboards will also display if the focused text field is configured as URL or Email.

Lookup fields with lists of values will be displayed as native input controls.

A native 'select' input control is displayed for lookup fields with lists of values in mobile apps created with Code On Time mobile database app generator.

Focused date fields will cause a native date input control to display. The type of control depends on the operating system of a mobile device.

Date input control on iPhone 5 is shown next.

A native date input control of iOS 7 is shown in a form view of a mobile app created with Code On Time application generator.

Date input control on Nexus 7 is shown in this screenshot.

A native Android date input control is visible in a form view of a mobile app created with Code On Time mobile database app generator.

A specialized native date-time input control is displayed for fields that  allow capturing both date and time.

Database applications frequently require complex search criteria when selecting lookup values. It is possible that lookup tables contain many thousands of possible choices. Code On Time mobile apps are automatically configured to display a custom lookup input control for database lookup fields.

A lookup input control is shown before and after a tap on the field value.

A database lookup input is displayed in a form view of a mobile app created with Code On Time mobile app generator.   A list of lookup values with support for endless scrolling, search, filtering, and sorting is displayed in a mobile app created with Code On Time mobile database application generator.

A list of lookup values behaves in exactly the same fashion as standalone lists with support for endless scrolling, search, filtering,  and sorting. Existing lookup items can be modified and new ones can be created if allowed by application business logic.

Advanced Form View Features

Application may define a status bar explaining a workflow status of a data item selected in a form view. The status bar is displayed at the top of the form. The contents of the status bar can be scrolled with horizontal swiping motions.

Status bars help users to understand the workflow status of items selected in a form view in mobile apps created with Code On Time mobile/desktop application generator.

Fields of complex forms are frequently organized in multiple categories. Categories can be independently collapsed and expanded. The screenshot shows a form with multiple categories displayed in iPad Air.

Collapsible field categories makes easier to work with large number of fields in mobile apps created with Code On Time mobile app generator.

Categories can be further organized with tabs. Tabs are displayed at the bottom of a form view. This screenshot shows a tabbed form with multiple categories displayed in Nexus 7 tablet.

A form view with multiple categories and tabs in a mobile app created with Code On Time app generator.

If a form view is scrolled down, then a heading with the value of an identifiable data field may be displayed below the toolbar. This will happen if an identifiable field is not visible on the screen. The identifiable field is displayed as the first data element in lists.

A heading with the value of identifiable field is dispalyed when a user scrolls down a form view in mobile apps created with Code OnTime mobile app generator.

The heading will disappear if a user starts editing data or scrolls the identifiable field back into view. Tap on the heading to have it hidden.

Wednesday, June 19, 2013PrintSubscribe
ASP.NET 4.5, DotNetNuke 7, Upload on Insert, CKEditor, Dynamic Wait Indicators, Azure SDK 2.0, Native CSV Import, Container “page”

Code On Time release 7.0.9.0 includes major enhancements  providing the foundation for the upcoming Mobile Client Library and 2nd generation datasheet view. Both will be included in the follow-up release in July of 2013.

ASP.NET 4.5 has been available for awhile. We now offer support for the newest .NET Framework in  Web Site Factory, Web App Factory, and Azure Factory projects.

Starting with this release any new apps configured to use ASP.NET 4.5 (default option) will be created without dependency on Ajax Control Toolkit DLLs. We will be phasing out the toolkit by replacing any dependencies with jQuery equivalents. Existing projects that do use components of ACT will continue to be generated with the binary libraries.

Master page, theme, and script references where enhanced to further reduce application footprint and speed up page loading. Mobile client library requires this enhancement.

DotNetNuke 7 is now supported in DotNetNuke Factory. Create ASP.NET 4.0 line-of-business web apps as modules for the latest version of the populate open-source content management system. New theme Gravity is included to provide a matching look-and-feel for the apps packaged as DNN modules.

Upload on Insert is a frequently requested feature that was previously absent in the application framework. Binary content is uploaded independently from the data fields of a new record. This creates a unique challenge to delay uploading until a record has been successfully persisted. The new client library does just that. New projects will automatically include BLOB fields in createForm1 to allow upload on insert. Just make sure that the binary columns are not marked as required in the database. Drag binary fields to the createForm1 view to enable this capability in existing apps.

CKEditor is a popular web-based rich text editor embedded in many online products. We are offering a simple integration of this editor in any project created with the new release of the app generator. The built-in rich text editor is now implemented without server-side support and works entirely on the client, which makes it lightning-fast.

Dynamic Wait Indicators are now  a permanent feature of the client library. If a server-side operation takes longer than 3/4 of a second to complete, then a thin marquee line will be displayed at the top of the data view. Modal views will display a wait indicator at the top of a page. This applies to data paging/sorting/search, action execution, reporting, import, upload, and download. Consistent integration of dynamic wait indicators improves usability by offering intelligent visual clues about long running requests. Navigate to our demo web site and try printing a list of customers to see the wait indicator in action.

Azure SDK 2.0 is now supported in Azure Factory projects.

Native CSV Import classes are  implemented in web apps created with Premium or Unlimited edition. The new importer is built into the application framework, which eliminates the need for Microsoft Access Database Engine installation on the server. “Import” action is now also included under Actions menu of data views in Azure Factory web apps. Import dialog simplifies mapping of fields by hiding “mapped” fields from available mapping options.

Container “page” allows defining user controls that will be displayed in page header, title, sidebar, or footer.

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

  • ASP.NET 4.5 is now supported in Web App Factory, Web Site Factory, and Azure Factory projects.
     
  • Application Framework now includes a native CSV parser based on the work of Sébastien Lorion. Both SharePoint Factory and Azure Factory projects are now supporting the “Import” action with native CSV parsing.
     
  • Web Site Factory solution files are now located under [Documents]\Code OnTime\Solutions\Web Site Factory\PROJECT_NAME folder. The new solution file will be created if a website factory project is regenerated. If you are using a source control system then make sure to change the project bindings accordingly.
     
  • Theme file is referenced with the app generator version number in the page header.
     
  • Azure SDK 2.0 is now supported in Azure Factory.
     
  • Ajax Control Tookit 7.0429 is now integrated in the apps based on ASP.NET 3.5 and 4.0.
    Upgrade instructions for ASP.NET 4.0 projects:
    • Make sure to delete file ~/App_Code/Controls/RichEditor.* from the source code of your Web Site Factory project.
    • Delete the files MyCompany\Controls\RichEdit.* from other project types where MyCompany must be replaced with the Namespace of your project.
    • Select the project on the start page of the app generator and choose Refresh, do not select any controllers and click Refresh.
    • Re-generate the app.
       
  • Custom *.rdlc reports are now published with Web Site Factory projects.
     
  • CKEditor is seamlessly integrated in web apps created with Code On Time.
     
  • Removed references to "stub" images from the master page.
     
  • Main master page is not using “cellpadding”, “cellspacing” and “valign” attributes. It relies on new CSS rules instead.
     
  • Built in Rich Text editor and CKEDITOR will take at least as much space as specified by the CSS class "dataview-rich-text". Define a custom CSS rule with “width” and “height” property to set up a non-standard size for rich text editors.
     
  • Application pages include “lang” and “xml:lang” attributes in “html” tag when loaded in a browser.
     
  • Application framework stylesheet Core.css incorporates the core styles from AjaxControlToolkit to handle calendar, tab container, color picker, and HTML editor to minimize the number of CSS links in application pages.
     
  • Thanks to Giampaolo Bulleri for contributing Italian localization.
     
  • Membership component of the client library explicitly sets up the path to Authentication_JSON_AppService.axd of a web app when initialized.
     
  • App generator will place controls with IDs 'header', 'title', 'sidebar', and 'footer' into appropriate regions of a page if the controls belong to a page container 'page'.
     
  • Enter NoSeeAlso class in "Custom Styles" property of a page to hide the corresponding area created automatically by the class library.
     
  • The "Reset" button on automatic search bar has been replaced with "Clear" button. The new button will simply remove all filters.
     
  • BLOB fields can now be added to the "createForm1" or any other view that offers Insert command. BLOB uploading is deferred until the primary key is returned after a successful insert operation.
     
  • New projects will automatically include BLOB fields in 'createForm1'. Developers can add BLOB fields to existing data controller views 'createForm1' manually.
     
  • CSS class "dataview-loading" is added to a data view container when a data view makes a first call to fetch data. Class "dataview-loaded" will replace "dataview-loading" after the first call has been completed.
     
  • Client library will open a new window when the original of a BLOB field is downloaded by user. The data view will display a marquee indicating the download progress. The new window is twice smaller than the main browser window.
     
  • Server-side business rules (Code and SQL) do not interfere with Blob Adpaters updating utility fields.
     
  • Data fields with text mode set to "Static" work correctly in grid view when inline editin of row values is performed by a user.
     
  • Application framework includes FileSystemBlobAdapterBase class to allow override of file system blob adapter property IsPublic.
     
  • "Soft" date filters created with SQL business rules will correctly filter the data.
     
  • Import automatically adjust the list of the available unmapped fields to ease selection of mappings.
     
  • Main and Help master pages are using a short form of DOCTYPE declaration.
     
  • Methods AccessKey, SecretAccessKey and property Bucket of S3BlobAdapter are now virtual