SlideShare a Scribd company logo
Share point 2010-uiimprovements
User Interface Improvements and Extensibility in SharePoint 2010NameTitleCompany
AgendaIntroducing the new User ExperienceRibbonStatus bar and notificationsDialog FrameworkSites as Collections of PagesThemes
Introducing the new User ExperienceHow does it work and what has been changed?
SharePoint 2007 Command SurfaceCommands EVERYWHERE
SharePoint 2007 user experiencePage reloads and navigationsMicrosoft Confidential
SharePoint 2007 Web Part InteractionWeb part interaction is a tradeoff between limited functionality and visual clutter (summary versus full toolbar).
SharePoint 2007 Page Editing“Page editing forces SharePoint complexities on contributors (e.g., web parts and web part zones) for even simple tasks like adding text or images to a page.”
The SharePoint 2010 User Interface
How is it implemented and how can be extend it?Ribbon
The Server Ribbon
Ribbon designFixed position at top of page – doesn’t scroll out of viewContextual tab modelCommand preview (e.g., Font Size)Dynamic scaling/layout of commandsSuper tool tips
Ribbon controlsOut of the BoxNot in the Box, but…ButtonSplit button menuStaticStatedDrop down & Flyout menusCustomizableHierarchicalCheckboxToggleButtonLabelTextboxCombo boxSpinnerTable controlColor pickerIn-Ribbon gallery controlDrop down grids can give same functionalityCan also “fake” it with buttons in the Ribbon
Ribbon architectureAsynchronous JavaScript & XMLServer or Client renderedOn-demand JavaScriptCSS layout, styling, and hover effectsNo tablesClustered images reduce round trips to server
Ribbon extensibilityFully extensibleRemove any of the OOB controlsAdd new controls anywhere in the RibbonPotential to replace the Ribbon entirelyBackwards compatibleCustom Actions added to Toolbars in v3 will automatically show up in the “Custom Commands” tab in the RibbonAdding a control to the Ribbon:Ribbon XML defines the UI of the controlSimple behavior can be defined declaratively alongside Ribbon XML, more complicated behavior requires a JavaScript Page Component
Adding a Ribbon ControlCMDUI.XMLPage with the RibbonOn Web Front EndContains OOB site wide Ribbon ImplementationPage ComponentJavaScriptHandles controlCustom Action<CustomAction    Location = (somewhere in Ribbon)   Scope = (Farm to Web)   <CommandUIExtension>      <CommandUIDefinitions />      <CommandUIHandlers />   </CommandUIExtension></CustomAction>Merged into CMDUIIF present, added to page to handle command ELSEPage Component must be added separately
Example Code to Add a Ribbon ButtonWhere?What?Action
Adding button to oob groupWith out of the box ribbon groupsOOB locations are in CMDUI.XMLRibbon.[Tab].[Group].Controls._childrenDefined in Location attributeExample location for addRibbon.Documents.Manage.Controls._children
Multi-Level TargetingWeb parts can provide functionalities to RibbonFor example out of the box list views
Adding a Button to the Ribbondemo
How to indicate actions for the end users?Status bar and notifications
Status Bar/Notification AreaGives the user information in context without distracting themStatus bar should be used to display persistent information such as page status or versionNotifications is used for transient or semi-transient messagesStatus BarNotification
Status BarDesign:Shown below RibbonWill display 1 of 4 pre-set background colors depending on importancePriority – Red, Yellow, Green, BlueExtensibilityJavaScript API to add/remove messages and specify message colorServer API for statuses set at page render timeMessage is HTML and can include links and imagesWhen multiple message colors are specified, bar will take the most “important” color
Status API codeDifferent JavaScript API’s available for message manipulationStatus APIs:SP.UI.Status.addStatus(strTitle, strHtml, atBeginning)SP.UI.Status.updateStatus(sid, strHtml)SP.UI.Status.removeStatus(sid)SP.UI.Status.removeAllStatus(hide)SP.UI.Status.setStatusPriColor(sid, strColor)SP.UI.Status.appendStatus(string StatusID,                        string Title, string Msg)
ExampleAdding and removing messages
Server side handling of statusStatus messages can be defined also from the code behind using Microsoft.SharePoint.WebControls.SPPageStatusSettercontrol
Notifications AreaDesign:Appears on the right side of the page underneath the RibbonBy default message will last 5 secondsExtensibilityJavaScript API to add/remove messagesMessage is HTML and can include links/iconsOptional “sticky” parameter can be set if caller wishes to manually remove the message
APIs and exampleNotification APIs:SP.UI.Notify.addNotification(strHtml, bSticky, tooltip,                          onclickHandler)SP.UI.Notify.removeNotification(id)
Status Bar and Notification Areademo
How to utilize the dialog framework?Dialog framework
Dialog PlatformKeep the User in ContextReloading pageV3 UI
Dialog PlatformKeep the User in ContextV4 UI
Dialog Framework designReduce page transitions/keep user in contextContents load in an iframe inside a floating divDialogs are modalAllow dragging within browser windowCan be maximized to size of browser window
Dialog Framework extensibilityJavaScript API to control dialogsContents can be a page (URL) or DOMElementOptional parameters to set title, width, height, whether or not to launch maximized, etc.“Autosizing” applied if height or width is not givenDesign a page once to display both inside a dialog and as a full pageCSS class “s4-notdlg” can be used to hide UI when a page is shown within a dialog
Example Dialog CodeWe can start the dialog with different options and also get return values from the dialog:
Call back from client sideWe can transfer return values back to caller and indicate the user behavior
Call back from server sideWe can process code in the dialog and return the user back to primary window by adding following after code has been executed:
Dialog Frameworkdemo
How the page model is evolving? Sites as Collections of Pages
sites are collections of pages
Pages Everywhere1Every team site has a pages libraryCreate a new page with a single clickJust enter a nameReady to go[[Wiki Linking]] to PagesListsItemsDocuments23
Edit Like in WordSingle click editing experienceTransition to edit is quick and seamlessType into page and format text like in WordFull set of rich text controls for formatting and layoutStreamlined insert experience for images, linksAsset library
Safe and simple editingEdit\Stop Editing – no promptsWhoops ProtectionRich Text Editor has undo stackVersioning turning on, in case you want to revert
Master Pages
Branded Application PagesApplication pages are using system master pageUses new tags dynamically associate system master page (either custom or system)Applies also to custom application pages
Master page developmentSharePoint 2010 uses superset of place holders from 2007There’s few new place holders addedBiggest change on markup is the existance of RibbonNo need for page editing tool bar etc.
Multi-Lingual InterfaceDisplay one site in multiple languagesLanguage Pack basedDefault language set during provisioningAlternative language set by end-userOM SupportObviously does not translate the actual content
Standards CompliancyStandards-based rendering using XHTMLNo quirks modeCross-BrowserTier 1 support: IE, FirefoxTier 2 support: SafariWCAG 2.0 AANew Rich Text Editor supporting XHTML.
Simple.master usage and application page brandingdemo
How to change the user interface look and feel using themesThemes
Theming engineUses *.thmx file format – can be generated by client Office programsParses CSS for comment-style markup, replaces colors/fonts and recolors images as directedAutomatically generates new CSS for each theme when it is appliedAutomatically populates theme list from Theme Gallery filesCan be easily deployed also using feature
How The Theming Engine Works?ThemeWeb.aspxStyle LibraryXMLCSSPNGCSSPNGAutomatically PopulatesTHMX File 12 Colors
 2 FontsNEWNEWNEWUser Clicks ApplyLocated on file system or in database in themable locations – includes 3rd party CSS in same locationsColors and fonts in originals are replaced by those specified in the THMX per annotation in CSS filesAnnotated CSS FileNEWCSS File
