Introduction

This page describes how to install the GenHelm Integrated Development Environment. Before installing the GenHelm IDE you must first install the GenHelm Application Runtime. If you have not done so, please visit Installing the GenHelm Application Runtime.

To install the GenHelm IDE you will be completing the following steps:


Step
Remote
Server
Local
PC or Mac
Create genhelm Subdomain
Download and unzip the genhelm files
Transfer or copy the files to your web server
Generate a temporary password
Save an initial password file under your desired id
Log into GenHelm
Stow site_settings within system and genhelm
Define yourself as a user in genhelm

Let's review these steps in detail.

Define the genhelm Subdomain

If you are installing on a remote server you should define a new subdomain on your sandbox named genhelm. This is not necessary if you are installing GehHelm on a stand-alone PC or Macintosh computer.

Download and Unzip the genhelm Folders

If you have not already done so you will need to download and unzip the genhelm folders. Here we see the folders that are part of the GenHelm IDE installation:

GenHelm IDE installation folders

Copy the Files to your Web Server

You will need to copy the genhelm folder located under private_data to the private_data folder on your webserver.

You must also copy the genhelm folder located under public_html to your web server's document root folder.

When you are finished, your web server should contain the following folders:

Web Server Folders

Depending on how you installed the GenHelm Application Runtime, the public_html folder might be named htdocs or some other name.

At this point the GenHelm IDE is installed but you won't be able to access it until you define yourself as a user.

Generate a Temporary Password

If you have installed the GenHelm runtime on remote server, try loading the url:

http://genhelm.[your-sandbox-domain]/genhash

If you installed on a local PC or Mac try loading:

http://localhost/genhelm/genhash

You should see a screen that looks like this:

GenHelm Temporary Password Generator

If you don’t see this screen try an alternate version of the url that includes the page name as part of the query string. In this case the server based URL will look like this:

http://genhelm.[your-sandbox-domain]/index.php?page=genhash

If you installed on a local PC or Mac use this URL:

http://localhost/genhelm/index.php?page=genhash

If this second form of the URL works (but the first did not) it likely means that one of the following needs to be corrected:

  1. Your default document is not set to index.php
  2. Your ErrorDocument is not correctly pointing to index.php
  3. The version of index.php in the document root folder does not agree with what is in the public_html folder on the installation zip.

If neither one of these URLs load, you will need to debug the problem before continuing with the installation.

We don’t provide a default user id and password as part of the installation so as not to tempt hackers to try to use this default id.

Since GenHelm requires a login to access the system you must manually create a login for yourself as the first user. Then you will be able to define other users using GenHelm itself.

Decide on Your User Id

Next you will decide what user id you intend to use with GenHelm. Often this will be a combination of letters from your first and last name or you could also use your email address. User ids cannot contain spaces and must begin with a lower case character followed by any combination of lower case characters, numbers or the characters “.”, “-”, “_” and “@”.

Locate the Template File in the Extracted Zip

Locate the extracted file named private_data/genhelm/includes/user/USERID.inc

Here we show this file as part of a local installation:

User Id Template File

Rename the Template File

Rename this file to correspond with the user id that you want to use in GenHelm, making sure that you keep the “.inc” extension.

Edit the Renamed File

Open the file in Notepad or any other editor to change the file contents.

Open user template file in any editor

This file initially contains the following:

<?php
// Paste line generated by page genhash
?>

Update your user file with the temporary password.

Replace the second row of the userid.inc file with the contents from the genhash page that you loaded in your browser. 

Notice the page contains two important things:

  1. A temporary password that you will enter into the password screen
  2. A line of code that you will copy into a .inc file that you just renamed

Copy the last line on the page to the clipboard and paste this into the .inc file that you are editing. When you are finished the file will look something like this:

<?php
$this->set_temporary_password_hashed('$2y$10$RlsLd7.NP81ozu2cQqe0521ELXf.mDV.6lmhzSP0tH6nfxa');
?>

and will be named something like yourname.inc where yourname is the id that you want to use to access GenHelm. Be sure to save your changes to the file.

