As I try to migrate an existing Sitecore site over to Helix (specifically focusing on new areas of the site and sublayouts) I'm running into what I believe is contradictory information, or a lack of understanding on my part.
According to 2.5.3. Template Types in the Helix documentation:
Page Type templates are only ever present in the Project layer, as these are the integration points for the functionality in feature and foundation modules. Page Type Templates are therefore maintained in a common folder for a Project, equivalent to a site type. Each page in a site of the given Project type are instances of a Page Type template. This is actually very handy as all page types of a site are maintained in a single location, which can make it easier to manage site-wide changes to all page types.
Which is a bit verbose, but looking at the Habitat Example image (below) makes things a bit clearer and suggests that templates for pages should exist in Sitecore under /sitecore/templates/Project/Site/Page Types.
This seems to be backed up by the Habitat project, so I setup Unicorn serialization accordingly.
However, when reading through the documentation further I see 2.4.1 Item types where it states:
The items in your Sitecore databases can be split, for management and governance purposes, into two main categories: Content Items and Definition Items.
For definition items:
Definition items are items that typically define the configuration or structure of the implementation or which contain metadata for assets in the solutions. These items are owned, i.e. created and managed, in the development environment and moved as part of versioned deployments from development to test to production.
In the Habitat Example section:
Note how in the Habitat example sites, all Feature and Foundation modules almost exclusively contain Definition Items. [...]
The Project layer modules on the other hand consist of a majority of Content items, which are managed by editors.
This suggests to me that the Page Types should belong with the Feature instead.
Am I understanding this correctly, and safe to assume that in the case of page types Helix would recommend those could be created under the Project layer, per 2.5.3?
For the sake of this, the items will be created in Sitecore by a developer, and will have Presentation Details set on their standard values with the basic layout and controls we want on all pages in the section, again in Sitecore.