Ajax Webpart displays Webservice data
In this post I want to show how to create an Ajax Webpart, which receives its data from a Webservice – and until the data arrived – shows a status bar.
As base for the Webpart, I took the one from Mark Collins and his great article http://sharethispoint.com/archive/2006/11/15/Build-web-parts-with-ajax.aspx.
The approach is to render the Webpart with only a
Webpart Development
Visual Studio Extensions
If you want to write your own Webpart, you can start from scratch with a Class Library, or use the templates from http://www.microsoft.com/downloads/details.aspx?FamilyID=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&DisplayLang=en
The downside of this VS templates is, that they can only be used on a computer, which has SharePoint installed, and you cannot open a project created with the VS templates with a VS on which the templates are not installed.
Server side controls
Ishai Sagi wrote a great article about Webpart development. His article is about server side controls and data binding in Webparts.
Extend the simple Webpart
Now that we know how to create a simple Webpart, we want to add more functionality to it. Let us start with some Controls.
- Declare a Control as class variable
- Create it in CreateChildControls
- Modify the Control in OnPreRender
- Render the Control with its content
Declare a Control
public
class
simpleWebpart:WebPart
{
private
HtmlGenericControl _MyDiv;
CreateChildControls
This method creates the control. After the creation, we will be able to access the control from elsewhere, to modify its properties or its content.
Deploy and Debug a Webpart to your SharePoint Server
To deploy a Webpart to a SharePoint Installation, complete the 3 steps beneath:
- Copy the dll from your Webpart to the bin folder of a webapplication
- Register the dll in the web.config as safe
- Add the Webpart to the Webpartgallery of a sitecollection
- Debug the Webpart
Copy the dll from your Webpart to the bin folder of a webapplication
Copy your dll to the bin folder of your IIS virtual server directory. In my case this is “C:\Inetpub\wwwroot\wss\VirtualDirectories\45079\bin”.
Create a simple Webpart HOWTO
In this blog post, I want to show you how to create a simple Webpart. All you need is a Visual Studio 2005 (e.g. the express version) and of course SharePoint.

- Start your VS and create a new “Class Library”
-
Add a reference to the Microsoft.SharePoint.dll. We will create a SharePoint Webpart, to be able to add Properties.

- To display some text, override the render method. You have to create a reference to the Microsoft.Web.dll, and type using System.Web.UI;
-
{
Wiki Page
Create VB.NET Code for Reporting Services
To use custom code in a Report, you can past VB.NET Code into the Report properties. But what if you can only write C# and not VB.NET?
Here is the answer: http://authors.aspalliance.com/aldotnet/examples/translate.aspx
This great .NET translator lets you translate C# into VB.NET J
Wiki mit Bildern Update
Falls bei der Benutzung des Webparts ein Fehler wie:
Fehler bei der Anforderung des Berechtigungstyps Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
auftritt, muss der Trustlevel in der web.config auf Full gesetzt werden.
Zum vollständigen Beitrag: http://www.hezser.de
Update 23. Apr 2008:
Ich habe eine neue Version bereitgestellt.
Sending Email from SharePoint
You can configure a task list, to send an email if you assign a task to somebody. This works fine if this somebody has an internal email address.
If you happen to have an account inside the environment of the SharePoint Server, and configure it to have an external email address, sending an email to this account might fail. In the SharePoint Logs there is an entry:
03/12/2007 14:40:42.29 OWSTIMER.EXE (0x059C) 0x14E8 Windows SharePoint Services E-Mail 8gsf High #160009: Die E-Mail-Adresse ‘somebody@somewhere.tld’ ist unbekannt. (something like: the email address ‘somebody@somewhere.tld’ is unknown)
C#, fast assignment
Here is a short way to declare a variable and set a value according to a condition:
bool var = (something == true) ? true : false;
The long way would be:
bool var;
if (something == true)
{
var = true;
}
else
{
var = false;
}
I like the short way. You have to decide for yourself
**Update:
**
This was a bad example. If you want to set a bool, just type:
SharePoint Event Handler
If you want to modify the current listitem, the OnAfterChange Event will trigger again.
You can avoid this by disabling the trigger before the update:
this.DisableEventFiring();
item.SystemUpdate(false);
this.EnableEventFiring();
Webpart, Properties and default value
If you write a Webpart with custom properties, you have to take care of the default value.
[WebBrowsable(true),
DefaultValue(“value”),
Personalizable(true),
WebDisplayName(“some property”),
WebDescription(“Description of the property”)]
public
string PropertyName
{
get { return _ PropertyName; }
set { _ PropertyName = value; }
}
Please do not specify a default value, which you might actually use. The default property value will not be saved, if you choose to configure it with the default value!
Wiki mit Bildern
Bei einem Blog Eintrag kann man Bilder mit an den Eintrag anfügen. Dies ist jedoch bei der Wiki Vorlage der Windows SharePoint Services V3 nicht möglich.
Um dieses Manko zu beseitigen, habe ich ein Webpart geschrieben. Dieses wird in die editform.aspx der Wiki List eingebaut. Danach kann man bequem über die Pflegemaske der Wiki Einträge Bilder an einen Wiki Beitrag anfügen. Die Bilder werden automatisch in eine Bildbibliothek hochgeladen.
SharePoint Warmup
Nach einem IISReset oder einem Application Pool Recycling vergeht immer einige Zeit beim ersten Aufruf einer SharePoint Webseite.
Mein Tool WarmupSharePoint lädt beim Aufruf mit einer URL alle vorhandenen Unterseiten, damit der nächste Aufruf schneller geht.
Aufruf auf einem WSS V3 / MOSS 2007:
WarmupSharePoint.exe http://sharepointroot
Download: WarmupSharePoint
Update 27.01.2007:
Ich habe noch einen Fehler gefunden und beseitigt.
Genehmigung ausstehend…
Über ein Portal sind diverse Dokumentenbibliotheken – in den Dokumente auf eine Genehmigung warten – verteilt.
Dieses Szenario wird vielen bekannt vorkommen. Ein Lösung habe ich vor einige Zeit geschrieben. Das Webpart zeigt alle die Dokumente an
- die auf eine Genehmigung warten
- bei denen der Besucher das Recht hat die Genehmigung durchzuführen
Die Lösung ist nicht die schönste, aber sie hat bei mir funktioniert. Und das übrigens für Windows SharePoint Services V2 und den SharePoint Portal Server.