Blog

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
Friday, October 2, 2009PrintSubscribe
Eliminate the Grisly Problems of Project Estimation

See how a code generator can help reduce the headaches of Project Estimation and Planning.

The Project Manager’s job is to produce a project estimate, the most complicated step of any project. Project estimation forces project managers to deal with the unknown, making estimation difficult. Merely guessing off intuition is not the best solution. Many managers purchase costly project estimation software. Alternatively, managers can use a horde of programmers to create a prototype application to gauge the difficulty of the project. None of these choices are cost or time effective.

However, there is a much more elegant solution to this problem. Code generators can quickly and easily create an application prototype. Have your software architect construct a database according to the project requirements. Point the code generator to your database, and in minutes you will have a complete prototype of your application. It is much easier to estimate a project using a physical, usable example.

Suppose you were put in charge of a project to create a help desk web application. Your company’s business has grown too large, and your fellow co-workers are drowning in technical issues. As the project manager, you have to create an estimation of how long the project will take. You would need to create a system that manages information such as: problem history, priority levels, equipment, support staff, and problem resolutions. This would be a large and difficult undertaking, and you need a way to gauge the level of work necessary to complete it. Using a code generator, you can merely point it to the database created by your software architect based on current version of project requirements, and in minutes, you have a working prototype. You can now figure out exactly how much time and resources you will need to build your help desk.

This allows you to provide near instantaneous feedback to project stakeholders. The stakeholders can view the prototype to validate requirements, and to create new ones. New requirements will call for a revision of your estimate, and you can use the code generator again and again until the definitive requirements have taken shape.

Your development team may decide to completely scrap the generated code and built an application from scratch. It still had helped you in project estimation and saved time and money. Through the use of a code generator, project estimation became a much more efficient and cheaper process.

As an added bonus, some of the code may end up being useful and serve as a foundation, or become a part of the final product.

Labels: Code Generator
Sunday, September 27, 2009PrintSubscribe
Announcing Application Factory Projects

We are announcing two new premium projects, Web Application Factory and Web Site Factory. Both projects are based on Data Aquarium Framework and include automatic generation of web pages with advanced layouts selected at the time of code generation.

The pages of generated projects will feature a new component MenuExtender. The component will provide an advanced menu with unlimited levels, full keyboard support, advanced smart positioning to detect overlapping and screen size limits, and virtually identical rendering in major browsers. The component works with SiteMapDataSource and benefits from the ease of maintenance, security trimming, and navigation system customization features provided by ASP.NET.

All generated applications will be styled to mimic Microsoft SharePoint user interface, including page layouts, to provide a consistent “professional” look and feel out of the box. All styles are based on CSS and can be enhanced or replaced to provide alternative presentation.

A dedicated page will be created for each database table of the project with standard layouts selected by user and consistently applied to all pages. The layouts will include various master-detail options and tabbed presentation.

Both projects are functionally identical and will differ in implementation details. The first premium project will produce a Visual Studio web application project. The second premium project will create a Visual Web Developer web site project.

Designer Support for Site/Application Factory Projects

Code OnTime Designer will include designers to allow full customization of standard Data Aquarium settings and page layouts.

Users will be able to customize layouts of any page, create new pages, and retain customization over subsequent sessions of code generation.

A page is constructed out of containers activated by side bar links, a tab, or visible at all times. A multi-column layout of containers is supported.

Each page also features a collection of views that are pointing to views in Data Aquarium controllers.

A page view may expose the data controller data fields as a summary on the side bar.

A master-detail relationship may be established between page views to allow creation of master-detail pages with unlimited depth.

A page may also list a collection of ASP.NET user controls. Each user control has a name and is bound to a page container. A user control provides a basic unit of customization to create new code without losing ability to design applications visually. The code generator will create a corresponding ASP.NET *.ascx file for each user control only if the file does not exist yet.

New Features

Data Aquarium Framework will include a new AJAX components Web.HoverMonitor and Web.Menu located in the new script Web.Menu.js. The new components are a foundation for MenuExtender in new premium projects. Component Web.HoverMonitor replaces DropDownBehavior from AjaxControlToolkit that has been previously used to provide popup menus in the framework’s user interface. This will further increase the speed of rendering, responsiveness of user interface, full keyboard support, smart positioning, and identical rendering in major browsers.

The code generator speed has been increased to prevent re-generation of code files that will remain unchanged since the last code generation session.

Code OnTime Designer will include support for action groups and security settings available in Data Aquarium Framework application.

Availability

New premium projects will be released on October 19, 2009. Current premium project subscribers will automatically receive an update availability notification. Current Code OnTime Designer subscribers will also receive the designer updates at the same time.

Future

The future release of updates will include support for Microsoft Access and My SQL databases. The tentative availability date is set to November 23, 2009.

We are also evaluating support for deployment of Application Factory projects to Microsoft Azure.

Please post your comments about the new features and directions that you want us to explore.

Wednesday, September 23, 2009PrintSubscribe
Form Category Rendering Modes

Data Aquarium Framework supports two form rendering modes and optional tabbed presentation.

Standard Rendering Mode

The standard mode mimics Microsoft SharePoint forms. A single column of data fields is displayed on the right while categories with descriptions are displayed on the left.

Unlike Microsoft SharePoint the form is an AJAX web form and is being rendered entirely on the client eliminating the need for post backs and providing an excellent response time. The XML data controller embedded into the server application provides a list of data fields and categories.

image

You can see the live version of this form at http://dev.codeontime.com/demo/MultiColumn/StandardForm.aspx.

Compact Rendering Mode

The compact rendering mode is turned on by indicating that the category must start in the new column.

The categories are rendered from top to bottom with the fields and corresponding labels displayed on a single line. Category header text and description are displayed above the category fields.

image

The AJAX engine behind the form will also automatically downgrade the layout to a single column rendered compactly if there is not enough space for all categories to be displayed without scrolling.

image

You can see the live version of this form at http://dev.codeontime.com/demo/MultiColumn/MultiColumnForm.aspx.

Here is the data controller markup that enabled new column on the category with the header text Address. A single attribute set to true is all takes.

<category headerText="Address" newColumn="true" >

Tabbed AJAX Forms without CODE

You can also enable a standard or compact rendering with categories activated when a corresponding tab is selected.

image

Tabs are integrated into the AJAX client library of Data Aquarium Framework  and require very little effort. Simply add a tab attribute with tab label as a value to a category element to turn the tabbed layout on. If at least one tab is defined then all the other categories without a tab are automatically grouped under General tab.

<category headerText="General">
....
<category headerText="Hire Date and Manager">
....
<category headerText="Address" tab="Address">
....                
<category headerText="Notes" tab="Address">

Tabs are aware of the edit and insert modes of the view and are working in unison. For example, if you start editing the data while the first tab is selected and then switch to the second tab then the data fields are presented in edit mode as well and edits of the first tab are not lost.

If there is an error in the invisible field then tab is automatically selected and the field is highlighted when user tries to update or insert a record.

image

image

Note that tabbed presentation does not support multiple columns in compact mode.

You can see the live version of this form at http://dev.codeontime.com/demo/MultiColumn/StandardTabbedForm.aspx

Conclusion

The standard and compact rendering modes with an option to enable tabbed presentation provide some truly powerful user interface options that require no code and deliver professional results.

See the video tutorial that shows how to build such forms with Code OnTime Designer.

Read about custom form templates if you need more control over the user interface of the AJAX forms.