Strange behaviour when clicking the type icon selects the row instead of opening PDF
The tale end of last year I came across this issue when prototyping a system. I had a clean build of SharePoint 2010 with SP1, just using a standard team site. I uploaded some pdfs and was about to demostrate opening PDFs from the document library and the link failed to work.

Clicking the icon in Type column is highlighting the item instead of launching the document
After some research I found this KB article
SharePoint 2010: Clicking the icon in Type column is highlighting the item instead of launching the document http://support.microsoft.com/kb/2457975
The article describes the problem and a fix to add a file called “fldtypes_docicon.xsl” into C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\template\layouts\XSL. Content of the file is detailed in the KB article.
I deployed the file which resolved the issue … was glad I only had two servers in the environment (have to manually copy the file to the servers).
SharePoint Virtual Labs
You can learn a lot from blogs, articles, books but I find actually ‘doing’ something is the best way to learn, that’s where the Virtual Labs come in.
SharePoint 2010
- MSDN Virtual Lab: SharePoint Server 2010 Connectors & Using the Business Data Connnectivity (BDC) Service New!
- MSDN Virtual Lab: SharePoint Server 2010: Introduction New!
- MSDN Virtual Lab: SharePoint Server 2010: Advanced Search Security New!
- MSDN Virtual Lab: SharePoint Server 2010: Configuring Search UIs New!
- MSDN Virtual Lab: SharePoint Server 2010: Content Processing and Property Extraction New!
- MSDN Virtual Lab: SharePoint Server 2010: Developing a Custom Connector New!
- MSDN Virtual Lab: SharePoint Server 2010: Fast Search Web Crawler New!
- MSDN Virtual Lab: SharePoint Server 2010: Federated Search New!
- MSDN Virtual Lab: SharePoint Server 2010: Linguistics New!
- MSDN Virtual Lab: SharePoint Server 2010: People Search Administration and Management New!
- MSDN Virtual Lab: SharePoint Server 2010: Relevancy and Ranking New!
- MSDN Virtual Lab: Customizing MySites
- MSDN Virtual Lab: Designing Lists and Schemas
- MSDN Virtual Lab: Developing a BCS External Content Type with Visual Studio 2010
- MSDN Virtual Lab: Developing a Sandboxed Solution with Web Parts
- MSDN Virtual Lab: Developing a Visual Web Part in Visual Studio 2010
- MSDN Virtual Lab: Developing Business Intelligence Applications
- MSDN Virtual Lab: Enterprise Content Management
- MSDN Virtual Lab: Getting Started with SharePoint 2010
- MSDN Virtual Lab: LINQ to SharePoint 2010
- MSDN Virtual Lab: SharePoint 2010 User Interface Advancements
- MSDN Virtual Lab: Visual Studio SharePoint Tools
- MSDN Virtual Lab: Workflow
SharePoint 2007
- MSDN Virtual Lab: Module 1: Getting Started
- MSDN Virtual Lab: Module 2: Site Structure and Branding
- MSDN Virtual Lab: Module 3: SharePoint for Internet Sites
- MSDN Virtual Lab: Module 4: Forms Based Authentication
- MSDN Virtual Lab: Module 5: Enhancing MySite with Microsoft Live Controls and SharePoint Designer (Live Messenger/Live Contacts)
- MSDN Virtual Lab: Module 6: Customizing Search for your Site
- MSDN Virtual Lab: Module 7: Content Deployment
- MSDN Virtual Lab: Module 8: Building and Deploying a Minimal Publishing Site Definition and Creating a Minimal Publishing Site Collection
- MSDN Virtual Lab: Module 9: Enabling Social Networking for Your Site
- MSDN Virtual Lab: Module 10-2: Integrating a Silverlight Application with the SharePoint Object Model via Web Services
Welcome
I’m moving my blog to the word press platform, not any reflection on SharePoint as a blogging platform just to keep the hosting costs down. I will look to provide some URL redirection or a landing page if possible for existing links to my published articles.
Programmatically create SharePoint security groups using configuration
Corey Roth has a great article “A simple way to programmatically create SharePoint security groups“. On a recent project I needed to configure security during feature activation for security restricted WebParts (the WebParts checked the current user was a member of a particular security group) but didn’t want to hardcode the values. The article used a XML configuration to define which groups needed creating and the membership.
{
XDocument groupsXml = XDocument.Parse(groupsConfigBody);
var groups = from sharePointGroup in groupsXml.Root.Elements(“Group”)
select new
{
Owner = sharePointGroup.Attributes(“Owner”).Any() ? sharePointGroup.Attribute(“Owner”).Value : null,
Description = sharePointGroup.Attributes(“Description”).Any() ? sharePointGroup.Attribute(“Description”).Value : string.Empty,
PermissionLevel = sharePointGroup.Attributes(“PermissionLevel”).Any() ? sharePointGroup.Attribute(“PermissionLevel”).Value : null,
Users = sharePointGroup.Elements(“User”).Any() ? sharePointGroup.Elements(“User”) : null,
AllowMembersEditMembership = sharePointGroup.Attributes(“AllowMembersEditMembership”).Any() ? Convert.ToBoolean(sharePointGroup.Attribute(“AllowMembersEditMembership”).Value) : false,
AllowRequestToJoinLeave = sharePointGroup.Attributes(“AllowRequestToJoinLeave”).Any() ? Convert.ToBoolean(sharePointGroup.Attribute(“AllowRequestToJoinLeave”).Value) : false,
AutoAcceptRequestToJoinLeave = sharePointGroup.Attributes(“AutoAcceptRequestToJoinLeave”).Any() ? Convert.ToBoolean(sharePointGroup.Attribute(“AutoAcceptRequestToJoinLeave”).Value) : false
};
foreach (var sharePointGroup in groups)
{
// only create the group if it does not exist
if (!ContainsGroup(currentSite.SiteGroups, sharePointGroup.Name))
{
// add the owner to the web site users
if (sharePointGroup.Owner.IndexOf(@”\”) > -1)
{
SPUser owner = currentSite.EnsureUser(sharePointGroup.Owner);
currentSite.SiteGroups.Add(sharePointGroup.Name, owner, owner, sharePointGroup.Description);
}
else
{
SPMember owner = currentSite.SiteGroups[sharePointGroup.Owner];
currentSite.SiteGroups.Add(sharePointGroup.Name, owner, currentSite.CurrentUser, sharePointGroup.Description);
}
{
SPGroup group = currentSite.SiteGroups[sharePointGroup.Name];
if (sharePointGroup.AllowMembersEditMembership)
group.AllowMembersEditMembership = true;
group.AllowRequestToJoinLeave = true;
group.AutoAcceptRequestToJoinLeave = true;
}
}
AddUsersToGroup(sharePointGroup.Name, sharePointGroup.Users, currentSite);
<Groups>
<Group Name=”Admins” Owner=”domain\dave” AllowMembersEditMembership=”true” Description=”Set of admin users who control membership of the Bulk Processing group” PermissionLevel=”Read”>
<User Name=”domain\dave” />
</Group>
<Group Name=”My Security Group” Owner=”Admins” Description=”description goes here” PermissionLevel=”Read”>
<User Name=”domain\dave” />
</Group>
</Groups>
SharePoint MVP Chat – Wednesday 22nd June 2011
Microsoft are hosting another online Q/A chat with MVPs on 22/06/2011 at 9-10AM PDT Pacific Time or 5-6PM GMT. For the full schedule please seehttp://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=982
Tip: STSADM Exporting 17KB File
When exporting a site in SharePoint 2007 using STSADM, you may get a .CMP file 17KB in size. This will be because the user who is running STSADM doesn’t have access to the site. If you give the user permissions to the site, you will export the site successfully.
Always run STSADM as a user with a site collection owner rights on the target site.
Monthly Book Review
I’m currently commuting to London daily, so to pass the time of the daily commute I’m going to read a book. I’m hoping to get through a book a month and write a review at the end of the month. They will of course be SharePoint 2010 books or maybe the odd business focussed one to mix it up a bit.
I’m starting with “Designing Solutions for Microsoft SharePoint 2010″ O’Reilly publication.

There’s online resources for the book available here http://msdn.microsoft.com/en-us/library/ff770300.aspx. I’m hoping the book will add value instead of being a published form of the MSDN web content. I will post a full review at the end of the month.
MSDN Online Chats
Microsoft are hosting monthly online Q/A chats with MVPs. The next one is 20/04/2011 at 9-10AM PDT Pacific Time or 5-6PM GMT. For the full schedule please see http://msdn.microsoft.com/en-us/events/aa497438.aspxSharePoint MVP Renewed for 2011
I’m proud to announce that I have been awarded a Microsoft Most Valuable Professional (MVP) for 2011. I’m honoured to have received the award for the second year running.
“Congratulations! We are pleased to present you with the 2011 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in SharePoint Services technical communities during the past year”
New Content on the Microsoft Download Center – Jan 2011
Microsoft have published the following guides and whitepapers on the Microsoft Download Center. Worth a look …
- Upgrading to Microsoft SharePoint Server 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=fd2172e1-f9a7-45ce-ae5c-26714fd751f5 - Capacity planning for Microsoft SharePoint Server 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5f403ad5-0352-4c9b-841b-d73d4cb88f45 - Getting started with Microsoft SharePoint Foundation 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2d789716-2293-4007-a485-e092ca5edc60 - Deployment guide for SharePoint Foundation 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=00cc243f-ec4b-4c7a-ba89-8ad6ccc155e4 - Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=10104e47-7dfe-4ae5-a9ea-459e6aebd34e - Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 2
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=11A9EACD-78C9-442E-AA5A-EE66D9CD5F77 - Planning guide for server farms and environments for Microsoft SharePoint Server 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bbd414c5-00fe-4a65-8a35-d52c9aa84609