Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Erweiterungen für den STSADM

Das Programm STSADM ist ein sehr nütz­li­ches Tool für häu­fig wie­der­keh­rende Aufgaben auf einem Sharepoint-Server. Einer der gro­ßen Vorteile ist es, dass man diese Aufgaben per Kommandozeile und damit z.B. per Batch abar­bei­ten kann.

An man­chen Stellen kommt aber auch der die­ses Programm an seine Grenzen. Glücklicherweise kann der beherzte Entwickler hier selbst ein­grei­fen und sich eigene Erweiterungen schrei­ben, die genau den Bedarfsfall abbil­den, der gerade vor­liegt.

Die Entwicklung einer eige­nen Erweiterung ist gar nicht so kom­pli­ziert, wie es sich anhört. Dazu sind fol­gende Schritte not­wen­dig:

Zunächst erstellt man sich ein neues DLL-Projekt und ver­linkt die Microsoft.Sharepoint-Assembly. Jede Klasse, die das ISPStsadmCommand-Interface imple­men­tiert, kann als Erweiterung fun­gie­ren.

new StsadmCommand

Das Interface beinhal­tet 2 Funktionen. Einerseits GetHelpMessage – diese Funktion wird dann auf­ge­ru­fen, wenn man stsadm ‑help <befehl> auf­ruft; ande­rer­seits  Run – diese Funktion wird auf­ge­ru­fen, wenn man stsadm ‑o <befehl> in der Kommandozeile ein­gibt.

Implementation ISPStsadmCommand 

Beide Methoden beinhal­ten einen Parameter com­mand. Dieser beinhal­tet zur Ausführungszeit den Befehl – ver­mut­lich aus dem Grund, da eine imple­men­tie­rende Klasse auf meh­rere Befehle gemappt wer­den kann. Das Mapping selbst ist recht ein­fach. Dazu erzeugt man sich eine neue XML-Datei mit dem Namen stsadmcommands.<eigenername>.xml, die spä­ter unter "Gemeinsame Dateien\Microsoft Shared\web ser­ver extensions\12\CONFIG" abge­legt wird.

Im Beispiel wird das com­mand copy­new­files auf die eben erstellte Klasse CopyFiles gemappt.

stsadmconfig

Nachdem die DLL nun in den GAC deployed ist, kann der Aufruf erfol­gen.

output

Related Posts

Pin It on Pinterest