Review of the SharePoint Designer and XSLT Coverage in Pluralsight’s Course “Advanced SharePoint 2010 Branding for Web Designers” – Part 1

 

Editor’s note: Contributor Stephan Onisick is a Senior Software Developer for HP specializing in SharePoint Portal Applications. Follow him @StephanOnisick

I almost overlooked this gem of a course in the pack of 57 SharePoint Courses on Puralsight.com. The title sounded similar to at least four other courses in the SharePoint Curriculum on Pluralsight.com. I’m glad I didn’t and chose instead to review it in depth.

It is hard in the midst of so many good courses to keep them all differentiated. At this time, Pluralsight lacks a personal history navigation interface: one where you can tell at a glance the courses taken and the current state of your progress in a given course. (Hint! Hint! Pluralsight!)

(Yes, there is a “Your history and bookmarks” displayed under your login name – but it only bookmarks the last 10 courses you’ve visited – barely a month’s worth for some of us more avid users!)

When I finally reviewed “Advanced SharePoint 2010 Branding for Web Designers”, I realized this course was huge in SharePoint learning experience and breadth of technology. To do this offering justice, I needed to do more than just casually watch the technology stream by on my monitor. This called for something more proactive which included building the demos on my home SharePoint 2010 virtual machine along with the videos presented by Mr. Guru, Ted Pattison.

As a SharePoint Developer of almost five years, I have found good coverage from the ground up of XML, XSLT and SharePoint Designer sorely lacking in SharePointdom. There are, of course, expert blogs on these topics but the complexity of the presentations frequently obscures any insights for us mere mortals.

Ted Pattison has long been a giant in SharePoint (heck, before that he was huge in COM+ programming. I’m pretty sure this dates both of us! Groovy! huh?).

It took Ted Pattison’s consummate skill to expound on XML, XSLT, and SharePoint Designer. He provides a workable pathway through this dense forest of learning.

On any of these topics, it would have been easy to leave the student stranded in the weeds. This didn’t happen. Ted provided a workable approach that lays claim to the basic principles of each discipline.

(You can quote me! I already have!)

Beyond XSLT and SharePoint 2010 Designer, the course covers the additional topics of Clientside Coding JavaScript/jQuery, Upgrading from SharePoint 2007 to SharePoint 2010, and Sandbox Solution Deployment. (All have good coverage, depth and insight.)

Because of the uniqueness and novelty of Ted’s approach on the coverage of the XSLT and SharePoint Designer Integration, I have chosen to focus this article exclusively on these topics.

To allow depth for this topic I have segmented this piece into 4 parts for easier consumption by readers (The Mind can’t absorb more than the Seat.):

  • The first covers basic XSLT Transforms of XML outside of SharePoint.
  • The second covers XSLT within the SharePoint XML Viewer Web Part.
  • The third covers SharePoint 2010 Designer more extensively with Conditional Logic and more complex XSLT Transforms.
  • The final segment covers the XSLT involved in displaying a SharePoint Picture Library with extensive off-roading in SharePoint Designer.

My hope is that these four parts will serve as an addendum and adjunct to an innovative course.

Part I: Almost Bare Naked XML and XSLT

What makes this coverage interesting is the utility of the examples being used. Ted starts with basic XML and XSLT rendered just in the browser from an html wrapper. Then he progresses to one of the most complex tools in this author’s estimation, SharePoint 2010 Designer.

He entitles a section “World’s Fastest Introduction to XSLT”. I haven’t previously had occasion to use “fastest” and “XSLT” in the same sentence—or even the same paragraph for that matter. His video and examples provide the student with material to work through this maze and emerge knowledgeable.

To render each XML File with a custom XSLT Transform, the examples use an Html Page called “Default.htm”:

2013-05-28-SharePointDesignerXSLTCoverage-Part01-01.png
Figure 1 The Html Wrapper used to display XML/XSLT (Default.htm) via the “href” attribute in the anchor tag.

Note: The individual files (demo01.xml, demo02.xml, and demo03.xml) may be rendered/displayed directly in Internet Explorer by right-clicking on the XML File. The browser will render the transformed HTML.

The HTML simply references the XML files from three anchor tags. The XML Files, in turn, call the specific XSLT File on the second line. (There is some eye-candy in the form of a cute airplane banner, Site Title and a menu formatted by some CSS and images. These can be safely ignored.)

The following shows the first example,”Demo 1”, in its entirety:

2013-05-28-SharePointDesignerXSLTCoverage-Part01-02.png
Figure 2 Basic "Hello World" XML

2013-05-28-SharePointDesignerXSLTCoverage-Part01-03.png
Figure 3 First Simple XSLT Code

