Thursday, February 19, 2009

My Site web application root site collection

Scenario: root top site collection for My Site web application got deleted (don’t ask how :-).

All my sites are still in tact as each of them is a separate site collection on it’s own, but if the top site collection under /">http://<mysitesURL>/ is deleted then people will not be able to create new my sites, this root site collection servers as provisioning mechanism for new MySites and also hosts Person.aspx page where end-users can view other people profiles.

So some of the things that you will notice right away:

1. No new My Sites can be created, instead people are getting “Internet Explorer cannot display the webpage”.

2. When people search result set is displayed, clicking on the person’s link to profile will bring to the “Internet Explorer cannot display the webpage” as well.

3. Your SharePoint search will not crawl people profiles anymore. This is because the top level site collection does not exist.

At this point you can recreate this mysite root site collection from Central administration under my sites web application, but only if you have the option to recreate it in the root. If you don’t have this option (I did not), you might have to recreate the whole web app, but backup all existing “my sites” firsts. For the first site collection that you will create use “My sites host” template under “enterprise” tab. After this create a managed path named “Personal”.

After you have done all of this restore all "”Mysites” that you have created backups for but not under the root URL :-), under /pesonal">http://<mysites>/pesonal

And you should be all set.

Enjoy

Friday, February 6, 2009

BP 2009 - Educated approach for selecting third party products and Vendors presentation

The conference is over and I enjoyed it very much. I’ve met a lot of great people “Hi all!” and as promised here is my presentation on third party products.

Educated approach for selecting third party products and Vendors

Description: SharePoint has become the platform that companies and businesses are turning to in search of solutions for their business needs.  Windows SharePoint Services also provides a foundation platform for building Web-based business applications that can easily scale to meet the changing and growing needs of business, as a result there is plethora of 3rd-party suppliers. In some cases third party applications and add-ons add some flexibility or more functionality to the basic feature set offered by SharePoint, and in others they enable powerful administrative capabilities and allow integration with critical business applications and databases. The number of third-party SharePoint applications and Web Parts is growing at a remarkable rate. This growth brings a lot of confusion on how to select the right vendor and product to customers that are looking to supplement their SharePoint environment. In this session, you will learn to identify difference categories of third party products available on the market and their value, select the right product and vendor that would fit their budget and business needs, and understand implications of introducing different products into their SharePoint environment

BP 2009 in San Diego – Training your SharePoint staff presentation

Just Got back home from the conference and even though I greatly enjoyed the conference and people attending, but home is home :-)

As promised here is the presentation on Training Staff Responsible in the Various Roles and Responsibilities

Description: The SharePoint implementation can be very complex, involving many types of roles and responsibilities within an organization, it’s critical that all groups involved are competent enough to take advantage of its functionality. Even if your portal solutions are state of the art, but when end users don’t use it, the implementation is a waste of time and budget. This session will cover all roles and role based training approach. This presentation covers the identification of the key roles involved in the usage/development/maintenance of the SharePoint Portal, describes the type of training each role is required to receive based on their responsibilities, and how to deliver more focused and relevant training. It is hoped that audience members walk away with enough understanding of the importance of delivering training to all roles involved and with concrete and useful information that help them to develop the right training strategy.

Enjoy :-)

Monday, January 26, 2009

User Profile Properties do not synchronize

I’ve come across this issue a while ago, but after seeing this issue surfacing several times, I’ve decided to blog about it :-)

This problem might appear very deceiving almost like some user profiles are being ignored while other profiles are getting their properties updated just fine.

The problem is fundamentally within the way SharePoint is handling profiles updates :-)

SP finds a profile based on profile’s account name and matches it to AD account, but synchronizes properties by matching profile’s SID to the AD SID. Which means that if the profile had been recreated or corrupted this is not going to synchronize because this profile when it comes to AD does not exist anymore. SharePoint will first try to see if the profile exists based on the account name, and surely enough it will find it, this is why it will not recreate it, but it will not update any properties since SIDs will not be the same.

Delete this profile in SharePoint and do the import.

And refer to the following Thing that should or should not be done to SharePoint admin account

Saturday, January 10, 2009

Preview or play Video files in library

There are many ways of displaying video in a sharepoint site, my personal favorite is by Manoj Iyer from http://www.sharepointkings.com/2008/05/play-video-into-sharepoint-page.html blog.  But I often heard that the requirement is to have a video player almost imbedded into a video library.  Something that would allow to pick a video file without leaving the list of files and start playing it. something similar to the following picture.

image 

Well, it's very easy to create with Sharepoint designer

Let's start:

