Nach der Installation findet sich im Installationsverzeichnis die Assembly (DLL) JMS.SharePoint.Upload.dll, die zwei neue ASP.NET Seitentypen enthält.
Der eine Typ von Seite arbeitet völlig unsichtbar im Hintergrund und nimmt eine Anzahl von Dateien zum Einspielen in eine Document Library entgegen. Dabei wird erst einmal grundsätzlich sichergestellt, dass alle Einspielvorgänge mit einer eingescheckten Datei enden (Bug oder Feature – das lassen wir hier mal offen). Also selbst wenn nicht gesetzte Pflichteigenschaften vorhanden sind, erscheint die Datei als eingestellt in der Library. Beim Pflegen der Eigenschaften müssten die Werte dann allerdings wie gewohnt nachgepflegt werden, damit ein Speichern des Pflegeformulars möglich ist.
Anders als beim konventionellen WSS 3.0 Einspielvorgang können aber beliebig Werte zu Eigenschaften angegeben werden, die dann für alle eingespielten Dateien übernommen werden. Diese zusätzlichen Werte werden über die URL übertragen und unterliegen somit einigen Einschränkungen – bezüglich der Datentypen oder der Größe der Werte etwa: URLs können maximal 1000 Zeichen lang werden. Für den normalen Einsatz sollte dies aber kein wirkliches Problem sein. Zum Testen habe ich mit den Datentypen Text (einzeilig), ganze Zahl, Ja/Nein Wahrheitswert und 1-aus-N Auswahl gearbeitet. Es ist übrigens nicht zwingend erforderlich, dass die in der URL übertragenen Werte zu Pflichteigenschaften gehören.
Ein bißchen kritisch ist an dieser Stelle, dass die ‘nicht Überschreiben’ Einstellung des Dateiauswahlformulars nur oberflächlich ausgewertet wird. Ist das Überschreiben verboten und wird versucht, eine existierende Datei erneut einzuspielen, so wird diese ohne Warnung vom Einspielvorgang ausgenommen. Alle möglichen Einspielvorgänge werden abgeschlossen.
Der zweite Seitentyp erweitert die Standardeinspielseite UPLOAD.ASPX von WSS 3.0. Neu ist die Möglichkeit, auf der Seite Eingabefelder einzublenden, deren Werte dann mit der beschriebenen Architektur über die URL an die Einspielkomponente übetragen werden. Zur Einspielseite gibt es einen eigenen Artikel.
Die Aktivierung der neuen Seitentypen ist denkbar einfach. Erst einmal wird die erwähnte Assembly aus dem Installationsverzeichnis in alle _app_bin Unterverzeichnisse der WSS Sites kopiert, in denen eine Nutzung erwünscht ist. Ist nur eine Site installiert, so wird diese üblicherweise an den HTTP Defaultport 80 gebunden und das Verzeichnis dieser WSS Site findet sich normalerweise in c:\Inetpub\wwwroot\wss\VirtualDirectories\80 – die 80 ist der zugeordnete Port. Im Installationsverzeichnis findet sich neben der Assembly auch ein Source Unterverzeichnis mit den Quelltexten für die neuen Seitentypen. Zusätzlich sind dort im Fragments Unterverzeichnis einige Dateischnipsel angelegt, mit denen die manuelle Einrichtung vorgenommen werden kann. Die Datei MUpload.ASPX wird so wie sie ist ins Seitenverzeichnis von WSS 3.0 kopiert – üblicherweise c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS.
Damit ist die erste Phase er Einrichtung abgeschlossen. An WSS selbst wurde noch nichts verändert, lediglich zusätzliche Funktionalität bereitgestellt. Diese wird aber noch nicht genutzt.
So long
Jochen