Example Theming Markup/* [ReplaceColor(themeColor:"Light1")] */background-color:#fff;/* [ReplaceColor(themeColor:"Light2",themeShade:"0.02")] */ border:1px solid #f1f1f2;/* [RecolorImage(themeColor:"Accent6",method:"Tinting")] */ background-image:url("/_layouts/images/selectednav.gif");/* [RecolorImage(themeColor:"Accent6-Darker",method:"Tinting", includeRectangle:{x:0,y:322,width:1,height:22})] */ background:url("/_layouts/images/bgximg.png");
Deployment and activationFeature xml and code to activate theme automatically
Themingdemo
SummaryIntroducing the new User ExperienceRibbonStatus bar and notificationsDialog FrameworkSites as Collections of PagesThemes
Share point 2010-uiimprovements

More Related Content

What's hot (20)

PPTX
Share point overview
Muhammad Younis
 
PPTX
SharePoint 2013 features overview
Qasim Mehmood MBA-PM
 
PPTX
Sharepoint 2010 overview - what it is and what it can do
Faisal Masood
 
PPTX
Jordan Remix - SharePoint 2010
Jordan Remix
 
PPTX
Introduction to SharePoint 2013
girish goudar
 
PPT
Introduction to SharePoint 2013
Folio3 Software
 
