Friday, January 28, 2011

Enable My Links in Sharepoint 2010

As I came accross with this problem when I got a small requirement as how to enable My links in Sharepoint 2010 as just like sharepoint 2007. Below is the steps to enable that.

  1. In Central Administration, click Manage Service Applications.
  2. Click the User Profile Service Application.
  3. Click Configure Personalization Site.
  4. Click New Link.
it will asked for the URL enter the link as given below

http://yourservername/my/_layouts/MyQuickLink.aspx

and thats it you can see My link in

System Account->My Site-> My Links



Thanks

Afroz Shaikh

Thursday, January 20, 2011

Access Denied SPPersistedObject.Update()

Firstly whenever you get Access denied error while you Updating SPPersistedObject then overide method in your Class like below

protected override bool HasAdditionalUpdateAccess()
{

return true;

}

then you will get exact error of access denied then apply below given steps.

Give Excecute permission to "WSS_Content_Application_Pools" .





below given procedure Name are

Permission Stored Procedure Database Role
EXECUTE proc_putObject WSS_Content_Application_Pools
EXECUTE proc_putClass WSS_Content_Application_Pools
EXECUTE proc_dropObject WSS_Content_Application_Pools
EXECUTE proc_getNewObjects WSS_Content_Application_Pools

The EXECUTE permission was denied on the object 'proc_putObject', database 'SharePoint_Config', schema 'dbo'

Solution:

Fisrtly whenever you get Access denied error while you Updating SPPersisted Object then overide method in your sppersisted object like below

protected override bool HasAdditionalUpdateAccess()
{

return true;

}

then you will get exact error of access denied then apply below given steps.

Give Excecute permission to "WSS_Content_Application_Pools" .





below given procedure Name are

Permission Stored Procedure Database Role
EXECUTE proc_putObject WSS_Content_Application_Pools
EXECUTE proc_putClass WSS_Content_Application_Pools
EXECUTE proc_dropObject WSS_Content_Application_Pools
EXECUTE proc_getNewObjects WSS_Content_Application_Pools

Monday, January 3, 2011

creating Folders within SharePoint List Programmatically

