Part 1 - The BasicsPart 2 - User InterfacePart 3 - TriggersPart 4 - Timer JobsPart 5 - Configuration OverviewPart 6 - Configuration InternalsPart 7 - Variation Hierarchy CreationPart 8 - Creating Page VariantsPart 9 - Creating Site VariantsPart 10 - Restructuring the HierarchyPart 11 - Variations Fixup ToolPart 12 - CustomizationPart 13 - LoggingPart 14 - TroubleshootingPart 15 - "View Changes" ButtonPart 16 - Translation SupportPart 17 - MOSS 2007 vs. SP 2010Part 18 - FAQ
In order to create the hierarchies you first need to configure the variation labels, which should be spawned. At least the source Variation Label has to be configured in order to create the hierarchies.
Important: The creation of the hierarchies will fail if a site exists inside the Variation root site with the same name as one of the variation labels, which is about to be spawned.
The Create Hierarchies button in the UI will create a Scheduled Work Item in the Content Database of the site collection which is later retrieved by the CreateVariationHierarchiesJobDefinition timer job to do the actual creation of the hierarchy.
Per default, the timer job is configured to run once a day between 12 AM and 3 AM - that means a user will usually have to wait until the next day for the hierarchy creation to happen.
Alternatively, a farm administrator can run the job manually at any given time from the central admin site.
Source variation and target variation top sites are always created one level below the variation root site. Each variation top site is using the site template configured when defining the source variation label.
To change the look and feel between the different top sites you can either use a different theme and/or a different master page.
When the variations hierarchy is first created, only the variation top sites are created. Afterwards you can create the sub sites in the variation source hierarchy. Variants of these sites are then created in the target labels - either automatically or manually.
If sites or pages are created directly in a target label, they will not be part of the variation hierarchy and content in these sites and pages will be independent from other labels.
If a new label is added to the variation hierarchy after the variations hierarchy of the source label has been first created, a new top variation site is created for the new label and in addition, (default setting) pages and sites in the source label are automatically variated to the new label.
Creating the variation hierarchy involved three major steps:
Here are more details about the three steps:
The Timer Job first verifies if a page with name VariationRoot.aspx exists in the Pages library of the Variation root site.
If this is not the case, it will create, check-in, publish and approve a new Publishing Page at this location based on the VariationRootPageLayout.aspx page layout, which is part of the SharePoint Server Publishing Infrastructure feature.
The last step is to configure the VariationRoot.aspx page as welcome page for the variation root site.
The Timer Job first verifies if the top site of the source label already exists and will skip the rest of the steps if yes.
After checking that the top site does not exist, it will disable the automatic spawning of new created sites to the target labels to ensure that the Timer Job responsible to perform the site spawning does not pick up the new site while the hierarchy is not fully created.
The next step is to provision a new publishing site based on site template, locale and language configured in the variation settings. The title of the site will be the configured display name of the variation label.
The new site will then be marked as being a member of the variation hierarchy and a new entry for the site is created in the global Relationships List.
Afterwards the new site is configured as variation top site of the label and the hierarchy of the label will be marked as created.
The final step is to re-enable the automatic spawning of new created sites to the target labels.
This is the most complex step as it is possible to add new labels long after the source hierarchy is created and new sites and pages have been added to the source label it is not sufficient to just replicate the variation top site to the target labels.
Depending on the variation settings, it might be necessary to replicate the following information:
The default is to replicate the whole site structure including all pages.
Here is the high-level description of how the replication is done by the timer job. Be aware that some of these operations are also performed in the other timer jobs, which are responsible to replicate only sites or pages:
For each unspawned target label, we perform the following steps:
Note: Be aware that the pages in the target label will not be a one-to-one copy of the pages in the source label. Certain field and properties will not be copied as it has to be possible to have different values in source and target. Here is a list of the fields which are not overwritten when creating/updating a page variant:
Title, Description, StartDate, EndDate, Layout, Audience, Contact, LocalContactName, LocalContactEmail, LocalContactImage, PreviousSpawnSourcePageVersion, FieldId.DocumentId, FieldId.AverageRatings, FieldId.RatingsCount