2013-05-28-SharePointDesignerXSLTCoverage-Part01-04.png
Figure 4 Output of a Simple XSLT Transform
(Note: the Banner originates from the Html Wrapper which includes the top menu.)

The first two examples, “Demo 1” and “Demo 2”, do not use XML Namespaces in the XSLT Code and the XML pages can be edited from Notepad or Notepad++ editor.

(Notepad++ has a nice feature to render the XML in several different browsers—if they are installed on your machine. Ted actually uses Visual Studio 2010 to edit the files for the added benefit of using its Intellisense. The XSLT code, in these first two examples, is not complex and Notepad will do fine for these.)

The next example, “Demo 2”, displays a simple phone list formatted by an XSLT Transform.

2013-05-28-SharePointDesignerXSLTCoverage-Part01-05.png
Figure 5 Second Simple XSLT Transform
(Code Not Shown in Article)

The third example, “Demo 3”, is a much more complex form and uses an XML Namespace in the XSLT Code:

2013-05-28-SharePointDesignerXSLTCoverage-Part01-06.png
Figure 6 Third example with a markedly more complex XSLT Transform
(Note: Header from HTML Wrapper is Not Displayed and the Code is Not Shown in Article)

Ted’s purpose in the last example is not to completely explain the complex XSLT. His aim is more to give the student a working example of XSLT capability they can take apart, examine, experiment with, copy and use.

An interesting exercise for the reader is to make the third example work without the XML Namespace. This gives insight to the use of XML Namespaces.

This concludes the basic XML and XSLT Transforms. Part II will continue with XML Web Viewer.

Happy SharePointing!
Stephan

Does SharePoint 2013 suck from an end user point of view?

 

Editor’s note: Contributor Andrew Gilleran is a SharePoint Power User, based in Dublin Ireland. Follow him @agilleran

OK now, SharePoint 2013 is out in the wild but of course not many actually real companies with an existing platform are going to jump in right away. And that makes perfect sense of course. Well, does it suck?

I managed to play with the new version a little while ago and here’s my pretty brief view of it.

Now, there are far more experienced SharePoint experts out there who have given the platform a good going over and have peeked at some details under the hood. This is my initial view of it as an end user, not a developer or techie guru. I also can’t comment on the social enterprise end of it or any Yammer integration or any web analytics as it wasn’t configured for my demo site. Not much point either as I was the only visitor!

2013-05-16-SharePoint2013Suck-01.jpg

  1. White space and copying text from Word is much improved (thankfully!).
  2. Picture libraries are simplified and much easier to view photos.
  3. Tables are vastly improved.
  4. Interface and UI obviously changed, simple again and removed much of the first level of UI for the user.
  5. Embed code option, though that looks a little too simple for average users.
  6. Adding pictures is much simpler although there is no option to locate from an existing library in the site? It means you need to have your original image and copy the URL. A bit odd but perhaps that has changed.
  7. Format text options are good though this depends on the CSS and styles used for branding and customising the look and feel.
  8. The ribbon is cleaner and comes into view and use much better.
  9. New options in a document library like ‘Shared with’ which shows who has access. Also, Sync Library with computer allowing offline workspaces on your PC is more visible than in SP 2010.
  10. ‘New Quick Step’ is interesting. It allows you to create a button on the ribbon for common or custom tasks/actions. This has to be set up in SharePoint Designer though.
  11. Edit library: Not sure about this button. Seems a bit of a cross over with library settings and also needs SharePoint Designer.
  12. Selecting a document is much easier and gives better options. However those options are still scattered in the ribbon and the user might not see them. Should they have had a context menu like a right mouse click to provide those options? Share option button is good but again visibility in the ribbon is difficult to see. And is the default orange button the best Microsoft could come up? The Share option menu is nice, clean and useful.
  13. What are the three dots in the UI … ? I know it is for additional options but that’s poor. Yes there is a tag but really.
  14. Picture library: Slideshow arrows are tiny. Microsoft is taking the minimalist approach a bit too far.
  15. Thumbnail view provides a number of useful options for reviewing individual images but again those three dots are all over the place.
  16. Microsoft didn’t do anything with the survey tool though this probably has to do with not destroying the businesses of a few third party companies but I could be wrong.
  17. No alerts in a document library? Is that right or was it the version I had? The RSS feed is not useful as such but then again it never was.
  18. Focus on content button? Useful? Not really sure to be honest. SP did suffer from excessive right hand scroll when viewing web part properties in the past so the jury is out on that one.
  19. That default blue colour scheme is certainly clean and fresh but of course your own styles can kick in on top of that.

Right, as I said just some observations. I may be wrong in some (so please clarify, PLEASE!).

