Monday, 25 July 2011

Enable Netbios Names

Profile synchronisation in SharePoint 2010 can be a pain. One of the more complex things to do is enable netbios names. This needs to be done to enable line manager names and user names to be resolved correctly.
This must be done using the SharePoint management shell. I dont know why there is not a simple tickbox for this :o(
Here are the steps:
Get-SPServiceApplication
$var = Get-SPServiceApplication –Identity "paste guid of application here"
$var.NetBiosDomainNamesEnabled
$var.NetBiosDomainNamesEnabled = “True”
$var.update()
$var.NetBiosDomainNamesEnabled
Type them one at a time with a return after each one. Paste the GUID obtained from the first command into line two.
After completing the above you MUST delete the AD connection, create a new one and then do a full sync.

Friday, 27 May 2011

Case conversion in SharePoint workflows

Strangely there are no options when using SPD to convert case even though you can convert case easily using a calculated column in your list or library.

There is a workaround that you can use.

First create a list with a calculated column to hold the result of converting a column to upper or lower case. Use =UPPER(Title) or =LOWER(Title) depending on your preference.

Then use the list in any workflow that you need to do a case conversion. Here is a screen of a workflow that does just that. In this example I am setting both upper and lowercase from the same list, i.e. I have two calculated fields in my case conversion list.



You will notice that after creating the list item in the case conversion list, that I immediately make a copy of it. This is because the calculated field event will not fire until something is done to force it. In this case we use the copy item option.

Note that it is the new copy of the item that has the converted data in it not the first item so you must remember to use this to retrieve the data. Hence the use of ‘plus 1’ in the workflow.

The last two lines just delete the two list items that the workflow created to perform the conversion. This is not required but it is just good practice to tidy after yourself.

Monday, 7 February 2011

Hide Quick Launch SharePoint 2010

The easiest way is to add a CEWP to the page then add this HTML.

< style type="text/css">
body #s4-leftpanel {
display:none;
}
.s4-ca {
margin-left:0px;
}
</style>

Tuesday, 23 November 2010

Unable to view SharePoint list in Datasheet with Office 2010

I just found that I am unable to view a SharePoint list in Datasheet view because I have the 64bit version of Office 2010 installed.

The error message is :

The list cannot be displayed in Datasheet view for one or more of the following reasons:
A datasheet component compatible with Microsoft SharePoint Foundation is not installed.
Your Web browser does not support ActiveX controls.
A component is not properly configured for 32-bit or 64-bit support.

To fix this follow this link to Microsofts Knowledge base article http://support.microsoft.com/kb/2266203

Wednesday, 6 October 2010

Show Quick Launch on SharePoint 2010 Webpart Page

When you create a webpart page on SharePoint 2010 or 2007 for that matter, the quick launch will vanish.

With SharePoint 2007 all you needed to do was edit the page in SharePoint Designer and remove the following 2 lines:

< asp:Content ContentPlaceHolderId="PlaceHolderNavSpacer" runat="server"></asp:Content>
< asp:Content ContentPlaceHolderId="PlaceHolderLeftNavBar" runat="server"></asp:Content>

With SharePoint 2010 you also need to delete the following:

< style type="text/css">
body #s4-leftpanel {
display:none;
}
.s4-ca {
margin-left:0px;
}
</style>

The quick launch will now display on the web part page.

Thursday, 19 November 2009

SharePoint 2010 Install Failed

After I tried twice and failed twice to install SP2010, with the same issue both times, I googled the error and found that at the moment SharePoint 2010 cannot be installed on Server 2008 R2.

http://blogs.msdn.com/opal/archive/2009/11/16/installation-notice-for-sharepoint-2010-public-beta.aspx

Yes I was using Server 2008 R2. So now I'll try with Server 2008.

Wednesday, 18 November 2009

New Certification


With all this Office 2010 excitement, I forgot to brag about my latest certification.

Did 070-630 and scored 1000 from 1000. First time I got the perfect score.

Office 2010


Office 2010 installed with no issues. It looks good, but my best bit so far is the 'send a smile'.

If you like something then you can send a smile to Microsoft and tell them what you liked. You can also send a red sad face when you get some nasty bad thing :o)

Content Editor Links - SharePoint 2007

I have a site that is extended for use externally. The links that are used insite of a content editor web part (CE) do not work externally.

What I noticed is that when a link is clicked it resolves to http://servername/linkxxxxx and not http://extranetaddress/linkxxxxx as expected.

This result occurs even when the link entered into the CE is trimmed to just /linkxxxxx. I am surprised at this behavior as in all other areas, for instance, quick launch items, the links are managed correctly.

One fix that I found works, is to edit the source in the CE web part and remove the http://servername part, instead of removing this part using the rich text editor. After doing this, every works correctly.

The problem with this fix is that every previously created link will have to be manually dealt with after extending a site and also content editors will need extra training to show them how to deal with the issue.

