Videos Showing How This Site Was Built

Play these videos to learn how this sakila demonstration site was built and to learn about a revolutionary new web development environment known as GenHelm.
This image shows where you can click within the videos to show them in full screen mode.
Click this area to flip to full screen mode

Creating a New Website

New websites can be created by entering a simple command. Since most of the GenHelm runtime is shared across all sites, you only need two small components to establish a new website.

Defining Web Pages

GenHelm embraces the notion that almost all web pages can be classified as implementing a certain pattern. Common patterns are encapsulated into models (generators) to make it easy to create typical pages using a fill-in-the-blanks approach.

General Overview

In this video we illustrate some use cases of GenHelm by reviewing pages created for the production website Heavy Duty Tarps.


Codeframes define the structure of your web pages. Layouts are built on top of Codeframes to supply content to advanced placeholder objects defined within the Codeframes.

GenHelm Methodology

GenHelm combines sophisticated generation technology with an advanced web runtime to create an environment where complex web pages and components can be built. In this environment, web designers and programmers can create websites that are far beyond what they would be capable of building without GenHelm and in a fraction of the time required.

This video walks you through the process of creating a new model in order to support a new design pattern.

JavaScript and CSS

GenHelm makes it easy to define script and styles at the site, layout or page level. Site wide styles and scripts can also be overridden within the layout and layout script and styles can be overridden at the page level. This makes your sites much leaner since you don't have to load scripts and styles that don't apply to certain pages.

Emailing Forms

You don't have to do any extra work to email the contents of a form, such as a contact form. The form definition itself is generally used to define the email content.

Browsing SQL Tables

The db_table_browse model allows you to create SQL table browse and search pages without writing any code. Multiple tables can be joined and the user can even drill down to related tables. Pagination is extremely efficient since it does not use SQL OFFSET processing which is typically done.

Database Query SEO

This video illustrates one of the optional features of the db_table_browse model, which is to promote search engine indexing of all of the database values being browsed.

Updating SQL Tables

The db_object model allows you to encapsulate updates of related SQL tables without programming. Data objects can consist of a primary table and any number of secondary tables to make it easy to implement the handling of parent-child relationships such as the item lines of an order.

Creating HTML Select Fields

Select fields (drop downs) used on forms can be created easily just by entering the items to be included in the select. This list can also be built programmatically.

Integrated Google Maps

You can embed dynamic Google maps into your website without any programming or script knowledge. Maps can contain any number of markers and each marker can show several different tabs of information.

HTML Select Fields Derived from SQL Table Columns

A common use case is to build HTML select fields based on table column values. This can be done without any programming. Values can be cached to reduce database access.

HTML 5 Video Tags

Video tags can be built using a simple fill-in-the-blanks form.

Page Inheritance and Multilingual Support

In this video we show how web pages and other content can be inherited from other sites. We also show how multilingual sites can be implemented.

Dynamic Content

All of the pages that are built from fill-in--the-blanks parameters can also be built programmatically in order to create database driven websites. The generated code can be used to guide you through the method calls that are needed to create dynamic content.

Flexible Promotion

GenHelm allows you to compare the contents of your sandbox environment to that of production in order to select only the changed components for promotion. Individual components can also be compared to see exactly what was changed.

Website Quality Indicators

This video talks about how GenHelm focuses on four key elements of website quality

  • Syntax Validity (HTML, JavaScript, PHP, CSS)
  • Speed
  • Safe (from Hacking)
  • Searchable

Debugging PHP Code

Most of the pages you build in GenHelm do not require any PHP code to be written by hand. Nevertheless, for advanced use cases you will need to write some PHP classes. This video shows how you can use a standard debugger to step through this code and make changes that will be automatically incorporated into GenHelm the next time the class is edited.

Modifying the Models

GenHelm is entirely written in itself so the supplied models can be updated just like other web applications that you build with GenHelm. In this video we show an example of changing one of the supplied models.