Environment

The .gnr directory

If you have successfully executed initgenropy initialization script , you should find a .gnr directory in your home user.

Hint

In the Windows environment, the directory with the configuration files is called gnr instead of .gnr, it is however placed in the user’s home C:\users\USERNAME\gnr . In a virtual environment , however, gnr is always inside the etc/gnr folder.

It contains files with the standard configurations of the installed Genropy environment. These settings are default for all projects and instances that will subsequently be created within the environment.

The .gnr directory has the following structure:

.gnr/
│
├── environment.xml
│
├── instanceconfig
│ │
│ └── default.xml
│
└── siteconfig
    │
    └── default.xml

In this appendix we go into more detail about the basic configurations of a Genropy installation

The environment.xml file

This file is generated automatically. It contains the basic configuration of your Genropy environment. Let’s see an environment.xml just generated by the script:

<?xml version="1.0" ?>
  <GenRoBag>

    <environment>
      <gnrhome value="~/.../genropy"/>
    </environment>

    <projects>
      <genropy path="~/.../genropy/projects"/>
      <custom path="~/.../genropy_projects"/>
    </projects>

    <packages>
      <genropy path="~/.../genropy/packages"/>
    </packages>

    <static>
      <js>
        <dojo_11 cdn="" path="~/.../genropy/dojo_libs/dojo_11"/>
        <gnr_11 path="~/.../genropy/gnrjs/gnr_d11"/>
      </js>
    </static>

    <resources>
      <genropy path="~/.../genropy/resources"/>
    </resources>

    <webtools>
      <genropy path="~/.../genropy/webtools"/>
    </webtools>

    <gnrdaemon hmac_key="<12 characters>" host="localhost" port="40404"/>
  </GenRoBag>

Hint

In the file reproduced here I have contracted the paths with the syntax '~/.../', this wording indicates that the path where genropy is installed is completely arbitrary, and depends on the preferences of the installer user.

Naturally the initial '~' indicates (in UNIX like systems), the home directory of the user himself.

Let’s now look at the various sections in detail:

environment

This tag defines the location where the Genropy framework was installed. The framework therefore resides in the Genropy directory which is located in the path chosen at the time of the installation procedure

projects

This element defines the locations of all existing Genropy projects in the environment.

By default we find two fundamental locations

  • genropy : refers to all Genropy built-in projects. Therefore the directory indicated by the path attribute is reserved and should never be used for creating new projects.

  • custom: it is the location where all the projects will be created. The default path value for this location is the genropy_projects directory, which is automatically created when the initgenropy script runs.

We can insert additional paths at any time, perhaps to keep projects in development separate from those already in production, or because we manage several clients and want the projects not to mix with each other.

static

This element contains the declaration of the Javascript libraries that are used by the framework.

The first line indicates the version and path of the dojo toolkit library.

The second line instead indicates the path of the javascript scripts developed specifically for genropy.

In this section you can insert any additional resources that you want to import statically into all your pages. These will be loaded when the server starts and always made available.

resources

This element contains the paths of the resources that must be available for each project. By default, the path of the resources made available by the Genropy framework is indicated.

We will then see what resources are in Genropy, a very important concept when we go on to develop our projects.

webtools

Also in this case the path is provided for some resources to be made available, but they are resources of a different type, they are web tools, which can be useful in managing the interactive part with the end user.

gnrdaemon

This element defines the properties of the gnrdaemon service.