I found that the problem only occurs when using an extended site and a host header, so I have implemented a better fix using AAM (Alternate Access Mapping).

Firstly I removed the extended site from IIS and then added extranet.co.uk as an AAM for the extranet zone. This is done within Central Admin.

All now works correctly.

Authentication Failure on Front End Server

If, like me you find that you are unable to authenticate to your SharePoint site locally on the server, then follow this KB article to fix http://support.microsoft.com/kb/956158/en-us

All to do with a "loop back" check apparently.

SharePoint and Office 2010

Yesterday I downloaded all the Office 2010 beta products from MSDN; Office, SharePoint Foundation, SharePoint Server, SharePoint Designer 2010 and even Office Web Applications.

The total downloads were 2.03Gb, so I am glad I have a 20Mb connection.

In readiness I have deployed a shiny new virtual server on Suns Virtual Box hosted on my Mac Mini. (Sorry Microsoft). The VM is running Server 2008 R2 and I have installed SQL Server 2008 R2.

Today, after fixing a managed link issue in SP2007 for one of my customers, I will be installing the new 2010 stuff for a first look.

I will blog about my experience and make comments here.

Friday, 20 February 2009

This week has been spent in a classroom. I have not done this for a long time, but found it quite relaxing, especially as no phones allowed.

By the end of next week I will be certified by RightNow and can start consulting on their CRM solution. http://www.rightnow.com

Thursday, 23 October 2008

Tuesday, 21 October 2008

Restricting Available Site Definitions

I recently did an 'in place' upgrade from SharePoint Portal Server 2003 to MOSS 2007. After the upgrade, when trying to create a new site there was only one site definition available.

After some searching of various blogs I found that you can restrict available site definitions by going to this link http://&ltyoursiteurl>/_Layouts/AreaTemplateSettings.aspx

Here you can select which definitions to allow/not allow.

Wednesday, 15 October 2008

Multiple Authentication Requests - External Access

If you are accessing a WSS or MOSS site externally and not via a VPN connection, you will be asked to re authenticate whenever opening a Microsoft Office document. This will slowly drive you mad.

To overcome this first add the SharePoint site to your trusted sites, then you need to tell Internet Explorer to automatically log on using the current username and password.

Do this from Internet Explorer's menu...

Tools > Internet Options > Security > Custom Level > User Authentication > Automatic logon with username and password

You should not be asked to log on when opening documents now.

Friday, 3 October 2008

Traffic Lights


While working with clients I am often asked if they can have traffic light indicators on list items. This would be great for rag status on project based WSS sites for example. Unfortunately this is not a straightforward task, indeed 'Key Performance Indicators' are only available with MOSS Enterprise and in anycase these are overkill for many cases.

I had considered creating custom webparts to solve this but a search on the web came up with some good information. (Credit to Christopher at PathtoSharePoint)

The list or library must contain a required choice field named priority, the choices should be (1)High, (2)Normal, (3)Low.

Now create a calculated field to store the indicator. Depending on what type of indicator you would like, choose which of the following calculations to use in this field:

- Traffic light (actually a big bullet!):
=”< DIV style=’font-weight:bold; font-size:24px; color:”&CHOOSE(RIGHT(LEFT(Priority,2),1),”red”,”orange”,”green”)&”;’> •< /DIV> ”

- Indicator (reusing the default SharePoint KPI images):
=”< DIV> < IMG src=’/_layouts/images/KPIDefault-”&(3-RIGHT(LEFT(Priority,2),1))&”.gif’ /> < /DIV> ”

- Font color:
=”< DIV style=’font-weight:bold; font-size:12px; color:”&CHOOSE(RIGHT(LEFT(Priority,2),1),”red”,”orange”,”green”)&”;’> ”&Priority&”< /DIV> ”

- Background color:
=”< DIV style=’font-size:12px; background-color:”&CHOOSE(RIGHT(LEFT(Priority,2),1),”red”,”orange”,”green”)&”;’> ”&Priority&”< /DIV> ”

Now add the list or library as a web part on the page where you would like to see it and the indicator. This will look very odd and the indicator will appear as html text.

Now add a CEWP (Content Editor Web Part) to the page. Set the CEWP to hidden as you do not want to see it on the page. Using the source editor of the CEWP add the following javascript:

< script type="text/javascript">
var theTDs = document.getElementsByTagName("TD");
var i=0;
var TDContent = " ";
while (i < theTDs.length)
{
try
{
TDContent = theTDs[i].innerText || theTDs[i].textContent;
if ((TDContent.indexOf("< DIV") == 0) && (TDContent.indexOf("< /DIV> ") > = 0)) {
theTDs[i].innerHTML = TDContent;
}
}
catch(err){}
i=i+1;
}
< /script>

If everything is correct your list will appear with indicators like the above example.