Blog

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(8) OAuth Scopes(1) OAuth2(11) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(10) PKCE(2) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(180) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(80) 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
Tuesday, May 17, 2011PrintSubscribe
Bug Fixes

The following bugs / issues were addressed in this release:

  • Read-only primary key field values are now passed from the client to the server with both properties NewValue and OldValue set to the original value of the primary key field. This ensures that Value property of a FieldValue class instance is returning the correct result. The change is required to bring the read-only primary key fields in compliance with the new processing model for read-only fields. The enhancement also ensures that annotations will not raise an exception when a new annotation is saved.
  • Data Sheet view will now render a “pretty” annotation column.
  • Free version of Code On Time will allow creating projects with up to ten database tables or views.
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.