Blog: Posts from August, 2009

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
Posts from August, 2009
Friday, August 28, 2009PrintSubscribe
Premium Subscriptions

Free Code OnTime Generator

Code OnTime Generator is a free product. It comes with a collection of free code generator projects, such as Aquarium Express and Web Form Builder.

Any code generated with free code generator projects is yours to keep and modify.

Developers can extend the product with their own code generator projects and use the free code generator projects to create the derivative works.

You can see the product license agreement at License Agreement (63 KB).

Premium Projects

Additional code generator projects allow you to instantly create production quality applications.

This includes code generator projects such as Data Aquarium Framework and Membership. The premium projects require the Premium Projects subscription.

If only a single developer is expected to use the Premium Projects in their work then a standard yearly premium projects subscription is required. If a large team of developers is planning to use the product then an Enterprise Premium Projects subscription is required.

Subscribe to premium projects here.

Code OnTime Designer

Premium Projects subscribers will benefit from using our new premium add-on product, Code OnTime Designer.

This product integrates into Code OnTime Generator and allows subscribers to premium projects to take advantage of a visual development environment to dramatically increase their productivity.

You must be an active premium projects subscriber to be able to take advantage of Code OnTime Designer.

Code OnTime Designer is not free. It requires its own subscription that must be purchased in addition to the subscription to the premium projects.

If only a single developer is expected to use the Code OnTime Designer in their work then a standard yearly Code OnTime Designer subscription is required. If a large team of developers is planning to use the product then an Enterprise subscription to Code OnTime Designer is required.

Subscribe to Code OnTime Designer at this link.

Friday, August 28, 2009PrintSubscribe
Code OnTime Designer

We are pleased to announce the release of a powerful design environment for Code OnTime Generator.

Code OnTime Designer has been created to support premium project developers and provides a powerful visual environment for code generation projects. Built on top of Data Aquarium Framework, the designer is instantly familiar to premium project developers and is integrated directly into the code generator.

Start Code OnTime Generator and begin generating a Data Aquarium or Aquarium in a Box project. A summary of data controllers is displayed just before the code is ready to be generated.

Start the designer by clicking on “Start Designer” button.

image

The familiar user interface will be displayed when designer loads.

image

Exclude from the code generation process the objects that are not needed and change any properties that you need to alter.

The following screenshot demonstrates CustomerCustomerDemo, CustomerDemographics, and EmployeeTerritories tables excluded from code generation.

image

The next screenshot shows the properties of the [Products].[SupplierID] field in edit mode.

image

The purpose of the designer is to provide a 360° view of your project and allow you to be as productive as possible. The initial release of the designer covers about 80% of all available project properties and will reach 100% coverage in the coming weeks.

All project changes made in the designer are automatically re-applied whenever your run the code generator again. This allows continuous modification of the database and project properties at the same time.

Code OnTime Designer is a subscription-based add-on product and requires its own subscription. You must be a premium project subscriber to take advantage of the product. Subscribe now and be productive.

Wednesday, May 6, 2009PrintSubscribe
CommandName And CommandArgument

Data controllers of applications created with Data Aquarium Framework define a state machine of action. There are standard actions, such as Edit, Update, New, ExportRss, that are invoking execution of specific functionality supported by the framework’s JavaScript runtime classes. You can define a collection of your own custom commands and supply these commands with arguments specific to your requirements.

Let’s consider the following example.

Generate a Data Aquarium project from Northwind database. Open ~/Controllers/Employees.xml data controller descriptor and modify the sample custom action with header My Command as shown in the snippet below.

<action commandName="Custom" commandArgument="ExportXls,1,abc" 
    headerText="My Command" description="Execute my custom command" />

Create the business rules class Class1 as shown at /blog/2009/02/business-rules-rowbuilder-attribute.html. Make sure to link the class to Employees data controller via handler attribute. Modify the class to include MyCommand method.

C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MyCompany.Data;

public class Class1: BusinessRules
{
    [ControllerAction("Employees", "grid1", "Custom", ActionPhase.Execute)]
    protected void MyCommand(int employeeId)
    {
        string[] args = Arguments.CommandArgument.Split(',');
        if (employeeId <= 4)
            Result.NavigateUrl = String.Format(
                "~/Default.aspx?EmployeeID=" + args[1]);
        else
            Result.ShowAlert(Arguments.CommandArgument);
    }
}

VB:

<ControllerAction("Employees", "grid1", "Custom", _
ActionPhase.Execute)> _
Protected Sub MyCommand(ByVal employeeId As Integer) Dim args As String() = Arguments.CommandArgument.Split(",") If (employeeId <= 4) Then Result.NavigateUrl = String.Format( _ "~/Default.aspx?EmployeeID=" & CType(args(1), String)) Else Result.ShowAlert(Arguments.CommandArgument) End If End Sub

The method is designed to be invoked when any Custom action is requested from grid1 view. The parameter employeeId will indicate the currently selected employee.

Property Arguments provides access to all information that the framework has to offer about the requested action.

We will split the argument by comma and will request the JavaScript class Web.DataView of the framework to navigate to the requested page and have an employee with ID specified in the second segment of the argument to be displayed on the default page. This will happen only if the selected EmployeeID is less than or equal to 4. Otherwise a simple alert will display the value of the command argument.

Notice that no actual JavaScript code is written here. The framework methods are encapsulating the calls to the client-side library. If you are familiar with JavaScript then use Result.ExecuteOnClient to send custom scripts to the client.

Open the default page of the web site in a browser and select the fifth employee in the list. Request action My Command from the action bar.

image

As expected, our method MyCommand will be invoked, which will result in alert displayed to a user. This happens since the fifth employee has ID equal to 5.

image

You can see that the argument is the one specified in the data controller descriptor.

Now, select any employee record above the one in the picture and invoke the same command on the action bar again.

image

This time the navigation has been performed and employee with ID equal to 1 is filtered. You can find more information about navigational filtering at /blog/2009/04/present-what-you-want.html.

The NavigateUrl can point to any page or generic handler in your application. The handler may render a report or respond in some other way to the requested acti0n.