using (SPSite sSite = new SPSite("http://yourservername"))
{
using (SPWeb sWeb = sSite.OpenWeb())
{
SPUser sUser = sWeb.SiteUsers["domainname
\\username"];
SPAlert sListAlert =
sUser .Alerts.Add();

//Define the type of object
sListAlert.AlertType = SPAlertType.List;
// the List or Document Library to which alert is applied
sListAlert.List = sWeb.Lists["List_Name"];
//Define the Event type
sListAlert.EventType = SPEventType.All;
//Set time interval for sending alert.
sListAlert.AlertFrequency = SPAlertFrequency.Immediate;

//Pass true to Update method will send confirmation mail
sListAlert.Update(false);

//Dispose objects
sListAlert = null;
sUser = null;
}
}

Tuesday, February 2, 2010

What is Sharepoint

"So, what is SharePoint then?" is a question that I hear frequently, not just from computer users but also, surprisingly, from savvy IT professionals. With over 24 different Microsoft Server products, it is understandable that not everyone knows what SharePoint is.
The aim of SharePoint is to improve team productivity by allowing staff to collaborate efficiently and providing them with the information they require. The information workers (i.e. staff) are being empowered!
SharePoint is a web-based collaboration, document management, and process management product that allows us to build an enterprise portal. It provides us with the framework to create websites that not only provide access to documents and shared workspaces but also allow other web-based applications such as wikis and blogs to be created. It also allows elaborate workflows allowing business processes to be monitored and actioned.

SharePoint makes this possible by pulling together the following existing Microsoft technologies and making them available to us for use:
ASP.NET (including Web Parts)
Internet Information Services (IIS)
Active Directory
SQL Server
The title, SharePoint, actually refers to two different Microsoft products:
Windows SharePoint Services 3.0 (WSS) is a free add-on for
Windows Server 2003 and 2008, which provides us with the following SharePoint basics:
Basic document management with version control
Wiki
Blog
RSS support
Workflows
Meeting workspaces
Team sites
Form library
Discussion lists
Web part customization
Microsoft Office SharePoint Server 2007 (MOSS) must be purchased separately, and adds lots of additional functionality to the basic functions already provided by the WSS Platform:
Improved document management
Enterprise search
Project management (by integrating with Microsoft
Project Server)
Excel services (only available in the enterprise edition of MOSS 2007)
In addition to these, SharePoint is a great way to share and exchange information such as calendars and to-do lists.

Wednesday, January 13, 2010

SharePoint Object Model - Creating a Site Collection by Using the Object Model

Programmatically generating site collections has many advantages in terms of promoting
consistency of organization. For example, you may want to make sure that the naming of new
site collections follows a corporate standard and that these collections are created by using
a particular path. You may also want to ensure that a specific account is assigned to the site
collection administrators group. The following recipe shows you how to accomplish these
programming goals by using the object model and a .NET console application. The functionality
is similar to that found in the STSADM –O CREATESITE command, with one twist—this recipe
will prompt the user for missing parameters. However, you can build on this recipe to expand
its functionality as needed.

Assembly References
• Windows SharePoint Services .NET assembly
Class Library References
• Microsoft.SharePoint library
• Microsoft.SharePoint.Administration library
Special Considerations
• SharePoint requires that site collections be created by accounts that have sufficient privileges.
The following recipe is designed to be used in a .NET console application, and can
be run either manually or via the Windows Task Scheduler. Console applications are
particularly useful in combination with the Windows Task Scheduler application, enabling
you to create processes that run against SharePoint at predefined intervals.
• Although this recipe essentially duplicates what is available through the STSADM –O
CREATESITE command, it opens up many possibilities for customizations (such as
prompting the user for missing parameters).
• Because of security restrictions that SharePoint imposes on ASP.NET web applications
and services, members of the Microsoft.SharePoint.Administration library are best
used through console or Windows applications, where the security context is directly
inherited from the user. The limitation is that these applications must be run from a
front-end web server that is part of the SharePoint farm. This is appropriate for administrative
tools, but not convenient if you want to make this functionality available to end
users. In a related recipe using the SharePoint web service, you’ll see how to build an
ASP.NET web application to add new site collections.

1. The first step is to determine whether the user passed in the necessary arguments to
this process. If so, they will be used when calling the SPSiteCollection.Add() method.
If not, you need to get that information from the user now.
2. Prompt the user for the necessary data by using the WriteLine() and Read() methods.
3. Using the supplied inputs, call the SPSiteCollection.Add() method to add the new site
collection.
4. If the SPSiteCollection.Add() method throws an exception, go to step 6; otherwise go
to step 5.
5. Display a success message to the console. Go to step 7.
6. Display an error message, including a description of the exception thrown, to the console.
7. Write all parameters back to the console so the user can see exactly what was received
and acted on by the application.

Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Administration
Module Module1
Sub Main (ByVal args() As String)
'Steps 1-2: If no arguments have been passed,
'prompt user to enter them now
If args.Length = 0 Then
ReDim args(7)
args = GetParams(args)
End If
'Add the new site collection using the provided arguments
AddSiteCollection(args)
End Function
Private Function AddSiteCollection(ByVal args() As String) As Integer
Try
'Get a handle to the root site on server
Dim arrSitePath As String() = args(0).Split("/")
Dim strServerPath As String = arrSitePath(0) & "//" & _
arrSitePath(2)
Dim site As New SPSite(strServerPath)
'Get the list of site collections for the web application
Dim siteCollection As SPSiteCollection = _
site.WebApplication.Sites
'Step 3: Add the site collection
'args(0) = Site url
'args(1) = Title
'args(2) = Description
'args(3) = Web template
'args(4) = Owner login
'args(5) = Owner name
'args(6) = Owner email
siteCollection.Add( _
args(0), _
args(1), _
args(2), _
1033, _
args(3), _
args(4), _
args(5), _
args(6))
'Step 5: Confirm site collection information
Console.WriteLine()
Console.WriteLine("Site collection '" & args(0) & _
"' successfully created.")
Console.WriteLine()
DisplayParams(args)
'Release memory used by SPSite object
site.Dispose()
Return 0
Catch ex As Exception
'Step 6: If error occurs, display parameters and error message
Console.WriteLine()
Console.WriteLine("** ERROR OCCURRED **")
Console.WriteLine()
Console.WriteLine(ex.Message)
Console.WriteLine()
DisplayParams(args)
Console.WriteLine()
End Try
End Sub
Private Sub DisplayParams(ByVal args)
Try
'Step 7: Display parameters to console
Console.WriteLine("Site url: " & args(0))
Console.WriteLine("Title: " & args(1))
Console.WriteLine("Description: " & args(2))
Console.WriteLine("Template name: " & args(3))
Console.WriteLine("Owner login: " & args(4))
Console.WriteLine("Owner name: " & args(5))
Console.WriteLine("Owner email: " & args(6))
Catch ex As Exception
'If error occurred, display the error message
Console.WriteLine()
Console.WriteLine(ex.Message)
Console.WriteLine()
End Try
End Sub
Private Function GetParams(ByRef args() As String) As String()
Try
'Step 2: Get parameters from user
Console.WriteLine()
Console.Write("Site url: ")
args(0) = Console.ReadLine()
Console.Write("Title: ")
args(1) = Console.ReadLine()
Console.Write("Description: ")
args(2) = Console.ReadLine()
Console.Write("Template name: ")
args(3) = Console.ReadLine()
Console.Write("Owner login: ")
args(4) = Console.ReadLine()
Console.Write("Owner name: ")
args(5) = Console.ReadLine()
Console.Write("Owner email: ")
args(6) = Console.ReadLine()
Catch ex As Exception
'If an error occurred, display the error message
Console.WriteLine()
Console.WriteLine(ex.Message)
Console.WriteLine()
End Try
Return args
End Function
End Module