But is it any good? Well yes of course it is. The UI is much cleaner, there is a brightness and a sharpness to it. Microsoft didn’t spend many millions on it and not make some decent improvements (and there are many). But that’s the way it is with making changes to such a huge platform. A lot doesn’t change but a lot does especially with a beast like SharePoint and a lot of it is in the background and how the platform operates.

I work on an existing 2010 platform and it is highly unlikely it will move to 2013 for at least for 24 months. Why not? Well, 2010 works and it does mostly what it is meant to do (now you could argue about whether SharePoint does what it’s meant to do until the cows come home. But we’ll leave it at that for now). And from a business and an end user perspective getting it to work is what matters most.

Does SharePoint 2013 suck then? No. No it doesn’t.

For an interesting take on finding views in SharePoint 2013, have a look here.

Thanks to SharePoint Hoster for the free demo: http://sharepointhoster.com/

SharePoint: Fast Search Pipeline Extensibility for Specific Content Source


You may also be interested in: ViewPoint for SharePoint


 

Editor’s note: Contributor Alex Choroshin is a Sharepoint Team Leader at Bank Leumi. Follow him @choroshin

Since the Pipeline Extensibility is not restricted to any content source and the fact that you do not have a proper API, it makes it really hard to work with a specific Content Source.

Luckily for us we have a Crawled Property which is mapped to the managed property "ContentSource":


<CrawledProperty propertySet="012357BD-1113-171D-1F25-292BB0B0B0B0" varType="31" propertyName="315" />

You can include this in your extensibility configuration and you can see which content source the data came from and apply appropriate logic.

Example:


static void Main(string[] args)
     {

         XDocument inputDoc = XDocument.Load(args[0]);
         XElement outputElement = new XElement("Document");
         //get Content Source from input file
         string contentSourceName = GetContentSource(inputDoc);

         if (contentSourceName == "My Content Source")
         {
             //your logic
         }

         outputElement.Save(args[1]);
     }
     private static string GetContentSource(XDocument inputDoc)
     {
         var res = from cp in inputDoc.Descendants("CrawledProperty")
                   where new Guid(cp.Attribute("PropertySet").Value).Equals(new Guid("012357BD-1113-171D-1F25-292BB0B0B0B0")) &&
                   cp.Attribute("PropertyID").Value == "315"
                   select cp.Value;
         return res.First();
     }

This way we manage to apply our own logic for a specific Content Source.

Reference:

Great answer by Mikael Svenson:
http://social.technet.microsoft.com/Forums/en-US/fastsharepoint/thread/4a510295-35d9-403b-9d32-3650fb89dcb8/
http://blogs.msdn.com/b/thomsven/archive/2010/09/23/debugging-and-tracing-fast-search-pipeline-extensibility-stages.aspx?Redirected=true

I would like to thank Jorge Einbund, a talented .NET developer for helping me with this post.

Hope you’ll find this post helpful

The importance of keeping the SharePoint:DelegateControl TreeViewAndDataSource in your SharePoint 2010 Master Page


You may also be interested in: Documentation Toolkit for SharePoint


Editor’s note: Contributor Heather Waterman is a SharePoint branding expert and the Director of Synteractive Studio for Synteractive. Follow her @hwaterman

Here is another gotcha when creating a custom master page. At times you might want to remove delegate controls that you are not using in a custom master page. Here is one delegate control that will make a difference if it’s not in your master page.


<SharePoint:DelegateControl runat="server" ControlId="TreeViewAndDataSource">

In the v4.master this is part of the left hand navigation code.

2013-05-22-SharePointDelegateControl-01.png

You can see this in action when you turn on your tree view in the navigation settings of your site.

2013-05-22-SharePointDelegateControl-02.png

When this control is present in your master page you can change your library view.

2013-05-22-SharePointDelegateControl-03.png

When the control has been removed from your page you cannot change the library view.

If you have to remove the control then add it to an ASP:Panel (visibility set to hidden) at the bottom of your master page.

2013-05-22-SharePointDelegateControl-04.png

Thanks for reading!

How to Add a Video to a SharePoint Site


You may also be interested in: fpweb.net


 

Editor’s note: Contributor Alexandru Dionisie is an Internet Professional and Technical Writer. Follow him @AlexDionisie

  • Note 1: To add a video into a SharePoint site using the default SharePoint tools, you need to have an E plan.

  • Note 2: To view a video you need to have Silverlight installed.

  • Note 3: The video must be uploaded in SharePoint.

How to do it

  • Go to Site ActionsSite Settings;

  • In the Site Collection Administration menu go to Site Collection Features;

  • Enable SharePoint Server Publishing Infrastructure feature.

2013-05-21-SharePointAddVideo-01.png

