Achieving together slogan

Sharepoint: Webparts

Microsoft Office Sharepoint Server 2007 maakt gebruik van webparts om snel functionaliteit aan een Sharepoint site toe te kunnen voegen. Webparts zijn kleine ASP.NET webtoepassingen, die een Sharepoint gebruiker in staat stelt om eenvoudig functionaliteit toe te voegen aan een Sharepoint site.

Afhankelijk van de webpart en hun rechten kunnen Sharepoint gebruikers webparts toevoegen aan de diverse webpagina's. Een Sharepoint gebruiker kan een webpart zelf naar wens instellen, zonder dat hier een systeembeheerder of programmeur voor nodig is. De Sharepoint gebruiker kan dus zelf aan de slag met deze functionele bouwstenen om in een zeer korte tijd een eigen website te maken.

Sharepoint WebPart Development

Alhoewel Microsoft een zeer groot aantal standaard webparts meelevert met Microsoft Office Sharepoint Server 2007 is het ook mogelijk om zelf webparts te ontwikkelen of te kopen. Sharepoint webparts kunnen ontwikkeld worden binnen Microsoft Visual Studio 2005. Webparts geven ontwikkelaars de mogelijkheid om binnen het Sharepoint platform eigen bouwstenen te creëren en te publiceren. Deze bouwstenen kunnen vervolgens door elke Sharepoint gebruiker met de juiste machtigingen gebruikt worden om functionaliteit toe te voegen aan een Sharepoint website.

We laten nu zien hoe een webpart wordt gemaakt en hoe deze gebruikt kan worden binnen een Microsoft Office Sharepoint Server 2007 omgeving. Om de webpart te kunnen ontwikkelen hebben we een Sharepoint ontwikkelomgeving nodig. In onze Sharepoint development handleiding vind je terug hoe je een Sharepoint ontwikkelomgeving installeert.

In ons voorbeeld maken we gebruik van de KNMI website. We halen de weersverwachtingen van de komende dagen op en tonen deze in een eenvoudige vorm binnen onze webpart. De Sharepoint omgeving heeft dus toegang tot het internet nodig om de weersverwachtingen correct te kunnen weergeven. Ons voorbeeld is eenvoudig aan te passen, zodat ook andere toepassingen mogelijk worden.

Een WebPart programmeren in Visual Studio 2005

Start de Visual Studio 2005 ontwikkelomgeving en maak een nieuw project aan.

Screenshot Visual Studio 2005 New Project

Selecteer onder Visual C# het projecttype Sharepoint en klik vervolgens op de Web Part template. Geef bij Name en Location een naam en locatie op, bijvoorbeeld VibesWebPart en c:\Projects en klik op OK.

Screenshot Visual Studio 2005 New Project WebPart Template

Visual Studio 2005 maakt nu een webpart project aan en voert een aantal handelingen uit zoals het toevoegen van de Sharepoint namespaces en het toevoegen van een GUID. Nadat het webpart project aangemaakt is, opent Visual Studio 2005 de standaard aangemaakte klasse. De klasse wordt standaard afgeleid van de System.Web.UI.WebControls.WebParts.WebPart namespace. Vervang de broncode in de Render methode met de volgende code:

        protected override void Render(HtmlTextWriter writer)
        {
            try
            {
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load("http://www.knmi.nl/rssfeeds/knmi-rssweer.cgi");
                foreach (System.Xml.XmlNode node in doc.SelectNodes("/rss/channel/item"))
                {
                    writer.Write("<br/><b>" + node.SelectSingleNode
                            ("title").InnerText + "</b><br/>");
                    writer.Write(node.SelectSingleNode
                            ("description").InnerText + "<br/>");
                }
                writer.Write("<hr/>" + doc.SelectSingleNode
                        ("/rss/channel/copyright").InnerText);
            }
            catch (Exception ex)
            {
                writer.Write("<b>Oops</b><br>" + ex.Message);
            }
        }

Deze code haalt de RSS feed van de KNMI website met weersverwachtingen op en beeld deze af binnen de webpart door gebruik te maken van het wegschrijven van HTML output. Vervolgens moeten we onze webpart een duidelijke naam en omschrijving geven. De naam en omschrijving van ons webpart kunnen we opgeven door Project > VibesWebPart Properties te openen.

Screenshot Project VibesWebPart Properties

Selecteer links SharePoint Solution, klik op het plusteken voor Solution [VibesWebPart] en daarna op het plusteken voor Feature [VibesWebpart], tenslotte klikken we op Element. Rechts kunnen we bij "Title" nu de titel van de webpart opgeven, bijvoorbeeld "KNMI Weersverwachting" en bij "Description" kunnen we de beschrijving van de webpart opgeven, bijvoorbeeld "KNMI Weersverwachting voor de komende dagen.

Screenshot Sharepoint Solution Element Properties

Sla het volledige project op met Ctrl+Shift+S en druk op F5 om het project te compileren en te installeren. Wacht tot linksonder in het scherm "Deploy succeeded" verschijnt.

Screenshot Sharepoint Solution Deploy Succeeded

De webpart gebruiken in een Microsoft Office Sharepoint Server 2007 omgeving

Na onze webpart gecompileerd en geïnstalleerd te hebben, kunnen we deze gaan gebruiken in onze Microsoft Office Sharepoint Server 2007 omgeving. We starten Internet Explorer en typen http://moss2007 in de adresbalk in om onze Sharepoint portal website op te vragen. Omdat na de installatie van onze webpart de Internet Information Server gereset is, kan het even duren voordat de pagina getoond wordt. Klik op Site Actions en vervolgens op Edit Page om de pagina te kunnen bewerken.

Screenshot Microsoft Office Sharepoint Server 2007 Site Actions Edit Page

Klik vervolgens onder Right Zone op Add a Web Part.

Screenshot Right Zone Add a Web Part

Klik op de "Add Web Parts -- Webpage Dialog" pagina op het plusteken voor All Web Parts. Onder de categorie "Miscellaneous" vinden we onze webpart terug. Vink de KNMI Weersverwachting webpart aan en klik op Add.

Screenshot Add Web Parts to Right Zone

Als alle stappen goed zijn gegaan, verschijnt nu de KNMI Weersverwachting webpart op de plaats waar deze is toegevoegd.

Screenshot WebPart Added

We kunnen de pagina nu publiceren door op Publish te klikken. De KNMI Weersverwachting webpart is dan zichtbaar voor alle Sharepoint gebruikers.

Screenshot Publish Webpage

Heb je naar aanleiding van onze handleiding nog vragen, neem dan contact met ons op.

Veel plezier met het programmeren van webparts voor Microsoft Office Sharepoint Server 2007!