Code 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
Code Generator
Tuesday, February 8, 2011PrintSubscribe
Reporting Enhancements, Search By Hidden Fields, etc.

Numerous enhancements to Code On Time web application generator were released with this update.

Reporting

Hidden fields are now available in the search bar. Previously the hidden fields were searchable through “quick find” only.

Dynamic report template has received multiple improvements in ASP.NET 4.0 version of the generated applications.

New option “Word Document” is now available in Report menu on action bar of views. The option will produce a Microsoft Word version of the report. All reports are being rendered by Microsoft Report Viewer component. There is a long standing bug confirmed by Microsoft - the page footer from the first page of the Word document duplicates to the other pages of the report. This makes the new reporting option less exciting.

User defined filters are now displayed on reports. This is a unique feature available only with Code On Time applications.

Aggregate functions defined on data fields of a view are now reproduced on dynamic reports as well.

New view property Report Label allows specifying a title that must print on dynamic reports. Previously the label property of a view was used for the same purpose.

“Report” action command now supports extended arguments. For example, command argument “mytemplate.xslt,grid2” will print a dynamic report with the data supplied by grid2. Command argument “CusotmerList.rdlc",customerGridView” will print a static report based on a custom RDLC template using cusotmerGridView view as a source of data.

Business Rules

Read-only fields are now being transferred along with the writable fields from the client to the server, which allows accessing this data in business rules. Previous implementation was ignoring read-only fields including fields that were not accessible to the user due to role restrictions. This is a big change.

The values are passed as instances of FieldValue class. This class provides new ReadOnly property. If the value of the property is set to True then the field is ignored by the application framework when INSERT, UPDATE, and DELETE statements are being constructed.

The Controller class has been refactored. The entire functionality of the data controller implementation has been moved to DataControllerBase class. The Controller class has been declared as a partial class based on DataControllerBase. This allows creating custom partial implementation of Controller class that may override virtual methods of the base such as CreateConnection. This may be useful if you wish to supply an alternative method to produce a connection string for your application at runtime.

Client Library

Client library now features new shortcut that can be used to locate user interface elements rendered by client library.

The prototype of the function is presented below.

function $dvget(controller, view, fieldName, containerOnly)

The last parameter can be used to find a DOM element that includes the header, value, and error elements of the corresponding data field if the value of the parameter is set to true. Otherwise the function will return the actual physical DOM element that holds the value of the data field.

Framework

New and long awaited field property ItemsDataView now complements ItemsDataController and allows specifying a lookup view other than grid1 in the lookup fields.

New view property Group allows sharing of user-defined filters. For example, declare two views grid1 and grid2 in a data controller. Run the application and apply filters to grid1. Select grid2 in the view selector and observe that filters are absolutely independent. Set property Group on both views to X and observe that filters assigned in one view will be “transferred” to the second view.

New view property Show In Selector allows declaring views that are not selectable in view selector (the box on the right hand side of the action bar). Simply uncheck the check box to hide the view from the selector.

New data view property Show Quick Find allows hiding the “quick find” box from the grid views of a data controller on a page.

New data view property Show Search Bar allows hiding the search bar controls from the grid views of a data controller on a page.

Code Generator

The code generator has been enhanced to display the page with release notes when updates are being installed.

The code generator will hint if Microsoft SQL Express is not available on the computer when ASP.NET Membership option is enabled in the project.

The code generator will detect the physical location of Visual Studio / Visual Web Developer if the IDE is installed into a custom location.

Future Enhancements

We are getting ready to release support for My SQL and Sybase as data sources of Code On Time projects.

Enhanced image/file processing with automatic support for content type, content length, file name, and custom location for uploaded content is coming soon.

New “basket” lookup style is being worked on as well. This will be a combination of “check box list” and “lookup” functionality.

The date time picker will be introduced to allow selecting time component of dates in AJAX fashion.

Tree view will offer a great mechanism of working with hierarchies.

Azure Factory project will allow deployment of the generated apps to the cloud.

Thursday, December 30, 2010PrintSubscribe
Developing With Web App Factory

User feedback has brought about further enhancements to the Web App Factory code generator project for ASP.NET/AJAX available with Code On Time generator.

  • Code generation of a Web App Factory project will now conclude with an automatic rebuild of the solution.
  • If the solution has been rebuilt successfully then the project home page will be loaded in the default web browser.
  • If the solution has failed to compile then Visual Studio/Visual Web Developer Express will be started. The project will be automatically rebuild to show the error messages in IDE of your development tool.
  • Similar sequence of “rebuild and start a browser if success” or “rebuild and show Visual Studio if failure” is executed when user selects browse action next to the project name on the start page of the code generator.

