Main /

Sharepoint Document Library Events - ein kleines Howto

Sharepoint Document Library Events - ein kleines Howto

Die Document-Library Events im Sharepoint 2003 (SPS 2003 und WSS 2.0) - ein kleines HOWTO

Vorgehensweise

Es muß eine Assembly (kein WebPart) entwickelt werden, welches das Microsoft.SharePoint.IListEventSink Interface implementiert

using System;
using System.Text;
using System.Security.Principal;
using System.Runtime.InteropServices;
using System.Diagnostics;
using Microsoft.SharePoint;
using System.IO;

namespace elsni.sharepoint {
   public class SPEventHook : Microsoft.SharePoint.IListEventSink {
      /// <summary>
      /// Konstruktor
      /// </summary>
      public SPEventHook() {
      }

      public void OnEvent(Microsoft.SharePoint.SPListEvent listEvent) {
      }
   }
}

Siehe auch Handling Document Library Events

Das Assembly muß in den GAC (Global Assembly Cache)

  • per drag and drop einfach in C:/WINDOWS/assembly reinziehen
  • oder eleganter mit "gacutil.exe /i <assemblydatei> /f"
  • Die Assembly muß dazu strong named sein (siehe auch WebPartEntwicklung)

Der virtuelle Server muß angewiesen werden überhaupt Events zu erzeugen, wenn man Dokumente eincheckt.

  • Sharepoint Zentraladministration aufrufen
  • Klick auf "Einstellungen virtueller Server konfigurieren"
  • Den gewünschten Virtuellen Server wählen
  • Klick auf "Allgemeine Einstellungen für virtuelle Server "
  • Ganz unten: Ereignishandler sind: auf Aktiviert setzen.

Die Events einer Dokumentenbibliothek müssen mit der Assembly verbunden werden

  • In der Dokumentbibliothksansicht auf "Einstellungen und Spalten ändern" gehen
  • auf "Erweiterte Einstellungen ändern" klicken
  • Unter Ereignishandler / Assemblierungsname die kompletten Infos des Assemblys (mit Culture und dem ganzen Rotz) reinkopieren.
    Beispiel: elsni.sharepoint.SPEventHook, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4eb918a4aec57c
  • Unter Klassenname den vollen Klassennamen hineinschreiben.
    Beispiel: elsni.sharepoint.SPEventHook

Dokument Einchecken und gucken ob geht happy smiley

Hinweis:
Die Events werden erst dann gefeuert, wenn die Dokumentaktion bereits beendet wurde. Ein zu löschendes Dokument ist also beispielsweise schon gelöscht, bevor der eigene Event-Code zum Einsatz kommt. Es ist daher z.B. leider nicht möglich über diesen Weg einen "Papierkorb" etc. zu programmieren oder das Löschen zu verbieten.

...tbc...

Frische Änderungen | Menü editieren
zuletzt geändert am 30.09.2009 16:47 Uhr von Elsni
Edit Page | Page History