What is a project?

A Genero Studio project is an XML file (with a .4pw extension) that manages the source files and the properties for building and executing programs. Genero Studio displays a project file as a tree view in the Projects view.

A project includes:

  • the name, type, and location of the source code and executable files
  • the database meta-schema, if used
  • the name, type and description of each node
  • the parent-child relationships between nodes
  • properties such as file paths, environment variables, and dependencies
  • one or more sub-projects, if used

The project structure has no connection to the structure of the files on the disk. Files can be deleted and moved from projects without affecting the actual file on the disk.

There are two default project files: a BAM project and a Simple project.

A BAM project is for use with the Business Application Modeler (BAM). When this type of project file is selected, the nodes and default files provided allow for quick application development using graphical application generation tools. This project file initially consists of five default nodes:
  • A Reports node. This group node contains the default application and library nodes.
    • A Database node. This library node is intended for database meta-schema files.
    • A DataSourceLib node. This library node is intended for the generated data model files.
    • A Designs node. This library node is intended for all report design files.
    • A ReportLauncher node. This node contains a single application source file, providing a simple application that allows the developer to validate the generated data model.
A Simple project provides three nodes for the organization of a project, in which the developer writes new files or adds files already existing. This project file initially consists of four default nodes:
  • A Group node. This group node contains the default application and library nodes.
    • An Application node. This application node is used to generate the executable program.
    • A Databases node. This library node is intended for any database-related files.
    • A src node (Java) or a Library node (C# or PHP). This library node is intended to contain all of the application source files.

The default structure of a project file is provided for your convenience. Once created, you can add and remove nodes from the project file as you see fit.

A project remembers the last configuration used. If Genero Studio is set to use a different configuration when you open a project, you will be prompted to switch back to the previously-used configuration. Using a consistent configuration is helpful for Business Application Modeler projects that use dynamic properties, to avoid the creation of orphan properties.