After enabling this feature in the Editing Tools tab – Insert – Media a new command appears: Video and Audio.

If you click on Video and Audio in the active area a video player will be inserted.

This player can then be customized as needed (width, height, name, etc.).

2013-05-21-SharePointAddVideo-02.png

By default you will have three options for inserting a video:

  • Computer;

  • SharePoint;

  • Web.

2013-05-21-SharePointAddVideo-03.png

If you choose to insert a video from SharePoint or Address, that video must be uploaded into a SharePoint library, or on a video sharing website (for the Address option).

The final result is:

2013-05-21-SharePointAddVideo-04.png

Build a Search Driven Solution with SharePoint 2013 – Part II


You may also be interested in: O’Reilly – SharePoint 2010 at Work


 

Editor’s note: Contributor Nicki Borell is a SharePoint Evangelist & Consultant for Experts Inside. Follow him @NickiBorell.

Part I is about Search Driven in on-premise environments

Part II will show the options and differences with O365 SharePoint Online

In Part I, I wrote about the options and scenarios of Search and Search Driven Apps in SharePoint 2013 on-premise. Now, let’s see what options we have using the online version of the new SharePoint 2013.

There are two big differences in SharePoint Online:

<!–[if !supportLists]–>1.       <!–[endif]–>We did not have the new Webpart Family “Search Driven Content”.

So, in fact we only can use the common Search Result Webpart and its options within the Query Builder to create dynamic search solutions

<!–[if !supportLists]–>2.       <!–[endif]–>In SharePoint Online we are not able to configure our own content sources or manipulate the settings like Crawler scheduling etc.

Missing content sources option in SharePoint Online and its impact

Because the option “content sources” is not available in SharePoint Online we have to look for alternatives to bring in our own content to the SharePoint Online environment. Another point is the index freshness, which cannot be manipulated to set up Crawler scheduling or manually decide to configure continuous crawling options.

Index freshness

Also, in the official technet documentation, there is not a clear statement whether continuous crawling is set up by default for SharePoint Online or not. My own experience says: “Yes, it is”. I get search result in the index within 2min – 4min. This is really fast and for me, in most scenarios, ok.

Own content

To bring in your own content to your SharePoint Online Search you have to use “Result Sources”. To set up those 3rd Party Result Sources you can use “Site Setting” to configure them in the context of a Site Collection or SharePoint Admin Center to do it globally.

2013-05-20-SearchDriven-Part02-01.jpg

The dialog for setting up a Result Source shows the option for bringing in your own content:

<!–[if !supportLists]–>·         <!–[endif]–>Local SharePoint

<!–[if !supportLists]–>·         <!–[endif]–>Remote SharePoint

<!–[if !supportLists]–>·         <!–[endif]–>OpenSearch 1.0/1.1

<!–[if !supportLists]–>·         <!–[endif]–>Exchange

For all options you have to configure a security context to access the result source. Using Remote SharePoint you can use SSO or path thru authentication. Using Open Search we have the option to use Anonymous, Basic Authentication, Digest Authentication, NTLM, Form Authentication or Cookie Authentication. Using Remote SharePoint to call an on-premise SharePoint Search you have to set up a Search Federation based on an Identity Federation.

In all cases we have to configure a Remote Address and we can configure a Query Transformation (as described in Part I) to filter or manipulate the query which is sent to the remote system.

In my demo tenant I simply used some open search based systems.

Source

Source Url

Twitter

http://search.twitter.com/search.atom?q={searchTerms}

Facebook

http://search.live.com/results.aspx?q={searchTerms}+site%3afacebook.com&format=rss

YouTube

https://gdata.youtube.com/feeds/api/videos?q={searchterms}

(These can of course also be remote endpoints for your LOB systems or other on-premise sources)

Setting up those systems as a “Result Source” gave me the option to use them in my SharePoint Online system to build Search Driven experiences.

2013-05-20-SearchDriven-Part02-02.jpg

Search Driven experiences and solutions in SharePoint Online

The easiest way to use the new result source, and within them remote content, is using them in the result Webpart. In this example you can see an overview site in my SharePoint Online that aggregates news from configured social media sources based on Result Webparts:

2013-05-20-SearchDriven-Part02-03.jpg

For example filling the atwork area for Twitter news I configured the Result Webpart with these setting:

<!–[if !supportLists]–>·         <!–[endif]–>Setting up the “Select a query” with the “Twitter” Result Source

<!–[if !supportLists]–>·         <!–[endif]–>Fill in a query that focus to the desired results

2013-05-20-SearchDriven-Part02-04.jpg

Using the configured result sources within Query Rules (as described in Part I) we can build a focused search experience like this social media search page:

