Online Training On SharePoint

Wednesday, 21 December 2011

Few Learning with Views & Alerts in SharePoint

Conditional Alerts: I was working on a project where we want to use SharePoint Alerts to notify the users when any new items are added in the list but we wanted that these alerts should be sent based on few conditions. By default when we set alerts SharePoint allows to subscribe to all the changes and we can not mention any conditions on which alerts can be sent. But this can be achieved using the Filtered Views. Filtered views are nothing but normal views but they have been created with at least one Filter condition. Once a view is created SharePoint allows to subscribe the alerts based on this view.

Once a Filtered View is created users see another option by the name "Someone changes an item that appears in the following view" where they can select the View on which they should be alerted. So now SharePoint will only send the alerts when any data changes based on the filter conditions applied in the view.

Data Order in Alert Mails: We have customized the list form using InfoPath and it was required to change the order of the data in the alert mails. By default the alerts which are sent, dependent on the column creation. So the column which are created earlier are shown on top in the alert mail. But this can be changed by using the Column Order settings:

So if change the ordering of the column the alert mails gets updated and the data will start appearing in the order specified through this.

Subject Line of Alerts: The Alerts which SharePoint sent have Title in the subject line. If we keep the title blank SharePoint uses ID to be appended in the subject line for the alerts.

Un-subscribing or Deleting existing Alerts: If a user has subscribed alerts from specific lists they can cancel those alerts. The link for doing so is not been placed in a very obvious place. You can do so
1. Either by going to any list and go to Actions and under that Alert Me. You will see a link with the title
"View my existing alerts on this site":

This link is also helpful if a user want to see all the list for which the user has subscribed the alerts. From the next page user can delete any subscribed alerts.

2. Same can be done from the User Name then My Settings. Here a link will be shown with the name 'My Alerts'. 

Sunday, 18 December 2011

Understanding Extending A Web Application in SharePoint

SharePoint allows to expose the same content to two different set of users with different URL's and with different authentication. This is called Extending a Web Application. I will try to explain this concept in this post.

Lets say a company has a Web Site on SharePoint for Internal users. The users access the site using a URL http://demo-intranet. The internal users are using Windows Authentication to access the site. Now we need to expose the same content over extranet using another URL as The external users will be accessing the application using Form Based Authentication. This situation can be dealt using this concept.

As we know each Web Application has a corresponding IIS Web Site. When we extend a Web Application another Web Application gets created which in turn also creates a new IIS Web Site. This extended Web Application uses the same Content DB used by the original Web Application . This new web site has its own Web.Config file but SharePoint does not copy the content of the original Web.config into this new Web.Config. So any modification which are done in the file needs to be manually done in this new Web.Config File.

The extended Web Application uses the same authentication type of the original Web Application. So if the original Web Application is configured using Classic mode then the extended Web Application will be configured using Classic mode or if it Claims based then the extended one will also use Claims based authentication.

Tuesday, 13 December 2011

Updating Content Editor Web Parts using Powershell

I was working on a project where we need to update quite a few Content Editor web parts in a SharePoint 2010 applications. This task was taking longer to do manually but can be done quickly by using a Powershell script. Here is the Powershell which you can use to load data in Content Editor Web Parts:

$CEWebPart = new-object  $typeName
$CEWebPartType = $CEWebPart.GetType().ToString()

if($CEWebPartType -eq “Microsoft.SharePoint.WebPartPages.ContentEditorWebPart”)
# This content would be updated in the Web Part
              [string]$content = $WebPartContent.ToString()
              $oXml = New-Object System.Xml.XmlDocument
              $WebPartXml = $docXml.CreateElement(“Content”)
              $CEWebPart.Content = $WebPartXml

Tuesday, 6 December 2011

Questions on SharePoint for Interviews and Learning

Putting the links of some of the good blogs having good collections on SharePoint Questions which are useful for job interviews and your learning purpose. Also sharing some links where you can take up the test to check your knowledge.

Here are the links:

1. Interview Questions on SharePoint 2010 and MOSS @

2. Questions on SharePoint Administration @

3. Beginner Test on SharePoint 2007 @

4. Developer Test on SharePoint 2007 @

5. Test on SharePoint 2010 @

6. Test on Enterprise Search on SharePoint @

Hope they are useful for you :)

Monday, 14 November 2011

Test On Enterprise Search in SharePoint 2010

