CodeCharge Studio

Terms and Definitions

Action

User-definable code generation component, which inserts a block of code into an event procedure. CodeCharge Studio comes with several predefined Actions, which are installed into the following folder: (CodeCharge Studio folder)\Components\Actions

Internally, actions consist of XML and XSL code that can be easily customized by experienced developers. The utilized XSL code will be documented in a future SDK (Software Development Kit).

Authentication

The process of verifying if a user has sufficient security privileges to view a web page. If a web page requires authentication and a user is not logged in, generated programs automatically redirect the user to a specifically designated Login or Access Denied page. Once a user logs in, generated programs utilize Sessions to store user access information for limited number of time.

Code Generation

The process of translating project model into executable programming code. CodeCharge Studio uses an open XML file format to describe all project components and properties, while during code generation, it applies proprietary code templates to the project model, which results in the final code output.

Component

A component is an object that makes up a Web page or a CCS project and can be used for displaying data and accepting user input. Many components are assigned a data source to bind their controls.

Components can be divided into

Users may add, modify and delete components on a page, just like working with objects in Visual Basic and other integrated development environments.

Components placed on a page make up the hierarchical structural of such page and are represented via HTML within the page's HTML template, and via XML within the page's definition stored in the corresponding .ccp file. When adding a component to a page, its position and layout are stored in the appropriate .html file, while its properties and attributes are stored in the corresponding .ccp (CodeCharge page) file.

Control

A low-level component (object) that can be placed on a page and has a set of properties and events. Controls can be used to receive user input or display dynamic content. They are also visible in Project Explorer, where together with pages and forms they make up the object model of the Web application.

A Control cannot have child components. Example controls are Label, TextBox, TextArea and ListBox.

Certain controls can be further categorized as "supporting controls" because their purpose is to enhance and support the functionality of forms, for example a Sorter and a Navigator can be used to allow users to sort and navigate the data presented in a Grid form.

Design-Time

The process and the time of creating web applications by working with CodeCharge Studio, usually performed by a developer.

Dynamic Content

The content that is not defined during design-time. Dynamic content is usually retrieved from the database during run-time, but may also be calculated during program execution. Dynamic content is output directly to the browser or can be embedded within HTML by replacing template blocks.

Event Procedure

A procedure automatically executed in response to an event initiated by the program code during execution.

Form

A high-level component that is placed on a page to display and/or accept information from users, such as login information or user data. Forms usually perform a specific task via a group of controls, which are its child components. Example forms are Grid, Record, Editable Grid and Directory.

Non-templated technologies

See Templated Technologies.

Object

A representation of a component (such as form or control) within the generated programs. Objects often have properties, methods and events that can be used to alter its behavior or execute custom programming functions. See Referencing Objects.

Page

A web page that holds components (forms and controls) and is used to present information to a user via a web browser, or to accept and process user data. CodeCharge Studio creates one Program for each Page. Multiple pages make up the web application. Pages are executed in one of the two following modes:

Generated Pages consist of the following sections (in execution order):

Section Description
Include Common Files Common files are loaded and included into the page.
Initialize Page Variables Variables, events, connections, and controls are defined and initialized. Initial values are assigned to variables.
Authenticate User (Pages with Restricted access only) User authentication is performed. Unauthorized users are redirected to the Access Denied page.
Initialize Objects Database Connection objects, page controls, and events are defined and initialized.
Execute Components (Data Processing mode only) Operation method is invoked for all record controls on the page. This causes the submitted data to be processed by each control. If no data was submitted.
Go To Destination Page (Data Processing mode only) If Operation method for all components was executed successfully, page operation is stopped and the browser is redirected to another page.
Initialize HTML Template Initializes Template object and loads template into web server memory for processing.
Render Page Processes all Controls and Components on the page, then outputs rendered HTML to the web browser.
Unload Page Defines the UnloadPage Subroutine. Clears page objects and controls.
Include External Pages Includes external pages, such as Header and Footer.
Component Classes Implements component classes for controls present on the page.