PPT
Web Page Composer Webinar
richaroy
 
PPTX
Introduction to SharePoint 2013
Shahbaz Ahmer
 
PPTX
SharePoint 2013 overview jeremy thake
Jeremy Thake
 
PPTX
Share point 2010 overview
MJ Ferdous
 
PDF
Microsoft SharePoint 2013 Overview from Atidan
David J Rosenthal
 
PDF
SharePoint 2010 - Was ist neu, was wird besser!
GFU Cyrus AG
 
PPTX
SharePoint 2010 For Business
Sparked
 
PPTX
Top 10 in SharePoint 2013
Cory Peters
 
PPTX
Chris givens building custom service applications
Chris Givens
 
PPT
10 Ways SharePoint 2010 Will Impact your Notes Migration
Joel Oleson
 
DOCX
Anusha Padala
Anusha padala
 
PDF
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
Netwoven Inc.
 
PPTX
Sharepoint 2013 upgrade process
LiquidHub
 
PPTX
Introduction to SharePoint 2013 by Michael Blumenthal
Michael Blumenthal (Microsoft MVP)
 
Share point overview
Muhammad Younis
 
SharePoint 2013 features overview
Qasim Mehmood MBA-PM
 
Sharepoint 2010 overview - what it is and what it can do
Faisal Masood
 
Jordan Remix - SharePoint 2010
Jordan Remix
 
Introduction to SharePoint 2013
girish goudar
 
Introduction to SharePoint 2013
Folio3 Software
 
Web Page Composer Webinar
richaroy
 
Introduction to SharePoint 2013
Shahbaz Ahmer
 
SharePoint 2013 overview jeremy thake
Jeremy Thake
 
Share point 2010 overview
MJ Ferdous
 
Microsoft SharePoint 2013 Overview from Atidan
David J Rosenthal
 
SharePoint 2010 - Was ist neu, was wird besser!
GFU Cyrus AG
 
SharePoint 2010 For Business
Sparked
 
Top 10 in SharePoint 2013
Cory Peters
 
Chris givens building custom service applications
Chris Givens
 
10 Ways SharePoint 2010 Will Impact your Notes Migration
Joel Oleson
 
Anusha Padala
Anusha padala
 
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
Netwoven Inc.
 
Sharepoint 2013 upgrade process
LiquidHub
 
Introduction to SharePoint 2013 by Michael Blumenthal
Michael Blumenthal (Microsoft MVP)
 

Viewers also liked (16)

PDF
Share point 2013 coding standards and best practices 1.0
LiquidHub
 
PPTX
Managing metadata in_share_point_2010
LiquidHub
 
PDF
XML Bible
LiquidHub
 
PPT
X Path
Kunal Gaind
 
PPT
XMLT
Kunal Gaind
 
PDF
XML Namespaces
Hoang Nguyen
 
PPT
Xml
Kunal Gaind
 
PPT
XSD
Kunal Gaind
 
PPT
4 xml namespaces and xml schema
gauravashq
 
PPT
ДНЗ № 189 ( круглый стол)
olchik_p
 
DOC
Deployment For Wss3
LiquidHub
 
PDF
Overviewofthe2007 Microsoft Office System Components Refresh
LiquidHub
 
