SharePoint

fully qualified assembly?

In many occasions you have to specify the class as fully qualified name. I always forget how to do so. [namespace].[classname], [assemblyname], Version=[version], Culture=[culture], PublicKeyToken=[token] Now I know where to look at, if I stumble across the fully qualified name 🙂

Using the PropertyBag

A nice feature of a SPWeb, SPSite or SPWebApplication is the Properties Property. You can save information to this Hashtable. e.g. webApplication.Properties[“MyProperty”] = “5”; After a change to the PropertyBag, you have to webApplication.Update() the changes. But here comes the problem. The account updating the Properties has to be a member of the “Farm Administrators” group to be able to save the changes to the SPWebApplication, because you change a SPPersistantObject of your farm!

Adding SPTimerJob in a FeatureReceiver

In one of my solutions I wanted to add a SPTimerJob through a FeatureReceiver in the feature. The feature was scoped to “Web”. I got an “Access denied” when I tried to do so. The solution I found, was to create a second feature, which was scoped to “WebApplication”. From within this feature, I was able to create my timer job. But only in FeatureActivated. When I tried to add the job from FeatureInstalled, I got the error that SharePoint did not find the assembly, even if it was installed to the GAC.

Use JavaScript within a SPGridView

The NavigateUrlFormat property of the SPMenuField allows you to specify a Url, which will be called if you click the field in a SPGridView. 1: SPMenuField colMenu = new SPMenuField(); <pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"><span style="color:#606060"> 2:</span> colMenu.NavigateUrlFields = <span style="color:#006080">"WebUrl,AlertID,ListID"</span>;</pre> <pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"><span style="color:#606060"> 3:</span> colMenu.NavigateUrlFormat = <span style="color:#006080">"{0}/_layouts/SubEdit.aspx?Alert={1}&List={2};</pre> 4: colMenu.TokenNameAndValueFields = "</span>WEBURL=WebUrl,ALERTID=AlertID,LISTID=ListId"; With the TokenNameAndValueFields property, you map the grid columns to %xyz%. If you want to use a JavaScript instead, you can do so: 1: MenuItemTemplate editAlertMenu = new MenuItemTemplate("

Configuring Kerberos for SharePoint

Kerberos has some advantages over NTLM. Only with Kerberos it is possible to pass the client credentials (meaning the user who logged himself on to the SharePoint website) to another server. This is important, if you use e.g. my Fileserver Access Webpart and configure it to a share on a server, which is **not** your SharePoint Server. If you want to know more about Kerberos, you can look at Kerberos Explained on the Microsoft Technet pages.

Access Fileserver Data via SharePoint

**Update: ** The Webpart is not (yet) working as expected. Ajax only works for postbacks. The initial load will take longer, if you have many directories. I am working on this… **Update2: ** Almost done! Ajax is working fine. Ajax is registered, so you don’t need to modify the web.config yourself. Todo: Performance. Hang on just a little more. **Update3: ** Done. I have worked on my Webpart. It will now be faster and it is working 🙂