Post on 18-Jun-2015
transcript
#Biwug3011
Intro to MUI and Variations in SharePoint 2010
Presented by Joris Poelmans
#Biwug3011
About the speaker
• Joris.Poelmans@biwug.be• ECM Unit Manager at RealDolmen• Twitter: jopxtwits• Blog: http://jopx.blogspot.com
#Biwug3011
Agenda
Introducing MUI
Playing around with MUI
Variations or MUI or … both
#Biwug3011
Multilingual User Interface (MUI)
• Improvement in SPS2010• Sites can have Alternate Languages• Focus on “Chrome” not on “Content”– Ribbon, navigation, branding
• Language preference is a per user setting• Powered by Language Packs• Site (Web) scoped
#Biwug3011
#Biwug3011
Language Packs
• Two types of Language Packs– Server Language Packs http://
www.microsoft.com/download/en/details.aspx?displaylang=en&id=3411
– Foundation Language Packs http://www.microsoft.com/download/en/details.aspx?id=4731
• Run PSConfig(UI) after all packs are installed
• Installation screens in language of the Language Pack
• For installation on Windows 7 – extract language pack and modify config.xml - http://jopx.blogspot.com/2011/11/how-to-install-sharepoint-server-2010.html
#Biwug3011
Multilingual User Interface (MUI)
• Not all site templates support MUI– E.g. Blog, Meeting workspace– IsMultingual = False
• Use Powershell to enable alternate languages for a complete site collection/web application,
#Biwug3011
#Biwug3011
Agenda
Introducing MUI
Playing around with MUI
Variations or MUI or … both
#Biwug3011
MUI and Managed Metadata• Terms can have Alternate Languages• Edit via Term Store Management• Out of the box import does not support
multiple languages– Use Powershell– Use SharePoint Object Model
#Biwug3011
MUI and Language Selection in the PersonalActions Control
• Switch LCID using Javascript
• Language selection driven by cookie
function ChangeMUI(value){var today = new Date();var oneYear = new Date(today.getTime()+ 365*24*60*60*1000);var url = window.location.href;document.cookie = "lcid=" + value + ";path=/;expires=" + oneYear.toGMTString();window.location.href = url;
}
#Biwug3011
MUI SupportType of Content Examples Supported?
Settings & Help 1. Settings Pages (_layouts, _admin)2. Help3. Images
Supported
Application Content 1. Menus2. Controls3. Custom Actions4. Web (Title, Description, Icon Description)5. List (Title, Description)6. Top Link Bar (Links)7. Quick Launch (Links, Headings)8. Global Breadcrumb9. Local Breadcrumb10. Managed Metadata (Taxonomy)11. Site Content Types (Name, Description, Groups)12. List Content Types (Name, Description)13. Site Columns (Name, Description, Groups)14. List Columns (Name, Description)
Supported
Developer Content 1. Features2. Solutions Supported
User Content 1. Content2. Permission Levels3. Groups4. Views5. OOB Web Part (Title, Appearance)6. Custom Properties7. Search refiners
NOT Supported
#Biwug3011
Some remarks about multilingual & MUI
• No need to install Windows Language Pack – not even for complex Character Sets such as Mid Eastern and East-Asian Languages (pre-RTM advise)
• You cannot enable support for alternate languages on a site that uses customized CSS files.
• Search refiners are “broken” in multilingual scenarios.
#Biwug3011
Agenda
Introducing MUI
Playing around with MUI
Variations or MUI or … both
#Biwug3011
Variations vs MUI
• Multi-lingual User Interfaces (MUI)– Chrome language changes– Content does not change
• Multi-lingual Sites (Variations)– Chrome language changes– Content changes
#Biwug3011
Variations – Core Concepts
• Variations are an infrastructure plumbing feature to enable multi-lingual sites– Enabled via Hidden Lists, Event Receivers, Timer
Jobs– Uses WCM Publishing Features (SharePoint Server
only)
#Biwug3011
Variations Terminology
• Variation Home– Location where Variations are created– Welcome page replaced with VariationRoot.aspx
(VariationRootPageLayout.aspx) upon hierarchy creation• Variation Labels
– Name given to each Variation Site• Variation Root
– Location where content is originally created– Default location in case of no browser match
• Relationships List– Contains tracking information about each page and site in the
variation hierarchy
#Biwug3011
Variations – inner workings
• Used event handlers– ItemAdded, ItemUpdated,ItemCheckedIn,
ItemDeleting and ItemDeleted event on Pages Library
– FeatureActivated, FeatureDeactivating, WebDeleting, WebMoving, WebMoved event on PublishingWeb
See SharePoint Variations – The Complete Guide – Part 3 – Triggers (Blog Stefan Gossner)
#Biwug3011
Variations – Inner workings – Timer Jobs
See SharePoint Variations – The Complete Guide – Part 4 – Timer Jobs (Blog Stefan Gossner)
#Biwug3011
Variations - Planning
• Design up front• Think about– Language Pack– Hierarchy creation– Navigation impact– Redirection Logic– Impact on search– Translation process
#Biwug3011
Variations and Language Packs
• LPs provide localized Site Templates• NOT a requirement for Variations– Easier for content authors/editors
#Biwug3011
Page Propagation
• Automatic Creation– Automatically propagate site and page variations when site is
created or page is published• Manual Creation
– Manually propagate sites and pages• On-Demand Propagation (New SPS2010)
– “Hybrid” approach allowing automatic site creation with manual page updates
– Requires Powershell (or OM) to enable
#Biwug3011
Propagation UI elements
#Biwug3011
On demand Propagation - PowerShell
#Biwug3011
Variations - Improvements in 2010
• Hierarchy creation– Executes in background with Timer Service (2007
within W3WP.exe process)– Default frequency 1 Hour– 100 work items per timer job execution– Variations Fix Up tool (introduced with 2007 SP2)
• Version differencing– View Changes button
#Biwug3011
Variations – Improvements in 2010
• Flexible Propagation– On-demand propagation– Avoids “overwriting” of target pages
#Biwug3011
Redirection Logic
• VariationRoot.aspx– Redirects based on Browser Language– Typically customized
• Avoid Variations Label Menu Control– Deprecated in SharePoint Server 2010
• Avoid external redirection – confuses Variations redirection
#Biwug3011
Variations - Things to think about
• Plan it carefully• Use a variation Home outside the Site root– Avoids all content being translated
• Implement variation aware web parts– Implement IWebPartVariationUpdate
#Biwug3011
References
• Must reads – Understanding the Multilingual User Interface (MUI)
on MSDN http://msdn.microsoft.com/en-us/library/ff800886.aspx
– SharePoint Variations – The Complete Guide Triggers (Blog Stefan Gossner)
– JOPX on MUI• Credits to @harbars (Spence Harbar) for
providing initial slides and feedback on questions
#Biwug3011