Web Part Error: A Web Part or Web Form Control on this Page cannot be displayed or imported. You don’t have Add and Customize Pages permissions required to perform this action.

After deploying your solution to SharePoint anonymous and read-only users may get the following error: Web Part Error: A Web Part or Web Form Control on this Page cannot be displayed or imported. You don't have Add and Customize Pages permissions required to perform this action. Well, this is the case that is solved by famous this-issue-is-by-design (read: you have to find your own way how to solve the problem).

SharePoint farm administrator have no permissions to run PowerShell commands

On SharePoint 2010 it is not enough if you are farm administrator. You still cannot run PowerShell commands sometimes. The reason is simple – your user account needs more permissions. Here’s how to add permissions.

Add-SPShellAdmin–user cannot exist in database

If you try to add user to SharePoint shell administrator role you may get the following error: "Cannot add to the SharePoint_Shell_Access role of the database SharePoint_Config_. A possible cause of this error is that the account name was already added to the database as a login using a different user name than the account name."

SharePoint 2010 installation and configuration logs

Short posting that helps me to find SharePoint 2010 setup and configuration logs easily. Taken from TechNet page Verify upgrade and review upgraded sites (SharePoint Foundation 2010).

Measuring ASP.NET and SharePoint output cache

During ASP.NET output caching week in my local blog I wrote about how to measure ASP.NET output cache. As my posting was based on real work and real-life results then I thought that this posting is maybe interesting to you too. So here you can read what I did, how I did and what was the result.

SharePoint: Customizing DispForm.aspx and EditForm.aspx through browser

DispForm.aspx that displays detail view of list item and EditForm.aspx that displays edit view of list item are not customizable by default. You can move to these pages but there is no Edit option in Site Actions menu. But it still possible to customize these pages, add new web parts there and so on. All you need is your web browser.

SharePoint: SPList.HasView() extension method

One quick posting. I wrote yesterday extension method for SharePoint that checks if view exists. I think it is far better for performance if I don’t live on try…catch to find out if view exists or not. Extension method that you have to put in static class is here.

Invalid postback or callback argument. Event validation is enabled using in configuration

I wrote web part that uses Repeater control to create some repeating blocks of output. Each of these blocks has Button control in it. When I ran web part under SharePoint I got the following error: Invalid postback or callback argument. Event validation is enabled using in configuration or in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. Here is the solution.

Customizing SharePoint standard forms

I needed a little bit customized forms that look similar to standard ones for one SharePoint solution. I have list with many fields and it is very inconvenient for users to fill these fields if they are following one after another. As there is no simple solution for this I created my own custom solution.

SharePoint: How to find DispForm.aspx toolbar

I needed list item display view toolbar on one of the custom forms. It wasn’t very easy to find it from many files but I found it at last. Nice to be beginner anyway.

Custom property of SharePoint web part doesn’t show up

SharePoint usually surprises me on the most busiest moments. I wrote web part that has some custom properties. These properties were simple ones and it was okay to show these properties in Miscellaneous section of web part property sheet. Although properties were defined nothing new showed up in property sheet.

SharePoint Manager 2007

One extremely useful utility for SharePoint is SharePoint Manager 2007. SPM2007 is developed by Carsten Keutmann. You may know him better by his other project – WSPBuilderthat is one of the best SharePoint add-ins for Visual Studio.

Writing messages to ULS (Unified Logging System)

If you want to make your SharePoint solution more SharePoint way you can write your tracing, debug and error messages to SharePoint log. Easiest way to do it is to write logger by yourself. Btw, SharePoint has class called ULS to write messages to logs but this class is internal and we cannot use it. But it is there.

SharePoint: Access denied error when adding new page to page library

On one of my servers I detected very weird error. There are authenticated users who can add content to some page libraries and modify pages they have made. One day suddenly they were not able to add pages to page library anymore because of Access Denied error.

SPListItemCollection.GetDataTable() – be careful

Seems like I am stuck in ADODB days a little bit and I still expect that query with no results returns at least some meta data. Or at least my code gets no bombed by null references.SPListItemCollection has GetDataTable() method that returns items collection as ADO.NETDataTable objects. Be careful when using this method – if your items collection is empty then this method returns null.

Creating cross-site lookup field in SharePoint

Cross-site lookup field is something we need almost every project that is not very small. There is no good OOTB solution but we can use field by Toby Bierman. This kind of field is easy to create because SPFieldLookup is cross-site by its nature. Basically you ave to perform the following steps.

SharePoint: temporary solution for GetCustomProperty and SetCustomProperty errors

Another day, another kinky problem with SharePoint. This time I struggled with custom properties of my custom field. I tried out different code samples to make GetCustomProperty and SetCustomProperty to work but no luck at all – nothing worked for me. There was no errors when adding field to list or changing field properties but custom properties were never saved.

Creating SharePoint global calendar

Creating global calendar that shows data from different calendars is something that SharePoint doesn’t have out-of-box. Using site data query and calendar view control we can easily create global calendar and make it show data from lists we want.

Querying SharePoint lists

The best way to get data from SharePoint lists is to query them. Using queries you guarantee that only list items you really need are retrieved from database and constructed to objects by SharePoint. Most of the time you don't need the full collection of list items, so it is not point to ask all the items and then use only few of these. Let's see how we can query SharePoint lists.

Getting items from SharePoint lists

In this posting I will show how to get data from SharePoint lists and libraries. There are some ways to do it and it’s only good to know how to select correct method.

Introduction to SharePoint Data Structures

Data in SharePoint is different than in our usual object-oriented applications. If we want to deal with data in SharePoint we have to understand how data is organized there. This is one of the key points to successful SharePoint projects.