BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

37
SharePoint 2010 Variations Internals Pascal Benois, Premier Field Engineer Jim Bienstman, Premier Field Engineer

Transcript of BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Page 1: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 2: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Variations are not for multilingual sites only.

Page 3: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

SharePoint Variations :the idea behindMultilingual sites

Multiple Devices

Coordinating Content Creation and Update

Accuracy of Content

Page 4: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Session Agenda

Variations Fundamentals

The Hierarchy

Customization

TroubleshootingTroubleshooting

Customization

HierarchyFundamentals

Page 5: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Terminology.

Page 6: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Terminology

Variation Hierarchy

Variation Root Site

Variation Labels

Page 7: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Terminology

Variation Top Site

Variation Pages

Page Variants

Page 8: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Terminology

Variation Group

Relationships List

Page 9: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 10: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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.

Page 11: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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.

Page 12: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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.

Page 13: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Variations Timer Jobs

Variations Create Hierarchies Job Definition

Variations Create Page Job Definition

Variations Create Site Job Definition

Page 14: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Variations Timer Jobs

Variations Propagate Page Job Definition

Variations Propagate Site Job Definition

Page 15: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

WSS timerjob framework

SPJobDefinition

SPPausableJobDefinition

SPWorkItemJobDefinition

Page 16: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Variation Timer Jobs FrameworkAll variation timer jobs implement the SPWorkItemDefinition class

Page 17: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

The bad…

SharePoint 2010 does not provide any variation specific powershell CmdLets

Not possible to create variation labels in a supported way programmatically

Page 18: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Variation Root Concepts

Variation Root Site

Pages LibraryWelcome Page

default.aspx

VariationRoot.aspx

Page Layout

VariationRootPageLayout.aspx

VariationRootLanding.ascx

Page 19: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Customization.

Page 20: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Customizing the Variation Root logicDirectly edit the VariationsRootLanding.ascx

Use a copy of the VariationsRootLanding.ascx

Move logic directly into the VariationRootPageLayout.aspx

Page 21: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 22: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 23: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 24: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 25: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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?

Page 26: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Troubleshooting.

Page 27: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Common type of problems

Variation Hierarchy is not created

Automatic Page/Site propagation does not work

Manual Page/Site propagation does not work

Page 28: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Common type of problems

Variation Label menu does not show correct results

Variation landing page redirection does not work correctly

Page 29: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Troubleshooting propagation issuesIsolate if worker process or timerjob

Troubleshoot propagation problems in variation timerjobs

Troubleshooting propagation problems in the worker process

Page 30: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Troubleshooting Variation Label Menu

The variation labels menu never shows up

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

Page 31: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Routing problems

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

Page 32: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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

Page 33: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Multilingual sites

Multiple Devices

Coordinating Content Creation and Update

Accuracy of Content

SharePoint Variations :the idea behind

Page 34: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Variations are not for multilingual sites only.

Page 35: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

Some challenges ?

Page 36: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

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 ?

Page 37: BIWUG on SharePoint 2010 Multilingual Solutions (Variations) Deep Dive

© 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/