2013-05-20-SearchDriven-Part02-05.jpg

Search Driven Solutions can of course also be built based on SharePoint Online content. Here you see an example based on content placed in SharePoint Online lists ad libraries:

2013-05-20-SearchDriven-Part02-06.jpg

And of course you can mix results coming from remote sources and results coming from your SharePoint Online source.

This Webcast shows the described samples in action: Building Search Driven Solution with SharePoint 2013 Part II – On YouTube

2013-05-20-SearchDriven-Part02-07.png

SharePoint 2010 Ribbon CSS Classes Explained


You may also be interested in: SharePoint Conference.ORG 2013


 

Editor’s note: Contributor Benjamin Niaulin is a SharePoint Specialist at Sharegate. Follow him @bniaulin

There are many classes with names like ms-cui-tts which mean nothing to me when I look at them for the first time. Of course, I could look at a CSS chart or inspect the web page using F12 in IE and Chrome to see what was applied but nothing was clear to me. That’s why I decided to show you the classes from my perspective.

Before the toolbars came the tabs

I don’t want to dive right in the actual list and library ribbon so let’s look at the tabs that get us there before.

2013-05-13-SharePoint2010RibbonCSSClasses-01.png

So I took out my scalpel and started digging…

The tabs at the top are generated using an Unordered List, you usually see that in HTML as "UL". And inside this list we have List Items or "LI" which represent each tab generated. But there are some exceptions, surprised? When you are looking at the tabs, it’s true that each tab is a LI or list item but someone of them are split into more tabs… I’ll explain. If you look at the image above, it’s simple enough.

We have a UL and inside we have a LI for Browse and a LI for Page, that’s easy. However if you’re looking at Library Tools for example.

2013-05-13-SharePoint2010RibbonCSSClasses-02.png

You might think we have 4 different LI right now, well I thought so too but no. Here is what this looks like.

<UL>
        <LI>Browse</LI>
        <LI>Page</LI>
        <LI>Library Tools</LI>
<UL>

Before you jump to the comment section, yes I know this is not the real HTML code used by SharePoint but it’s to help visualize better.

What does this mean? It means we have to be careful when we do our CSS as it may not always work the way we expected, a single tab becomes two tabs…confusing. But if we make sure to write good CSS we should be ok.

Let’s look at the UL that generates all the tabs.

<ul class="ms-cui-tts">

Be careful, as there is another class we will be using very soon ".ms-cui-tt-s" note the very slight difference at the end. The latter with -s is the selected state of a tab whereas .ms-cui-tts is the UL that is the container of all the tabs.

Then we got the actual tabs themselves, so the LI inside the UL. They use the class ".ms-cui-tt"

What did we just learn?

<UL class="ms-cui-tts">
        <LI class="ms-cui-tt  ms-cui-tt-s">Browse</LI>
        <LI class="ms-cui-tt">Page</LI>
<UL>

Well, seems like we’re getting somewhere but I am still having issues with the last one "Library Tools". We’ve established that "-tts" is the container for the list of tabs for the ribbon. We also found out that "-tt-s" is when a tab is in a selected state. Finally, every tabs use the "-tt" CSS class. But we do have exceptions, the "grouped tabs" like Library Tools. Instead of using ".ms-cui-tt" like every other tabs, the group calls a class called ".ms-cui-cg" I am guessing the g is for group but it’s hard to figure out the naming convention on these classes.

RECAP:

.ms-cui-tts (The entire list of tabs)

2013-05-13-SharePoint2010RibbonCSSClasses-03.png

.ms-cui-tt-s (A tab that is selected)

2013-05-13-SharePoint2010RibbonCSSClasses-04.png

.ms-cui-tt (tabs – mainly used for positioning)

2013-05-13-SharePoint2010RibbonCSSClasses-05.png

Remember not to actually brand the tabs but the anchors inside the tabs , they use .ms-cui-tt-a. Another class to remember? Yes I know it seems complicated but with enough practice you’ll get the hang of it.

So if you wanted to brand all the tabs orange for example, you would do this:


.ms-cui-tt a.ms-cui-tt-a { 
    background-color:#E36C09; 
}

Which will give you something like this:

2013-05-13-SharePoint2010RibbonCSSClasses-06.png

2013-05-13-SharePoint2010RibbonCSSClasses-07.png

Can you tell me what we would use to change the look of a selected tab?

That’s right!


.ms-cui-tt-s a.ms-cui-tt-a { 
    background-color:#E36C09; 
}

The Browse Tab

Probably the easiest one to figure out, it is still under .ms-cui-tt but has another CSS class specifically for itself called .ms-browseTab. Of course that CSS class is only used to specify that this is the Browse tab, it doesn’t really apply any design. If you want to design the Browse tab you must use it in conjunction with the anchor that is below it to be more specific and win the CSS battle.