We all know Microsoft has invested significantly to improve Search in SharePoint and it has become a very critical feature for the application built on SharePoint technologies. Search has many difficult concept to understand. I have put 10 questions on various concepts on Enterprise Search in SharePoint 2010 which you can use to test your knowledge on this topic. You can take this test @ Questions on Enterprise Search in SharePoint 2010
If you are able to get 7 or more questions correct you can consider having good knowledge on Enterprise Search.

Monday, 7 November 2011

Understanding Multi Tenancy in SharePoint 2010 for Dummies

Multi Tenancy in SharePoint 2010 is a difficult topic to understand so I am trying to put my thoughts which can help you to understand this fantastic concept. This article only explain what is Multi Tenancy in SharePoint 2010 and why this is needed and what concepts helps to achieve this. There are further information to implement this.

As we all know creating SharePoint infrastructure is not only costly but a tedious job. Sometime it is not possible for few organizations to create their own environments to host SharePoint application. So this is where Multi Tenancy comes into picture. Multi Tenancy helps to create hosting environment on SharePoint 2010 where multiple different companies can host their application without compromising the security on their data and using only the features & functionality they need from the plethora of functionality which SharePoint offers.

Now we all are well aware with SharePoint 2010 Service Applications. They are now in the heart of SharePoint which provides services to the associated Web Applications. Every Service Application can have their own database to store the data related to Site Collections which are hosted inside the Web Application. Now all these Site Collection hosted in these Web Application share this data which is not a correct scenario when these Site Collections are hosted for different companies. Now to solve this problem SharePoint 2010 introduce a concept called Site Subscription.

Site Subscription: Site Subscriptions are nothing but a logical grouping of Site Collections which helps to achieve multi tenancy by segregating the data for site collections in the same service application and also helps to share other settings and feature (covered below). Lets try to understand Site Subscription in further details using this diagram:

Now I will put few salient points which can be inferred using the above diagram:
1. A Site Subscription can have site collection from Single Web Application or from Multiple Web Applications. This also infers that Site Subscription can include content across multiple content databases.
2. All the Service Applications which do not store data can not be partitioned (though few service which store data can not be partitioned as well such as Web Analytics & Usage and Health Data Collection).
3. Site Subscription can not span across SharePoint Farms.
4. Sites can be added to Site Subscription at a later stage.
5. Sites from a  Site Subscription are managed using a common site which is called Tenant Administration Site.

Feature Packs: Now we all know the importance of Features in SharePoint. So now if a feature is deployed at a Web Application level essentially all the site collections in that web application can activate these feature. Now in the hosting scenario we may want that particular Site Collections can not use those features. This is achieved by using Feature Packs.

Feature Packs are collection of specific feature. We associate these Feature Packs with the Site Subscriptions. With this only the Site Collections which are part of the Site Subscription can utilize these Features.

All these Site Subscription and Feature pack can only be created using PowerShell. You can reference the article @ to get the further insight.

I have referenced this poster given by Microsoft for putting this article. You can get this @

Wednesday, 2 November 2011

Disabling Request Access Link from the Access Denied Page in SharePoint

SharePoint shows the Access Denied page when somebody tries to access a site on which the user does not have access. On this page there is a link where people can request for Access as shown below.

If the user clicks this link a request for access is by default sent to Primary Site Collection Administrator. Primary Site Collection Administrator are the administrator which are created when Site Collection is provisioned. This is one of the difference which I have seen with the Secondary Site Collection Administrator which are also provided at the time of Site Collection creation and they dont get these notifications.

The  link for Request Access can be disabled through Site Settings --> Site Permissions --> Manage Access Request.

From this you can disable this functionality by un-checking the check box 'Allow request for access'.

Also if the Primary Site Collection Administrator has left the company we can change or update the email of the person and the request would be routed to the new specified email when somebody request for access.

Tuesday, 1 November 2011

Disabling A Content Type to be used in List or Libraries in SharePoint

We have a Content Type that was getting used for a Document Library. This content type has some special settings and it was required that no other document library can again use this Content Type. We can do it using OOB settings with the following steps:
1. Create a Content Type by using general settings. Since we were using it inside a document library we have inherited it from the Document Content Type:

2. Associate this Content Type with the document library with which you want to associate it.
3. Now go to Content Type Settings.
4. Now in this step we will use the trick. Here we will change the group of the Content Type. We will create a new group with the name '_Hidden'. Make sure to use the same with the capital and small letters:

5. Once we do this, this Content Type will not be available to be used in other document library. Also this group will also not be visible from the Content Type Gallery. So if at later stage you want to modify the setting of this Content Type you can not do it from here. To modify settings for this Content Type in future remember to copy the URL of the setting page for this Content Type and note it down!!!

Friday, 14 October 2011

Creating Themes in SharePoint 2010 using PowerPoint Themes

Creating Themes in SharePoint 2010 can be a complicated task but there is very easy way of creating and using themes from PowerPoint 2010 in SharePoint 2010.With the below steps themes created in Power Point can be uploaded and used in SharePoint:

1. Save any PPT as thmx file:

2. Open your site collection in which you want to use this theme and go to Site Actions --> Site Settings and under galleries go to Themes Section. Upload the theme which was saved in the Step 1:

3. Once we have uploaded the .thmx file it is available to be used in the site collection.
4. The theme now can be applied from Site Actions --> Site Settings --> Look And Feel --> Site Theme.

Friday, 7 October 2011

Supressing Window Prompt in SharePoint 2010 Intranet Sites

Some of the users for the SharePoint sites were facing repetative Windows Prompt to provide the credentials. This can be supressed if for the users in Win 7 by adding the URL of the site with the user credentials (This works for any site though) with the following steps:
1. Go to Windows Credential Manager. You can do so by typing "Credential Manager" in the Win7 Search Box or by navigating through Control Panel --> User Accounts --> Credential Manager.
2. Click on the Add a Windows credential in the Windows Credential Section.
3. Add the URL of the Site, User ID and password of the user. You need to make sure not to add http in the URL of the site else it will not accept and throw an error.
4. Once this is done you will be able to access the site without the credential pop up again and again. The only glitch is if we change the password, we will need to update the pwd here as it is not automatically synced up.

Tuesday, 4 October 2011

SharePoint 2010 Licensing for Dummies

Recently I was working on setting up a SharePoint 2010 Farm and understanding licensing was a nightmare. So many options and different products makes it a complicated matter. I tried to put a small table which helps on high level to understand what licenses are required. This is not comprehensive list but just a quick reference guide for dummies to get a idea about the various different licenses required and various option to set up a SharePoint 2010 Farm:

Wherever I mentioend SQL Server 2008 we can also utilize the free version of SQL which is SQL Server 2008 Express depending upon the requirment. Since this version of SQL does not need any license I have not added in the table below but obviously it has its own limitations. If you are using SQL Server Express Edition you dont need SQL Server Licenses as well the the CAL or Processor License.

Farm Type
SharePoint Server 2010 (Enterprise or Standard)
SharePoint 2010 CAL
(Enterprise or Standard)
SharePoint Server 2010 for Internet Sites
(Ent or Std)
SQL Server
(Enterprise or Standard)
SQL Server
(CAL or Processor License)
Server 2008
(Enterprise or Standard)
Windows Server 2008 External Connector
Windows Server  2008 CAL
 FAST     Search   
SharePoint 2010 Foundation Farm only for Intranet Sites

(With Windows valid license you can use SharePoint Foundation for free)
Yes (A CAL for each user accessing the site)
SharePoint 2010 Foundation Farm only for Internet Sites
Yes (Better to get the processor based license)