DOC
( 5 ) Office 2007 Create A Business Data Catolog
LiquidHub
 
PDF
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
 
PDF
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 
PDF
Hype vs. Reality: The AI Explainer
Luminary Labs
 
Share point 2013 coding standards and best practices 1.0
LiquidHub
 
Managing metadata in_share_point_2010
LiquidHub
 
XML Bible
LiquidHub
 
X Path
Kunal Gaind
 
XML Namespaces
Hoang Nguyen
 
4 xml namespaces and xml schema
gauravashq
 
ДНЗ № 189 ( круглый стол)
olchik_p
 
Deployment For Wss3
LiquidHub
 
Overviewofthe2007 Microsoft Office System Components Refresh
LiquidHub
 
( 5 ) Office 2007 Create A Business Data Catolog
LiquidHub
 
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
 
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 
Hype vs. Reality: The AI Explainer
Luminary Labs
 
Ad

Similar to Share point 2010-uiimprovements (20)

PPTX
SharePoint 2010 For Developers
Sparked
 
PPTX
Share point 2010_day3
Narayana Reddy
 
PPTX
"Developing with the New User Interface Features in Microsoft SharePoint Serv...
Tihomir Ignatov
 
PPTX
Leveraging the Ribbon API and Dialog Framework
Cory Peters
 
PPTX
SharePoint Saturday Philly - Intro to SharePoint 2010 Branding
Thomas Daly
 
PDF
Chapter10 web
READIFY
 
PPTX
Branding & Design Opportunities/Challenges with SharePoint 2013
Marius Constantinescu [MVP]
 
PPTX
What’s New for Devs
MicrosoftFeed
 
PPTX
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
Ivan Sanders
 
PPTX
Broaden your dev skillset with SharePoint branding options
Eric Overfield
 
PPT
Decoding the Web
newcircle
 
PDF
SPUnite17 Become a Developer Hero by Building Office Add ins
NCCOMMS
 
PPTX
Designing SharePoint 2010 for Business
Kanwal Khipple
 
PPTX
High-Speed Development with the AJAX Control Toolkit
goodfriday
 
PPT
Asp
yuvaraj72
 
PPTX
Your Road to Modern Communication Sites
D'arce Hess
 
DOC
Sharepoint 2010 content
Smartittrainings
 
PPT
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG
 
PPTX
What's New for SP2010 Devs
Mohamed Yehia Abdul Kader
 
PPTX
Intro to SharePoint for Developers
Rob Wilson
 
SharePoint 2010 For Developers
Sparked
 
Share point 2010_day3
Narayana Reddy
 
"Developing with the New User Interface Features in Microsoft SharePoint Serv...
Tihomir Ignatov
 
Leveraging the Ribbon API and Dialog Framework
Cory Peters
 
SharePoint Saturday Philly - Intro to SharePoint 2010 Branding
Thomas Daly
 
Chapter10 web
READIFY
 
Branding & Design Opportunities/Challenges with SharePoint 2013
Marius Constantinescu [MVP]
 
What’s New for Devs
MicrosoftFeed
 
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
Ivan Sanders
 
Broaden your dev skillset with SharePoint branding options
Eric Overfield
 
Decoding the Web
newcircle
 
SPUnite17 Become a Developer Hero by Building Office Add ins
NCCOMMS
 
Designing SharePoint 2010 for Business
Kanwal Khipple
 
High-Speed Development with the AJAX Control Toolkit
goodfriday
 
Your Road to Modern Communication Sites
D'arce Hess
 
Sharepoint 2010 content
Smartittrainings
 
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG
 
What's New for SP2010 Devs
Mohamed Yehia Abdul Kader
 
Intro to SharePoint for Developers
Rob Wilson
 
Ad

More from LiquidHub (20)

DOC
Simple Farm Server Deployment
LiquidHub
 
DOC
Pre Install Databases
LiquidHub
 
DOC
Moss 2007 Deployment Detail
LiquidHub
 
PDF
Moss 2007 Backup Strategies
LiquidHub
 