To brand the Browse tab use:
.ms-browseTab > a.ms-cui-tt-a

To brand the Browse tab when it’s selected use:
.ms-cui-tt-s.ms-browseTab > A.ms-cui-tt-a

Remember, as we saw above, the .ms-cui-tt-s is the class used when a tab is selected, that’s why I used it above. Don’t forget to add :hover at the end if you also want to change the design of the hover state. Try playing with the top margin and some padding and see how you can make the browse tab more evident for the users.

The dreaded grouped tabs

Ok perhaps I am exaggerating, but I have had some tough times with it. The CSS classes are horribly named and using bad practices, so of course it wasn’t the most exciting experience.

So here is my understanding, we said the ribbon tabs are in a container that uses .ms-cui-tts that each tab uses .ms-cui-tt and that when they are selected they use .ms-cui-tt-s. We also established that these classes are really for the positioning of the LI (List Items) that are the tabs but we don’t really use them to "brand" the tabs themselves. To do that we reach down to the anchors inside a.ms-cui-tt-a. We also saw that the "Browse" tab has his own class to differentiate it from the others. So what about those Grouped Tabs like Library Tools and Editing Tools?

To understand the CSS classes used we first need to speak the same language as them, that language is called “Geek”.

SharePoint CSS Geek Dictionary for the Ribbon:

tt = Tab Title
tt-s = Tab Title Selected
tt-a = Tab Title Anchor
cg = Contextual Group
ct = Contextual Title

So here is what happens, normally under the UL that uses .ms-cui-tts we have a LI for each tabs that use .ms-cui-tt right? Well for the Grouped Tabs or "Contextual Group" SharePoint uses the class .ms-cui-cg instead.

Wait what?

Regular Single Tabs:

<ul class="ms-cui-tts">
        <li class="ms-cui-tt  ms-cui-tt-s">
                 <a class="ms-cui-tt-a">
                      Browse
                 </a>
        </li>
        <li class="ms-cui-tt" >
                 <a class="ms-cui-tt-a">
                      Page
                 </a>
        </li>
<ul>

(note that the above CSS is for explaining and not the actual html/css in SharePoint)

Contextual Group Tabs:

<ul class="ms-cui-tts">
        <li class="ms-cui-tt  ms-cui-tt-s">
                 <a class="ms-cui-tt-a">
                      Browse
                 </a>
        </li>
        <li class="ms-cui-tt">
                 <a class="ms-cui-tt-a">
                      Page
                 </a>
        </li>
        <li class= "ms-cui-cg">
                 <div class="ms-cui-cg-i">
                        <div class="ms-cui-cg-t">Library Tools</div>
                 </div>
                 <ul class="ms-cui-ct-ul">
                        <li class="ms-cui-tt">
                              <a class="ms-cui-tt-a">
                              Documents
                               </a>
                        </li>
                        <li class="ms-cui-tt">
                              <a class="ms-cui-tt-a">
                              Library
                               </a>
                        </li>
                 </ul>
       </li>
<ul>

Basically, I’ll spare you the html above, it means that instead of using the usual .ms-cui-tt for the next tab, because it’s a contextual group SharePoint uses another class called .ms-cui-cg. And under this LI we have a DIV for the group title like “Library Tools” as well as another UL with the class .ms-cui-ct-ul which simulates .ms-cui-tts in a way to start another tabs menu below it. Then as you can see above the class uses for the individual tabs are the same.

What I noticed as well is that on the LI that uses the Contextual Group CSS class .ms-cui-cg there is also another class applied that defines the color: .ms-cui-cg-db

This one for example the db means Dark Blue, Heather Solomon wrote an article very recently listing all of them. Think we had the same article idea, at the same time hehe. Check out the bottom of her article for some details on the contextual groups.

What she suggests, is to use


li[class*="ms-cui-cg"].ms-cui-cg-s .ms-cui-cg-t 
{ 
}

As a catch all for the selected contextual group (remove the –s at the end of .ms-cui-cg-s to get the inactive ones or add ", ms-cui-cg-i" where the i represents inactive)

This would allow you to brand all the ribbons the same color.

However, if you want to get a specific menu like Library Tools, you will have to work a little.


ms-cui-cg.ms-cui-cg-db .ms-cui-cg-t { 
    background-color:green; 
} 
.ms-cui-cg-s.ms-cui-cg-db .ms-cui-tt a.ms-cui-tt-a { 
    background-color:green; 
} 
.ms-cui-cg-s.ms-cui-cg-db .ms-cui-tt-s a.ms-cui-tt-a { 
    background-color:#FFFFCC; 
}


