---
title: "Project template"
source: https://dev.pageseeder.com/reference/glossary/project_template.html
description: "The project template is a configurable set of files that controls group behavior within a project, applying hierarchically from default to global to project-specific templates, with support for document types, labels, email templates, and publish scripts."
last_updated: 2026-09-08T14:02:39+10:00
tokens: ~1090
---

# Project template

The project template is a set of files that configure the behavior of groups within a project.

When you create a new project or group – there is no project template – unless you start customizing [labels](labels.md), or adding [document types](document_type.md). It’s only when you edit the document types that we create the relevant files automatically for you and prefill them.

If you add new document types for that project, we automatically create the project [template folder](template_folder.md) and any related required files and prefill them with sample content to quick start the process.

If you change the labels, we also create the project template folder and the labels file with the labels for that project.

Any file that is created for the project template automatically creates the project template folder.

## How templates are applied

Templates are generally additive and apply from most specific first to least specific – the project template extends the [global template](global_template.md) which extends the [default template](default_template.md).

![Project template hierarchy](/content/reference/glossary/../../images/glossary/project_template_hierarchy.svg)

The *effective project template* is the collection of all the files that are taken into account in the project when you include the default and global template.

To compute the effective template, PageSeeder includes the files from all the applicable templates (default, global and the local project). If some configuration files have the same name and path, the file from the most specific template takes precedence.

> **Tip:** Avoid overriding the [built-in document types](builtin_document_types.md) (default, help, and references) in the default template. It makes it harder to explain the behavior to end-users and might have some unexpected side-effects. Extending them by adding a [Schematron](schematron.md) or custom styles is generally okay.

## Example

![Effective project template](/content/reference/glossary/../../images/glossary/effective_project_template.webp)

## Labels

[Labels](labels.md) are used in many contexts within a project. PageSeeder doesn’t define any default labels – the labels configuration in the default template is empty. Use the global template to define labels to use everywhere in PageSeeder.

If you define both global template labels and project template labels, the project template labels override the global template labels.

## Email templates

[Email templates](../../guide/configuration/emails.md) let you change the content, wording, and style of the emails sent by PageSeeder.

> **Tip:** If you only need to customize the branding of your emails (logo, color scheme, styles, footer or domain), use the [organization](organization.md) configuration.

If the project template is the global template, then PageSeeder uses these custom email templates instead of the default ones.


If you define template emails for non-project specific notifications (for example, to change password) on a project that isn’t the global template, you need to specify the project template in API requests, otherwise, PageSeeder uses the global or default template.


## Publish scripts

[Publish scripts](publish_script.md) let you define publish, export and import actions for your project.

> **Note:** The **publish scripts page** only shows scripts defined in the current project template, not the global or default templates.

## Template configuration

The template configuration includes:

- [Document types](document_type.md) (for PSML document).
- [Media types](media_type.md) (for non-PSML document).
- [URL types](../../guide/configuration/url_types.md) – global template only.
- [Publication types](references_document.md)
- [Schematron](schematron.md) validation patterns.
- [Xref types](../../guide/configuration/psml/psml_xref_config.md)

## Template files

If you’re an administrator, you can view and manage the template files directly on the **template configuration page**.

If you add a new document type for the project, PageSeeder automatically creates a folder and any related required file, and prefills them with sample content to quick start the process.

For example, if you change the labels, we also create a `label` folder and the `label-config.xml` file with the labels for that project.