PDF
How To Configure Email Enabled Lists In Moss2007 Rtm Using Exchange 2003
LiquidHub
 
RTF
Bdc Screens
LiquidHub
 
DOCX
Bdc Screens
LiquidHub
 
PDF
5060 A 01 Demonstration Steps
LiquidHub
 
PDF
5060 A 01
LiquidHub
 
DOC
Working With Infopath 2007
LiquidHub
 
PDF
Whats New In Microsoft Windows Share Point Services Feature Walkthrough
LiquidHub
 
PDF
Organizingand Finding Resourceswith Office Share Point Server2007 Refresh
LiquidHub
 
PDF
Organizingand Finding Resourceswith Office Share Point Server2007
LiquidHub
 
PDF
Office Share Point Server2007 Functionaland Architectural Overview
LiquidHub
 
PDF
Office2007 Overview Express
LiquidHub
 
PDF
Moss2007 Installation Configuration
LiquidHub
 
PDF
Moss2007 Enterprise Features Administration
LiquidHub
 
PDF
Microsoft Windows Share Point Services Installation Configuration
LiquidHub
 
PDF
Introductionto Windows Share Point Services3.0
LiquidHub
 
PDF
Introducing Content Types Microsoft Windows Share Point Services
LiquidHub
 
Simple Farm Server Deployment
LiquidHub
 
Pre Install Databases
LiquidHub
 
Moss 2007 Deployment Detail
LiquidHub
 
Moss 2007 Backup Strategies
LiquidHub
 
How To Configure Email Enabled Lists In Moss2007 Rtm Using Exchange 2003
LiquidHub
 
Bdc Screens
LiquidHub
 
Bdc Screens
LiquidHub
 
5060 A 01 Demonstration Steps
LiquidHub
 
5060 A 01
LiquidHub
 
Working With Infopath 2007
LiquidHub
 
Whats New In Microsoft Windows Share Point Services Feature Walkthrough
LiquidHub
 
Organizingand Finding Resourceswith Office Share Point Server2007 Refresh
LiquidHub
 
Organizingand Finding Resourceswith Office Share Point Server2007
LiquidHub
 
Office Share Point Server2007 Functionaland Architectural Overview
LiquidHub
 
Office2007 Overview Express
LiquidHub
 
Moss2007 Installation Configuration
LiquidHub
 
Moss2007 Enterprise Features Administration
LiquidHub
 
Microsoft Windows Share Point Services Installation Configuration
LiquidHub
 
Introductionto Windows Share Point Services3.0
LiquidHub
 
Introducing Content Types Microsoft Windows Share Point Services
LiquidHub
 

Recently uploaded (20)

PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PPTX
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
PDF
Council of Chalcedon Re-Examined
Smiling Lungs
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PPTX
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
PPTX
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PPTX
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
PPTX
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PDF
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
PPTX
infertility, types,causes, impact, and management
Ritu480198
 
PDF
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
epi editorial commitee meeting presentation
MIPLM
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
Difference between write and update in odoo 18
Celine George
 
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
Council of Chalcedon Re-Examined
Smiling Lungs
 
Introduction to Indian Writing in English
Trushali Dodiya
 
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
infertility, types,causes, impact, and management
Ritu480198
 
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
epi editorial commitee meeting presentation
MIPLM
 