2013-05-13-SharePoint2010RibbonCSSClasses-08.png

2013-05-13-SharePoint2010RibbonCSSClasses-09.png

Hope this help you understand some of the branding around the ribbon.

SharePoint Style Counsel


You may also be interested in: ViewPoint for SharePoint


 

Editor’s note: Contributor Ellen van Aken is an experienced intranet adoption manager. Follow her @EllenvanAken

2013-05-17-SharePointStyleCounsel-01.jpgWhen you select your clothes for today, you can decide to wear something that is clean, whole and covers what needs to be covered. You can also refine your selection by choosing something that matches your mood and flatters your personality, figure and colouring. Then you can add accessories like jewelry, a scarf and a good handbag to make the end result even better.

Hello! This is a SharePoint blog!

Yes, be patient, I am getting there2013-05-17-SharePointStyleCounsel-02.gif.

Most people think that SharePoint does not look nice. So they customize the standard look and feel. They bring in a bunch of designers for every site that facilitates an important corporate initiative. They add pictures, icons and headers to sites with lesser visibility, all to make it look a little better.

Yet these are just the accessories that only work well when the content is good, and is displayed in the best possible way.

How do I display my content in the best way?

Using the default view for a web part or a list/library is dressing your content in something that does what it must do. Functional, but not always optimal. Why not put in some effort to make sure it is really both the best possible content and it looks good?

First of all, check if the columns, sort order, filters and grouping that you display are just right for your purpose and your audience.

Then you can select a View Style that enhances your content style, makes it easy for your audience to use it, and displays it in its full glory.

Where do I find the View Styles?

They are on the page where you create or modify a View, between “Totals” and “Folders”. If you expand it, you will see a number of different styles. Most styles mentioned below are available for Lists as well as Document and Picture libraries.

Basic Table and Default.

This is the default look. In my Office 365/SharePoint 2010 environment they are the same. In Picture Libraries, the default style is the Picture Library Details style.

2013-05-17-SharePointStyleCounsel-03.png
Default View

Boxed, no labels and Boxed.

Both styles display your line item in a coloured box, showing two items next to each other in the zone. This is ideal to display content such as contact details. The “Boxed” displays the column names, the “Boxed no labels” does not and is somewhat crisper, but only when the content speaks for itself. (e.g. you will recognize that the content is address and telephone number, or as in the example below, it is an announcement).

This style is comparable to the “Document Details” view in Document and Picture Libraries.

2013-05-17-SharePointStyleCounsel-04.png
Boxed No Label

2013-05-17-SharePointStyleCounsel-05.png
Document Details

Newsletter and Newsletter, no lines.

If your list has a “multiple lines of text” column the Newsletter Style will make the most of your text content. Your text field will be spread over the full width of the zone, which reads much easier and makes much better use of the column width.

Make sure the text box is the last column to be displayed in the view, and use the minimum of other columns (e.g. Title, Created and Created By) to make your text stand out!

I have used this style for the memo’s in Facebook in a Team Site, and for an in-company blog (based on an Announcement list) before we had proper blog functionality.

2013-05-17-SharePointStyleCounsel-06.png
Newsletter Style

Shaded.

Does your long list look plain and boring? Is it difficult to see which line item is which? Are you tired of that solid block of white background? You may want to try the Shaded Style. This adds a soft background colour to alternate line items. It is ideal to break up long lists or lists where the column content is spread over two or more lines. Using the Shaded view makes it easy to see which content belongs to which line item. This is the style I use most often.

2013-05-17-SharePointStyleCounsel-07.png
Shaded View – the exact shade is depending on theme; here it is not very pronounced.

Preview Pane.

Do you want to show many columns in your list, but you do not have enough room in your zone to display nicely? Or do you have a long list wtih many columns? The Preview Pane shows all item titles on the left hand side, and the other selected columns of the item when you hover over the title. This way you can show your content on-demand, in a compact way. Your titles should be very precise, of course, because you have no other indication of the content.

2013-05-17-SharePointStyleCounsel-08.png
Preview Pane landing page

2013-05-17-SharePointStyleCounsel-09.png
Preview Pane upon selecting a title

Please note that styles may change functionality; please read Veronique’s post.

Do you have any nice examples of using different styles to display your content? And what is your favourite style?

Title based on the band The Style Council. I wonder where they got their name from?2013-05-17-SharePointStyleCounsel-02.gif

SharePoint 2013: What’s in Access Services for Me?


You may also be interested in: SharePoint Conference.ORG 2013


 

Editor’s note: Contributor Erik Abderhalden is a consultant with Rightpoint. Follow him @erikboderek