1. Create a Web part page, I’ve chosen the one with left column and body and named it Preview.aspx.

2. Open this page in the edit mode and insert Content Editor Web Part. Once you inserted the Content editor Web Part and pasted the code from http://www.sharepointkings.com/2008/05/play-video-into-sharepoint-page.html blog... I modified this code, but this modification does not change any functionality only height and width of the viewer, here it goes:

<div id="Player"> </div>
<script type="text/javascript">
function getParameter(szName)
{
// Get value out of supplied parameter
var szUrl = window.location.search;
szUrl = szUrl.toLowerCase();
szName = szName.toLowerCase();
var szValue = "";
var nBegin = szUrl.indexOf(szName);
if (nBegin != -1)
{
szValue = szUrl.substring(nBegin + (szName.length + 1));
}
var nEnd = szValue.indexOf("&");
if (szValue != "" && nEnd != -1)
{
szValue = szValue.substring(0, nEnd);
}
return szValue;
}

function wmpCreate(url) {
var str = "";
var agt = navigator.userAgent.toLowerCase();
var is_ie = (agt.indexOf("msie") != -1);
if (is_ie) {
// create the WMP for IE
str = '<object id="contentPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="400" height="400">';
} else {
// create it for FF.
str = '<object id="contentPlayer" type="application/x-ms-wmp" data="'+url+'" width="400" height="400">';
}
str += '<param name="url" value=""/>';
str += '<param name="uiMode" value="full">';
str += '<param name="autoStart" value="-1" />';
str += '<param name="stretchToFit" value="-1" />';
str += '<param name="windowlessVideo" value="0" />';
str += '<param name="enabled" value="-1" />';
str += '<param name="enableContextMenu" value="-1" />';
str += '<param name="fullScreen" value="0" />';
str += '</object>';
return str;
}
function videoCreate() {
document.getElementById('Player').innerHTML = wmpCreate();
var wmp = document.getElementById('contentPlayer');
wmp.URL = getParameter("url");
wmp.controls.play();
}
_spBodyOnLoadFunctionNames.push("videoCreate");
</script>

3. Open this page in SharePoint Designer.

This is where the fun part begins.

4. Into the left column insert DataView Web Part with the “media” library as the source.

5. Select all columns that you want to have displayed from the "media" library.

6. Insert a column at the end of the table and create a hyperlink there. Name of the hyperlink that I've chosen is "Preview"

image 

In the address field paste the following string.

javascript: {ddwrt:GenFireServerEvent(concat('__redirect={Preview.aspx?url=http://srv1/media/media/',@FileLeafRef,'}'))}

Let's see what it does:

This script is redirecting to this same page Preview.aspx, but adds a parameter called url with the url reference to the media file, so replace "http://srv1/media/media/" with the url to YOUR media library. @FileLeafRef will simply imbed actual file name at the end.

As soon this redirection happens the content editor web part with the player will take the url to this file and start playing it.

image

Now every time you click the preview link next to the file name, the player will start playing this video.

Enjoy

Thursday, December 4, 2008

Thing that should or should not be done to SharePoint admin account

Here is a short list of most common scenarios that people should be aware of regarding SP admin account on AD:

1. When the account initially is created, set "Password never expires" account property to true. This is not a regular user account hence it should comply with service account settings rules. If the password changes, reset passwords to reflect the new password in the Application pool identity.

2. If you are not happy with you "spappadmin" or "spadmin" (fill in the blanks) farm admin account name, DO NOT DELETE IT AND CREATE NEW ONE with the desired name.  just rename this account in AD, this will make sure that the SID remains the same and the security settings do not have to be recreated for this account EVERYWHERE.

this applies to any other account in AD, but admins do know it.

3. if your farm admin account without password change suddenly looses connection to the DB and in the log you see account "[blank]" could not be authenticated to the SQL.  most likely your account got corrupted in AD.

Another scenario, Farm is still functioning fine, but when you try to connect to the SQL remotely using farm admin account connection fails.

You will still be able to access you farm since the trusted connection had been established before the AD account got corrupted, but you will not be able to establish any new connections with it.

In this case just recreate admin account in AD and go through the pain of recreating security settings or changing SIDs.

Enjoy :-)

Shared Services Provider app pool

When you create Shared Services provider in your SharePoint Farm and want to assign already existing app pool make sure that the name of this application pool is exactly the same as SSP name. If the name is not the same then Sharepoint will create new app pool with SSP name even though the new SSP will use the app pool that you assign to it. Why I think it's important is the amount of app pools will directly impact the performance of system.

Just examine you IIS and delete this unused app. pool.