Mein neues WebPart Projekt

by fkollmann 2/25/2008 12:01:00 PM

Immer wieder setzten wir für unsere Projekte neue WebPart Projekte auf. Inzwischen machen wir das aber auf andere Weise, und hier soll einmal der aktuellste Stand vorgestellt werden (aus der Basis von Visual Studio 2008):

Hier verwende ich zwei Drittanbieterlösungen:

Also, los geht's:

1) Als erstes legen wir erst einmal ein leeres Verzeichnis an, um hier eine vernünftige Basis zu haben.

2) Nun kopieren wir die ganzen Tools zusammen, und legen diese im Verzeichnis Tools ab. Details können der ZIP Datei entnommen werden.

3) Als nächstes installieren wir die WSP Builder Extensions für Visual Studio (habe ich ebenfalls unter Tools abgelegt).

4) Wir legen jetzt als nächstes eine Visual Studio 2008 Solution an, mit dem WSP Builder WebPart Projekt Init.MeinKunde.Sharepoint :

Name: Init.MeinKunde.Sharepoint
Location: C:\MyWebpartDemo
Solution Name: DotNet

Hieraus ergibt sich jetzt folgende Verzeichnisstruktur:

/Tools/
/DotNet/Init.MeinKunde.Sharepoint/

5) Der nächste Schritt ist nun das Projekt richtig zu konfigurieren. Erst einmal müssen wir den Ausgabepfad ändern:

Output path: GAC

6) Nun muss der WSP Builder selbst noch eingebunden werden:

Post-build event command line: "$(SolutionDir)..\tools\wspbuilder\wspbuilder" -SolutionPath "$(ProjectDir)." -Outputpath "$(ProjectDir)." -WSPName "MeinKunde.wsp" -Excludepaths ".svn" -Cleanup False

Achtung, im Build event findet sich das Parameter -Excludepaths ".svn" . Dies ist natürlich nur dann notwendig, wenn Subversion verwendet wird. Für CVS muss es -Excludepaths "CVS" lauten. Hingegen ist dieses Paremeter für Perforce oder Microsoft Team Foundation Server nicht notwendig.

7) Nun muss noch der Installer konfiguriert werden; Dies ist etwas aufwändiger. Als erstes kopieren wir den Installer aus dem Tools\spsi Verzeichnis in das Projektverzeichnis:

8) Der nächste Schritt ist nun die Anpassung der Setup.exe.config, die wir erst einmal zur Solution hinzufügen:

9) Nun nehmen wir die entsprechenden Einstellungen vor. Die einzelnen Optionen sind genauer unter /Tools/spsi/readme.html beschrieben, daher werde ich hier nur die wichtigsten Anpassungen nennen:

  • Require setzten, wenn MOSS erforderlich sein soll (statt nur WSS)
  • SolutionId setzen (der korrekter Wert findet sich in der solutionid.txt; siehe Bild bei (8))
  • SolutionFile setzen, hier auf MeinKunde.wsp (Wert wie unter (6) beim -WSPName parameter)
  • SolutionTitle setzen, wir verwenden hier "MeinKunde für SharePoint"

10) So, wenn wir jetzt das Projekt einmal bauen lassen, dann sollte es bereits funktionieren:

11) So, im Grunde genommen ist es jetzt geschafft. Wir können jetzt einfach beliebig viele WebParts zum Projekt hinzufügen. Hierzu rechte Maustaste auf das Projekt; nicht auf einen der Unterordner, und auf Add > NewItem klicken.

Name: MyDemo1

Title: Mein DemoWebPart 1
Description: Test Web Part, der eine Möglichkeit zur Erstellung einfacher WebParts zeigen soll.
Scope: Web

12) Daraufhin wurde jetzt ein neues Feature und ein neuer WebPart erzeugt:

Der WebPart Code selbst befindet sich in MyDemo1.cs . Details sind eine andere Geschichte, daher sei nur gesagt, dass der Standard-Code ein "Hello World!" ausgibt.

Wir kompilieren jetzt einfach und führen das Setup aus.

13) Jetzt sollte das Feature im SharePoint zu finden sein (unter Webseitenaktionen > Webseiteneinstellungen > Websitefeatures); Wir aktivieren es auch gleich:

14) Auf einer beliebigen WebPart Seite sollte es sich nun einfügen lassen:

15) Als letztes sehen wir nun auch das erwartete Ergebnis:

Um weitere WebParts hinzuzufügen beginnt man den Vorgang einfach ab (11) wieder. Die komplette Lösung findet sich in der ZIP Datei: MyWebpartDemo ZIP Datei .