Release Notes

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
Release Notes
Monday, April 9, 2012PrintSubscribe
“SQL” Action, Virtualization Node Sets, Workflows

Code On Time release 6.0.0.23 includes the following features, bug fixes, and enhancements:

  • Virtualization node sets allow easy programmatic customization of data controller definitions at runtime based on an arbitrary criteria such as user role.  The feature is available in Premium and Unlimited editions only. Virtualization Node Set is the building block of the upcoming Workflow Register.
     
  • New “SQL” action is now supported (tutorial is coming soon – subscribe to our blog http://codeontime.com/blog to be notified). Anonymous SQL blocks can be entered in the Data property of action with command name SQL. The action can calculate values in edit and new mode. Another use case is SQL-only business rules, such as calls to stored procedures or custom updating of data in multiple database tables. Parameters are automatically bound to the field values.
     
  • Business rule method with the ControllerAction attribute can now capture before and after "Select" phase on the server. Developers can emit JavaScript and assign initial filters by calling AssignFilter method. Learn more about “soft filtering”.
     
  • Stored Procedures and Web Services can be used to select data (tutorial is coming soon – subscribe to our blog http://codeontime.com/blog to be notified).
     
  • Adaptive filter fragments are removed when user moves pointer mouse over the filter fragment and clicks on it.
     
  • Tagging of data views is now supported in business rules.
     
  • Data view methods IsTagged, AddTag, and RemoveTag can be used to create sophisticated workflows.
     
  • Search by first letter is now available in data views. Search by First Letter only uses Visible and Allow QBE fields.
     
  • Search by first letter is now available in lookups.
     
  • New field property Length is now supported. If the value of the property is not blank then users will not be able to enter more than the specified number of characters in text fields. If you have an existing application and would like to have the new property populated then refresh the data controllers. If refreshing of a data controller is undesirable then enter the property values manually.
     
  • Data field property Read-Only When is now available. A JavaScript expression determines if the field is displayed in 'Static' mode (the tutorial will be available soon).
      
  • Data views support Auto Highlight First Row.
     
  • Data views support Auto Select First Row.
     
  • Data views support Refresh Interval. This property is useful when creating workflow dashboards.
     
  • Item lookup with style "Lookup" now supports Page Size property.
     
  • Class BusinessRules offers three new static properties UserId, UserName, and PortalID (the latter is available in DotNetNuke Factory projects only).
      
  • Schema Application.xsd is copied to the data controller folder of generated application to allow easy editing of the application baseline.
      
  • Data field property Visibility has been renamed to Visible When.
     
  • Clicking on the annotation icon in grid views will execute the first action in the row similar to how the Auto Select First Row works. The Notes and Attachments tab is activated automatically.
     
  • Various improvements of the support for right-to-left languages in the themes.
     
  • Data field category description area is no displayed if the description is blank for a more compact presentation.
     
  • Fixed the bug with an empty annotations tab displayed when switching between tabs.
     
  • Modal form views will grow in height when “taller” tabs or previously invisible content are activated and will maintain the new height. The "shorter" tabs will grow to the height of the "taller" tabs.
      
  • Grid templates are now available with optimized processing.
     
  • Category-level templates are now supported. Category property Template is not available anymore.
     
  • The code generator now support convertExpression to emit Convert.ToTYPENAME() calls.
     
  • Class BusinessRules now offers ActionData property that can be used in conjunction with Custom and SQL command names. The contents of the property is defined in Designer. The property does not travel to the client and can be provided extended data for custom actions. The upcoming Email command name will also use this property in workflow notifications.
     
  • Method BusinessRules.Sql allows executing arbitrary SQL statements in business rules. The same method is used when processing actions with command name SQL.
      
  • Duplicates in the denormalization map will not cause errors during code generation.
     
  • Thank you  Daniel Guimarães from Softserv Sistemas for contributing the Portuguese localization of the client library.
     
  • Methods ShowMessage, ShowViewMessage, and ExecuteOnClient of the class ActionResult now support formatting parameters. The methods can be accessed via the Result property of a business rules class.
     
  • Code generator replaces "Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10)" expressions with the more compact "ControlChars.CrLf" in Visual Basic projects.
     
  • Code generator now supports documentation comments in type definitions and type members. We are planning to add complete source documentation over the next few months.
     
  • Blob and Import handlers are generated with correct line endings in the HTML and JavaScript fragments. This removes the  suggestion to normalize the line endings when the files are opened in Visual Studio.
     
  •  MySQL projects automatically enable ASP.NET Membership for the project database.
     
  • Validation of presence of SQL Express is only performed when the application database is on Microsoft SQL Server and ASP.NET Membership has not been installed in it.
     
  • Globalization settings configuration offer Default button to reset the select culture set to the default values.
     
  • Membership manager now supports "Search by First Letter".
     
  • Standalone database check box is not checked in project wizard if both connection strings point to the same database.
      
  • Business rules developers can now display arbitrary messages in the header area of a data view by calling Result.ShowViewMessage method. Users have an option to dismiss the message.
      
  • If a an object is changed in the Designer grid view then the grid view will remain active. Previously the Designer have navigated to the view of properties in many situations.
     
  • It is now possible to execute an arbitrary JavaScript when the data is selected for presentation in all view types.
     
  • Auto-complete input fields on the search bar will initiate search in a data view when user hits Enter key if the completion list is not visible. Modal views with active search bar will not be closed if users hits Enter - the search is initiated instead.
      
  • Static regular expression instances are now used in various parts of the core application framework.
      
  • If option "Run application upon completion of code generation" in Web Server Configuration is off then button "Browse" is not displayed on the Designer toolbar. Pressing generate will only re-generate the source code - the project will not be displayed in the Preview window when code generation has been completed. 
      
  • Method BusinessRules.UserIsInRole is now virtual.
     
  • Client library will correctly render UI when a SharePoint webpart is switched to Design mode in SharePoint 2010.
      
  • Custom Authentication option will not hide My Account link on the membership bar if the option is requested in project settings.
     
  • Layout manager will assign CSS class RowContainer to page containers if the containers are taking the entire width of the page.
     
  • Method Controller.AssignParameterValue correctly handles TimeSpan data type.
  • Labels: Release Notes
    Monday, March 5, 2012PrintSubscribe
    Business Rules and Baseline Processing Enhancements

    Code On Time release 6.0.0.22 includes the following bug fixes and enhancements:

    • Application baseline will not be deleted upon project refresh if the application generator detects that the baseline has been changed.
       
    • Selection of text in the input fields of the application generator via a mouse double-click will no longer lead to lost input focus.
       
    • Fields requiring formatting on the server via System.String.Format method are correctly formatting the native value of the field instead of its 'string' representation. This applied to fields with Format On Client set to false.
       
    • Adaptive filtering adjusts the upper range for DateTimeOffset fields by 1 day.
       
    • Microsoft Sql Server "tinyint" type is treated as "Byte" by the code generator.
       
    • Application framework is using ConvertToType method to convert values passed from the client to the server compatible data types.
       
    • The data sheet view will not allow editing data if user-selectable Edit or New actions are not available in the UI.
       
    • Various cosmetic improvements in the Social theme.
       
    • Static property DataControllerBase.DefaultDataControllerStream is now available to support data controller virtualization.
        
    • Method BusinessRules.UpdateFieldValue has been enhanced to update field values without the need to use SelectFieldValeObject method.
    • using System;
      using System.Data;
      using System.Collections.Generic;
      using System.Linq;
      using MyCompany.Data;

      namespace MyCompany.Rules
      {
          public partial class SharedBusinessRules : MyCompany.Data.BusinessRules
          {

              [ControllerAction("Orders", "Update", ActionPhase.Before)]
              public void DoIt(decimal orderId, string ShipAddress)
              {
                  UpdateFieldValue("ShipAddress", ShipAddress + "*");
              }
          }
      }
       

    • Incorrect type conversion in business rules processor is fixed.
       
    • Method ViewPage.ToList correctly processes fields that exist in the data controller only and do not have a matching property in data access objects.
    Thursday, March 1, 2012PrintSubscribe
    Dynamic Access Control Rules, New Themes, Custom Master Pages

    Code On Time release 6.0.0.21 includes numerous new features and enhancements.

    New http://codeontime.com has been launched. Use the search feature of the web site to find everything related to our products including documents, tutorials, video, blog, support, and community resources.

    Search engine for everything related to Code On Time

    Several originally planned features were excluded from this release. We are still testing Code On Time Sync and will likely release it to production in the next two weeks. The server infrastructure of Sync is in place now.

    • Business rules are invoked correctly if data operations are initiated by data access objects.
       
    • Previous version was incorrectly displaying annotations when users start creating a new record. The annotation fields are now displayed only when user edits an existing record. Future updates will support annotations when creating new records.
       
    • LastView property in now available in PageRequest, ViewPage and ActionArgs classes.
      The application framework takes advantage of this property and automatically copies the "View Filter" from a grid view to a form view at runtime if the form view does not have its own "View Filter". Learn more about view filter expressions at http://codeontime.com/learn/security/multi-tenant-applications/view-filter-expressions.
       
    • Custom master pages are now supported. Learn more at  http://codeontime.com/learn/pages/custom%20master%20page.
       
    • Code generator now features integrated support for Google Translate API Key in globalization settings of projects. Lear more at http://codeontime.com/learn/globalization-and-localization/automatic-translation.
       
    • New Controller.ConvertToType method is used in Data Access Objects and business rules engine to convert client values to native .NET types.
       
    • Fixed the exception with filtering of DateTimeOffset fields.
       
    • Culture manager prevents duplicated initialization.
       
    • Class Controller allows overriding the new GetDataControlStream method. The method can return a stream of XML data controller definition from any source based on arbitrary condition.
       
    • Implemented data controller virtualization. Two methods are required in a business rules class: SupportsVirutalization and VirtualizeController.
       
    • Access control rules support filtering expressions with the data controller field names wrapped in square brackets. Learn more at http://codeontime.com/learn/security/multi-tenant-applications/data-segregation-and-filtering.
       
    • All available user interface are now supported right-to-left languages.
       
    • The collection of themes has expanded. You can see new theme samples at http://codeontime.com/learn/introduction/user-interface/themes-a-c.
       
    • Dynamic access control rules are now available in Premium and Unlimited editions. Learn more at http://codeontime.com/learn/security/multi-tenant-applications/dynamic-access-control-rules.
       
    • New ContainsField method is now available in ViewPage class. There is also a utility class SqlParam used with Dynamic Access Control Rules.
       
    • Business rules correctly process a single null or DBNull.Value as a restriction of an access control business rule method. Learn more at http://codeontime.com/learn/security/multi-tenant-applications/restricting-access-to-null-values.
       
    • Data Views number support Show Row Number property. The logical row number is displayed in the first column if Show Row Number is set to true. Learn more at http://codeontime.com/learn/pages/data-views/displaying-row-number.
       
    • Search Options are now supported in Premium and Unlimited edition. Learn more at http://codeontime.com/blog/2012/02/search-mode-options.
       
    • Report handler is now declared as partial class. It will allow overriding the File Name composed when a report is rendered with Report Viewer. The method name is FormatFileName.
       
    • Method DataViewExtender.AssignFilter will correctly clear the data view filter when called in response to ASP.NET events.
       

          protected void Button1_Click(object sender, EventArgs e)
          {
              dve1.AssignFilter(new FieldFilter[] {
                  new FieldFilter(
                      "CategoryCategoryName",
                      RowFilterOperation.None) });
          }

    • Setting property Hyperlink Format String to a URL with _blank prefix will open a new tab in IE8/9. If user click the link while holding Shift key then the new popup window will open.
       
    • In-line creation of lookup values in a Data Sheet view will not result in an exception. Cancellation of modal lookup will not cancel editing in a Data Sheet view.
       
    • Reversed description of Hidden/System fields in the project wizard.
       
    • RichText in data fields will not cause a security exception raised by ASP.NET when executing any "Report..." action.
       
    • Modified the globalization mechanism to use the new "culture" folders under [Documents]\Code OnTime\Library\_Localization.
       
    • The code generator will not crash if a decimal point value is entered as Columns or Rows property of a data field.
       
    • Fixed the incorrect display of multi-layered modal views. Previously the subsequently opened modal views would not cover the previous view. Users were able to interact with them. Now the modal view covers with the semi-transparent background the entire area underneath.
       
    • Fixed the exception error message displayed in Designer Preview if a modal view was open at the time of closing when user exists the Designer.
       
    • The latest release generates applications with Ajax Control Tookit 51116. Learn more at http://ajaxcontroltoolkit.codeplex.com/.
       
    • Class DistinctValueRequest is now declared as partial. Developers may find it useful overriding the property MaximumValueCount to control the number of distinct values returned to the client.

      using System;
      using System.Web;

      namespace MyCompany.Data
      {
          public partial class DistinctValueRequest : DistinctValueRequestBase
          {
              public override int MaximumValueCount
              {
                  get
                  {
                      if (Controller == "Customers")
                          return 10;
                      return base.MaximumValueCount;
                  }
                  set
                  {
                      base.MaximumValueCount = value;
                  }
              }
          }

    • Multi-byte search values entered in Advanced Search Panel and custom column filters are now working correctly.
       
    • Code generator will refresh the Application baseline to reflect changes in the project settings when your execute project Refresh. If any customization has been applied to the application design then only new pages composed by the code generator to host application data controller will be affected by the changed settings.
       
    • Attributes AccessControl and ControllerAction allow a regular expression to be entered as a Controller property. This allows a shorthand definition of a business rule method that can cover multiple controllers with a certain name pattern.
       
    • Project action Refresh now incorporates any new pages or data controllers inserted or modified directly in *.Baseline.xml files. Custom data controllers must not have nativeSchema or nativeTableName attribute in the definition to be included in the application design.
       
    Continue to New Themes