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.
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.
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 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.
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.
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.
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.
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.
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.
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 programatically.
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.
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.
Video tags can be built using a simple fill-in-the-blanks form.
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.
All of the pages that are built from fill-in--the-blanks parameters can also be built programatically 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.
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.
This video talks about how GenHelm focuses on four key elements of website quality
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.
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.