| SharePoint 2010 is coming up to its 2 year birthday, so it worth talking about Ribbons. Too often solutions concentrate on pages, Web Parts, lists, libraries and workflows. A SharePoint solution should be more than this - each of these components should be combined to provide users with a holistic solution, where the components work together and not as discrete entities.
Using Web Part connections and customizing the Data Form Web Part (DFWP) Form Action button to initiate workflows, are examples of how you can achieve this. However, SharePoint 2010 provides other components that can be used to improve the users experience (UX).
Microsoft did much refactoring of the user interface (UI) introducing the Office 2007 client application Ribbon to SharePoint Foundation, targeting standard tasks that users need to compete and reduced the use of tables. In your solutions you can extend the out-of-the-box UI, specifically by displaying links, relevant text and commands on the:

- Status bar
Notification area

- List Item Menu (LIM), also known by developers as the Edit Control Block (ECB).

In my sessions at the Australia SharePoint Conference (20-21st March) and the SharePoint Summit in Toronto (14-16th May 2012), I'll concentrate on how to extend the server Ribbon interface and create LIMs, using SharePoint Designer 2010, with no-code. I'll also briefly introduce how to use Visual Studio to extend the four UI components listed above, and then in conclusion I'll highlight the pros and cons of using SharePoint Designer as compared to Visual Studio. Along the way I'll also mention what is possible if you are using SharePoint Online, which is part of Office 365.
The session is based on working at client sites and my investigations whilst writing Chapter 3, "Working with Lists and Libraries", in SharePoint Designer 2010 Step by Step and Chapter 15, "Customizing the User Interface", in SharePoint Foundation 2010 Inside Out. Developers can find more information on customizing the Ribbon, on my blog post, SharePoint Conference: Session SPC402 Ribbon Development and Extensibility. |
| I'll be presenting the 5-day SharePoint Designer 2010 course at Combined Knowledge, Ullesthorpe, week commencing 12th March 2012. This is the last time that this course will be given in this format.
The SharePoint Designer (SPD) course is to be divided into three courses, that for the majority of times will be given on-line. The three course structure, consists of a 3-day SharePoint Designer course, where I will be introducing the use of SPD and will concentrate on building solutions using SharePoint Designer, including the use of the Data Form Web Part (DFWP), also known as the Data View Web Part (DVWP) or Data Views, and the Business Connectivity Service (BCS).
The two follow-on courses are a 3-day online course concentrating on automating business processes using the browser and SharePoint Designer, and a 2-day Branding & intro to Web Content Management course using SPD, given by Mathew Hughes.
So, if you would like to have a concentrated 5-day course, away from work, you should book as soon as possible and join me on Monday 12th March. To see the syllabus, visit: http://www.combined-knowledge.com/Courses/Classroom/Designer_2010/index.html#Overview, and to book the course, visit: http://www.combined-knowledge.com/Courses/Payment.html?Type=Classroom&Course=Designer_2010&Location=Midlands&Date=Mar-12th. |
| Well, 2012 is looking like a very busy year. I am lucky to have been accepted to speak at four conferences in the next few months:
- 3rd Annual Australian SharePoint Conference, 20th - 21st March 2012 at Hilton Park, Melbourne, Australia
- 4th Annual New Zealand SharePoint Conference, 28th - 29th March 2012 at The Langham Hotel, Auckland, NZ
- The International SharePoint Conference, 23rd - 25th April 2012, QEII Conference Centre, London, UK
- SharePoint Summit, 14th - 16th May 2012, The Fairmont Royal York, Toronto, Canada
I'll be speaking on a variety of topics: Fiddler, SharePoint Online (Office365), Ribbon Customization, branding and workflows.
Oh! and did I mention that I'm writing another book (my husband's words were: you are kidding aren't you?). This time it's on Business Connectivity Services and my co-authors are Brett Lonsdale - @brettlonsdale and Phill Duffy - @phillduffy. It should be out in June 2012 - ready for the North America and European TechEd conferences. |
| On Saturday November 12th at #SPSUK, I'll be presenting a session titled:
Automating Business Processes with SharePoint Online In this session I'll be using Visio 2010 Premium and SharePoint Designer 2010 to explore the options available when automating business process in the cloud with SharePoint Online which is part of Office 365. Towards the end of the session I'll also show how such processes can be extended using Visual Studio 2010, as well as discussing how the deployment and packaging of workflows differs from using on premise SharePoint 2010. This is a free event, but you must register at the following site: http://sharepointsaturday.org/uk/default.aspx
Two days later - 14th - 15th November, I'll be repeating this session on Day 2, 13:30-14:40, Room C10 at the Swedish SharePoint & Exchange Forum in Stockholm, plus presenting another session on Day 1, 17:10-18:10, Room C58 on How to use fiddler with SharePoint 2010. |
| This blog post is about the session, SPC402, Deep Dive on SharePoint Ribbon Development & Extensibility that was given at the SharePoint Conference 2011, Anaheim, CA and presented by two SharePoint Server MVPs, Andrew Connell and Chris O'Brien. AC and Chris labelled this session together with the sample files as The Ribbon starter pack. More details can be found on their blog posts: http://www.andrewconnell.com/blog/archive/2011/10/06/recapping-my-sharepoint-2010-ribbon-deep-dive-spc402-at-the.aspx and http://www.sharepointnutsandbolts.com/2011/10/my-ribbon-samples-from-spc11-session.html
I have attended many sessions (including AC's session at the European Best Practice Conference earlier this year), presented (SharePoint and Exchange Forum November 2010) and written on how to customising the SharePoint 2010 UI and the Ribbon, however I always tackle it from a no-code perspective - first using SharePoint Designer and then a 101 on using Visual Studio 2010. I found their session well worth attending. SharePoint 2010 is so large that you never know everything there is to know about it. Both presenters were able to explain the subject with such clarity and have a relax style that made it very enjoyable. If you have access to the online recordings, then I recommend you watch it - or if you're in the UK, that you attend a similar session that Chris is giving at SharePoint Saturday UK, Nottingham, 12th November 2011. SharePoint Saturdays are free - all you have to do is pay for is your transport cost and accommodation if you're staying over.
Well, back to SPC402, Andrew and Chris tried to complete the session so that everything they did was Sandbox friendly - thereby showing techniques that can be using in SharePoint Online (Office 365). If there was something they were doing that was not sandbox friendly, and had to be completed in a farm based solution - then they highlighted that during the talk.
Ribbon Architecture The Ribbon consists of a number of tabs which you use to complete SharePoint related tasks. Some tabs are contextual, that is, they appear or hide depending on where you are and the SharePoint object selected in the main portion of the web page. Within each tab there are groups, which contain controls with similar functionality. The controls in a group are laid out based on a ribbon template that also describes how the controls are to be scaled when the width of the browser window is changed. Therefore when the width of the browser window is reduced, some controls will continue to show as a large icon (32x32 pixel) with text, others as small icons (16x16 pixel) with text, or just a small icon with no text and yet others may be displayed as text on a menu item on a drop down menu.
Chris then pointed out that the Ribbon is created by a combination of XML and JavaScript. Most of the core SharePoint 2010 ribbon components are defined as XML in the file CMDUI.XML, which is a big file (~8500 lines of XML) and can found in the TEMPLATE\GLOBAL\XML\ subfolder in the SharePoint root %Program Files%\Common Files\Microsoft Shared\Web Server Extensions\14\. The Ribbon XML is translated into the ribbon by two JavaScript files – GUI.js and SP.Ribbon.js. The CMDUI XML file and the two .js files form valuable learning resource for anyone who wishes to understand how to extend the Ribbon to meet their own business needs.
- XML is used to define the layout of the controls and which controls you require.
- The command name is specified in the XML and then JavaScript listens for that command name so it can then execute the commands, such as what should happen when the Ribbon is loaded or when a button is clicked.
Note: You cannot put ASP.NET server controls into the Ribbon - Chris speculated that Microsoft made this decision for performance reasons.
You should not modify the CMDUI.XML file directly, but develop XML and JavaScript wrapped into a Feature that can be activated on specific or many site collections, or at the Web level - depending on the scope that is used, when the Feature is created. You will not find all the out-of-the-box, SharePoint Server 2010 ribbon components in the CMDUI.XML. Microsoft, themselves also use Features to implement some of the ribbon components and commands.
Ribbon Terminology Chris then went on to explain the Ribbon UI and the terminology used. The Ribbon is contains a number of tabs. Users can navigate through tabs to complete SharePoint-related tasks. Some tabs are contextual, which means that they appear or hide depending on where you are and the SharePoint object that is selected in the main portion of the web page. These tabs can be grouped together into contextual tab sets which are colour coded for quick identification. Within each tab there are groups, which contain controls with similar functionality. Controls in the groups are arranged based on a template.
Ribbon Locations Chris then listed a number of Ribbon locations that he obtained from the CMDUI.XML, that you may wish to target. It was not the full set, but is a good starting point to understand dot-separated notation used to identify the location of each control, for example,
- Ribbon.ListForm.Display - this is the Ribbon location that appears on pages that display the properties of a single list item. When a list or library is first created this page is named DispForm.aspx.
- Ribbon.ListForm.Edit - this is the Ribbon location to use for controls you want to appear on the Ribbon of pages that allow you to edit the properties of a single list item. When a list or library is first created this page i named EditForm.aspx.
- Ribbon.WikiPageTab - this is the location to be used if you button to appear on the Ribbon for wiki pages.
Ribbon Customization Chris and AC discussed and demo'd how to surface Ribbon customizations, including scaling. In Chris' opinion - scaling is really cool and is one of the Ribbon's most unsung features. It allows you to control what happens when there isn't enough room to show your buttons, so that when a user resizes the browser window or if they are displaying a SharePoint page using a really low screen resolution, it allows the developer to say - keep this button big as its important and these other buttons are less important, so they can be shrunk.
AC demo'd how to create a contextual tab through server side code that is visible when a specific Web Part was placed on a page. This demo included server side code to add the tab, which used SPRibbon is not available in a sandbox and can only be used in farm based solution.
AC explained and demo'd Ribbon commands and how there are two approaches:
- Command UI Handler - the simple approach, where the command is declaratively defined within the Feature as XML and JavaScript. These are useful for demos.
- Page Component - a big external JavaScript file, which needs to be register and initialised on the page. Harder way but provides more control and are more powerful, easier to manage, debug, can be minified and can be reused across customizations. This method, for example, is needed to customize the Site Actions menu, which are another type of Ribbon.
Best Practices AC also discussed that one of the principal rules that Microsoft has around the Ribbon - predictably, that is the Ribbon is a predictable UI/experience. When a user looks at the Ribbon, they always see the same thing - no matter if the user has permissions to do the command or not. Therefore if you do not want to make a button/command available on the Ribbon for a specific subset of users - you should disable that button/command for that subset and not hide/remove the button/command. Other Ribbon UI best practices that were discussed were:
- Always create your own group templates. As a starting point find the group template that Microsoft uses and then reuse (copy/paste) that group templates Microsoft provide and then modify your copy.
- Provide multiple layout and scaling options for best user experience.
- Be selective - only add customizations to pages that need it - use the contextual approach.
- Do NOT modify ribbon controls with jQuery.
- Try to augment existing containers (tabs/groups)
- Avoid allowing users getting cached JS and CSS code otherwise they won't get your amendments.
Other subjects the session covered were:
- Handle and canExecute command methods - always implement the canExecute mehtod for best user experience.
- Global v Focused commands - avoid focused commands where possible
- Interacting with Dialogs
- Going beyond buttons, e.g. toggle button, spinner
- Menu based controls - DropDown, SplitButton, FlyoutAnchor
- Presentation options - Controls, Gallery
- Adding social widgets to a publishing page using Ribbon commands, which are powered by a list.
- Working with a New Control - Cheatsheet
- SharePint
References: Both Andrew's and Chris's blog have many posts on customizing the SharePoint UI and the Ribbon:
Other useful resources:
|
| The SharePoint Conference 2011 in Anaheim was loads of fun, and the fun started on Sunday evening with the Welcome Reception in the Exhibition Hall. I don't think I managed to walk 5 yards without stopping - because I met someone I knew and I just had to talk to them. I went to a couple of sessions and also tried out a few of the Hands on Labs (HOLs). I usually volunteer as a proctor in the Hands on Labs area for Microsoft Conferences, so it made a change to be able to visit the conference as a regular attendee. Also what was pleasing to learn, is that attendees have access to the Hands on Labs, after the conference for 2 months.
The three book signings I had were fun, and I met many new friends. This was not my first go at book signings. I had my first one at Combined Knowledge's European Best Practices Conference in London, in April 2011, where the Queen was particularly interested in my book.
 * Just incase you thought it was the real Queen - it was a look-a-like, and thanks Tom for being such a sport. |
| The Microsoft Press book, Microsoft SharePoint Foundation 2010 Inside Out by Errin O’Connor, Me, Troy Lanphier, Johnathan Lightfoot, Thomas Resing, and Michael Doyle (ISBN 9780735627246; 752 pages) is now available for purchase! You can find the book’s introduction in this post and an except from Chapter 9, "Working with External Content" can be found in this post.
You can get a free electronic copy of the book in exchange for your reviews, at http://www.oreillynet.com/oreilly/bloggers/available.csp.
Also recently out, is the Using Microsoft InfoPath 2010 with Microsoft SharePoint 2010 Step by Step book, by Darvish Shadravan and Laura Rogers ( @WonderLaura ). A detailed introduction of their book, can be found at the following post and there is a free sampler of the book. |
| Like many other people who are passionate about SharePoint, I'm attending the SharePoint Conference 2011, twitter hashtag #spc11 being held in Anaheim, CS, US - October 3-6. So in a couple of days I'll be making my way over there.
Whilst at the conference I'll be soaking up the new information and experiences that attendees and speakers have to tell, attending the many social events (see event map: and ) and I'm also doing three book signings for four of the books I've helped to produce*:
- Monday 3rd October, 12:30 Mindsharp booth #323, where I'll be signing copies of Microsoft Windows SharePoint Services 3.0 Step by Step along with Bill English and Todd Bleeker. There will also be book signings at this time for the book, Microsoft SharePoint 2010 Administrator's Companion, which I also contributed to. This event is a real pleasure for me as it was Bill, who gave me my first opportunity of becoming an author when I contributed 6 chapters to Sharepoint Products & Technologies Resource Kit.
- Tuesday 4th October, 15:00, O'Reilly Media / Microsoft Press booth #143, where I'll be signing copies of Microsoft SharePoint Foundation 2010 Inside Out along with some of the other co-authors, such as, Tom Resing, Johnathan Lightfoot and Troy Lanphier.
- Wednesday 5th October, 12:00, O'Reilly Media / Microsoft Press booth #143, where I'll be signing copies of two books, Microsoft SharePoint Designer 2010 Step by Step and Microsoft SharePoint Foundation 2010 Step by Step.
So come by and say hi. I'm also part of the army of bloggers that have signed up as part of Dave Coleman's push for live blogging during the event - twitter hashtag #SPC11LB.
There are many other book siginings happening during the conference, for example:
* Books are never the result of one person. |
| Well - I'm back. It's been a while since I last blogged. So what have I been doing - well I've finished writing chapters for another book - my 9th - Microsoft SharePoint Foundation 2010 Inside Out, and as you can see I've migrated the SharePoint Designer 2010 Step by Step site and my blog site to SharePoint 2010, which fpweb.net are kindly hosting for me.
You will also notice that the SharePoint Versions page is up-to-date and contains screen shots of the the Match Patch Status page once a cumulative update or service patch is applied to either SharePoint Foundation 2010 or SharePoint Server 2010. Just click the icon to the left of the KB number. I've been maintaining this page since 2005 when it was first created on Mindsharp's blog site.
SharePoint Foundation 2010 Inside Out was sent to the printers on 13th September and should be available via online retailers around September 27th. Errin O'Connor will be giving away 250 copies of the book at the SharePoint Conference 2011 October 3-6, in Anaheim, CA. If you are attending the conference, visit EPC Group's booth #123 at the Welcome Reception on Sunday 2nd October at 7pm, lunch breaks Monday and Tuesday 12:30-13:00 or at the Exhibition Hall Reception on Wednesday evening 6:30 pm to get one. Follow EPC's twitter account for up-to-date information - just incase he runs out. |
|
So what's the important information you should know:
The speakers list is just awe inspiring – it's a Who's Who of the SharePoint world, and I'm lucky to be presenting:
Day 2: 15:00-16:00, Information Worker track 2, IW510, Henry Moore room on "Controling who can use SharePoint Designer".
Join the conversations on twitter, tweet with #bpcuk, and join the Facebook group.
If you haven't already registered for it, do so – NOW! You will truly regret it if you don't. |
|
|
|
 |
|
|
|
|
|
|