Posts Tagged ‘Sharepoint’

Recently while deleting a service application my system got unresponsive and while trying to create the service application again i constantly got the following error.

“An unhandled exception occurred in the user interface.Exception Information: An object of the type Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool named "SearchServiceApplication" already exists under the parent Microsoft.SharePoint.Administration.SPIisWebServiceSettings named "SharePoint Web Services". Rename your object or delete the existing object.”

This seems to be happening because one of the service application pools were not removed while deleting the service application. This can be removed by using PowerShell.

First load the SharePoint 2010 Management Shell by navigating to Start –> Microsoft SharePoint 2010 Products –> SharePoint 2010 Management Shell.

SPStartMenu

Then use the “Get-SPServiceApplicationPool” command to view all the existing service application pools.

Get-SPServiceApplicationPool

Now use the “Remove-SPServiceApplicationPool -Identity SearchServiceApplicationPoolName” command to remove the service application you want removed. If the service application pool’s name is having spaces remember to use double quotes.

Remove-SPServiceApplicationPool -Identity SearchServiceApplicationPool1

PowerShell will ask to confirm the deletion, after confirming the action, it will remove the service application pool.

clip_image002

Backup a SharePoint Site

Posted: November 12, 2009 in SharePoint
Tags:
There are two methods to take a backup of a SharePoint site.
1.) Using SharePoint Central Administration
To take a site backup follow the steps below.
a. Go to the SharePoint Central Administration site by clicking,
Start -> All Programs -> Administrative Tools -> SharePoint Central Administration
b. Click on Operations.
c. Click on Perform a backup under Backup and Restore.

d. Select the site or the farm to backup the entire SharePoint farm.

e. Click on the Continue to Backup Options button on the top of the list.

f. Select the type and the location of the backup and click Ok.

2.) Using the STSADM tool.

Even though Microsoft had provided a UI method to backup a SharePoint site the best way to get it done is by the STSADM tool. If you are unfamiliar with STSADM refer the following post http://arjunachith.blogspot.com/2009/11/stsadm.html.

You will be able to use the following command to get a backup of a site using STSADM.

STSADM.EXE -o backup -url http://MySharePoint:10000/ -filename E:\Folder_Name\SiteBackup.bkp -overwrite

o – Mentions that the backup is an operation.

url – URL for the site collection that you need to backup.

filename – Path to the backup file, even a network path such as \\Machine_Name\Folder_Name\File_Name.ext can be provided.

overwrite – Will overwrite an existing back file if found in the backup location.

Instead of giving the path in the filename you can use the directory parameter to mention the location as well it is shown below.

STSADM.EXE -o backup -url http://MySharePoint:10000/ -directory E:\Folder_Name            -filename SiteBackup.bkp -overwrite

directory – Location for the backup, even a network path such as \\Machine_Name\Folder_Name can be provided.

filename -The name of the backup file.

The status will be shown in the command prompt.

If you would like to know the full set of available parameters for the backup operation visit the Microsoft at http://technet.microsoft.com/en-us/library/cc263441.aspx.

SharePoint Content Placeholders

Posted: September 6, 2009 in SharePoint
Tags:
I found the following image describing the content placeholders in Windows SharePoint Services (WSS) 3.0 master page.
I think I got this from Microsoft. Thanks Microsoft.
Hope it helps to you.

To enable publishing features you need to enable publishing in your SharePoint site.
Go to "Site Settings" by using the "Site Actions" button.

Click the "Site Features" link in the "Site Administration" category.

Clicking the Activate button of Office SharePoint Server Publishing to enable publishing.
 
  • Some of you might get a message saying publishing is not enabled since Office SharePoint Server Publishing Infrastructure is not active.
This is because publishing is not enabled from the site collection level, what you need to do is select "Site collection features" from the "Site Collection Administration" category and activate the Office SharePoint Server Publishing Infrastructure feature for the entire site collection. Then you will be able to activate publishing by going to "Site features".

Do you know that we can change the default page of a site in SharePoint?
 
This is done by going to "Site Settings" and accessing the "Welcome page" option under "Look and Feel" category.
  • If you cannot find a link named "Welcome page" that means you don’t have Office SharePoint Server Publishing enabled on your site. If you need more help on how to enable Office SharePoint Server Publishing please feel free to read my next post.

 
Now browse or type the page that you want to set as the welcome page and click Ok.

If any of the tasks that you are performing in your site takes more time than usual and if the page is timing out then one solution that you can do is to increase the execution timeout value.
To change this value you need to edit the web.config files of SharePoint and the web site.

1. Open the SharePoint web.config file located at
Drive:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\TEMPLATE\LAYOUTS
(C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS)
using NotePad or Visual Studio.
2. Find the section and insert executionTimeout value there as shown below. 3. Save the site config file.4. Now you need to edit the web applications’ web.config file. Normally this can be found under Drive:\Inetpub\wwwroot\wss\VirtualDirectories\VirtualDirectoryFolder(C:\Inetpub\wwwroot\wss\VirtualDirectories\82)using NotePad or Visual Studio. 5. Find the line maxRequestLength and add executionTimeout in to it as shown below. 6. Save the application config file.7. Do an IIS restart and then your change will be in effect.

