Project System

Topic updated 20-6-2007

GenWise uses a project system where all data of one project is stored in a single project file. Projects contain one or more Project Items. Generally each project item corresponds to a certain template of a specific type, which may have several child templates.

 
Responsibilities of the Project System:

Takes care of generation of all the project items
Keeps track of the generation status of project items, limiting regeneration to when it is needed
Integration of custom code in generation process
Manages errors that occur in custom code
Saves and restores projects from project files

 

Instead of "Building a Project" you will often read "Regenerate the Project" . Regenerating the project means executing the Project System Generation process. Under this process, each Project Item is requested to be refreshed.

For optimized performance each Project Item knows if a generation needs to be performed or not. This concept is also referred as "Incremental Regeneration".

 

Working with projects

If you open the business object project the datastore XML will be read automatically. When you open a ASP.NET project the business object layer and Datastore will also open automatically. A background generation gets fired to bring your user code block and code completion information up to date.

 

Projects are created and opened in a fixed succession, starting from the data layer, working towards the user interface. When you create a web application with GenWise, you first create a Database Repository, then you add a BO-Layer and finally you create the ASP.NET project. When you open an existing ASP.NET project, it first loads its associated Database Repository, then loads its associated BO-Layer, and finally loads itself.

There are multiple ways in which you can add and open projects from within GenWise Studio:

The startup screen allows you to open recent Database Repositories, open recent projects, and create a new Database Repository.
From the File menu you can both open and create Database Repositories and all types of projects.
The main toolbar also has icons to open and create Database Repositories and all types of projects