Share point 2010-uiimprovements

  • 2. User Interface Improvements and Extensibility in SharePoint 2010NameTitleCompany
  • 3. AgendaIntroducing the new User ExperienceRibbonStatus bar and notificationsDialog FrameworkSites as Collections of PagesThemes
  • 4. Introducing the new User ExperienceHow does it work and what has been changed?
  • 5. SharePoint 2007 Command SurfaceCommands EVERYWHERE
  • 6. SharePoint 2007 user experiencePage reloads and navigationsMicrosoft Confidential
  • 7. SharePoint 2007 Web Part InteractionWeb part interaction is a tradeoff between limited functionality and visual clutter (summary versus full toolbar).
  • 8. SharePoint 2007 Page Editing“Page editing forces SharePoint complexities on contributors (e.g., web parts and web part zones) for even simple tasks like adding text or images to a page.”
  • 9. The SharePoint 2010 User Interface
  • 10. How is it implemented and how can be extend it?Ribbon
  • 12. Ribbon designFixed position at top of page – doesn’t scroll out of viewContextual tab modelCommand preview (e.g., Font Size)Dynamic scaling/layout of commandsSuper tool tips
  • 13. Ribbon controlsOut of the BoxNot in the Box, but…ButtonSplit button menuStaticStatedDrop down & Flyout menusCustomizableHierarchicalCheckboxToggleButtonLabelTextboxCombo boxSpinnerTable controlColor pickerIn-Ribbon gallery controlDrop down grids can give same functionalityCan also “fake” it with buttons in the Ribbon
  • 14. Ribbon architectureAsynchronous JavaScript & XMLServer or Client renderedOn-demand JavaScriptCSS layout, styling, and hover effectsNo tablesClustered images reduce round trips to server
  • 15. Ribbon extensibilityFully extensibleRemove any of the OOB controlsAdd new controls anywhere in the RibbonPotential to replace the Ribbon entirelyBackwards compatibleCustom Actions added to Toolbars in v3 will automatically show up in the “Custom Commands” tab in the RibbonAdding a control to the Ribbon:Ribbon XML defines the UI of the controlSimple behavior can be defined declaratively alongside Ribbon XML, more complicated behavior requires a JavaScript Page Component
  • 16. Adding a Ribbon ControlCMDUI.XMLPage with the RibbonOn Web Front EndContains OOB site wide Ribbon ImplementationPage ComponentJavaScriptHandles controlCustom Action<CustomAction Location = (somewhere in Ribbon) Scope = (Farm to Web) <CommandUIExtension> <CommandUIDefinitions /> <CommandUIHandlers /> </CommandUIExtension></CustomAction>Merged into CMDUIIF present, added to page to handle command ELSEPage Component must be added separately
  • 17. Example Code to Add a Ribbon ButtonWhere?What?Action
  • 18. Adding button to oob groupWith out of the box ribbon groupsOOB locations are in CMDUI.XMLRibbon.[Tab].[Group].Controls._childrenDefined in Location attributeExample location for addRibbon.Documents.Manage.Controls._children
  • 19. Multi-Level TargetingWeb parts can provide functionalities to RibbonFor example out of the box list views
  • 20. Adding a Button to the Ribbondemo
  • 21. How to indicate actions for the end users?Status bar and notifications
  • 22. Status Bar/Notification AreaGives the user information in context without distracting themStatus bar should be used to display persistent information such as page status or versionNotifications is used for transient or semi-transient messagesStatus BarNotification
  • 23. Status BarDesign:Shown below RibbonWill display 1 of 4 pre-set background colors depending on importancePriority – Red, Yellow, Green, BlueExtensibilityJavaScript API to add/remove messages and specify message colorServer API for statuses set at page render timeMessage is HTML and can include links and imagesWhen multiple message colors are specified, bar will take the most “important” color
  • 24. Status API codeDifferent JavaScript API’s available for message manipulationStatus APIs:SP.UI.Status.addStatus(strTitle, strHtml, atBeginning)SP.UI.Status.updateStatus(sid, strHtml)SP.UI.Status.removeStatus(sid)SP.UI.Status.removeAllStatus(hide)SP.UI.Status.setStatusPriColor(sid, strColor)SP.UI.Status.appendStatus(string StatusID, string Title, string Msg)
  • 26. Server side handling of statusStatus messages can be defined also from the code behind using Microsoft.SharePoint.WebControls.SPPageStatusSettercontrol
  • 27. Notifications AreaDesign:Appears on the right side of the page underneath the RibbonBy default message will last 5 secondsExtensibilityJavaScript API to add/remove messagesMessage is HTML and can include links/iconsOptional “sticky” parameter can be set if caller wishes to manually remove the message
  • 28. APIs and exampleNotification APIs:SP.UI.Notify.addNotification(strHtml, bSticky, tooltip, onclickHandler)SP.UI.Notify.removeNotification(id)
  • 29. Status Bar and Notification Areademo
  • 30. How to utilize the dialog framework?Dialog framework
  • 31. Dialog PlatformKeep the User in ContextReloading pageV3 UI
  • 32. Dialog PlatformKeep the User in ContextV4 UI
  • 33. Dialog Framework designReduce page transitions/keep user in contextContents load in an iframe inside a floating divDialogs are modalAllow dragging within browser windowCan be maximized to size of browser window
  • 34. Dialog Framework extensibilityJavaScript API to control dialogsContents can be a page (URL) or DOMElementOptional parameters to set title, width, height, whether or not to launch maximized, etc.“Autosizing” applied if height or width is not givenDesign a page once to display both inside a dialog and as a full pageCSS class “s4-notdlg” can be used to hide UI when a page is shown within a dialog
  • 35. Example Dialog CodeWe can start the dialog with different options and also get return values from the dialog:
  • 36. Call back from client sideWe can transfer return values back to caller and indicate the user behavior
  • 37. Call back from server sideWe can process code in the dialog and return the user back to primary window by adding following after code has been executed:
  • 39. How the page model is evolving? Sites as Collections of Pages
  • 41. Pages Everywhere1Every team site has a pages libraryCreate a new page with a single clickJust enter a nameReady to go[[Wiki Linking]] to PagesListsItemsDocuments23
  • 42. Edit Like in WordSingle click editing experienceTransition to edit is quick and seamlessType into page and format text like in WordFull set of rich text controls for formatting and layoutStreamlined insert experience for images, linksAsset library
  • 43. Safe and simple editingEdit\Stop Editing – no promptsWhoops ProtectionRich Text Editor has undo stackVersioning turning on, in case you want to revert
  • 45. Branded Application PagesApplication pages are using system master pageUses new tags dynamically associate system master page (either custom or system)Applies also to custom application pages
  • 46. Master page developmentSharePoint 2010 uses superset of place holders from 2007There’s few new place holders addedBiggest change on markup is the existance of RibbonNo need for page editing tool bar etc.
  • 47. Multi-Lingual InterfaceDisplay one site in multiple languagesLanguage Pack basedDefault language set during provisioningAlternative language set by end-userOM SupportObviously does not translate the actual content
  • 48. Standards CompliancyStandards-based rendering using XHTMLNo quirks modeCross-BrowserTier 1 support: IE, FirefoxTier 2 support: SafariWCAG 2.0 AANew Rich Text Editor supporting XHTML.
  • 49. Simple.master usage and application page brandingdemo
  • 50. How to change the user interface look and feel using themesThemes
  • 51. Theming engineUses *.thmx file format – can be generated by client Office programsParses CSS for comment-style markup, replaces colors/fonts and recolors images as directedAutomatically generates new CSS for each theme when it is appliedAutomatically populates theme list from Theme Gallery filesCan be easily deployed also using feature
  • 52. How The Theming Engine Works?ThemeWeb.aspxStyle LibraryXMLCSSPNGCSSPNGAutomatically PopulatesTHMX File 12 Colors
  • 53. 2 FontsNEWNEWNEWUser Clicks ApplyLocated on file system or in database in themable locations – includes 3rd party CSS in same locationsColors and fonts in originals are replaced by those specified in the THMX per annotation in CSS filesAnnotated CSS FileNEWCSS File
  • 54. Example Theming Markup/* [ReplaceColor(themeColor:"Light1")] */background-color:#fff;/* [ReplaceColor(themeColor:"Light2",themeShade:"0.02")] */ border:1px solid #f1f1f2;/* [RecolorImage(themeColor:"Accent6",method:"Tinting")] */ background-image:url("/_layouts/images/selectednav.gif");/* [RecolorImage(themeColor:"Accent6-Darker",method:"Tinting", includeRectangle:{x:0,y:322,width:1,height:22})] */ background:url("/_layouts/images/bgximg.png");
  • 55. Deployment and activationFeature xml and code to activate theme automatically
  • 57. SummaryIntroducing the new User ExperienceRibbonStatus bar and notificationsDialog FrameworkSites as Collections of PagesThemes
  • 59. © 2010 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.