Copy the Temporary Password to the Clipboard

Next copy the temporary password shown on the genhash web page (this is on row two between the double quotes). Be sure not to refresh the page since this would generate a new password and hash value.

FTP the User File to the Sandbox Server

If you installed GenHelm on a server, you will need to transfer the renamed user file to the private_data/genhelm/includes/user folder within your sandbox environment. If you are an administrator for this server or if you are installing GenHelm on a PC or Mac you should consider copying this user file to the system site, rather than the genhelm site. In such a case you will copy this file to the folder private_data/system/includes/user instead. By defining your user id within system you will be granted logon access to all (developed) sites on the sandbox server, not just genhelm.

You should now be able to log on to GenHelm

Logging Into GenHelm

You should now be able to login to GenHelm using the user id that corresponds to the file name you chose and the temporary password shown on the genhash page.

If you installed GenHelm on a remote sandbox you will use the url:

http://genhelm.[your-sandbox-domain]/

If you installed on a local machine the url will be:

http://localhost/genhelm

The URLs should lead to a login page.

GenHelm Login Screen

Enter your user id and temporary password into the first two fields. You will also need to enter a new password in the third field and repeat this in the fourth field. Your new password must include both letters and numbers and must be at least eight characters in length.

After logging in you should see the following screen:

GenHelm Initial Screen

You interact with GenHelm by entering commands into the Command field and clicking on the right arrow or pressing the Enter key.

Make note of the question mark icon on the main screen. Later you can click on theQuestion Mark to begin learning about GenHelm. 

Securing GenHelm

One of the ways GenHelm secures your sites is by associating secret keys with each subdomain. These keys will be randomly generated when you stow your site settings for the first time. Let’s go through this process next for the genhelm and system domains.

The following screen samples reflect the localhost domain however the same procedure will be followed when using a remote sandbox.

Logon to genhelm

Logon to genhelm

Edit site_settings

Edit site_settings

Stow

Stow genhelm site_settings

Logon system

Logon system

Edit site_settings

Edit system site_settings

Stow

Stow system site_settings

Stow Confirmed

system site_settings confirmed

Defining Yourself in GenHelm

In order to create new websites in GenHelm you will need to define yourself with the proper privileges. If you copied your temporary user definition into the system folder you should define yourself as a user within system. If you copied your temporary user definition in genhelm you should logon to genhelm before defining your user profile.

When you are within the correct site invoke the user model using the command “e user”:

Invoke the user model

Fill in the screen with all of your user details. Be sure to include your email address and phone number since these are used to reset your password if you forget it.

Scroll down to the Group/Role definition end define a row for group genhelm with role site-creator. This will allow you to define new sites within GenHelm.

Define yourself to the genhelm site-creator role

When you are finished entering the information stow the definition under the name that corresponds to your user id:

Stow your user definition

To learn more about using GenHelm follow this link General help link near the command line.

Configuring the information_schema

If you are planning to use the database-oriented models to browse and update database tables we recommend that you configure the information_schema definition for your environment. This schema is used to provide dynamic table and field selection when filling in the parameters for several database oriented models.

To update these config files you begin by logging onto the system pseudo site (using the command logon system). Here is what the main information_schema definition contains:

information_schema Definition

Depending on which environment you are configuring you should either enter the command edit sandbox_information_schema or edit dev_information_schema. Note that the environment is determined by the environment setting that is assigned in your servers config file (located in private_data/system/config). If the environment is set to 1, you will be updating the sandbox_information_schema; if it is set to 2, you will update the dev_information_schema. Environment 2 is generally only used if you are running GenHelm on a stand-along PC.

Here we show an example of what the db_config named sandbox_information_schema looks like.

sandbox_information_schema db_config Definition

You will need to change the User Name and Password to a valid combination within the environment you are configuring.

Installing the Sakila Demo Site

If you are planning to build database applications using GenHelm you should consider installing the Sakila Demo site locally so that you can refer to the settings used to build the site at https://www.sakilademo.com. Follow this link to learn about installing this sakilademo site.