BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Preview:

Citation preview

SharePoint 2010 Variations InternalsPascal Benois, Premier Field EngineerJim Bienstman, Premier Field Engineer

Variations are not for multilingual sites only.

SharePoint Variations :the idea behindMultilingual sites

Multiple Devices

Coordinating Content Creation and Update

Accuracy of Content

Session Agenda

Variations Fundamentals

The Hierarchy

Customization

TroubleshootingTroubleshooting

Customization

HierarchyFundamentals

Terminology.

Terminology

Variation Hierarchy

Variation Root Site

Variation Labels

Terminology

Variation Top Site

Variation Pages

Page Variants

Terminology

Variation Group

Relationships List

Where are the settings stored ?Property bag of root site of site collectionProperty bag of root folder of root site of site collectionProperty bag of root folder of Relationships ListList Items in Relationships ListList Items in Variation Labels ListProperty bag of sites in the Variation HierarchyFields of pages in the Variation Hierarchy

Variation Triggers

ItemAdded event on Pages LibraryUsed to restore and update relationships list entries in case that a publishing page was restored from the recycle bin.

ItemUpdated event on Pages LibraryUsed to trigger the peer page creation and peer page update if automatic content creation and propagation is enabled for Pages libraries which have minor versions and/or content moderation enabled.

ItemCheckedIn event on Pages LibraryUsed to trigger the peer page creation and peer page update if automatic content creation and propagation is enabled for Pages libraries which have minor versions and content moderation disabled.

ItemDeleting event on Pages LibraryUsed to collect the variation group id information from a publishing page which is about to be deleted to make it available in the ItemDeleted event firing after the delete operation.

Variation Triggers

ItemDeleted event on Pages LibraryUsed to update the relationships list entries for deleted and recycled publishing pages.

If a publishing page which resided in the source variation label is deleted or recycled then all relationships list entries referencing the variation group of the deleted/recycled page are recycled as well.

If a publishing page which resided in a target variation label was deleted or recycled then its relationships list entry is marked as deleted by setting the value of the "Deleted" column of the relationships list entry to "Yes".

In case of a restore of such a page from the recycle bin, these actions have to be reverted.

FeatureActivated event on PublishingWebUsed to trigger source site variation to target labels when the Publishing feature is activated on a site. This happens as well when a new Publishing site is provisioned or if the feature is manually activated on a site.

Variation Triggers

FeatureDeactivating event on PublishingWebUsed to delete the relationship list entry and the variation specific properties when deactivating the publishing feature on a site.

WebDeleting event on PublishingWebUsed to cancel a delete operation in case that the site being deleted is the variation root site (if spawned labels exist) or a Variation Top site. In addition, the variation system uses this event to clean up the relationship list items for the deleted site and its pages.

WebMoving event on PublishingWebUsed to cancel the move operation in case that the site being moved is a variation top site, as moving a Variation Top site would destroy the variation label it belongs to.

WebMoved event on PublishingWebUsed to trigger source site variation to target labels if a site is moved from outside into the source variation hierarchy. In addition, it will maintain the information in the relationship list in case that a site is moved out of a variation label.

Variations Timer Jobs

Variations Create Hierarchies Job Definition

Variations Create Page Job Definition

Variations Create Site Job Definition

Variations Timer Jobs

Variations Propagate Page Job Definition

Variations Propagate Site Job Definition

WSS timerjob framework

SPJobDefinition

SPPausableJobDefinition

SPWorkItemJobDefinition

Variation Timer Jobs FrameworkAll variation timer jobs implement the SPWorkItemDefinition class

The bad…

SharePoint 2010 does not provide any variation specific powershell CmdLets

Not possible to create variation labels in a supported way programmatically

Variation Root Concepts

Variation Root Site

Pages LibraryWelcome Page

default.aspx

VariationRoot.aspx

Page Layout

VariationRootPageLayout.aspx

VariationRootLanding.ascx

Customization.

Customizing the Variation Root logicDirectly edit the VariationsRootLanding.ascx

Use a copy of the VariationsRootLanding.ascx

Move logic directly into the VariationRootPageLayout.aspx

Copy VariationsRootLanding.ascxBenefit: • Easy update by editing the file on the

file system• Each site collection can have a different

logic

Caveats:• Changes have to be done on all WFEs• VariationRootPageLayout.aspx has to be

update to change the reference to the user control

Edit the VariationsRootLanding.ascxBenefit: • Quickest way to edit the logic

Caveats:• All site collections in the farm will use

the same logic • Changes have to be done on all WFEs

Move logic directly into VariationRootPageLayout.aspxBenefit: • Only one place to adjust the logic

Caveats:• Web.config has to be modified to allow

inline code• Changes to the logic require SharePoint

designer or similar methods

Optional additional steps

Move logic into custom assembly

Deploy using a solution into the GAC

Logic can be referenced from user control or page layout without allowing inline code

Customization: questions

How is the variation labels menu integrated into the master page?

Which page layout is used for the VariationRoot.aspx?

How can you configure a specific logic for the variation root landing page for just one single site collection?

Troubleshooting.

Common type of problems

Variation Hierarchy is not created

Automatic Page/Site propagation does not work

Manual Page/Site propagation does not work

Common type of problems

Variation Label menu does not show correct results

Variation landing page redirection does not work correctly

Troubleshooting propagation issuesIsolate if worker process or timerjob

Troubleshoot propagation problems in variation timerjobs

Troubleshooting propagation problems in the worker process

Troubleshooting Variation Label Menu

The variation labels menu never shows up

The variation labels menu does not show links to all existing peers

Routing problems

• Variation label definition• Relationship between variation peers• Permissions• Browser configuration • Logic of the landing page

ULS logs

Content Deployment and Migration API (PRIME)SharePoint Foundation\Content MigrationSharePoint Foundation\Topology

Variations FeatureWeb Content Management\Site ManagementWeb Content Management\PublishingWeb Content Management\Publishing Provisioning

Multilingual sites

Multiple Devices

Coordinating Content Creation and Update

Accuracy of Content

SharePoint Variations :the idea behind

Variations are not for multilingual sites only.

Some challenges ?

Where are configuration settings stored ?Which events trigger the creation of peer pages ?Which is the most important ULS log category for variation related issues ?How is the variation labels menu integrated into the master page ?Which page layout is used for the VariationRoot.aspx ?How can you configure a specific logic for the variation root landing page for just one single site collection ?

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

http://www.microsoft.be/careers/

Recommended