(With Windows valid license you can use SharePoint Foundation for free)
(All the server in the farm will need this.)
SharePoint 2010 Server Farm for Intranet Sites
Yes (Depending on your need decide Enterprise or Standard Server for the FARM)
(Depending on your need decide Enterprise or Standard CAL's for each user)

Yes (A CAL for each user accessing the site)
SharePoint 2010 Server Farm only for Internet Sites
Yes (Depending on your need decide Enterprise or Standard version
Yes (Better to get the processor based license)


Yes (Each Server require an external connector.)
SharePoint 2010 Server Farm only for Internet Sites with FAST Seacrh
Yes (Need Enterprise version to use FAST search)
Yes (Need Enterprise CAL's to use FAST search)


Yes (A CAL for each user accessing the site)
SharePoint 2010 Server Farm Both for Intranet and Internet Sites
Yes (Depending on your need decide Enterprise or Standard CAL's for your intranet based users)
Yes (Depending on your need decide Enterprise or Standard version
(Better to get the processor based license)

Yes (Each Server serving the external users require an external connector.)
Yes (A CAL for each user accessing the site)

Also read very helpful FAQ from Directions on Microsoft @ SharePoint Licensing

Sunday, 2 October 2011

Good Video on JQuery

Found an interesting and very informative video on JQuery. This can be downloaded from the below link after putting some details:

The direct link to download is (not sure will it work):

Hope you find it useful.

Friday, 30 September 2011

PowerShell Quick Reference Guide for SharePoint 2010

We all know how important PowerShell has become for SharePoint and some time it is overwhelming to remember all the cmdlets for a dummy in SharePoint. Below are few quick cmdlets which you can execute and get your way out from the plethora of cmdlets available for SharePoint:

1. List all the SharePoint cmdlets Get-Command “*sp*” –CommandType cmdlet

2. Get a count of all the SharePoint cmdlets grouped by Verb Get-Command “*sp*” –CommandType cmdlet Group-Object –Property Verb

3. List all the SharePoint cmdlets grouped by Verb Get-Command “*sp*” –CommandType cmdlet
Format-Table –Property Name,Definition –GroupBy Verb

4. Get help for any cmdlet Get-Help -Full

How to learn SharePoint 2010

Today SharePoint is one of the most sought skills in IT Industry and many people ask these questions to me:
1. What is the best way to learn SharePoint.
2. What skills we need to learn SharePoint.
3. Should we learn SharePoint Administration or SharePoint Development etc...

I will try to put my thoughts here which is ONE approach of learning SharePoint. Since SharePoint is a vast area there are various kind of roles involved in a SharePoint Farm and it needs to be decided which area is of your interest. So with this first I would like to explain some of the roles related to SharePoint and the expectations from them:

SharePoint End User Support: This role primarly help the end user in a typical SharePoint Implementation. The work involves (not limitied to) Creating new lists, Document libraries, prividing permissions, creating columns, Content Type, Site Columns, Creating Views and interacting with various Web Parts. So basically they are involved mostly in the tasks/activities which are done mostly from the settings in the Site Collection itself.

SharePoint Administrator:They are who manages the SharePoint Farm. They can be involved in managing the entire farm or some specific area such as few Service Applications or soemthing else. Again it really depends on how big is the implementation in terms of number of servers, services offered by the farm etc. Some of the activities which the SharePoint Administrators are involved are (again not limited to :)) creating Web Applications & Site Collections, monitoring the SharePoint Farm, Configuring Search, configuring various Service applications, taking the backups of Content DB's, deploying the patches and server maintenance if that comes under their perview.

SharePoint Developer: They are the people who do custom development on top of SharePoint. There are three kind of customization which we can do on top of SharePoint. Let me explain them in brief here:
  • Customization using Browser: These customization are done using the Internet Explorer. Mostly they are described as mentioned in the SharePoint User Support Role. These are called OOB (Out of Box) changes and they do not require any coding. Any body having good understanding on SharePoint concepts can use them to develop solutions on SharePoint.
  • Customization using SharePoint Designer: This is THE TOOL to develop very advanced solutions on SharePoint. With this developers connect to SharePoint site and create solutions. Using SharePoint Designer lot of customization can be done such as Workflows, Master Pages, Layout Pages, functionalities using Data View Web Parts, solutions with BCS and so on. Since this is a critical tool it is required that people interested in SharePoint development has a expertise in this tool. These kind of solutions are called No Code solutions and they do not need any kind of code deployment.
  • Customization using Visual Studio: With Visual Studio you can extend SharePoint capabilities as you want. SharePoint opens all it API's where developer can do their coding. These solution needs to be deployed in a SharePoint Farm. These kind of solution needs to be deployed in the SharePoint farm using Feature, Solutions as preferred way. To learn these skills exposure to .Net is required.
Though above mentioned roles are three different roles but it does not mean that they need to be performed by three different people. They can be done by a dedicated team against each role or by one individual person for all the three roles. It really depends on lot of parameters and some of them the size of SharePoint implementation, the number of users, the customization on site etc.

Now once a objective has been set that we want to learn SharePoint we need to decide in which area we need to really venture. Now I will put the initial skills required for for each of these role:
1. For learning the skills required for End User Support Role a person does need to have any specific skills. The skills can be achived with reading and practicing the SharePoint concepts. If somebody has intention to learn and a bit of hands on generally how the Microsoft Product works they can learn it pretty fast.
2. Again a person with no knowledge can learn basics of SharePoint administration and with continous practice and reading he can gather the skills on Advanced SharePoint Administration. To learn them a person needs to know the basics of Microsoft Techonologies that will help a lot.
3. For the person interested in SharePoint development some initial skills are required depending in what area they would be doign the development. Generally haing skills in Java Script, XSLT, JQuery and strong fundamentals in SharePoint concepts are requierd to do the develolpment using SharePoint designer. .Net is must for the solutions developed using Visual Studio. Further we can develop soultions using Silverlite etc so it is really a vast spectrum of techonolgies which can be used to develop solutions on SharePoint.

Now I will put what somebody should be learning in SharePoint in little bit detailed manner. These skills are required irrespecitve of any role:

1.  Understanding What is SharePoint and what SharePoint can be used for. Generally I have seen many people having very wrong idea about SharePoint. In their view it is only a document management solution!!!
2. Working with List and Document Libraries. Understanding the various OOB feature which can be used to develop feature rich solutions. How to work with Views, how to enter the data, how to export data, integration with other Office Products etc.
3. Different type of columns which SharePoint list supports and what is the use of each of them.
4. Working with the various WebParts and different options available with them.
5. Site Columns and what is the use of them.
6. Content Types and how to create and use them.
7. Creating List Templates and Site Templates.
8. What is Feature and Solutions in SharePoint and how to activate them.
9. SharePoint UI elements. How to change Master Page, Themes,
10. Creating Sub Sites, creating Web Part Pages, creating lists and document libraries and various list and site templatses which comes as part of OOB SharePoint. What is the use of each of these template and how they can be utilized to fullfill the requirments.
11. Understanding concepts of Security. Understanding permissions, Item level permissions and permission levels. Creating Groups and adding users and providing them correct permissions.
12. In general good understanding on the various tasks which can be done from SharePoint UI.

For Administrators following things are important to learn (Including the above mentioned):

1. Installation of SharePoint and various options and prerequisites required for the same.
2. Understanding the SharePoint Farms and various logical components associated with it like Web Applications, Site Collections, App pools, IIS settings ets.
3. Understanding the various Physical Topologies of SharePoint Farm. The various server roles which a SharePoint Farm has and what is the use of them.
4. Service Applications and managing them. How to create and use various Service applications and configurations associated with them.
5. Databases associated with SharePoint Farm. What are different DB's and what is the purpose of them. How we can do their backups and restoration.
6. Configuring Search and various terms and concepts involved there.
7. Good understanding of PowerShell and STSADM commands.
8. Expertise on various options we have on the Central Administration Site.
9. Installing Features, Solution as required.
10. Monitoring various apects of Farm including servers etc.
11. Installation of Patches etc.
12. Various Service and Timer Job associated to SharePoint.

For the role of developers in SharePoint following skills are required (Including the mentioned from the SharePoint End user administration):

1. Solid knowledge of what can be done using SharePoint designer.
2. Creating Workflows for SharePoint (Using SPD and Visual Studio)
3. Good understanding of creating Web Parts, Features, Solution etc.
4. Very good knowledge on SharePoint Object Model.
5. Expertise in JavaScript, CSS, JQuery which helps to develop the solutions using SharePoint Designer.
6. Deploying and movings solutions in various SharePoint environments.

Hope the above helps to few people and also the above mentioned is based on my experience. I would be happy if other people can put their comments and feedback which would be helpful for all the people who are aspiring to learn skills in SharePoint techonologies.

Thursday, 22 September 2011

SharePoint 2010 Training Courses

Here is some collection of nice SharePoint training course hosted:

1. Get started with Microsoft SharePoint 2010 @

2. Advanced training for SharePoint 2010 @

3. SharePoint 2010 Enterprise Search IT professional training @

4. SharePoint for Internet Sites Implementers' Course @

5. SharePoint Enterprise Content Management Implementers' Course @

6. SharePoint Server 2010 Business Composites Training @

7. SharePoint Server 2010 Business Intelligence Insights Training @

Tuesday, 20 September 2011

Hiding Site Action Button for Contributors in SharePoint 2010

We have a requirment where we need to hide the Site Action button in a SharePoint site as we want them to discourage going into any internal pages (though they can always do that using the URL's :)).

This would be complicate to achieve if we try to hide it using some JavaScript or use someother code. A very  simple way to do this if we use a special control given in SharePoint for hiding the controls based on the permissions what the users has. We can use SPSecurityTrimmedControl for this purpose. This control displays the contents of the control to the current user only if the current user has permissions defined in the Permissions attribute. Whatever is the inner content of the control will therefore not be shown if the user doesn't have the specified permissions. This control executes on the server side.

Now to use this control simply we need to open the V4.master page in SharePoint designer and locate the control which renders the Site Action button. You can find this control by searching "SharePoint:SiteActions". Now we need to put SPSecurityTrimmedControl on top of this control:

<sharepoint:spsecuritytrimmedcontrol permissions="ManageWeb" runat="server">

Code for Site Action Button


We have used the Permissions value as ManageWeb so that contributors will also not see this control. Other permissions can also be used.

Wednesday, 14 September 2011

Answer for Test on Enterprise Search in SharePoint 2010

Here are the answers for the Test on Enterprise Search in SharePoint 2010 (Test is available @ Test on Enterprise Search in SharePoint 2010)

1. A

2. A, C

3. D

4. B, C

5. D

6. A

7. A, B, C

8. B, C

9. B, C, D

10. C

Thursday, 18 August 2011

Videos on SharePoint 2010 Site Templates

Found very good videos explaining SharePoint 2010 Site Templates on Microsoft site:

Video on Team Site Template @

Video on Blog Site @

Video on Document Workspace @

Video on Document Cente @

Video on Records Centre @

Video on Basic Meeting Workspace @

Video on Decision Meeting Workspace @

Video on Social Meeting Workspace @

Video on Blank Meeting Workspace @

Video on Multipage Meeting Workspace @

Video on Group Work Site @

Video on Enterprise Wiki @

Video on Personalization Site @

Video on Visio Repository @

Video on Publishing Site @

Video on Publishing Site with Workflows @

Video on Blank Site @

Wednesday, 17 August 2011

SharePoint 2010 Technology Stack

A diagram helps to demonstrate the Technology Stack for SharePoint 2010. This diagram also illustrate SharePoint 2010 as three tier Architecture:
SharePoint 2010 Technology Stack

 This diagram refers to SharePoint 2010 deployment in Production Environemnt. This Operating System includes also Win7 and others depending on the deployment.

Here is the explanation of some of these components:

• Windows Server 2008 or Windows Server 2008 R2 provides the core operating system functionality,
including the security subsystem.
• The Microsoft .NET Framework provides the framework for SharePoint, which is a .NET application
running within Internet Information Services (IIS).
• SharePoint Foundation 2010 provides fundamental SharePoint functionality including service
management, security, integration with Microsoft Office client applications, and core collaborative
features such as lists and libraries.
• SharePoint Server 2010 builds on SharePoint Foundation, adding social networking, enterprise search,
business intelligence, and other features.
• SharePoint content is stored in Microsoft SQL Server.

Thursday, 11 August 2011

Error while Configuring Managed Accounts in SharePoint 2010

I got a strange error while creating Managed Account. I was creating the managed account with Automatic Password Change enabled. The Managed Account did not get created and it has given the below error:

"Access denied.  Only machine administrators are allowed to create administration service job definitions of type: Microsoft.SharePoint.Administration.SPGeneratePasswordJobDefinition, Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c."

 Now when I was trying to access the link of Configure Managed Account from Central Administration it is giving following error continuously:

"Object reference not set to an instance of an object."

On checking the ULS logs it tells:
"System.NullReferenceException: Object reference not set to an instance of an object.  
 at Microsoft.SharePoint.ApplicationPages.ManagedAccountsDataSourceView.FillDataTable(DataTable table, DataSourceSelectArguments selectArguments)   
 at Microsoft.SharePoint.WebControls.DataTableDataSourceView.Select(DataSourceSelectArguments selectArguments)   
 at Microsoft.SharePoint.WebControls.AdministrationDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)   
 at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)   
 at System.Web.UI.WebControls.DataBoundControl.PerformSelect()   
 at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()   
 at System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls()   
 at System.Web.UI.Control.EnsureChildControls()   
 at System.Web.UI.Control.PreRenderRecursiveInternal()   
 at System.Web.UI.Control.PreRenderRecursiveInternal()   
 at System.Web.UI.Control.PreRenderRecursiveInternal()   
 at System.Web.UI.Control.PreRenderRecursiveInternal()   
 at System.Web.UI.Control.PreRenderRecursiveInternal()   
 at System.Web.UI.Control.PreRenderRecursiveInternal()   
 at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)"

So I was bit curious what is the issue and how to solve it. I could not find why this is happening but here is the workaround of the issue.
1. First remove the managed accounts which are created with Automatic Password Change. We need to use PowerShell for this. The cmdlet to delete the managed account is Remove-SPManagedAccount -I "sp2010\spadmin"

2. Now create the Managed Account and make sure do not select the Automatic Password Change Setting.

3. Now if you need to configure Automatic Password Change Setting go and edit the managed account and change the settings. Strangely SharePoint will accepts this.

Wednesday, 10 August 2011

Using SharePoint 2010 Web Analytics Feature with MOSS UI sites in SP2010

We have created a site collection in SharePoint 2010. There were some features which were not upgraded to 2010 in our site so we were using MOSS V3 master page. We need to use the new Web Analytics Feature of SP2010 but these options are not visible when the site uses the 2007 UI.
As a workaround we can enable the SP2010 experience from the Site Actions menu -- Look and Feel -- "Title, description, and icon" option as below:

We need to make sure that we select the option "Preview the updated user interface option". Make sure not to select the "Update the User Interface" option. With the preview mode the Web Analytics option started to appear in the Site Settings page. Now once we are done we can always go to the old user interface. Only trouble with this is that while we are in preview mode the site is displayed with the updated UI so some of the customization done will be broken for the time being when the site is in preview mode.

Saturday, 2 April 2011

Providing Access to a User in Multiple SiteCollections inside a Web Application

I have a sitatuation where I had to provide access to a user to hundreds of Site Collection inside a Web Application in SharePoint 2010. The user needs to have full the access on all the site collections. Either this can be done by adding the user into each site collection as a site collection administration but this would be a really big task to add the user into each of them. This can be done by using the Web Application Policy available for the Web Application in Central Administration. This can be accessed from the Central Administration --> Security --> Users --> Specify web application user policy. A Web Application Policy is a collection of individual permissions. By default SharePoint 2010 provides four Web Application Policy:

 To provide full permissions to the user on all the site collections we can use the Full Control Policy. This policy has all the permissions selected. Once the user is added with the Full Control Policy he can access any site collection inside the web application and has all access.

Now this  feature becomes very interesting as further policies can be created with different combination of permissions within the policies and they can be applied on all the site collections in the web application.

Monday, 28 March 2011

Mapping of existing SSP in MOSS to Sevice Applications in SP2010

After the release of SP2010 there are lot of people are doing the upgrade from MOSS to SP2010. The MOSS FARM's use SSP which are no longer available in SP2010. Lot of people ask me what happens to the existing SSP which are there in the current SharePoint 2007 Farm. To answer this we need to understand the upgrade process in little bit depth. When the upgrade happens the installer creates 8 Service applications for each SSP in the current Farm before upgrading the individual Web Application. Here are the services which get created for each of the SSP in the Farm:

  • Search Service
  • Search Administration Web Service
  • Business Data Connectivity
  • Excel Calculation Services
  • Application Registry
  • State Service App
  • Taxonomy
  • User Profile

Following diagram explains this further and shows how the existing SSP are mapped to the Service Applications:

So as an example if we have 3 active Shared Service Providers (SSP) in the MOSS Farm these 3 SSP will be created as a bunch of service applications for each of SSP. So in essence we have 3*Service Applications which I have earlier mentioned.
Now the another interesting thing to understand is that when the installer does the upgrade for each of the Web Applications these service applications would be mapped to these Web applications. This mapping would be done based on which SSP earlier the Web Applications were associated and now corresponding Service Applications would be associated to the migrated Web Application.

Monday, 28 February 2011

New Project Templates in Visual Studio 2010 for SharePoint 2010

Visual Studio 2010 offers rapid solution development capabilities for SharePoint 2010. There are around 20 new templates including Project Type and Project Item templates. Here are the details mentioning the same:

New Project Type Templates in Visual Studio 2010:

Business Data Connectivity Model: This template is used to build a BCS model that allows connecting SharePoint to the line-of-business systems, databases, or web services. VS also include a graphical designer for BCS models.

Content Type: Use this template to create a custom content type. Though there is no graphical designer for content types, VS does support IntelliSense for creating the XML to define new content types.

Empty SharePoint Project: This template allows setting up an empty project that has all the necessary elements, such as folders for references, features, solutions, and a key to strong name the assembly.

Event Receiver: This template helps to start writing event receivers. Event receivers can be on a List, List Item, List Email, Web, or List Workflow event. VS will create the event receiver class, which can be customized for the application.

Import SharePoint Solution Package: This template allows importing an existing WSP.

Import Reusable Workflow: This template allows importing an existing reusable workflow that is created in SPD, which can then customize and deployed from VS. The import is one way, and once it is modified in VS, we cannot take this workflow to back to SPD.

List Definition: We can create a list definition and list instance using this template. We can base our list on the Announcements, Calendar, Contacts, Custom List, Document Library, Links, or Tasks list types only.

Module: A module type allows adding additional fi les to our SharePoint projects. By default it includes an Elements.xml file and a sample.txt file that we can modify to meet our needs or we can add new files to the module as required.

Sequential Workflow: This template creates a new sequential workflow. The workflow can be a list or site workflow, and we can use the graphical workflow design tools to create our workflow in VS.

Site Definition: This template allows creating a new site definition. Once it is created, VS will add a number of files for this project type, including a default ASPX page; a onet.xml file, which defines the items in the site; a global resource file; local resource files; and a webtemp file used to tell SharePoint about the site.

State Machine Workflow: This template creates a new state machine workflow. We can use the graphical workflow design tools in VS to modify our workflow.

Visual Web Part: This template creates a new Visual web part, which allows us to drag and drop controls onto our web part for your user interface rather than having to write the user interface in code. It contains a web part and a User Control item.

New Project Item Templates in Visual Studio 2010:

Application Page: Use this template to create an application page, which is just an ASP.NET page hosted in SharePoint.

Business Data Connectivity Resource Item: Use this template to create a resource file for your BCS model. A resource file allows localizing the names in the model and applying permissions to objects.

Empty Element: This template creates an elements.xml file that allows to define SharePoint artifacts using XML. The most common usage would be defining a field in your SharePoint project.

Global Resources File: Use this template to create a resource fi le, which will contain all the localized text strings for your project.

List Definition from Content Type: This template creates a list definition based on a content type in your project.

List Instance: This template creates an instance of a list by generating a new instance and an elements.xml file that describes the properties for the instance.

User Control: You can create a user control that you can use in an application page or web part with this template. You can design the control using the graphical designers in VS by dragging and dropping your controls onto the design surface.

Web Part: This template allows you to create a web part for your SharePoint environment.

Workflow Association Form: This template allows creating a form that is displayed when a workflow is associated with its intended target, such as a list. The form will be an ASP.NET form, and the template creates two files, a Designer file and your code - behind file. We can use this form to collect any properties we need from the user for your workflow to create the workflow instance.

Workflow Initiation Form: This template creates a workflow initiation form, which is used when the workflow is activated. This template creates a Designer and a code behind file for your ASPX form.

Saturday, 26 February 2011

Retriving SharePoint WSP Files from Config DB using SharePoint Object Model and PowerShell

WSP files are the preferred way of deploying the new functionlaity in SharePoint. WSP files are stored in the Config DB. If you need to extract these files you can do that by using the SharePoint Object Model Code. The following code snippet will retrive all the solutions from the config DB and will place them in the specified location:
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.SharePoint; 
using Microsoft.SharePoint.Administration; 

namespace Retrive_Solutions 
    class SolutionBackup 
        static void Main(string[] args) 
            SPSolutionCollection AllSolutions = SPFarm.Local.Solutions; 
            foreach (SPSolution Solution in AllSolutions) 
                SPPersistedFile wspFile = Solution.SolutionFile; 
                wspFile.SaveAs("C:\\Solutions\\" + Solution.Name); 

The same also can be achieved using PowerShell so no need to write any OM code. Here is the PowerShell script to acheive the same:

$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local 

$path = Split-Path $MyInvocation.MyCommand.Path 
[Void]( ni "$path\Solutions" -type Directory -force ) 

$farm.Solutions |% { 
  Write-Host $_.Name 
  $solution = $_.SolutionFile 
Related Posts with Thumbnails