The change will significantly simplify development when code formulas, code expressions, and custom code is incorporated in the project. If an error is introduced then there will be no way of missing the problem thanks to the latest enhancements.

Web App Factory projects are implemented as a solution with a class library and web application project. Changes to themes, new code files, changes in the target .NET Framework of the project, and other such modifications may result in erroneous references in the solution and project files.

The code generator will frequently try to preserve the previous changes making an assumption that user will take care of correcting any inconsistencies. The effort is made to pick up any new files in the project folders to update the solution projects. If you are well under way in your development process then there should be few situations when such updating of the project files will cause problems. The new compilation mode will automate the detection of problems and will not mask them by launching the website with the last known “good” build of the application, which was happening in the previous releases of the code generator.

If you would like to try various features of the code generator then a sample Web Site Factory project may be a better choice than Web App Factory project. Web Site Factory projects do not require a project file and are easily handling changes to the project configuration.

We recommend creating Web Site Factory projects unless a solution with web application project is requirement. Both, Web Site Factory and Web App Factory produce functionally identical web applications.

Bug Fixes

Several fixes were introduced to correct the following issues:

  • Business Objects were generated with compilation errors when the first field of the primary key is string and the number of fields in the corresponding table was less or equal to four.
  • Symbol “single quote” in navigation menu title or description was causing the runtime error which led to the failure of the page to render correctly.
  • Auto Complete lookup style has been failing to render when lookup field has the type of “String” and there is no alias field.
  • Web App Factory projects failed to compile when a dedicated login page has been enabled.
  • User Name and User ID lookup styles were not working.
  • “Read Roles” defined on a field level in Designer Spreadsheet were not transferred to the baseline application .
  • Lookup details were not working with Web App Factory projects.

Web App Factory projects can be deployed to Windows 2008 servers without any known issues.

Thursday, December 30, 2010PrintSubscribe
Installation Issues

Code On Time generator is a Windows application that hosts an Internet Explorer web browser within the boundaries of the main window. The code generator navigates to the HTML files stored locally on the hard drive of your computer. HTML files provide interactive user interface of the code generator based on JavaScript. No information is transmitted over the web to our server when you generate your applications. The input and output files of the code generator are stored entirely on your computer.

In a few instances there were reports of the code generator displaying a blank page with Code On Time logo at the top when the generator starts. No other user interface elements were present. Re-installation of the code generator would not help.

The issue has to do with the security settings of Internet Explorer.

Background

Internet Explorer allows controlling if execution of the JavaScript embedded into HTML pages is allowed.

The computer has five security zones,  namely:

(0) Local Machine zone,  
(1) Internet,  
(2) Local intranet,
(3) Trusted sites, and
(4) Restricted sites.

However the Internet Explorer user interface allows users to configure only 4 of the 5 security zones using the Internet Explorer interface.

The Local Machine zone (0), is an implicit zone that exists on the local computer, security settings for this zone cannot be configured using the Internet Options Control Panel.

Any configuration done from the Internet Explorer interface have absolutely no effect on enabling scripts to run within Windows Applications on the local computer (a matter which also affects Code On Time code generator).

Steps to Reproduce

If you save the emphasized text below to the file named "Steps to reproduce.reg" and double-click the file to add the file entries to the registry then the script execution in the Local Machine Zone will become disabled. DO NOT DO THAT !!!Winking smile 

REGEDIT4
 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0]
 
"1200"=dword:00000000
"1201"=dword:00000001
"1400"=dword:00000000
"1406"=dword:00000000
"1C00"=hex:00,00,02,00
 
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
 
"Security_HKLM_only"=dword:00000001

Steps to Rectify

If you save the emphasized text presented below to the file "Script Permissions Fix.reg"  and double-click the file to add the file entries to the registry then the script execution in the Local Machine Zone will be allowed. Code On Time generator will start functioning correctly.  

REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0]
"1400"=dword:00000003
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
"Security_HKLM_only"=dword:00000001

References

http://support.microsoft.com/kb/833633

This information has been provided courtesy of Gabriel Inya-Agha of Quickening Group.