|
Template Types Topic updated 8-5-2007 |
|
Templates used by GenWise are divided into several categories of template types, each with their own place and function within a project's template system. The main template types are described in this topic. If you read the documentation of a particular project type you will see a lot of topics explaining all the available template types, describing their options and their behaviour.
Project Template A project template is the main template for a particular type of GenWise project. Each project type is based on a collection of templates with a hierarchical order. The project template is at the top of this hierarchy. It contains the project settings and directly or indirectly loads all other templates that are part of the project. Examples of project templates are the NHibernate Templates and the ASP.NET 2.0 Templates.
Project Item Template Project Item Templates come directly under the project template in the template hierarchy. Every project type has its own type of Project Item Template. For example, a BO-Layer project has Table Templates, and an ASP.NET project has Page Templates. The amount of Project Item Templates used in a project is not fixed. Project Item Templates are usually added at project setup by use of wizard-like tools, such as the Selection of Entities in BO-Layer projects, or the ASP.NET Project Wizard. During project development Project Item Templates can be added or removed from projects.
Control Template Control templates can be added to the user interface to provide user functionality. Generally control templates are added to GenWise projects to provide advanced functionality not directly available from controls in the underlying framework. For example, the ASP.NET project's control templates provide advanced data binding for ASP.NET web pages.
Property Template Property templates are part of the template hierarchy of control templates. Their task is to map single properties from data source objects to visual and functional elements in the user interface. For example, Browse Templates can be used on pages in ASP.NET projects to display multiple rows from a database table in tabular format. The Browse Template is data bound to a Table Template from the BO-Layer project. It contains property templates to map the table columns to visual columns. The Browse Template does not bind directly to database table columns, but to BO-Layer object properties which encapsulate these, hence the name property templates.
Project Extension Template Project Extension Templates are added to GenWise projects to take care of specific tasks. They extend a project by adding some functionality to it. Examples of extension templates are the BO-Layer project's Unit Testing Template, the ASP.NET project's Unit Testing Template, and the Navigation Model and the Security Model in ASP.NET projects.
Code Template Code Templates generate source code for a specific piece of functionality that is part of project item. Examples of this are the Goto Template and the Email Send Template.
|