2013-05-13-SharePointWhatsInAccess-01.pngWhen we talk about collaboration in the workspace the discourse tends to focus around SharePoint, Word and Excel, Lync and social components. What’s absent from that conversation is Microsoft Access. I’m not sure why this is. Access has been around for a long time and is still part of the Microsoft product suite. For some organizations, Access holds business critical data; for others, it’s an easy, tried and true way to capture, store, and report on data.

There’s many problems with how we treat Access currently. First, most Access applications reside on network drives. This thwarts collaboration in too many ways to count in this blog post. The main collaboration inhibitor is that the database is isolated from other resources – be it people or data. Second, Access databases tend to be built on average about a decade ago, ported over to a new release of Access and the knowledge and inner-workings of the application are held like state secrets by one person.

This leads to what I call Access fiefdoms. Organizations who utilize Access applications tend to be composed of several fiefdoms. I’m not talking about Game of Thrones power struggles here; instead organizations end up with a bunch of siloed solutions that ultimately will depend on a single resource to maintain them. Once that resource leaves the department or the company, the app tends to wilt and ultimately die.

SharePoint 2013 can curtail these Access fiefdoms via Access Services. At a high-level, Access Services is functionality provided by SharePoint, with a little help from SQL, that renders Access web applications on SharePoint. In 2013, Microsoft has changed the relationship on how Access and SharePoint integrate and I believe there’s something in Access Services for everyone. So without further ado, let’s break it down by role.

End User

  • Single Point of Collaboration
    • If you’re already storing files in a team site and use Access, it coalesces elements of daily duties to a single spot.
    • Don’t need to worry about file-level locks. Multiple users can be working simultaneously.
  • Access Apps can pull in lots of data sources
    • Databases published via Access Services can consume data from SharePoint, other Access DBs, SQL, and ODBC. This is more than enough data sources for most users.
  • Nice Looking Forms
    • Access utilizes HTML 5 and has some nice looking forms that take their cues from the Windows 8 interface. Developers can build in custom actions at the top of each form to execute macros and improve the end user experience with UI and data macros. Discrete custom actions buck the trend to place too many buttons on forms and lead to a confusing user experience, which can be found in many Access DBs.
  • Reporting
    • The days of manually massaging SharePoint data after exporting from Excel are over. While reporting in Access Services is done via the fat client app you can leverage data sources from all sorts of SharePoint sites and mold them into meaningful reports.

Power User/Developer

  • Codeless
    • I feel SharePoint developers lose people when they start talking about content types and site columns and that may intimidate people from starting to develop SharePoint solutions. Access Services doesn’t require knowledge of C#, .NET, or core SharePoint concepts. All you need to know is Access and have a SharePoint site to publish to.
  • Easy to publish/App Store
    • It’s super easy to save and publish Access apps to SharePoint. The Access fat-client has changed so users can only develop with what will publish to SharePoint. This means there is no compatibility checker, because the compatibility of working with SharePoint is guaranteed!
    • Additionally, developers can save their app and redistribute it through their organization. This frees up developers’ time significantly. If a developer built an app form Team A and Team B wants to utilize a lot of the same functionality, Team B can download the App from the SharePoint App Store and make it their own, leaving the developer more time to focus on higher priority work. By sharing the app, we prevent the knowledge of the app from residing with a single resource.
  • Views
    • AKA The Functionality Formerly Known as Forms. Views are built using HTML5. They’re responsive and easier to develop than previous versions of Access. Built in the Access client via a WYSIWYG editor, they’re easy to build and customize.
  • Macros
    • While the end user reaps the rewards of the macros, the Access client has handsome macro builders that allows easy drag and drop functionality to create powerful operations in no time.

Administrators

  • App Store
    • With the App model in SharePoint, administrators ultimately have jurisdiction about what can and cannot be available in their environment.
  • Look Ma, no SharePoint Designer!
    • Access Services allows users to build composite applications without the need for SharePoint Designer. In environments where SPD use is prohibited or in the hands of a few, Access Services can empower end users to build their own apps and publish them to SharePoint, which in turn can drive collaboration and adoption of the platform.
  • SQL
    • The biggest change to Access Services in SharePoint 13 is that all of the data in Access resides in SQL. Every app belongs in its own contained database. This means that you’re no longer stuck with the limitations of SharePoint when running your Access app, you’re only limited by SQL. SharePoint only renders the app’s HTML and CSS. Meaning all of the processing is done by SQL in what Microsoft calls "Access Run Time." This should assuage any fears of an Access App taking down a WFE.

Access may be 20 years old, but that doesn’t mean we should be working like its 1993. Access Services on SharePoint 13 takes the best parts of Access and SharePoint and provides 21st century solutions for users across the organization.