As you have noted the maximum file size that is supported by SharePoint by default is 50MB. What if you want to upload larger files?
Luckily we can change this limit to support larger files by increasing the default upload size in SharePoint Central Administration.
1. Go to SharePoint Central Administration by clicking on Start -> All Programs -> Administrative Tools -> SharePoint x.x Central Administration.
2. Click on Shared Services Administration link on the administration home page.

3. Click on SharedServices1 (Administration site host) link in Manage this Farm’s Shared Services page to open the Web Application General Settings page. 4. Find the Maximum Upload Size property and change it to the maximum upload file size you want. Note that you can put file sizes up to 2GB (2047MB). Now you will be able to upload larger files than 50MB.

But to support uploading large files you also may need to increase the default timeout value.
I will be posting the next post of mine on how to increase the timeout value.

Recently I needed to change the authentication of one of the application that I did using SharePoint to forms. I needed to authenticate users using Active Directory (AD). Even there are many sources explaining how to do it I found most of them are not full. So thought to put an article my self.
The default authentication method of SharePoint is Windows. It will use a window to get the user information while logging in.

To change the authentication first you need to login to the Administrator site.

Now select Application Management and click on the link Authentication Providers under Application Security.

In the Authentication Providers screen first make sure the correct web application is selected. If not, select the correct application using the drop down in the top left corner of the page.

After selecting the correct application click on the Default zone (Please note that here I am going to change the default zones’ authentication. If you are to change in another zone simply select the required zone).

In the Edit Authentication page select Forms as the Authentication Type then in Membership Provider Name type AD, which we are to setup later. Then click the Save button. As of the result of changing the authentication providers the Web.Config file will be changed accordingly automatically. But this is not enough we need to enter the membership provider details ther in site Web.Config file and Administrator site Web.Config files.
To do the necessary changes open both Web.Config files. Both files needed to be updated with the same information.

1. In the connection strings section add the following line.

