Dependency example
By default, all dependencies for an exported item are transferred. The following example illustrates the consequences of transferring dependencies.
Imagine a simple Publication that contains an overview Page with three Components on it, and three individual Pages, one for each Component. On the overview Page, the Components are displayed by applying a 'summary' Component Template, while on the individual Pages, a 'full' Component Template is applied. No Default Page Template is explicitly specified for the Root Structure Group, which means that it uses the Publication's Default Page Template.
Now suppose that you want to export the index page, WidgetOverviewPage. By examining dependencies, you can find out which other items will be migrated. The basic procedure used to check for dependencies is:
- Start with the item you are transferring (in this case, the WidgetOverviewPage).
- Assemble a list of mandatory dependencies and optional dependencies for the current item.
- Go through the full list of dependencies assembled, and for each dependency, search for its dependencies in turn. This procedure continues until all dependencies have been found.
To illustrate the general procedure above, here is what happens when you choose to transfer the WidgetOverviewPage. In this case, the following items are transferred:
- the Page itself (WidgetOverviewPage)
- the Structure Group (Root Structure Group) in which the Page resides (mandatory for Page)
- the Publication (WidgetPublication) in which the Structure Group resides (mandatory for Structure Group)
- the Default Page Template that the Structure Group uses (same as the Default Page Template of the Publication)
- the Default Multimedia Schema, Default Template Building Block, and Default Component Template that the Publication uses (mandatory for Publication; the Default Page Template is already transferred as part of the Structure Group)
- the Multimedia Types that the Default Multimedia Schema uses (mandatory)
- the Page Template (WidgetsPageTemplate) that the Page uses (optional dependency for Page)
- the Approval Status that the Page uses (optional dependency for Page)
- the Folder (Templates) in which the Page Template resides (mandatory for Page Templates)
- the parent Folder (Building Blocks) of the Templates Folder (mandatory for Folders; the Building Blocks' dependecies are already being transferred, or do not apply).
- the Components in Component Presentations (Widget1Component, Widget2Component and Widget3Component) that are on the Page (optional dependency for Page).
- the Folder (Components) in which the Components reside (mandatory for Component). If the Components would have resided in different Folders, each Folder would be transferred. The Components folder's dependencies are already being transferred, or do not apply.
- the Approval Status that the Component uses (optional dependency for Component)
- the Component Template in Component Presentations (WidgetFullComponentTemplate) that is used on the Page (optional dependency for Page). The dependencies for the Component Template are already being transferred, or do not apply.
So, in summary, to transfer the WidgetOverviewPage, you will, by default, transfer the following 15 items:
- WidgetOverviewPage
- Root Structure Group
- WidgetPublication
- Default Multimedia Schema
- Default Template Building Block
- Default Component Template
- Default Page Template
- WidgetsPageTemplate
- Templates folder
- Building Blocks folder
- Widget1Component
- Widget2Component
- Widget3Component
- Components folder
- WidgetFullComponentTemplate
If you configuration uses Template Building Blocks and/or Metadata Schemas, the number of items to transfer becomes even larger.
If you know that certain dependencies are already present on the destination Content Manager to which you are transferring, you may choose to filter those dependencies out of the transfer process.