SharePoint

Versioning files in a document library

If you open a file from a document library, modify it and save it, you will get a new version. This is what I had expected. But if you open up a document do some changes, save it, change some more and save it, you will only get one new version. Not as many as I had expected because I have saved the document like 10 times. Interesting…Technorati Tags: SharePoint,Document Library,Versioning

SharePoint Dispose Checker Tool

As I posted earlier, MS was working on a tool which will analyze your code if you are coding against SharePoint. Here is a short description: It provides assistance in correctly disposing of certain SharePoint objects to help you follow published best practice. This tool may not show all memory leaks in your code. Further investigation is advised if you continue to experience issues. SPDisposeCheck.exe takes the path to a managed .

Upgrading a solution fails

In a SharePoint farm with multiple servers, features have to be deployed to every server. No problem you would think. That is why we got solutions and deploy them with stsadm. SharePoint will do the rest. But what do you do if you got an error during the deployment process? In my case the error was: A deployment or retraction is already under way for the solution xyz, and only one deployment or retraction at a time is supported.

SharePointPodcast

Heute habe ich mit Michael Greth einen Podcast aufgenommen. In diesem erzähle ich über die CKS:EBE (Enhanced Blog Edition), einige meiner Webparts und meinen Vortrag auf der SharePoint Konferenz im nächsten Monat. http://blogs.mysharepoint.de/sharepointpodcast/archive/2009/01/20/sppd109-sharepointpodcast.aspxTechnorati Tags: SharePoint,Podcast,CKS:EBE

Coding with SharePoint? Things you should not do

Often there are multiple ways to get what you want. E.g. if you want to get a listitem, you could user list.GetItemById() or list.Items[x]. sowmyancs has posted an excellent article about performance for certain tasks –> Best Practices: SharePoint Object Model for Performance TuningTechnorati Tags: SharePoint,Performance,Object Model

Visual Studio 2008 extensions for SharePoint v1.3

As you can read on the Microsoft SharePoint Team Blog, a new version of the Visual Studio extensions have been released. This version is Community Technology Preview. And wow… yes… finally… x64 support! The download is available here. The final release of VSeWSS 1.3 is planned for the North American Spring of 2009.Technorati Tags: SharePoint,VSeWSS

Modify blog post categories

If you plan to use the CKS:EBE (Enhanced Blog Edition), you might want to update the categories of your posts, because the EBE supports multiple categories for a post. I’ve created a Windows Forms Application, which will help you with this task. Features: Update categories for blog posts Select multiple categories Remove categories from blog post Add categories to the categories list Modify the blog posts, without changing the modified date Requirements:

Is the current user anonymous?

If you want to find out if the current visitor is anonymous or logged on, you can use the context to get that information.bool anonymous = Context.User.Identity.IsAuthenticated == false; If you just go for SPWeb.Current.Web.CurrentUser, you will get logged on automatically to retrieve the current user.Technorati Tags: SharePoint,Context

Upload documents/pictures to a discussion lists

You might already know my Wiki Webpart, which allows you to upload pictures and documents to a Wiki while editing it. What is it? With this Solution you can upload images and documents from the new/edit form into existing picture/document libraries. After the file has been uploaded, a link will be inserted into the Body. This is either a or a tag, depending on the uploaded file. How does it work?

Anonymous access and elevated privileges

Accessing a SharePoint site or web with elevated privileges can be achieved in two ways. By passing a SPUserToken or with RunWithElevatedPrivileges. string currentWebUrl = SPContext.Current.Web.Url; SPSite _siteElevated; SPSecurity.RunWithElevatedPrivileges(delegate { _siteElevated = new SPSite(currentWebUrl); }); _siteElevated = new SPSite(currentWebUrl, SPContext.Current.Site.SystemAccount.UserToken); <p> As anonymous visitor you will not be able to access SPContext.Current.Site.SytemAccount.UserToken. So use SPSecurity to get elevated objects if you have anonymous access enabled. </p> Technorati Tags: SharePoint  

SPQuery, ViewFields and empty fields

If you want your query to return empty columns, you have to add Nullable=’TRUE’ to the viewfields. If you do not add the Nullable attribute, accessing the results of the query like this: oListItemAvailable[“Field1”] will give an Exception. I’ve made posted a comment about this on the page in the MSDN http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.viewfields.aspx

Cancel the activation of a SPFeature

If you have ever created a SPFeatureReceiver class, you might have noticed, that there is no “FeatureActivating”. So what do you do to cancel an activation of your feature? Just throw an exception within FeatureActivated. This will cancel the activation process, and not activate the feature.throw new SPException(“The feature could not be activated."); Technorati Tags: SharePoint,SPFeature

CKS:EBE

In case you do not know the Enhanced Blog Edition, you have to check it out. The upcoming version has lots of improvements. One is the possibility to use the extension on a non English SharePoint blog site. I am working on the translation to German, and some other stuff. When it is done, I will use the extension on my blog as well. Tags: SharePoint CKS:EBE Blog CodePlex

Deleting many ListItems / SPFiles

Deleting a large amount of items in SharePoint can take some time. There are several ways on how to delete items: Deleting items using the OM with list.Items.DeleteItemById(itemID); Deleting items using the SharePoint Webservices Deleting items using the OM with web.ProcessBatchData(caml); list.Items.DeleteItemById(itemID); You should not use the Items property of a SPList multiple time. Instead create a variable, which stores list.Items and use it instead. Deleting items using the SharePoint Webservices