Web App 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 App Generator
Saturday, May 14, 2011PrintSubscribe
Extended BLOB Processing

This update of Code On Time web application generator introduces a major enhancement of file upload/download feature and several bug fixes.

Make sure to refresh the browser cache after re-generating your application.

Bug Fixes / Enhancements

  • Data Sheet view rendering has been improved. Users will notice that sometimes column header of a selected cell is not rendered in “bold” font. This is happening only if assigning a “bold” font will cause the column to become wider. This cosmetic change makes it easier to work with the data sheet.
  • Tab and Shit+Tab keys will always skip read-only fields in the data sheet view. You can still select a read-only cell with a mouse click or with arrow keys.
  • Dates are now displayed exactly as stored in the database regardless of the time zone of the client browser. ASP.NET Ajax client library automatically adjusts dates to the browser’s time zone, which creates logical problems with date and time processing. Data serialization enhancement ensures that difference between the time zone of the web server and the time zone of the browser is ignored.
  • ASP.NET SQL Server Session State is now fully supported. This important feature allows running generated applications on web farms. Read about configuring SQL Server Session State at http://support.microsoft.com/kb/317604. You need to create Web.Config modification instructions for your application to enable the session state as described at /blog/2010/03/customizing-webconfig.html.
  • Form views no longer hide the top row of buttons regardless of the number of fields in a data view.
  • Business rules processor will only try to convert values if ICovertible interface is supported.
  • Microsoft SQL Server membership registration has been changed to remove LocalSqlServer connection string prior to the new registration of a connection string with the same name. This allows generating applications for SQL Server when the latest Oracle / NET library is installed on the same computer.
  • Import processor now implements BeforeProcess and AfterProcess. The class has been refactored in a partial ImportProcessor based on class ImportProcessorBase. This allows creating a new code file in your project with implementation of new virtual methods if you need to execute custom business logic before of after the import process.
  • The bug with field map processing when Import command is selected in IE 9 and Chrome has been corrected.
  • WebKit (Chrome and Safari) browsers will no longer display a modal popup information box stating that the “GetPage method has failed..”. This was happening when user were selecting a menu option while the page was waiting for a response from the server.
  • Read-Only fields are now always correctly passed to business rules. FieldValue class now  returns NewValue if a field is read-only or modified, which makes it possible to “see” the read-only value in a business rule method. Client library has been changed to enable value conversion on the client. Read-only values of non-string type are passed as their native representation to the server instead of being passed as strings.

File Upload/Download

The application framework of generated web applications allows enhanced processing of BLOB (Binary Large Object) fields. The framework will capture Content Type, Length, and File Name automatically if utility fields matching the BLOB field name are present.

This can be done by simply implementing additional fields in your database. For example, if you modify the Norwind.dbo.Categories table as shown below, refresh the metadata of your project and re-generate the project then the utility fields PictureFileName, PictureContentType, and PictureLength will automatically capture the corresponding properties of an uploaded file.