This specifies the connection string to the AD. (Please note that my full computer name is ‘ironone-ms-t01.MS.TEST’ and my domain is ‘MS.TEST’. You definitely need to change them according to your domain details.
2. Inside System.Web add a membership provider by entering the following text.

You should change the details of the connection according your settings but make sure you do not change the name from ‘AD’ to anything else, otherwise it will not work.
Application Web.Config

SharePoint Administration Site Web.Config

Save both Web.Configs and do an IIS reset.
Go back again to the administration site and select Application Management. Now select Policy for Web application under Application Security.
After making sure that the correct web application is selected, click on Add Users.

Select the Default as the zone and click next.
When choosing users type the full user name preceding AD:. For example to add administrator type AD:Administrator. Under the permission section select the Full Control – Has full control check box and click Finish.

As the final step you have to change the site collection administrators. For this click on Site Collection Administrators under SharePoint Site Management in Application Management.

After verifying the selected application enter Primary Site Collection Administrator as AD:Administrator. If you want you can fill in Secondary Site Collection Administrator as well. After finishing click Ok.
Now go back to the site and try to login, you will see that the traditional windows login page is replaced with a simple login web page. Since this login page is too simple I did some improvements to the login page and created my own one as you can see below.

Recently I got an error in an user control which I used to create users in Active Directory. This user control started to fail in SharePoint after deploying it in to a different server. It threw the following error,

  • Exception has been thrown by the target of an invocation.

The Inner Exception was

  • Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

After a bit of a struggle I found that the error was due to inappropriate setting in Web.Config file.

To correct it set identity impersonate to false.

<identity impersonate="false" />

Creating a web part for SharePoint consists of several steps.
1. Create a user control.
2. Create the web part DLL to hold the user control.
3. Add user control and web part to SharePoint and make the web part safe.
4. Add the web part to the web parts gallery.
5. Finally add the web part to the page.
Lots of steps ha, don’t worry we’ll do step by step.

1. Create a user control.
a. Start Visual Studio and click on File -> New -> Web Site.

b. Select ASP.NET Web Site as the template, select C# as the language, and give a file system location and a name (prjFirst) for the project before pressing Ok. c. Now we need to add a page to write our code. To do that, right click on top of the project and click on Add New Item….
d. Select Web User Control as the template, select the language as C#, give a name for the user control (ucFirst) and ensure that Place code in separate file check box is checked before pressing Ok. e. Now you need to use the required web controls and write the code required in the appropriate files. For this demonstration I will put a label and a button only. When the button is clicked I will display a greeting message in the label.
f. After creating the controls and naming them as required I need to import Microsoft.SharePoint.dll since I am going to access SharePoint object model. To do this first we need to refer this dll. Right click on the project and click on Add Reference…, select the Browse tab and go to folder C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI and select Microsoft.SharePoint.dll to add the reference to the project. If your machine doesn’t have a SharePoint installation then you need to copy this file from a SharePoint installed machine to your machine and refer it.
g. After coding for the button click my code looks like this. h. Now build and see if the page is having any errors. If no errors step one is done.

2. Create the web part DLL to hold the user control.
a. Start another instance of Visual Studio and click File -> New -> Project….

b. Select Class Library as the template under C# project type and give a location and a name (clFirstWebPart) before clicking Ok. c. Right click and delete the Class1.cs file since we would like to create a new class with a meaningful name.
d. Now right click on the project and click on Add -> New Item…, then select Class as the template and give an appropriate name (csFirstWebPart.cs) and click Add. e. Now you need to refer System.Web namespace. To do so right click on project and click ok Add Reference…, then select the System.Web and click Ok. f. After inheriting the class from the WebPart override the CreateChildControls method to create a user control and load the user control we create earlier in step 1.
We are loading the user control file (ucFirst.ascx) from the SharePoint UserControls folder which we are to copy later. g. Now build the project by right clicking on project and selecting Build. If no errors occur then that means we have completed step 2 as well.
 
3. Add user control and web part to SharePoint and make the web part safe.
1. Now we have a user control and a web part dll which loads the user control. In order to use this in SharePoint we need to add these to SharePoint. This has 3 tasks to be done in the SharePoint Server machine.
a. Adding User Control files.

i. Go to the location that you created the user control project in step 1 and copy the 2 files of the user control (ucFirst.ascx and ucFirst.ascx.cs). ii. Go to the root folder of the web site (C:\Inetpub\wwwroot). Now find the folder named UserControls and paste the copied two files there. Notes –
· I’m trying to put the newly created web part to the default web application. So I am using C:\Inetpub\wwwroot\UserControls folder. If you need to use this web part then you needs to use the appropriate folder. For example if I am to use this in the web application http://ironone-ms-t01:16173/ then I have to create UserControls folder in C:\Inetpub\wwwroot\wss\VirtualDirectories\16173. To find the correct location of your web application use IIS Manager web site properties page. · If the UserControls folder doesn’t exist you can create it there.
b. Adding Web Part DLL.
i. Go to the location that you created the web part DLL project in step 2 and copy the output DLL file (clFirstWebPart.dll) of it. ii. Go to the root folder of the web site (C:\Inetpub\wwwroot). Now find the folder named bin and paste the copied file there. Notes –
· I’m trying to put the newly created web part to the default web application. So I am using C:\Inetpub\wwwroot\UserControls folder. If you need to use this web part then you needs to use the appropriate folder. For example if I am to use this in the web application http://ironone-ms-t01:16173/ then I have to create bin folder in C:\Inetpub\wwwroot\wss\VirtualDirectories\16173. To find the correct location of your web application use IIS Manager web site properties page. · If the bin folder doesn’t exist you can create it there.
c. Making the web part a trusted web part.
In order to use the web part we need to make the web part a trusted web part. To do this there are two ways,
1. Put an entry to the web.config file of the application.
2. Give the dll a fully trusted name and putting it to GAC.
I will be using the first method. Make a backup of the web.config file located in the C:\Inetpub\wwwroot and open it. Then add an entry to the SafeControls section. The easiest way is to copy the last line and paste it at the end and changing the Assembly and the Namespace to the dlls’ name (clFirstWebPart). Save the config file and to be in safe side do an IIS reset by typing IISReset in the Run Window.

 
4. Add the web part to the web parts gallery.
a. Open an Internet Explorer and browse to the site which you need to add the web part. Then click on Site Actions -> Site Settings -> Modify All Site Settings.
b. Click on Web Parts under Galleries in the Site Settings page to open the Web Part Gallery. c. In the web part gallery page you will see all the added web parts. But not our one. So we need to add that here. To do this click on New button. Note –
The files with .dwp extension are Windows SharePoint Services 2.0 web parts.
The files with .webpart are the new Windows SharePoint Services 3.0 web parts.
d. This list will have the newly added web part (clFirstWebPart.clFirstWebPart). Check the check box in front of it and click on Populate Gallery. e. Now our new web part will appear in the Web Part Gallery. This is enough but it is always better to change some properties of the web part. So open up the web part property page by clicking on the Edit button. Change the Title, Description and the Group of the web part and press Ok. f. Remember that we need to test the web part before we add it to a web page. To do this simply click on the web part. g. If you are also having the default settings then you will definitely get an error of request for the permission of type…. This is because we didn’t change the SharePoint trust level. To change this I will use the easy way of changing the trust level in the configuration file to full though the best way is to create a trust file.
Open the web.config file at C:\Inetpub\wwwroot and find the entry and change the trust level to Full. Do an IISReset and refresh the internet explorer page. Now the web part will be displayed to you.

5. Finally add the web part to the page.
Now our newly created web part is available for us to use. We’ll now add it to a page.
a. Open the required web page in the internet explorer and click Site Actions -> Edit Page to start editing mode. b. Now on any web part zone click ‘Add a Web Part’ button. c. Among all the web parts listed select the web part that we have created (First Web Part), select the check box in front of it and click the Add button. You will see the web part appearing on the page.
d. To finalize the page click Publish button on the page. e. Click on ‘Click Me’ button and see the output. Even though adding a new web part was bit of a process, after adding doing changes to it is not that difficult. What you have to do is change the ascx and ascx.cs files and copy the new ones to the UserControls folder. I have simply changed the message to a new one using this method.