Application Factory

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
Application Factory
Wednesday, July 20, 2011PrintSubscribe
Azure Factory

Code On Time has released new code generation project Azure Factory.

Point the web application generator to SQL Azure database and in a couple of minutes a full-featured modern AJAX-enabled web application connected to your database in the cloud is up running right on your laptop.

Publish the generated application from Code On Time web application generator and upload the deployment package to Windows Azure. In about 10 minutes your application will be up and running on two extra-small server instances, protected by firewall, and enhanced with a load balancer. SQL Azure database exists in three copies for added peace of mind.

The best part – no upfront expenses, no need to have an extensive knowledge required to maintain a data center. Turn it “off” with a mouse click. Turn it back “on” with extended resources when need.  In the cloud the sky is the limit.

The following features were included in the latest release of the code generation library:

  • Azure Factory code generation project. Current release does not support Import and Annotations. See live demo of the Northwind sample in Azure cloud at http://northwind.cloudapp.net.
  • Corrected enumeration of multi-value filters in the filter description presented in grid views. 'Between' filter will show the second value if the filter window is re-activated after being applied.
     
  • Programming language of each project is now remembered in the project file. Project language selector has been moved to New Project dialog.
     
    image
     
  • Creation of sample databases is now supported in the code generator. Create the Northwind database from the database connection string configuration screen. More sample database will be available in the future.
     
    image
     
  • ASP.NET Membership database tables and stored procedures can now be created in the application database straight from the code generator in the database connection string configuration screen. Click “Add” button to install membership support in your own database.
     
    image 
     
  • Web Site Factory project now supports “develop” action. Navigate to the start page of the code generator and select “develop” action in Actions column of the project row to start Visual Studio or Visual Web Developer.
     
  • Pages without containers will be generated with a tree view showing child nodes relative to the current page. The standard ASP.NET tree views on the pages of generated applications will use the link colors of the current theme. See example at http://northwind.cloudapp.net/Pages/AllReports.aspx.
     
  • Session State Monitor has been integrated in Azure Factory projects to perform clean up of ASP.NET session data required in multi-server hosting scenarios.
  • Project Wizard will replace passwords with “*****” in connection string input fields.
     
  • The depth of history has been reduced to 10.
     
  • ConnectionStringSettingsFactory class has been implemented to support multi-tenant applications with separate databases served by a single application code base. We will post a tutorial explaining the technique.
     
  • The code generator is now using MSBuild.exe from Microsoft.NET Framework to build applications. You don’t need to have Visual Studio or Visual Web Developer to build Web App Factory or Azure Factory projects.
     
  • In-page state maintenance input  __COTState is rendered as "hidden" in IE and as "text" in other browser to make sure that IE preserves its ability to save user-name/password combinations.
     
  • Added missing Row action group scope in designer.
     

Coming Up

This week we will release a follow up update that includes Access Control Rules, the first component of the EASE framework (Enterprise Application Services Engine).

We will provide two tutorials explaining creation of multi-tenant web applications with Access Control Rules and ConnectionStringSettingsFactory.

Azure Factory tutorials are being completed and will be released this week.

We are working on completing Custom Membership and Role Providers – the second component of EASE. The goal is to have it out by the end of July, 2011.

New EASE component “My Account” will also be made available in all editions of Code On Time web application generator. The common scenario of applications using ASP.NET Membership is to have a table that allows storing extended user properties in a custom table. “My Account” will automatically detect if there is no record in extended user properties and will invoke a business rule to allow automatic creation of such record. Users will also be redirected to review their extended membership properties. My Account option on the membership bar will be enhanced to allow activation of a custom configuration screen. This will allow to delegate User ID / Password management to ASP.NET core classes and concentrate on data properties specific to your line-of-business application.

In July we will also release support for URL hashing. This feature will add a security level on top of Data Controller URL Parameters.  URL hashing will be available only in Unlimited edition.

Automatic reports will be enhanced to support “form” layout. We expect this feature to be available in all product editions in the last week of July or the first week of August.

DotNetNuke Factory is expected to become available in the first half of August, 2011.

We have allocated significant development resources to completion of delayed features and code generation projects and expect to report significant progress.

Wednesday, June 29, 2011PrintSubscribe
Lookup Item Sorting, Multi-Value Filters, Login Control Localization

Several core framework fixes were released to address some urgent issues.

  • Project Wizard will enforce the port used by IIS Express to test applications to be above 1100. The port is assigned randomly. Lower range port value requires running IIS Express in administrative mode.
     
  • Dedicated page Login.aspx is now based on YOUR_NAMESPACE.Web.PageBase class to ensure that its content is being localized.
     
  • The bug that prevents selection of multi-value filters has been fixed.
     
  • New enhancement has been introduced to the processing of items displayed by lookups with styles Drop Down List, List Box, Radio Button List, and Check Box List based on data controllers.

    Previous implementation has sorted values by the field name specified in Data Text Field property of the lookup field. This may be undesirable if a specific order of items is required.

    Going forward the order of items will depend on the grid view of the lookup data controller. Simply set the Sort Expression of the grid view to a desired combination of fields and use asc|desc to indicate the order as you would do in a SQL statement selecting data.

We are planning to release another update shortly after the 4th of July.

Tuesday, June 28, 2011PrintSubscribe
Highlighting “Past Due” and “Within” Data Rows

Code On Time generates applications that can be styled with CSS rules to adjust logo, background, and provide conditional formatting of the data views.

The latest enhancements to the client library allow creating complex rules that depend on current date and time.

The screenshot below shows a list of orders from the Nortwhind database sample presented in a Data Sheet view. Conditional styling rules are applied to the view.

The second row from the top has a pink “FiveDays” background since the required date for this order is 7/2/2011 and the date in the screen shot is 6/28/2011, which places the order within five days of the required date.

There are four rows with red background. The “PastDue” background is applied to these rows since the first row has been shipped after the required date and the other three were not shipped.

image

Here is how you can set this up in your own application.

Start the code generator, select your project, click Design button, activate All Controllers tab and locate your controller.

Select the controller and activate Views tab.

Select view grid1 and activate Styles tab.

Enter two styling rules shown in the picture

image

The test formulas shown below are referring to the Orders table from the Northwind sample.

Css Class Test
FiveDays [ShippedDate] == null && Date.$within([RequiredDate], 5)
Past Due Date.$pastDue([ShippedDate], [RequiredDate])

Tests are written in JavaScript. Data controller field names are specified in square brackets. The client library will substitute references to the fields names with calls to a function that will return the field values. The expressions will be evaluated for each data row to see if a custom CSS class must be assigned to the table row.

Client Library extensions to the Date class are being used to test the dates. The extensions are Date.$within and $Date.pastDue.

Exist the designer and generate your application. Open your project in Visual Studio via File | Open Website option if your app is a Web Site Factory project or File | Open Project if your app is a Web App Factory project.

Add new CSS style sheet in your project under the ~/App_Themes folder.

image

Double click your new style sheet and enter the following CSS rule.

.FiveDays td.Cell
{
    background-color: #FFCCCC!important;
    color: Black !important;
}

.PastDue td.Cell
{
    background-color: #CC3300!important;
    color: Black !important;
}

It is very important to use “!important” after the CSS property values to override the default style sheets of your application.

Run your application in a web browser and make sure to hit the refresh button to ensure that the styles are taking effect.