Blog: Posts from April, 2013

AJAX(112) Apple(1) Application Builder(242) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) 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(11) 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) DotNetNuke(12) EASE(20) Email(6) Features(99) Firebird(1) Form Builder(14) Globalization and Localization(6) Hypermedia(2) Installation(4) 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(15) OAuth(5) OAuth Scopes(1) OAuth2(6) Offline(14) Oracle(10) PKCE(1) PostgreSQL(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(163) Reports(48) REST(26) RESTful(21) RESTful Workshop(13) RFID tags(1) SaaS(7) Security(75) SharePoint(12) SPA(5) SQL Anywhere(3) SQL Server(26) Stored Procedure(4) Teamwork(15) Tips and Tricks(81) Tools for Excel(2) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(331) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(39) Web.Config(9) Workflow(28)
Posts from April, 2013
Monday, April 29, 2013PrintSubscribe
Tools for Excel: Fields

This is a typical view of commands in a project.

Typical view of commands in a project.

Consult the following table when entering property values:

Property Description
Activate If Blank Specifies that the lookup will be activated when the value is blank.
Allow Nulls Specifies that the field can blank.
Calculated Specifies that the the field value is produced by a business rule method. Context fields must be specified to cause the calculation.
Code Default Specifies the default value that will be applied when the new record form is opened.
Code Formula Specifies a formula written in the programming language of the project that will return a field value.
Code Value Specifies a value that will be calculated every time the record is updated.
Computed Specifies that the field is not physically present in the table.
Context Fields Specifies which fields, when changed, will cause calculated fields to be refreshed.
Controller Specifies the controller the field belongs to.
Copy Specifies a list of fields that will be copied from the selected lookup item.
Data Format String Specifies the data format string for the value. Available strings are:Standard Numeric, Standard Date/Time, Custom Date/Time, HTML.
Data Text Field Specifies the field that will be displayed to the end user.
Data Value Field Specifies the field value that will be saved.
Default Specifies the default value that will be applied when the record is saved.
Dynamic Configuration Specifies fields that can provide dynamic values for the field properties.
Edit Mask Specifies an edit mask that will validate the entered field value.
Editor Specifies the name of a custom editor.
Field Name Specifies the name of the field.
Format On Client When disabled, specifies that the server will format the field using the supplied data format string.
Hidden Specifies that the field is hidden in the user interface.
HTML Encoding Specifies that the field value will be displayed in full. When disabled, HTML in the field will be rendered.
Items Data Controller Specifies the controller that will be used to look up data.
Items Data View Specifies the view of the controller that will be used to look up data.
Items Style Specifies the style that will be used to display items.
Key Specifies if the field is the primary key. The client library uses the primary key to select, update, and delete data.
Label Specifies the label that will be displayed in the user interface.
Last Entered Value Specifies that the most recently entered value by the user will be the default value for the next record. Simplifies mass entry of records with values that are not expected to change frequently.
Length Specifies the length of the field.
Lookup Description Specifies a description on the lookup window.
Mask Type Specifies the type of edit mask to be used.
New Data View Specifies the view that will be used when the New Record icon is selected. If blank, the icon will not be displayed.
On Demand Specifies that the field requires special handling.
On Demand Handler Specifies a name for an automatically created handler that will retrieve the blob field.
On Demand Style Specifies the method used to display the blob field. Available options are thumbnail and link.
Page Size Specifies the number of items displayed in the lookup view.
Query-by-Example Enables advanced filtering options for the field in grid views.
Read Roles Specifies which roles are permitted to view the field.
Read-Only Specifies that the field is read-only.
Search by First Letter When enabled, displays quick first letter filters at the top of the lookup view.
Search on Start Specifies that the lookup view will have advanced search bar open by default.
Show In Summary Specifies that the field will be displayed in the summary when a record is selected.
Sorting Enables sorting for the field in grid views.
Source Fields Specifies primary key fields that uniquely identify the source record.
SQL Formula Specifies a formula computed on the server that will return the field value.
Target Controller Specifies the controller data will be saved to when the field is configured as many-to-many.
Type Specifies the data type of the field.
Write Roles Specifies which roles are permitted to edit the field.
Monday, April 29, 2013PrintSubscribe
Tools for Excel: Commands

This is a typical view of commands in a project.

Typical view of commands in a project.

Consult the following table when entering property values:

Property Description
Controller Specifies the controller that the command belongs to.
Event Specifies Event that will cause the command to execute. Note that the only supported command type for Select commands is Text.
ID Specifies the ID of the command.
Table Name Specifies the table name that must be used at runtime in automatically constructed insert, update, and delete data manipulation operations.
Text Specifies the text of the command.
Type Specifies the Type of the command.
Monday, April 29, 2013PrintSubscribe
Overview of Upload/Download Adapters

Large files are frequently stored in databases as BLOB fields (binary large objects). Code On Time offers out-of-the-box support for upload and download of content directly to BLOB table columns. However, common practice is to store the binary content outside of the database. There are numerous advantages to this approach:

  • Reduced database size
  • Simplified backup
  • Low cost of storing large amounts of data
  • Opportunity to create a content delivery network (CDN)

File System

The most common method to store external files is in the file system. The files can be saved on the same hard drive of the host machine, or on an external Network-Attached Storage (NAS) device. While these devices are simple to configure, they still will require maintenance to ensure redundancy and performance.

Azure Storage

Microsoft Azure Storage cloud platform is a high-redundancy and availability solution that stores all data in data centers managed by Microsoft. It offers geo redundant storage, affinity groups, and logging. Each storage account can open multiple “containers” that are accessed via HTTP requests using unique container keys. Containers may be declared as “public” if necessary.

Amazon S3

Amazon Simple Storage Service (Amazon S3) is another popular cloud solution that offers features similar to Microsoft Azure Storage. It offers data redundancy and high availability, enabling rapid scaling of application infrastructure. Each account can create multiple buckets to store data, which are accessed via HTTP requests using one or more “Secret Access Keys”.

Configuring an Upload/Download Adapter

Declare virtual BLOB fields by entering a few parameters in the BLOB Adapter Configuration of a data controller. The web application framework will perform REST requests to a specified storage system, making it possible to use any combination of adapters in a single application without creating dependencies on third-party libraries.

A physical table column storing the file name is required for each virtual BLOB field definition. It allows the application framework  to determine existence of binary content.

Optional utility table columns Length and Content Type may be specified. The matching data controller fields will enable the application framework to communicate the file type and size to the client browser.

The table below shows configuration parameters that may be used to set up an adapter.

Parameter Description Storage System
Access-Key-ID The Access Key ID of the specified Secret Access Key required to form secure requests to Amazon S3. S3
Account Name of the Azure Storage Account. Azure
Bucket The bucket that stores the binary content. S3
Container The container that stores the binary content. Azure
Content-Type-Field The name of the data controller field that stores the file content type (data type String). Optional
Field The name of the virtual BLOB field. Required
File-Name-Field The name of the field that stores the file name (data type String). Required
Key The key used to authenticate Azure Storage requests. Azure
Length-Field The name of the data controller field that stores the file length (data type Int). Optional
Path-Template The path to the binary content in the storage system. May include references to data controller field names and special names. Required
Storage-System The type of storage system that holds the binary content. Supported values are “File”, “Azure”, and “S3”. Required
Secret-Access-Key The Secret Access Key used in conjunction with Access Key ID to form secure requests to Amazon S3. S3

Configuring Path Template

The path template can reference data controller field names in curly brackets ({}). The following example references the data controller fields ProductID and PictureFileName. This path template will work with Azure and S3 storage systems.

Path-Template: Products/{ProductID}-{PictureFileName}

The file system path template must resolve as a physical path in the file system.

Path-Template: C:\Northwind\Customers\{CustomerID}-{PhotoFileName}

You can also specify a path relative to the application root when using file system storage.

Path-Template: ~\App_Data\Customers\{CustomerID}-{PhotoFileName}

Special names $Extension and $FileNameWithoutExtension can also be used in the path template with any storage system.

Path-Template: Products/{$FileNameWithoutExtension}-{ProductID}.{$Extension}

Most hosted storage systems (Azure, S3, Google Drive) are only supporting a limited set of characters in the path. The application framework will automatically replace non-alphanumeric characters with dash (-) when evaluating path templates.