Property

A container that stores the information about specific component's configuration or controls its behavior. Certain properties are read-only and cannot be altered during the run-time, while others can programmatically accessed and modified during the program execution.

Run-Time

The time when generated web application is being run without dependence on CodeCharge Studio, for example to allow users to interact with the generated application.

Run-time is also referred to as program execution.

Template

Specially formatted HTML file that generated programs process and output to the web browser. Template files consist of standard HTML content, plus specially marked template blocks that are replaced with database values or expressions during run-time. Templates are used by CodeCharge Studio during the design-time, and optionally are utilized by generated programs during run-time.

Template use during design-time

Template is one of the key components in designing web applications with CodeCharge Studio. Working with templates is the same as working with standard HTML, however CodeCharge Studio embeds template blocks within the template to store additional information about components.

Template use during run-time

When working with Templated technologies such as PHP&Templates, during code generation CodeCharge Studio publishes templates to the server 'as-is', which are later utilized by the generated programs during run-time. Templated programs utilize templates as follows:

  1. A user points their browser to a page on the web server, for example www.site.com/Default.asp
  2. A program (Default.asp) is executed on the web server, which then loads the template into internal memory and renders it by replacing template blocks with dynamic data.
  3. The program then outputs rendered template to the browser.

When working with non-Templated technologies, such as PHP or ASP, Templates are not being used. CodeCharge Studio converts templates during code generation to standard HTML and programming code necessary to output information to the browser. Non-templated programs work as follows:

  1. A user points their browser to a page on the web server, for example www.site.com/Default.asp
  2. A program (Default.asp) is executed on the web server, which then outputs appropriate HTML to the browser and embeds dynamic content within it.

Template Block

Specially marked place within HTML Template usually used to mark the position of dynamic content within the page. Template blocks are replaced during run-time with sub-content, such as variable or database output. Unused blocks are removed. The following two types of template blocks are utilized by CodeCharge Studio:

Tags

CodeCharge Studio uses text within curly brackets to mark the position of dynamic content. Usually a tag is replaced with the value of a database field that has the same name as the tag. An example of a tag is: {employee_name}.

Blocks

Blocks mark HTML sections for possible replacement or removal during run-time. For example, forms generated with CodeCharge Studio are embedded within HTML between block comments that indicate starting and ending position of the form, thus making it a Block that later can be removed, for example to hide a form from unauthorized users. The example below shows an Error Control block that is a part of a Search Form and displays error message, for example if a required field doesn't contain data. An {Error} tag is also shown, which will be replaced during run-time with an error message or removed if not needed.

<!-- BEGIN Error -->
<tr>
<td colspan="2" class="KnockoutDataTD">
{Error}
</td>
</tr>
<!-- END Error -->

Templated Technologies

The methodology utilized by CodeCharge Studio to separate programming code from HTML. CodeCharge Studio generates two versions of most of the languages it works with: Templated, such as PHP&Templates or ASP&Templates, where generated programs utilize templates Non-Templated, such as PHP or ASP, where HTML is embedded within generated programs.

The main difference between the two is that Templated technologies utilize HTML templates during both the design-time and run-time, while Non-templated technologies utilize HTML templates only during the design-time. A Developer may switch between Templated or Non-templated technologies at any point during design of his web application. The only difference will be in the generated code, where for example generating ASP&Templates would result in 2 files: an .asp program and an .html template, while generating ASP would result in generating single .asp program file.

Query string

Query string is a string containing variable names and their values. It is commonly used to pass some input variables to a page by appending the string to the page's address. Query strings are unique to Web applications (versus client-server and other forms of software applications) because Web applications are stateless and a variable set on one Web page usually cannot be retrieved on another Web page unless it is passed between pages in the form of a query string or a session variable or a cookie.

See also

End User License Agreement


On-line, printable versions and updates