Blog: Posts from August, 2012

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
Posts from August, 2012
Monday, August 6, 2012PrintSubscribe
Custom CSS in DotNetNuke Factory Web Apps

Cascading style sheets are a series of rules that determine the look and formatting of web page contents. Code On Time applications exclusively use CSS to stylize the pages. DotNetNuke Factory is a special kind of web application designed to work within DotNetNuke portal. All cascading style sheets of a module created with DotNetNuke Factory are compiled as binary resources into the application DLL.

Developers can add their own custom CSS rules in standalone web applications. This technique will not work with a DotNetNuke application. The alternative is to create extensions for the standard themes of the code generation library.

Let’s create a CSS rule that will render text in all inputs as bold for Grapello theme in a DotNetNuke Factory application.

Run Visual Studio. On the toolbar, press File | New | File option.

Create new file in Visual Studio.

In the window, select Style Sheet and press Open.

Create a new stylesheet file.`

A new .css file will open in the editor. Paste in the following rule.

@import "../../Library/_Client/Themes/_Shared/jquery.ui.all.css";

table.DataView tr.CategoryRow td.Fields div.Item div.Value input, 
table.DataView tr.CategoryRow td.Fields div.Item div.Value select, 
table.DataView tr.CategoryRow td.Fields div.Item div.Value textarea
{
    font-weight:bold;
}

The highlighted segment of the path in the Grapello.css file is a relative path to the jQuery UI stylesheets packaged with the code generation library. The rule will apply a font weight of “Bold” to all inputs in a category. Right-click on the tab of the file, and press Save File.

Save the new style sheet file in Visual Studio.

Change the save location to [My Documents]/Code OnTime/Client/Themes folder, and change the name of the file to the name of the theme. In this case, Grapello theme is being used, and the name of the file will be “Grapello.css”.

Save the file in Themes folder under Client folder with the name of the theme that will be used.

Press OK to save.

Restart Code On Time web application generator. While holding Shift, click on a project name. This will skip to the Summary page. Press Generate.

Navigate to any data view, and edit a record. The custom CSS will make all text in inputs bold.

Custom CSS has bolded all text in input boxes on the form.

Monday, August 6, 2012PrintSubscribe
Drag & Drop Everywhere, Validators & Converters

Code On Time web application generator release 6.0.0.32 makes possible true rapid line-of-business application development with complete support for drag & drop and Cut/Copy/Paste of elements in the logical application hierarchy.

The release also introduces and integrated uniform business rules model. The business rules engine of generated applications supports JavaScript, SQL, and C#/Visual Basic business rules. Developers can quickly create validators and converters to perform data validation and conversion on the client, on the database engine tier, or on the application server tier.

Attention: the client script and theme processor now uses the folder [Documents]\Code OnTime\Client to locate the custom files. If you have developed custom scripts then review custom input elements tutorial and move your files to the new location prior to the installation of the update.

The following features, enhancements, and bug fixes are included in this release:

  • Complete drag & drop and Cut/Copy/Paste support on all levels of hierarchies on Pages, Controllers, and User Controls tabs in Project Designer.
     
  • Single-click implementation of generic validators and converters in supported in Project Designer. Developers can extend the generated business rules with custom business logic.
     
  • Page-level and controller-level caching is implemented in Project Designer. This has significantly improved the speed of Project Designer. The projects with the large number of data controllers and pages will see the most improvement with up to 100 times faster execution of many design operations.
     
  • Command node in Project Explorer offers “Reset to Baseline” action. The action will reset the command text to the current baseline version of it.
     
  • Pager in grid views can now be displayed at the top and/or bottom of the view. The default location is the bottom of the view. The property can be configured in page data views.
     
  • The page numbers in the pager now display the index of the first and last pages if the number of pages is greater than 10.
     
  • Action FileName can be handled in business rules to provide a custom file name for a file produced in response to a command specified in CommandArgument of the ControllerAction attribute. Calling UpdateFieldValue method will cause the output file name to change.
     
  • Static lookup items have dedicated hierarchy nodes in Project Explorer.
     
  • Data controller views support Convert to Grid and Convert to Form options in Project Explorer. Form views use categories to group the data fields bound to the view. All other types of views, such as Grid and Data Sheet, do not support categories. The new options are provided to make possible quick conversion of view types.
     
  • The first “select” command is automatically associated with a new view created in Designer.
     
  • JavaScript business rules allow handling the "After" phase for Select|New|AnyOtherAction.
     
  • JavaScript business rules allow handling "Before" phase of "Select" action.
     
  • Application framework blacklists “Code” business rules after the first execution to prevent multiple invocations.
     
  • SQL Business Rules support access to all "flat" properties of the Arguments property. For example, @Arguments_Trigger or @Arguments_CommandName.
     
  • Dragging a foreign key data field to a master data view on the Pages tab will configure a master-detail relationship.
     
  • Dragging a field on a data controller view will create a data field in the view. The data field is placed in the category if the view is a form.
     
  • Renaming a data controller field will change the command text alias of the field and field references in the entire application.
     
  • Application framework has improved speed of command text parsing at runtime.
     
  • Action buttons rendered in 'Row' scope are rendered under the first data column if
    “Action Column” scope is also enabled.
     
  • Fields with custom format strings will result in a "string" elements created in "Export to Spreadsheet" data feeds to prevent the possible data type clash.
     
  • Page is correctly selected in designer when renamed.
     
  • Virtualization node set plugin "Move" will move data fields to view/category and action to action group.
     
  • Node set plugin "Arrange(DataFields|ActionGroups|Actions|Categories|Views)" does not switch the context of the node set.
  • Role-based trimming is performed when automatic reports are created. The fields with "roles" attribute will be automatically trimmed and hidden from the report when needed.
     
  • The tabs are displayed correctly in the form view categories with conditional visibility.
     
  • JavaScript Business Rules processor of client library always replaces field name references with 'this.fieldValue' and 'this.updateFieldValue' methods even if the field is not defined in the active data view.
     
  • Annotation controls are displayed correctly when activated in modal form views.
     
  • DotNetNuke Factory projects will work with rooted and virtual path deployment models of the portal without any changes to the app source code.
     
  • Data access objects will not try to update the read-only fields if a read-only field has been changed.
     
  • Business rule "Script" property is not deleted when other rule attributes are changed.
     
  • Application framework allows overriding YearsBack and YearsForward properties that control the month and quarter filtering.
  • using System;
    namespace MyCompany.Data
    {
        public partial class DateRangeFilterFunction
        {
            public override int YearsBack
            {
                get
                {
                    return 25;
                }
            }
            public override int YearsForward
            {
                get
                {
                    return 5;
                }
            }
        }
    }
     
Wednesday, August 1, 2012PrintSubscribe
Feature: Validators and Converters

Data integrity is enforced with validation and conversion business rules. The Project Designer can quickly create and configure generic business rules with a single click. JavaScript, SQL, and Code (C#/Visual Basic) validators and converters are created from the context menu of the fields in Project Explorer.

Validator and Converter menu options available for fields in the Project Explorer.

Converter

The generic converter will convert the field value to uppercase.

For example, the Category Name field in the Categories controller has been configured with the default SQL converter. The sample script is shown below.

if @CategoryName is not null and 
    (@Arguments_CommandName <> 'Calculate' or
     @Arguments_Trigger = 'CategoryName')
begin
    set @CategoryName = upper(@CategoryName)   
end

The user may enter any value into the field.

Lowercase text entered into the Category Name field.

When focus is shifted away from the field, the conversion will take place.

Text in the Category Name field has been converted to uppercase.

SQL and code validators are executed on the server.

Validator

The generic validator will ensure that the field value is not blank.

The Description field of Categories controller has been configured with the default JavaScript validator:

var fieldValue = [Description];
if (fieldValue == null) {
    // prevent the default action processing
    this.preventDefault();
    // set the focus on the field and display an error
    this.result.focus('Description', 'Required field.');
}

After typing a category name, pressing OK will display a message next to the Description field, despite the fact that the field is not marked as required.

Error message displayed if the Description field is blank due to the validation rule.

These sample validators and converters can be expanded to perform more complex operations to fulfill specific business requirements. Any single validator or converter can handle multiple fields when necessary.