CREATE TABLE [dbo].[Categories](
    [CategoryID] [int] IDENTITY(1,1) NOT NULL,
    [CategoryName] [nvarchar](15) NOT NULL,
    [Description] [ntext] NULL,
    [Picture] [image] NULL,
    [PictureLength] [int] NULL,
    [PictureFileName] [nvarchar](50) NULL,
    [PictureContentType] [nvarchar](80) NULL,
 CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED 
(
    [CategoryID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

If you upload a file of non-image format (PDF, Word Document, etc.) and try downloading the file then the application will return the correct content type and file name to the browser.

Important: Make sure to allocate enough length for <BLOB_FIELD_NAME>ContentType field to ensure that Microsoft Office documents will have their content type captured correctly. The content types of the latest Microsoft Office documents are extremely long.

If is also possible to process files through business rules. The tutorial will be available shortly.

Coming Soon

We have finally completed the necessary templates to roll out Azure Factory project. Premium and Unlimited edition users will be able to begin generating Azure Factory applications  starting with the next update.

Owners of Unlimited edition will be able to create enterprise-class applications with EASE (Enterprise Application Services Engine). The engine will include two major components – Dynamic Access Control List and Status Transitions.

We will be releasing a new project DotNetNuke Factory that will allow incorporating Code On Time applications in DotNetNuke web sites shortly thereafter.

Wednesday, May 4, 2011PrintSubscribe
ASP.NET 3.5 Membership, SQL Anywhere, DataViewLookup

The following features and bug fixes are included in this release of Code On Time web application generator:

  • Enhancements to Tab and Enter key handling in Data Sheet view when the focus is in the last column. Pressing either one of these keys in edit mode will post the record and advance to the next row. If the row is in “new” mode then the keys will post the new row and start another new row.
  • Support for Sybase SQL Anywhere is now incorporated in the web application generator. Try the link even if you are not developing with SQL Anywhere. The post showcases several cool features of web applications created with Code On Time.
  • Export to CSV has been enhanced to include the utf-8 signature in the data stream. This ensures that Microsoft Excel will understand extended symbols including multi-byte characters. You can export data as CSV file if you select Actions|Download option above any grid or data sheet view.
  • Globalization settings in web.config of generated applications are now including utf-8 file encoding attribute.
  • Data Format String is now exposed in Designer in the list of fields of a data controller.
  • Recent releases have are based on the April 2011 release of Ajax Control Toolkit. The new toolkit has broken membership functionality in ASP.NET 3.5 applications. Login / logout links were not displayed. The new releases fixes this problem.
  • Component  aquarium:DataViewLookup has been fixed and works correctly. You can use this component as a replacement for standard ASP.NET “list” controls in custom forms. The component  will render a lookup input control with all advanced features available in integrated lookups. Read about it at /blog/2009/04/objectdatasource-vs-controllerdatasourc.html under section “Filtering”.

Support for capturing of extended properties in file upload / download has been postponed until 5/7/2011. The next update will also include several improvements to Data Sheet view and enhancements to time zone handling.

Tuesday, May 3, 2011PrintSubscribe
SQL Anywhere Web Applications in Minutes

Code On Time announces support for SQL Anywhere 12.  Generate powerful user-friendly line-of-business web applications straight from SQL Anywhere 12 databases with Microsoft Office look and feel. The following instructions are written with an assumption that you have installed SQL Anywhere software on your computer.

image

INSTALLATION

Download the code generator at http://codeontime.com/download.aspx. The installation program will also install Microsoft.NET 4.0, IIS Express 7.5, and Microsoft Report Viewer 2010. These components are available at no cost and fully supported by Microsoft.

The code generator will use IIS Express to run generated web applications on your computer. It can be installed alongside the production version of IIS available in several versions of Microsoft Windows.

The report viewer component will render will render dynamically created reports in PDF, Word, Excel, and TIFF formats.

Follow installation instructions and click on Code OnTime Generator shortcut created on the desktop after installation.

GENERATING AN APPLICATION

Start new Web Site Factory project and enter SQL Anywhere Demo as the project name.

Click Next until your reach Data Connection page in the project wizard.

Select SQL Anywhere option in data provider and enter the following connection string.

userid=dba;password=sql;

image

Enable dynamic and static reporting in your project.

image

Click next and you will see Authentication and Membership page of the project wizard.

Follow instructions at /blog/2011/05/sql-anywhere-membership-configuration.html to configure ASP.NET Membership in your database.

Select the check box titled “Enable support for ASP.NET Membership with membership bar user manager”.

Select the check box “Membership will use a standalone database that already exist”. Select SQL Anywhere option in Provider Name.

Enter the same connection string

userid=dba;password=sql;

You can also point the connection string to another SQL Anywhere database to store ASP.NET membership data that can be shared between multiple projects. Make sure that configuration of the database has been performed prior to generating the application.

Click Next several times until your see a list of data controllers created from your database.

image

Now you are ready to generate an application and see it in action.

Click next and wait for the application to be displayed in your web browser. If the browser page comes out blank then simply give it a few moments and hit Refresh button. This may happen if your computer is busy and IIS Express is still getting ready to start the generated web application.

You should see the screen similar to the one in the picture.

image

USING GENERATED WEB APPLICATION

Make sure to keep the code generator running. Code On Time will automatically shut down the started IIS Express instances if you close the web application generator window.

Sign-in using one of the user accounts automatically created by application.  We suggest that you sign in as admin / admin123% . This user account is authorized to see the membership manager.

Click around and play with the generated pages.

Here is the screenshot of the Customers page if you select a customer record. Master record is shown in edit mode with the detail records tabbed at the bottom. Several other standard page layout are available. You can use the project Designer to create custom layouts. Click on the link to see an example of a custom Order Form.

image

Note that detail records can be edited in modal forms if you are using a commercial edition of the web application generator.

image

Here is the screen shot of the Products page display in Data Sheet view that allows spreadsheet-style editing of data. Data Sheet view does not require any external components and is available in Premium and Unlimited editions of Code On Time.

image

Select Report | Adobe PDF option from the action bar of any grid or data sheet view and take a look at PDF printout of your data with custom filters displayed in the report header.

image

Select Actions | View RSS Feed and subscribe to the feed to be notified by your RSS feed reader when new movies with the filtering criteria become available. How needs email anymore?

image

Try some cool data analysis features that allow extending your application and data to the end-user desktops enabling safe and efficient data delivery to business users.

Select Actions | Export to Spreadsheet to export data for analysis.

image

A prompt will show up to warn you that some data is being downloaded. Internet Explorer 9 and other major browser display a prompt at the bottom of the screen.

image

Press Open button to open the file. This will start Microsoft Excel. You will see a warning about potential security concern.

image

We are downloading data from our own application – there is no risk involved. Press Enable button to continue.

The data will be downloaded into a new Worksheet. You may be asked to identify yourself. Enter admin/admin123% or any other valid user account registered in the application membership database.

image

Select Insert on the ribbon and click PivotTable button.

image

Confirm the creation of a data range.

image

Now you are good to go. Here is the pivot view of the sales order items that shows distribution of product sales by employees. With a few clicks add a Pivot Chart for added impact.

image

Within minutes business users can make sense of their data and have amazing dashboards built in the tool they know best –Microsoft Excel.

The data feed embedded into the spreadsheet is live. Users can save the spreadsheet on the hard drive.

To refresh the data users can open the spreadsheet and select Refresh button on the Data tab of the ribbon.

image

Users will be prompted to re-enter the user name and password. The user’s identity will be verified against the database and the data feed will be refreshed.

Conclusion

Within minutes you can turn your SQL Anywhere 12 database into interactive treasure trove of data that can be placed on Internet or Intranet server.

Other available database connectivity options are MySQL, Microsoft SQL Server, and Oracle.

Review code customization techniques at http://codeontime.com/tutorials.aspx to learn how to use application designer to enhance the application and how to write custom business rules if the standard features of the generated application need to be enhanced.