Microsoft Office Online
Für Mein Office Online (Was ist das?) registrieren | Anmelden

 
 
Microsoft Office SharePoint Designer
Suchen
Suchen
 
 
 
 
Produktinformationen
Hilfe und Anleitungen
Schulung
Ähnliche Produkte und Technologien
Support und Feedback
Technische Ressourcen
Zusätzliche Ressourcen
Warnung: Sie haben diese Webseite mit einem nicht unterstützten Browser geöffnet. Diese Webseite wird am besten angezeigt, wenn Sie Microsoft Internet Explorer 6.0 oder höher, Firefox 1.5 oder Netscape Navigator 6.0 oder höher verwenden. Hier finden Sie weitere Informationen über unterstützte Browser.

DruckversionDruckversion Lesezeichen und FreigabeFreigabe
Einführung in das Erstellen von SharePoint-Anwendungen
 
Inhalt dieses Artikels


Einführung

Microsoft Windows SharePoint Services 3.0 ist eine Technologie von Windows Server, die ein integriertes Portfolio von Diensten für die Kommunikation und Zusammenarbeit bietet. Zudem kann die Anwendung als Plattform zum Entwickeln webbasierter Geschäftsanwendungen verwendet werden. Microsoft nutzt diese Funktion und hat 40 Anwendungsvorlagen für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar) entwickelt, um sofort verwendbare Lösungen anbieten zu können, die die Anforderungen bestimmter Geschäftsprozesse, z. B. das Koordinieren eines Helpdesks oder das Nachverfolgen von Marketingkampagnen, erfüllen, wie im Beispiel in Abbildung 1 gezeigt.

Homepage der Anwendung 'Integrated Marketing Campaign Tracker'

Abbildung 1: Homepage der Anwendung "Integrated Marketing Campaign Tracker"

Diese von Microsoft entwickelten und kostenlos herunterladbaren Anwendungsvorlagen sind direkt nach der Bereitstellung gebrauchsfertig. Sie können auch als Grundlage für stärker angepasste Lösungen sowie als Lehrbeispiele für das Erstellen eigener komplexer Windows SharePoint Services 3.0-Anwendungen mithilfe von Microsoft Office SharePoint Designer 2007 verwendet werden.

In diesem Artikel wird beschrieben, wie die Anwendungsvorlagen von Microsoft entwickelt wurden. Dabei werden die bewährten Methoden für das Arbeiten mit den Kernfunktionen in Windows SharePoint Services 3.0 und Office SharePoint Designer 2007 aufgezeigt, sodass Kunden und Partner in die Lage versetzt werden, eigene Anwendungen zu erstellen. Der Artikel dient nicht als Ersatz für das Windows SharePoint Services 3.0 SDK (nur auf Englisch verfügbar), und er ist auch nicht in erster Linie als Entwicklerressource konzipiert. Entwicklern wird empfohlen, das SDK heranziehen, um sich grundlegende Kenntnisse über das Erweitern von Windows SharePoint Services 3.0 anzueignen.

Dieser Artikel ist als Ressource für eine neue Generation von Websitedesignern konzipiert. Da mit Windows SharePoint Services und Office SharePoint Designer 2007 zahlreiche Anwendungsfunktionen über die Benutzeroberfläche erstellt werden können, sind keine fortgeschrittenen Entwicklungsfähigkeiten erforderlich, um anspruchsvolle Anwendungen zu erstellen. Es werden zwar einige benutzerdefinierte Codeimplementierungen für besonders komplizierte Entwurfsmuster beschrieben, die Gesamtmethodik sollte jedoch für in der Entwicklung unerfahrene Benutzern zugänglich sein und wird im Hinblick auf diese Zielgruppe präsentiert. Entwickler können die ersten Abschnitte zu Tools und Methodik überfliegen und sich mehr auf die Beschreibung der Entwurfsmuster sowie die speziellen Beispiele für deren Implementierung konzentrieren.

Zum Aufbau des Artikels: Im ersten Abschnitt, Verwendete Tools und Technologien, finden Sie einen Überblick über die Funktionen in Windows SharePoint Services 3.0 und Office SharePoint Designer 2007, die beim Erstellen von Anwendungen verwendet werden. Der zweite Abschnitt, Anwendungsarchitektur und Entwicklungsmethodik, enthält eine allgemeine Beschreibung der Methodik, die Microsoft allen Anwendungsvorlagen zugrunde gelegt hat. Bei dieser Methodik wird ganz pragmatisch geprüft, welchem Zweck die Lösung dient, wie und von wem sie verwendet wird und mit welchen technologischen Bestandteilen das Ziel am ehesten erreicht werden kann, ohne dass benutzerdefinierter Code verfasst werden muss. Am Ende folgt ein Verfahren zum Ermitteln von Bereichen, in denen benutzerdefinierter Code oder andere Anpassungen erforderlich sind.

Im nächsten Abschnitt des Artikels, Implementieren gängiger Entwurfsmuster, geht es darum, wie die Vorteile von Windows SharePoint Services und Office SharePoint Designer 2007 genutzt werden können, um allgemeine Anforderungen für den Anwendungsentwurf zu erfüllen, z. B. das Erstellen benutzerdefinierter Aktionen in einer Liste. Dieser Abschnitt ist der wichtigste Abschnitt des Artikels. In ihm werden die Verfahren für Entwurfsmuster beschrieben, die sich in allen Anwendungsvorlagen wiederholen (und auch in Ihren eigenen Anwendungen). Sie finden hier Beispiele für jedes der fünf Entwurfsmuster sowie zielgerichtete Anweisungen zum Arbeiten mit der Benutzeroberfläche von Windows SharePoint Services oder mit Office SharePoint Designer 2007 und benutzerdefiniertem Code.

Im letzten Abschnitt des Artikels, Erstellen von Vorlagen, wird beschrieben, wie eine Vorlagendatei mit Office SharePoint Designer 2007 erstellt wird. Zudem werden weitere Themen behandelt, z. B. die Lokalisierung.

Wenn Sie diesen Artikel gelesen haben, verfügen Sie über ein grundlegendes Verständnis des Entwurfs und der Architektur einer Anwendung. Zudem wissen Sie, wie Sie den Anfang machen, indem Sie eine Website direkt in Windows SharePoint Services 3.0 erstellen (u. a. wie Sie verknüpfte Listen, benutzerdefinierte Spalten, Bibliotheken, Workflows usw. erstellen), wie Sie die Website dann in Office SharePoint Designer 2007 öffnen, um weitere Anpassungen vorzunehmen, wie Sie benutzerdefinierte Formulare erstellen, benutzerdefinierten Code zum Ändern eines bestimmten Verhaltens hinzufügen sowie benutzerdefinierte Workflows usw. erstellen. Und Sie wissen auch, wie Sie die Anwendungsvorlage selbst erstellen und sie zur Verwendung bereitstellen.

Seitenanfang Seitenanfang

Verwendete Tools und Technologien

Es gibt zahlreiche gebündelte Technologien und Tools, mit denen sich die Erstellung von Anwendungen einfacher als je zuvor zu gestaltet. Von der technologischen Seite betrachtet, muss ein Websiteentwickler dank neuer Funktionen wie der Unterstützung für Workflows keinen Code mehr verfassen, um einen Workflow in eine Anwendung zu integrieren. Von der Seite der Tools betrachtet, machen Office SharePoint Designer 2007, Microsoft Visual Studio 2005 und andere Tools es möglich, dass immer weniger (oftmals gar kein) Code erforderlich ist, um Dinge zu vollbringen, die einst sehr schwierig zu bewerkstelligen waren.

Allgemein verfolgt Microsoft bei all diesen Tools und Technologien eine Strategie, die sich immer mehr von der schwierigen Handarbeit entfernt und die Infrastruktur selbst in den Mittelpunkt stellt, bei der der Schwerpunkt also auf dem Entwurf statt auf der Entwicklung liegt. Das bedeutet, dass Microsoft bereits einen Großteil der schwierigen Arbeit erledigt hat, sodass Sie die Funktionen in Ihren Anwendungen einfach absolut intuitiv auf der Benutzeroberfläche nutzen können.

Um zu verdeutlichen, wie die verschiedenen Technologien und Tools in der Anwendungserstellung zusammenkommen, werden in den folgenden Abschnitten Windows SharePoint Services 3.0, Office SharePoint Designer 2007 und andere Technologien insbesondere im Hinblick auf relevante neue Features und Fähigkeiten erläutert. Verweise auf umfassendere Erläuterungen finden Sie in den Ressourcen am Ende des Artikels.

Windows SharePoint Services 3.0

In Windows SharePoint Services 3.0 werden einige leistungsstarke neue Funktionen eingeführt. (Eine ausführliche Liste finden Sie im Windows SharePoint Services 3.0 Evaluation Guide (nur auf Englisch verfügbar).) Die im Folgenden beschriebenen neuen Funktionen und Features sind insbesondere für das Erstellen benutzerdefinierter Anwendungen relevant; viele von ihnen werden in späteren Abschnitten wieder Thema sein:

  • Listen und Bibliotheken  In Windows SharePoint Services 3.0 werden eine Reihe von neuen Bibliotheks- und Listentypen eingeführt, die als Grundlage für neue Anwendungen verwendet werden können. Zu den neuen Bibliothekstypen zählen u. a. die Folienbibliothek, eine Bibliothek zum Speichern und Verwalten wiederverwendbarer Microsoft Office PowerPoint 2007-Folien, und eine Datenverbindungsbibliothek.
  • Inhaltstypen   Inhaltstypen sind ein Kernkonzept, das überall in Windows SharePoint Services 3.0 zum Tragen kommt. Inhaltstypen helfen den Benutzern dabei, den Inhalt ihrer SharePoint-Websites sinnvoller zu strukturieren. Ein Inhaltstyp ist eine wiederverwendbare Sammlung von Einstellungen, die für bestimmte Inhaltskategorien übernommen werden können. Inhaltstypen ermöglichen die zentrale Verwaltung und Wiederverwendung der Metadaten und Verhaltensweisen eines Dokuments oder Elementtyps. Beispielsweise können Sie Workflows und Ereignisse einem Inhaltstyp zuordnen, statt sie mehreren Dokumenten oder Bibliotheken hinzufügen zu müssen.
  • Websitespalten  Websitespalten stellen ein zentrales, wiederverwendbares Modell für die Spaltendefinition dar. Wenn Sie eine Websitespalte erstellen, weist jede Liste, die diese Spalte verwendet, dieselbe Definition auf, sodass Sie die Spalte nicht in jeder Liste neu erstellen müssen. Mithilfe von Websitespalten können Endbenutzer eine Auswahl aus einer vordefinierten Gruppe von Spalten treffen, die in ihrer Liste hilfreich sein können. Sie können also nicht nur für die zentrale Definition von Spalten für bekannte Listenvorlagen verwendet werden, sondern bieten Benutzern auch die Möglichkeit, spezielle Spalten mit benutzerdefinierten Bedeutungen zu verwenden.
  • Workflow   In Windows SharePoint Services 3.0 können Sie mit einem Workflow einen Geschäftsprozess an Elemente in Listen und Bibliotheken anfügen. Bei dieser Vorgehensweise kann nahezu jeder Aspekt eines Elements gesteuert werden, einschließlich seines Lebenszyklus. Sie können z. B. einen einfachen Workflow erstellen, mit dem ein Dokument zur Genehmigung an eine Reihe von Benutzern weitergeleitet wird. Normalerweise würde ein Websitedesigner oder -entwickler spezielle Workflows erstellen. Websitedesigner können Office SharePoint Designer 2007 verwenden, um Workflows mithilfe der Assistenten-Umgebung des Workflow-Designers zu erstellen, und Entwicklern steht Visual Studio 2005 zur Verfügung, um leistungsstärkere und komplexere Workflows zu erstellen.
  • Featureframework  Windows SharePoint Services 3.0 enthält eine neue Struktur, die als “Feature" bezeichnet wird. In einem Feature werden Windows SharePoint Services-Elemente zusammengefasst, die Benutzer bei der Erreichung eines bestimmten Ziels oder bei der Ausführung einer bestimmten Aufgabe unterstützen. Ein Feature besteht aus mindestens einem Element. Ein Element ist ein atomares Windows SharePoint Services-Konzept. Windows SharePoint Services 3.0-Features stellen ein umfassendes Framework zur Verfügung, das Sie als Entwickler verwenden können, um benutzerdefinierte Funktionen für Windows SharePoint Services-Lösungen bereitzustellen. Mit Features können Administratoren zudem problemlos einzelne enthaltene Funktionen hinzufügen oder entfernen.
  • Verbesserte Ereignisse  Ereignisse lassen sich in zwei größere Kategorien unterteilen:

    • Listenereignisse  Kernereignisse, einschließlich Ändern, Hinzufügen und Entfernen von Listenelementen und Listenspalten (Schemaänderungen)
    • Einfache Websiteereignisse  Löschen von Websites und Websitesammlungen

    Ereignisse sind entweder synchron "vor" Ereignissen und werden mit dem Namensformat "XYZing" bezeichnet, oder sie sind asynchron "nach" Ereignissen und werden mit dem Namensformat "ABCed" bezeichnet.

  • Zugriff über mobile Geräte   Windows SharePoint Services 3.0 enthält neue Funktionen, mit denen Listen auf mobilen Geräten in einem geeigneten Format dargestellt werden können. Wenn ein Benutzer auf einem mobilen Gerät eine Windows SharePoint Services 3.0-Website aufruft, wird der Webbrowser zu einer speziellen Websiteversion für mobile Geräte weitergeleitet, auf der Websiteinhalt und Listen in einem für das Gerät optimalen Format dargestellt werden.

Office SharePoint Designer 2007: das Tool erster Wahl zum Erstellen von SharePoint-Anwendungen

Office SharePoint Designer 2007 wurde speziell entwickelt, um Sie beim Erstellen und Anpassen von Websites und Workflows zu unterstützen, die mit SharePoint-Produkten und -Technologien (Windows SharePoint Services 3.0 und Microsoft Office SharePoint Server 2007) erstellt wurden. Die Anwendung bietet die Tools, die IT-Experten und Lösungsersteller benötigen, um auf SharePoint basierende Anwendungen und Workflowlösungen zu entwickeln, die zu einer höheren organisatorischen Flexibilität und zur Automatisierung von Geschäftprozessen beitragen. Mit Office SharePoint Designer 2007 gehören herkömmliche verfahrensorientierte Programmiersprachen oder -techniken beim Ausführen der folgenden Aufgaben der Vergangenheit an:

  • Erstellen codeloser Datenansichten und Formulare zu verschiedenen Datenquellen, z. B. XML-Dateien, SQL-Datenbanken wie Microsoft SQL Server 2005 und Webdienste
  • Erstellen von komplexen, dynamischen, codelosen Workflows
  • Ausführen von Seitenlayout und -entwurf
  • Erstellen von Masterseiten
  • Bearbeiten und Anwenden von Cascading Stylesheets (CSS)
  • Erstellen von Webpartseiten und Verbinden von Webparts zum Erstellen komplexer Geschäftanwendungen

Visual Studio 2005

Mit Visual Studio 2005 können Sie Anwendungen benutzerdefinierten Code hinzufügen oder benutzerdefinierte Workflows erstellen. Sie können Visual Studio 2005 Designer für Windows Workflow Foundation verwenden, um Workflowvorlagen und benutzerdefinierte Workflowaktivitäten zu erstellen. Sie können Code in einen Workflow einbeziehen sowie Formulare entwerfen, die vom Workflow während der Zuordnung und zur Laufzeit für die Kommunikation mit den Workflowbenutzern verwendet werden.

Visual Studio 2005-Erweiterungen für Windows SharePoint Services 3.0 können kostenlos heruntergeladen werden. Darin ist eine Reihe von Tools zum Entwickeln benutzerdefinierter SharePoint-Anwendungen mithilfe von Visual Studio 2005 zusammengefasst. Das Paket enthält Visual Studio-Projektvorlagen für Webparts, Websitedefinitionen, Listendefinitionen sowie ein eigenständiges Dienstprogramm, SharePoint Solution Generator, mit dem ein Websitedefinitionsprojekt aus einer vorhandenen SharePoint-Website erstellt wird. Mit dem Programm können Entwickler mithilfe von Browser und Office SharePoint Designer 2007 den Inhalt ihrer Websites anpassen, bevor sie Code mithilfe von Visual Studio 2005 erstellen.

Laden Sie Visual Studio 2005-Erweiterungen für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar) herunter.

Microsoft Office Access 2007

Mit Microsoft Office Access 2007 können Sie Trackinganwendungen mit umfassenden Funktionen für die Eingabe und Verwaltung von Daten für Zielszenarien sowie die Erstellung von Berichten auf Grundlage dieser Daten erstellen. Weitere Information zum Entwerfen, Erstellen und Freigeben von Access-Vorlagen finden Sie in dem Buch The Rational Guide To Microsoft Office Access 2007 Templates (nur auf Englisch verfügbar).

Vorgehensweisen und allgemeine Techniken

Hinsichtlich der im nächsten Abschnitt beschriebenen Entwicklungsmethodik sehen die grundlegenden Schritte zum Erstellen einer Anwendung wie folgt aus:

  1. Legen Sie fest, ob Sie eine Websitedefinition oder eine Websitevorlage benötigen.
  2. Erstellen Sie die Kernwebsite in Windows SharePoint Services 3.0 oder Office SharePoint Server 2007.
  3. Öffnen Sie die Website in Office SharePoint Designer 2007, nehmen Sie Änderungen vor, und führen Sie ggf. weitere Aufgaben aus.
  4. Verwenden Sie Visual Studio 2005, um bei Bedarf zusätzlichen benutzerdefinierten Code, benutzerdefinierte Workflows usw. zu erstellen.

Seitenanfang Seitenanfang

Anwendungsarchitektur und Entwicklungsmethodik

Wie bei jedem Entwicklungsprojekt sind die Erarbeitung und die Erstellung einer Windows SharePoint Services-Anwendung eher von Erfolg gekrönt, wenn Sie eine bewährte Methodik anwenden. In diesem Abschnitt wird die Methodik beschrieben, die Microsoft beim Entwurf aller zum Download verfügbaren Anwendungsvorlagen angewendet hat. Die Vorgehensweise birgt keine Überraschungen, insbesondere nicht für den erfahrenen Entwickler, aber es wurden einige Besonderheiten der SharePoint-Umgebung berücksichtigt, und die Erfahrungen, die Microsoft gemacht hat, sind eingeflossen, sodass die Vorgehensweise in diesem Zusammenhang doch interessant sein dürfte. Es sei noch einmal darauf hingewiesen, dass die Informationen in diesem Abschnitt besonders für in der Entwicklung unerfahrene Benutzer, die mit Windows SharePoint Services 3.0 und Office SharePoint Designer 2007 vertraut sind, sehr hilfreich sind.

Kurz gesagt, ist der Ausgangspunkt die allgemeine Überlegung, welche Aufgaben die Anwendung ausführen soll, wer sie verwenden soll usw. Dann wird genauer untersucht, wie der Datenfluss in der Anwendung aussehen muss, wo die Daten gespeichert werden müssen und welche Beziehungen zwischen den verschiedenen Daten bestehen. Nachdem das Datenmodell und die Nutzungsszenarien eingehend untersucht worden sind, folgt der praktische Teil, nämlich die Erstellung einer Rohversion der Anwendung in Windows SharePoint Services 3.0. Diese umfasst die iterative Erstellung von Listen, Bibliotheken, Workflows usw., bis die Anwendung ungefähr das gewünschte Aussehen und Verhalten zeigt. Abschließend gilt es, herauszufinden, welche Änderungen und Anpassungen erforderlich sind, damit die Anwendung wirklich den Anforderungen Ihrer Geschäftsprozesse entspricht, und diese umzusetzen.

Definieren der Funktionsanforderungen für die Anwendung

Es ist zwar nicht erforderlich, vor dem Erstellen einer Windows SharePoint Services-Lösung ein detailliertes Dokument mit den technischen Spezifikationen zu verfassen, aber eine genaue Vorstellung von der erforderlichen Funktionsweise der Anwendung ist unverzichtbar. Dies besonders zu erwähnen, mag überflüssig erscheinen, aber viele Entwickler haben die schmerzhafte Erfahrung gemacht, was es bedeutet, wenn die Vorstellungen der Beteiligten über den Inhalt der Anwendung und die tatsächlichen Anforderungen, die die Anwendung erfüllen muss, damit der Geschäftsprozess erfolgreich ist, voneinander abweichen. (Und natürlich erkennen die Beteiligten dies in der Regel erst, wenn sie die fast fertige Anwendung gesehen haben!)

Der Punkt ist einfach folgender: Beginnen Sie immer mit dem ersten Schritt, nämlich der Zusammenstellung der funktionalen Anforderungen und der Überlegung, was mit der Anwendung bewerkstelligt werden soll. Wenn Sie z. B. eine Lösung für die Projektverfolgung benötigen, müssen zumindest die folgenden Fragen geklärt sein:

  • Welche Akteure/Rollen sind am Geschäftsprozess beteiligt?  In diesem Fall erstellt ein Projektbesitzer ein Projekt und verwaltet die Informationen zu Aufgaben, Problemen usw., und den Aufgabenbesitzern werden die Probleme und Aufgaben zugewiesen, die sie beheben bzw. ausführen müssen, und sie müssen interagieren, um ihre Aufgaben zu erledigen. Manager benötigen die Rollupinformationen zum Projektstatus insgesamt.
  • Welche Anforderungen hinsichtlich der Benutzeroberfläche haben die verschiedenen Akteure?  In diesem Fall benötigen der Projektbesitzer, die Aufgabenbesitzer und der Manager unterschiedliche, für ihre jeweiligen Aktivitäten relevante Ansichten. Die Aufgabenbesitzer müssen z. B. sehen können, welche Probleme ihnen zugeordnet sind, während dem Projektbesitzer alle überfälligen Probleme angezeigt werden müssen.
  • Wie sieht der Geschäftsprozess aus?  In diesem Fall erstellt ein Projektbesitzer ein Projekt, Meilensteine, Aufgaben und Budgetposten, und dann verfolgt er den Fortschritt innerhalb eines bestimmten Zeitraums. Der Projektbesitzer greift häufig auf alle möglichen Informationen zu, während die Aufgabenbesitzer Daten bearbeiten müssen, wenn ihnen eine Aufgabe zugewiesen wird.
  • Wo befinden sich die Daten?   Verwenden Sie nur Daten in Windows SharePoint Services, oder müssen Sie auf externe Daten zugreifen können (in einer Datenbank, über einen Webdienst, über den Geschäftsdatenkatalog usw.), und müssen Sie Daten außerhalb von Windows SharePoint Services speichern?
  • Welche Beziehungen bestehen zwischen den Daten?  In diesem Fall benötigen wir ein Projektelement, ein Meilensteinelement sowie Aufgaben- und Problemelemente in einer logischen Hierarchie. Benutzer sind ebenfalls Datenpunkte, ebenso wie das Budget, die Anzahl von Tagen und ähnliche Elemente.

Eine hervorragende Möglichkeit, Antworten auf die meisten dieser Fragen zu finden, besteht darin, ganz praktisch Grafiken auf einem Whiteboard zu zeichnen und den Geschäftsprozess mehrere Male und in verschiedenen Variationen durchzugehen. (Erstellen Sie ein paar Projekte, weisen Sie projektübergreifend zwei oder drei Personen Aufgaben zu usw.) Vom Konzept her ist die Anwendung für die Projektüberwachung ziemlich einfach, und die Anforderungen liegen an diesem Punkt recht klar auf der Hand.

Überprüfen des Datenmodells

Das Datenmodell wurde zwar bereits erläutert, aber es ist von so großer Bedeutung, dass es einer genaueren Analyse bedarf. Missverständnisse in Bezug auf das Datenmodell ziehen später mit großer Wahrscheinlichkeit tief greifende, systemweite Änderungen nach sich. Also sollte es von Anfang an stimmen.

Sie müssen sich darüber im Klaren sein, dass es eine Reihe von miteinander verbundenen Daten gibt und auch eine ganze Reihe von Metadaten, mit denen beschrieben und definiert wird, an welcher Stelle im Geschäftsprozess sich eine bestimmte Information befindet. Im Fall der Anwendung für die Projektüberwachung müssen wir mehr wissen, als dass es ein Projekt, einen Meilenstein sowie Aufgaben und Probleme gibt. Wir müssen wissen, dass ein Projekt ein Element oberster Ebene ist, das mehrere Meilensteine aufweisen kann. Projekte können auch mehrere Aufgaben und Probleme beinhalten.

Bestimmen der Komponenten und ihrer Beziehungen

Wir verfügen jetzt über eine gute funktionelle Beschreibung der Anwendung. Im nächsten Schritt wird die Architektur geplant und entschieden, wie die diversen Technologien und Funktionen von Windows SharePoint Services 3.0 und Office SharePoint Designer 2007 verwendet werden. In jeder Anwendung werden die weiter oben im Abschnitt Verwendete Tools und Technologien beschriebenen Features und Funktionen in irgendeiner Weise miteinander kombiniert, u. a.:

  • Listen und Nachschlagevorgänge
  • Benutzerdefinierte Listenansichten (Gruppieren, Sortieren, Filtern usw. in der Benutzeroberfläche von Windows SharePoint Services)
  • Workflow
  • Benutzerdefinierte Seiten und benutzerdefinierte Datenansichten in Office SharePoint Designer 2007

Das Datenmodell wird mithilfe der Listen und Nachschlagevorgänge implementiert. Im Zusammenhang mit der Anwendung für die Projektüberwachung würden Sie eine Liste für Projekte, eine weitere (mit einem Nachschlagefeld für die Projektliste) für Meilensteine, eine dritte mit einem Nachschlagefeld für die Projektliste für Probleme usw. verwenden. Für benutzerdefinierte Seitenansichten können Sie die Standardansicht einfach so festlegen, dass nach Status gruppiert und nach Fehlerfreiheit sortiert wird.

Grundsätzlich ist an dieser Stelle eine weitere Übung auf dem Whiteboard empfehlenswert. Dabei erstellen Sie ganz einfach ein Modell der Anwendung, in dem Sie die Technologien identifizieren, die für die einzelnen Bestandteile verwendet werden.

Beginnen mit der Erstellung der Anwendungskomponenten

Auch hier ist es nicht erforderlich, ein Dokument mit ausführlichen technischen Spezifikationen zu verfassen. Wichtiger ist es, einfach mit der Erstellung anzufangen, vorausgesetzt, Sie wissen, wie der grundlegende Datenfluss aussehen muss und welche Anforderungen die Benutzeroberfläche erfüllen muss.

Praktisch bedeutet dies, dass Sie jetzt mithilfe einer der sofort verwendbaren Vorlagen in Windows SharePoint Services 3.0 eine neue Website erstellen. Vielleicht haben Sie auch schon vorher eine eigene Websitevorlage erstellt, auf deren Grundlage Sie nun eine neue Websiteinstanz erstellen können. Für viele Anwendungen können Sie einfach die Vorlage Teamwebsite oder Leere Website verwenden.

In der Anwendung für die Projektüberwachung erstellen Sie als Erstes vier Listen (Projektliste, Projektvorgänge, Projektprobleme und Projektmeilensteine). Anschließend erstellen Sie für jede dieser Listen vier benutzerdefinierte Spalten. In Windows SharePoint Services 3.0 können Sie verschiedene Spaltentypen erstellen, u. a. Auswahl, Zahl, Person oder Gruppe und Nachschlagen. (Die Informationen sind auf dieser Website bereits vorhanden.) In der Liste Projektliste in der Microsoft-Anwendungsvorlage für die Projektüberwachung werden viele dieser Spaltentypen verwendet, wie in Abbildung 2 dargestellt.

Benutzerdefinierte Spalten in einer Liste

Abbildung 2: Benutzerdefinierte Spalten in einer Liste

Die Spalte Fehlerfreiheit basiert auf dem Spaltentyp Auswahl, die Spalte Kostenrahmen ist eine Spalte des Typs Zahl (mit Währung) usw.

In der Liste Projektmeilensteine wird eine Spalte des Typs Nachschlagen verwendet, sodass ein Meilenstein in einer hierarchischen Beziehung einem Projekt zugeordnet werden kann. Zum Erstellen einer Nachschlagespalte wählen Sie einfach die Liste, in der nachgeschlagen werden soll, und dann in dieser Liste die gewünschte Spalte aus (die Dropdownliste wird in Windows SharePoint Services automatisch aufgefüllt), wie in Abbildung 3 dargestellt.

Definieren einer Nachschlagespalte zum Übernehmen von Informationen aus einer anderen Liste

Abbildung 3: Definieren einer Nachschlagespalte zum Übernehmen von Informationen aus einer anderen Liste

Jetzt könnten Sie Anwendungslogik einbringen, indem Sie z. B. einen einfachen Workflow erstellen, mit dem Mitglieder bei Erstellung neuer Projekte benachrichtigt werden. Sie könnten auch anfangen, auf der Benutzeroberfläche von Windows SharePoint Services in Listen benutzerdefinierte Ansichten zum Sortieren und Filtern zu erstellen.

Bestimmen der in der Anwendung erforderlichen Anpassungen

In funktionaler Hinsicht ist ein Großteil der Anwendung für die Projektüberwachung ausschließlich mithilfe der Benutzeroberfläche von Windows SharePoint Services implementiert worden. Zum jetzigen Zeitpunkt ist bereits erkennbar, was funktioniert, wenn auch nicht gut genug, was sich mithilfe der Benutzeroberfläche von Windows SharePoint Services nicht bewerkstelligen lässt usw. Daher empfiehlt sich in einigen Bereichen die Verwendung von Office SharePoint Designer 2007, und zwar in folgenden:

  • Anwendungslogik in einem Workflow  In den vordefinierten Workflows, die Sie in Windows SharePoint Services 3.0 und Office SharePoint Server 2007 sofort verwenden können, müssen Sie entweder einen Benutzer oder eine Gruppe angeben, dem bzw. der eine Aufgabe zugewiesen werden soll. In der Anwendung für die Projektüberwachung brauchen wir jedoch eine Möglichkeit, den Empfänger einer Workflowaktion je nach der Owner-Eigenschaft in einem Problem oder einer Aufgabe dynamisch zu ermitteln. In Office SharePoint Designer 2007 kann zu diesem Zweck ein dynamischer codeloser Workflow erstellt werden.
  • Dashboard und Manageransichten  Wir brauchen eine Möglichkeit, eine kombinierte Ansicht aller Projekte, Budgets usw. anzuzeigen. Dazu können ohne großen Aufwand codelose Datenansichten erstellt werden, um verknüpfte und kombinierte Informationen auf einem Dashboard anzuzeigen.
  • Hierarchische Beziehungen  Beim Erstellen von Aufgaben gibt es ein paar Möglichkeiten, die Benutzerfreundlichkeit zu steigern. So könnte z. B. festgelegt werden, dass für eine Aufgabe je nach der aktuellen Seite standardmäßig ein bestimmtes Projekt vorgegeben wird. In Office SharePoint Designer 2007 kann Logik für die automatische Verknüpfung von Elementen hinzugefügt werden.

Microsoft folgte bei der Erstellung der vierzig Anwendungsvorlagen genau dieser iterativen Vorgehensweise, und es wurden einheitliche Vorgehensweisen mit einheitlichen optimalen Methoden, Entscheidungsstrukturen usw. entwickelt, um festzulegen, welche Schritte optimalerweise in Windows SharePoint Services 3.0 und welche mit Office SharePoint Designer 2007 und anderen Tools ausgeführt werden sollten. Diese Vorgehensweisen werden im nächsten Abschnitt des Artikels erörtert. Dabei werden fünf "Entwurfsmuster" und deren empfohlene Implementierung vorgestellt, illustriert durch Beispiele aus verschiedenen Anwendungsvorlagen. Insofern ist der Rest des Dokuments ausführlicher und sein Inhalt technischer als die Erläuterung der Methodik.

Seitenanfang Seitenanfang

Implementieren gängiger Entwurfsmuster

In diesem Abschnitt werden die fünf grundlegenden Entwurfsmuster in dem Zusammenhang beschrieben, in dem sie von Microsoft tatsächlich verwendet werden. Daher werden verschiedene Beispiele aus den diversen Vorlagen mit Codebeispielen und ggf. schrittweisen Anleitungen angeführt. Entwickler können diesem und den übrigen Abschnitten nützliche Informationen zur Erstellung einer Anwendungsvorlage entnehmen, dabei ist der Text aber so verfasst, dass er auch für in der Entwicklung unerfahrene Benutzer verständlich ist.

Hier zunächst eine Liste der Entwurfsmuster:

  • Benutzerdefinierte Formulare  Hier geht es um das Erstellen von benutzerdefiniertem Aussehen und Verhalten, das Hilfestellung zu Aktionen an bestimmten Punkten des Geschäftsprozesses bietet. (Dazu gehört, dass nur die Eigenschaften verfügbar gemacht werden, die geändert werden können oder zum jeweiligen Zeitpunkt relevant sind.)
  • Aktionsfluss  Hier geht es um das Erstellen wohldefinierter Aktionen, die zum richtigen Ort für den richtigen Akteur führen. (Dazu wird eine gute Navigationssteuerung benötigt, bei der die jeweils ausgeführte Aktion und der betreffende Akteur erkannt werden.)
  • Hierarchische Beziehungen  Hier geht es um das Erstellen einer Beziehung zwischen mindestens zwei SharePoint-Listen zum Nachschlagen und zur Referenz.
  • Workflows  Hier geht es um die Erstellung eines auf Windows Workflow Foundation basierenden Geschäftsprozesses mit Office SharePoint Designer 2007.
  • Dashboards  Hier geht es um die Verwendung von Webparts zur Erstellung einer einheitlichen, zentralen Ansicht von Informationen, die über die gesamte Website verteilt sind.

Verwenden benutzerdefinierter Formulare

Benutzerdefinierte Formulare spielen beim Anpassen der Benutzeroberfläche für die Dateneingabe in Windows SharePoint Services eine wichtige Rolle. Genauso, wie benutzerdefinierte Listenansichten verwendet werden, um Listendaten auf unterschiedliche Weise darzustellen, werden benutzerdefinierte Formulare verwendet, um unterschiedliche Methoden für die Erfassung von Benutzereingaben darzustellen. Die Erstellung benutzerdefinierter Formulare kann aus verschiedenen Gründen, je nach geschäftlichen Erfordernissen, notwendig sein.

Aufgabenbasierte Anpassung

Im Rahmen von Geschäftsprozessen müssen Benutzer genau definierte Aktionen ausführen, die sich an verschiedenen Punkten im Prozess auf die Geschäftsdaten auswirken. In einer guten Geschäftsprozesslösung wird den Benutzern die Erledigung ihrer Aufgaben dadurch erleichtert, dass in jeder Phase des Prozesses die richtigen Informationen verfügbar gemacht werden.

In Windows SharePoint Services ist standardmäßig für jede Liste ein Bearbeitungsformular verfügbar. In diesem wird jedoch nicht unbedingt die für eine bestimmte Phase des Geschäftsprozesses optimal geeignete Gruppe von Feldern angezeigt, und die Felder sind auch nicht so angeordnet, dass sofort eindeutig erkennbar ist, welche Aktion ausgeführt werden muss. Damit gewährleistet ist, dass jeder Benutzer bei Ausführung einer Aktion problemlos die richtigen Informationen bearbeiten kann, können Sie für jede Aktion ein benutzerdefiniertes Formular erstellen.

In der Lösung für die Fehlerüberwachung werden benutzerdefinierte Bearbeitungsformulare verwendet, sodass in jeder Phase der Fehlerüberwachung sofort klar erkennbar ist, welche Informationen zu einem Fehlerelement eingegeben werden müssen. Für jede Aktion im Fehlerüberwachungsprozess steht ein separates Formular zur Verfügung. Wenn z. B. ein Benutzer einen Fehler lösen möchte, wird er zur entsprechenden Seite (Resolve.aspx) geleitet. Auf dieser Seite kann die Lösung des Fehlers und der Name der Person, die den Fehler gelöst hat, eingegeben werden. Zum Absenden der Änderungen klickt der Benutzer auf die Schaltfläche Lösen. Auf diese Weise entsteht ein Aktionsfluss, der problemlos zu verwenden ist und zur Vermeidung von Fehlern oder fehlenden Informationen beiträgt.

Die Erstellung eines benutzerdefinierten Bearbeitungsformulars gestaltet sich in Office SharePoint Designer 2007 recht einfach:

  1. Erstellen Sie eine Kopie der Standardseite EditForm.aspx, und benennen Sie diese um.

     Wichtig   Es ist sehr wichtig, dass Sie im ersten Schritt eine Kopie der Standardseite EditForm.aspx erstellen und diese umbenennen. Wenn Sie nämlich Schritt 2 mit der Originalseite EditForm.aspx ausführen, wird die Liste irreparabel beschädigt.

  2. Löschen Sie den Listenformular-Webpart im neuen Bearbeitungsformular.
  3. Fügen Sie eine Datenansicht ein, die die Daten enthält, die Sie verfügbar machen möchten. (Klicken Sie im Menü Einfügen auf SharePoint-Steuerelemente, und klicken Sie dann auf Benutzerdefiniertes Listenformular).
  4. In Office SharePoint Designer 2007 wird mit der Insert-Methode automatisch eine Schaltfläche zum Speichern für das Formular erstellt. Das folgende Beispiel zeigt benutzerdefinierten HTML-Code für die Schaltfläche zum Speichern.
    <input type="button" value="Save" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirectsource')}"/>

Navigation

Nachdem Sie entsprechend Ihren Rollen Seiten erstellt haben, müssen Sie den Benutzern eine Möglichkeit für den schnellen Zugriff auf das relevante Dashboard bieten. In der Lösung "Veranstaltungsplanung" wurde zu diesem Zweck mithilfe einer XSL-Vorlage ein Link erstellt, über den der aktuelle Benutzer je nach seiner Rolle zum richtigen Dashboard gelangt.

Eine Einschränkung hat diese Technik: Wenn Sie der Lösung weitere Rollen hinzufügen und für diese Rollen benutzerdefinierte Dashboards bereitstellen, müssen Sie zusätzliche ASPX-Seiten erstellen.

Zu betonen ist auch, dass mit dieser Technik keine zusätzlichen Steuerungsmöglichkeiten geschaffen werden, um Einfluss darauf zu nehmen, wer auf Informationen auf der Website zugreifen kann. Theoretisch kann nach wie vor jeder Benutzer alle Informationen in der Lösung anzeigen.

Zuweisen von Rollen für Benutzer

Es gibt verschiedene Möglichkeiten, Rollen zu erstellen und Benutzern zuzuordnen. Welche Lösung im Einzelfall die optimale ist, hängt in hohem Maße von den Anforderungen der jeweiligen Anwendung oder Organisation ab. Windows SharePoint Services bietet keine sofort verwendbare Funktion zum Bereitstellen von Rollenzuweisungen. Unter Umständen genügt es, die Rollen bereitzustellen, nachdem die Website bereitgestellt worden ist, oder zuzulassen, dass die Benutzer sich selbst je nach Bedarf Rollen zuweisen.

In der Lösung "Veranstaltungsplanung" können sich die Benutzer für die Rolle anmelden, die ihren Anforderungen am besten entspricht. Dazu wird das benutzerdefinierte Webpart auf der ersten Seite des Arbeitsbereichs von "Veranstaltungsplanung" verwendet.

Weitere Beispiele für dieses Entwurfsmuster

Ein weiteres Beispiel für Serveradministratoren für die Verwendung benutzerdefinierter Formulare finden Sie in der Anwendungsvorlage "Leihbücherei" für Windows SharePoint Services 3.0.

Ein Beispiel für Websiteadministratoren finden Sie in der Anwendungsvorlage "Manufacturing Process Management" für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar).

Steuern des Aktionsflusses

Eine reale, gemäß einem Geschäftsprozess modellierte Webanwendung ist in den seltensten Fällen in einer einzelnen Webseite oder einem Webpart enthalten. Vielmehr erstreckt sie sich meist über mehrere derartige Komponenten, von denen jede für einen bestimmten Schritt im Geschäftsprozess zuständig ist. Somit wird eine reibungslose und einfache Navigation zwischen den verschiedenen Anwendungskomponenten zu einem wichtigen Aspekt des Anwendungsentwurfs. Dabei besteht ein zentrales Entwurfsmuster in der Steuerung des Aktionsflusses durch das Binden von Geschäftsprozessaktionen an die Navigation, sodass der Benutzer nach der Ausführung einer bestimmten Aktion zur jeweils richtigen nächsten Seite oder Aktion gelangt.

Eine Methode zum Steuern des Aktionsflusses besteht in der Verwendung der Funktion Benutzerdefinierte Aktion in Windows SharePoint Services 3.0. Mit dieser können Sie der eingebetteten Kontextschaltfläche für Elemente in einer Bibliothek eigene Aktionen hinzufügen. Einen Nachteil hat diese Funktion allerdings: Aktionen müssen hartcodiert werden und können nicht mit dem Elementnamen oder einem anderen dynamischen Wert parametrisiert werden.

Eine weitere Methode, mit der Sie dynamische Aktionen in den Geschäftsprozess integrieren können, besteht in der Erstellung benutzerdefinierter SharePoint-Listen und der Verwendung "berechneter Felder". In der Anwendungsvorlage für die Fehlerüberwachung wird die benutzerdefinierte Liste Fehler zum Nachverfolgen von Fehlerstatus und -informationen verwendet. Durch die Verwendung berechneter Felder konnte Microsoft benutzerdefinierte Links in die Listenansicht integrieren, sodass Benutzer Aktionen für Fehler ausführen können, z. B. diese aktivieren oder lösen können. Außerdem ist jede dieser Aktionen mit Navigationsfunktionen ausgestattet, sodass die Benutzer zum richtigen benutzerdefinierten Formular (siehe vorheriges Entwurfsmuster) gelangen und dort die jeweils erforderlichen Maßnahmen zum Aktivieren oder Lösen des Fehlers ergreifen können.

Berechnete Felder sind ein Feature von Windows SharePoint Services 3.0, mit dem Sie ein benutzerdefiniertes Renderingmuster als Spalte in einer SharePoint-Liste anwenden können. So wird eine Geschäftsprozessaktion (Aktivieren eines Fehlers) als Schaltfläche in einer Spalte verfügbar gemacht, über die der Benutzer zum richtigen Formular für die Ausführung der betreffenden Aktion gelangt.

Das berechnete Feld unterstützt Bedingungen, durch die bestimmt wird, ob eine Aktion angezeigt wird. Wenn z. B. ein Fehler bereits aktiviert ist, wird die Schaltfläche Aktivieren nicht angezeigt. Ein berechnetes Feld wird einer SharePoint-Liste hinzugefügt, indem der XML-Schemadatei, in der die Liste definiert wird, ein Field-Element hinzugefügt wird.

<Field ID="{EA1D0509-767B-4576-ABEF-FC66647037B9}" Name="ActivateBug" Group="_Hidden" Type="Computed" Sortable="FALSE" Filterable="FALSE" DisplayName="$Resources:tsa,Activate_DispName;" ClassInfo="Icon" AuthoringInfo="$Resources:core,Linked_Item;">
<FieldRefs>
  <FieldRef ID="{94f89715-e097-4e8b-ba79-ea02aa8b7adb}" Name="FileRef"/>
  <FieldRef ID="{3f277a5c-c7ae-4bbe-9d44-0456fb548f94}" Name="Status"/>
  <FieldRef Name="ID" />
</FieldRefs>
<DisplayPattern>
  <IfEqual>
    <Expr1>$Resources:core,Status_Active;</Expr1>
    <Expr2>
      <Field Name="Status"/>
    </Expr2>
    <Then>
    </Then>
    <Else>
      <HTML><![CDATA[<a href="]]></HTML>
      <HttpHost/>
      <UrlDirName>
        <HTML>/</HTML>
        <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/>
      </UrlDirName>
      <HTML><![CDATA[/Activate.aspx?ID=]]></HTML>
      <Column HTMLEncode="TRUE" Name="ID">
      </Column>
      <HTML><![CDATA[" onclick="GoToLink(this);return false;" target="_self">]]></HTML>
      <HTML><![CDATA[<img border="0" alt="]]></HTML>
      <HTML>$Resources:tsa,Activate_DispName;</HTML>
      <HTML><![CDATA[" src="]]></HTML>
      <HttpHost/>
      <UrlDirName>
        <HTML>/</HTML>
        <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/>
      </UrlDirName>
      <HTML><![CDATA[/IMNBUSY.GIF">]]></HTML>
      <HTML><![CDATA[</a>]]></HTML>
    </Else>
  </IfEqual>
</DisplayPattern>
</Field>

Hier ist der XML-Code für das berechnete Feld Aktivieren zu sehen. Wenn der Fehler noch nicht aktiviert worden ist, wird in diesem Feld ein klickbarer orangefarbener Statuslink angezeigt. Durch Klicken auf diesen Link gelangt der Benutzer zum Aktivierungsformular für den Fehler.

Das FieldRefs-Element enthält einen Feldverweis auf das Statusfeld in der Fehlerliste. Dieser Verweis ermöglicht das benutzerdefinierte Rendering des berechneten Felds je nach dem Fehlerstatus.

Das DisplayPattern-Feld einer berechneten Spalte enthält die Berechnungen und das Renderingmuster für die Spalte. In diesem Beispiel wird mittels einer if-then-else-Anweisung ermittelt, ob der Fehler aktiv ist. Wenn dies der Fall ist, wird im Feld Aktivieren nichts angezeigt. Ist der Fehler nicht aktiv, wird der HTML-Code im Else-Element angezeigt. Bei diesem HTML-Code handelt es sich um das Bild und den Link, auf das bzw. den der Benutzer zum Aktivieren des Fehlers klicken kann.

Weitere Beispiele für dieses Entwurfsmuster

Ein weiteres Beispiel für Serveradministratoren für die Steuerung des Aktionsflusses finden Sie in der Anwendungsvorlage "Leihbücherei" für Windows SharePoint Services 3.0.

Ein Beispiel für Websiteadministratoren finden Sie in der Anwendungsvorlage "Employee Activities Site" für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar).

Verwenden hierarchischer Beziehungen

In Geschäftslösungen müssen Daten vielfach im Kontext ihrer Beziehung zu anderen Daten angezeigt und verwendet werden. So werden z. B. in der Anwendung für die Projektüberwachung Projekte, Aufgaben, Probleme und Meilensteine in separaten SharePoint-Listen gespeichert. Jede Aufgabe, jedes Problem und jeder Meilenstein ist einem Element in der Projektliste zugeordnet. Die Verwaltung der Beziehungen zwischen einer Liste und den in anderen Listen enthaltenen "untergeordneten" Informationen ist u. U. eine recht anspruchsvolle Aufgabe.

Erstellen eines Standardlinks zwischen einem neuen und einem vorhandenen Listenelement

Schwierig wird es häufig, wenn ein Benutzer ein Listenelement erstellen möchte, das mit einem Element in einer übergeordneten Liste verknüpft ist. In der Lösung für das Überwachen mehrerer Projekte ist dies der Fall, wenn ein Benutzer versucht, eine zu einem vorhandenen Projekt gehörende Aufgabe zu erstellen. In Windows SharePoint Services 3.0 steht kein sofort einsatzfähiger Mechanismus für die automatische Erstellung einer Beziehung zwischen einem neuen und einem vorhandenen Listenelement zur Verfügung.

Auf der Seite mit den Projektdetails (DispForm.aspx) in der Anwendungsvorlage für das Überwachen mehrerer Projekte kann ein Benutzer unter dem Projekt neue Aufgaben erstellen. Die Seite für die Erstellung einer neuen Aufgabe (NewForm.aspx) enthält ein Dropdownmenü, in dem das übergeordnete Projekt für die Aufgabe ausgewählt werden kann. Damit in diesem Dropdownmenü als Standardeinstellung das übergeordnete Projekt von der Seite, von der aus der Benutzer auf die aktuelle Seite gelangt ist, angezeigt wird, wird die ID des übergeordneten Projekts in der Abfragezeichenfolge an NewForm.aspx übergeben. Als Nächstes wird der Wert der Projekt-ID mit JavaScript analysiert und das betreffende Projekt in der Dropdownliste ausgewählt.

<a href="../ProjectTasks/NewForm.aspx?ProjectID={$ProjectID}" onclick="javascript:this.href = unescapeProperly(escape(this.href)); GoToLink(this); return false;" target="_self">Create a new Task...</a>

Dieser Code zeigt den Link von DispForm.aspx. Die Projekt-ID ist in der Abfragezeichenfolge enthalten.

Wenn NewForm.aspx geladen wird, wird die Projekt-ID in der Abfragezeichenfolge von JavaScript analysiert und die Dropdownliste so geändert, dass das richtige Projekt angezeigt wird.

JavaScript ist in einem Inhalts-Editor-Webpart in NewForm.aspx enthalten. Das Webpart ist ohne Chrom definiert, sodass es nur auf der Seite angezeigt wird, wenn sich diese im Bearbeitungsmodus befindet. Der JavaScript-Code befindet sich im Bereich des Inhalts-Editors.

<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("fillDefaultValues");
function fillDefaultValues() {
    var qs = location.search.substring(1, location.search.length);
    var args = qs.split("&");
    var vals = new Object();
    for (var i=0; i < args.length; i++) {
    var nameVal = args[i].split("=");
    var temp = unescape(nameVal[1]).split('+');
    nameVal[1] = temp.join(' ');
    vals[nameVal[0]] = nameVal[1];
  }  
  setLookupFromFieldName("Project", vals["ProjectID"]);
  setLookupFromFieldName("Milestone", vals["MilestoneID"]);
}
function setLookupFromFieldName(fieldName, value) {
  if (value == undefined) return;
  var theSelect = getTagFromIdentifierAndTitle("select","Lookup",fieldName);
  if (theSelect == null) {
    var theInput = getTagFromIdentifierAndTitle("input","",fieldName);
    ShowDropdown(theInput.id);
    var opt=document.getElementById(theInput.opt);
    setSelectedOption(opt, value);
    OptLoseFocus(opt);
  } else {
    setSelectedOption(theSelect, value);
  }
}
function setSelectedOption(select, value) {
  var opts = select.options;
  var l = opts.length;
  if (select == null) return;
  for (var i=0; i < l; i++) {
    if (opts[i].value == value) {
      select.selectedIndex = i;
      return true;
    }
  }
  return false;
}
function getTagFromIdentifierAndTitle(tagName, identifier, title) {
  var len = identifier.length;
  var tags = document.getElementsByTagName(tagName);
  for (var i=0; i < tags.length; i++) {
    var tempString = tags[i].id;
    if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
      return tags[i];
    }
  }
  return null;
}
</script>

Mit dem Befehl _spBodyOnLoadFunctionNames.push wird die fillDefaultValues-Funktion der Liste der Skripts hinzugefügt, die beim Laden ausgeführt werden.

Die fillDefaultValues-Funktion erfasst die Projekt-ID oder Meilenstein-ID in der Abfragezeichenfolge und übergibt diese an setSelectedOptions. Anschließend legt setSelectedOptions den Wert des Dropdownmenüs auf die ID des übergeordneten Projekts fest.

Weitere Beispiele für dieses Entwurfsmuster

Ein weiteres Beispiel für Serveradministratoren für die Verwendung hierarchischer Ansichten finden Sie in der Anwendungsvorlage "Inventarüberwachung" für Windows SharePoint Services 3.0.

Ein Beispiel für Websiteadministratoren finden Sie in der Anwendungsvorlage "New Store Opening" für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar).

Verwenden von Workflows

Windows SharePoint Services 3.0 hostet Windows Workflow Foundation, damit einer Anwendung Workflowlogik hinzugefügt werden kann. Office SharePoint Designer 2007 enthält ein leistungsfähiges, regelbasiertes Designtool zum Anpassen und Hinzufügen von Bedingungen für vordefinierte Workflows. Sie können auch komplexere und angepasste Workflows mit Code erstellen, und zwar in Visual Studio 2005 mit den Visual Studio 2005-Erweiterungen für Windows Workflow Foundation. In jedem Fall müssen einige Überlegungen dazu angestellt werden, wann und wie Workflows verwendet werden sollen. Diese Überlegungen werden im Folgenden erläutert:

Überlegungen zur Workflowverwendung

Ein Workflow ist eine gute Lösung für asynchrone Vorgänge. In der Lösung "Leihbücherei" kommt ein Workflow zum Einsatz, wenn ein Benutzer eine Neuanschaffung vorschlägt. Einer der Gründe, warum ein Workflow sich hier gut eignet, ist, dass der Prozess zwischen dem vorschlagenden und dem genehmigenden Benutzer nicht synchron ist.

Auch für geplante Ereignisse eignet sich ein Workflow gut. In der Lösung "Leihbücherei" werden mit einem Workflow das Auschecken und Erinnerungen bei Fälligkeit gehandhabt. Wenn ein Element ausgecheckt wurde, sendet der Workflow bei Fälligkeit automatisch eine Erinnerung.

Mit einem Workflow kann eine andernfalls komplizierte Programmieraufgabe auf dem Server vereinfacht werden. Ein Beispiel hierfür ist die Anwendungsvorlage "Timecard Management" für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar). Mit dieser Anwendung wird die Arbeitszeit nachverfolgt, die ein Mitarbeiter für eine bestimmte Aufgabe aufgewendet hat, indem die Zeitdifferenz zwischen dem Zeitstempel für das Einstempeln und dem für das Ausstempeln berechnet wird. Normalerweise müssten zum Nachverfolgen der Zeitstempel die beiden Aktivitäten auf dem Server protokolliert werden (wahrscheinlich in einer Datenbank), was einen erheblichen Entwicklungsaufwand voraussetzen würde. In dieser Anwendung wird stattdessen ein einfacher Workflowschritt verwendet. Sobald der Benutzer sich einstempelt, erstellt der Workflow einen Eintrag in der Zeitprotokollliste und legt den Wert für die Startzeit auf den aktuellen Zeitstempel fest. Wenn der Benutzer sich ausstempelt, aktualisiert der Workflow die zugehörige Zeile in derselben Liste und legt den Wert für die Endzeit fest. Die Arbeitszeit des Benutzers ist nichts anderes als die Differenz zwischen den Werten für die Endzeit und die Startzeit. Diese wird in der berechneten Spalte mit dem Namen Hours angegeben.

Workflows werden asynchron ausgeführt. Wenn Sie eine Lösung erstellen, in der die Ergebnisse einer Aktion unmittelbar vor dem Navigieren zur nächsten Seite vorliegen müssen, ist ein Workflow vielleicht nicht die optimale Lösung. So wird z. B. in der Lösung für die Fehlerüberwachung kein Workflow für die Aktivierung und Lösung von Fehlern verwendet. Diese Entwurfsentscheidung wurde u. a. deshalb getroffen, weil Änderungen des Fehlerstatus unmittelbar nach der entsprechenden Benutzeraktion auf der Benutzeroberfläche angezeigt werden müssen.

Erstellen eines benutzerdefinierten Workflows mit Office SharePoint Designer 2007

Zum Erstellen eines Workflows in Office SharePoint Designer 2007 müssen Sie keinen Code verfassen. Klicken Sie ganz einfach nach dem Öffnen einer Website auf das Menü Datei, zeigen Sie auf Neu, klicken Sie auf Workflow, und verwenden Sie dann den Workflow-Designer. Im Workflow-Designer können Sie anspruchsvolle Regeln und Aktionen erstellen. Er ist in SharePoint-Listen und -Bibliotheken integriert, sodass Sie Felder und Werte direkt von Listen- und Bibliothekselementen aus für Ihre Workflowlogik verwenden können.

Angenommen, Sie möchten eine Workflowaktion erstellen, mit der bei Erstellung einer neuen Aufgabe oder eines neuen Problems immer eine E-Mail an einen Aufgabenbesitzer gesendet wird. In der Vorlage für die Projektüberwachung ist Besitzer eine benutzerdefinierte Spalte in der SharePoint-Liste, d. h., der Wert dieser Spalte kann im Workflow verwendet werden, und die E-Mail-Adresse kann dann jeweils zur Laufzeit ermittelt werden.

Weitere Informationen zu Workflows in Office SharePoint Designer 2007 finden Sie unter Hilfe und Anleitungen zu SharePoint Designer 2007.

Weitere Beispiele für dieses Entwurfsmuster

Ein weiteres Beispiel für Serveradministratoren für die Verwendung von Workflows finden Sie in der Anwendungsvorlage "Verwaltung für Einstellungen und Bewerbungsgespräche" für Windows SharePoint Services 3.0.

Ein Beispiel für Websiteadministratoren finden Sie in der Anwendungsvorlage "Clinical Trial Initiation and Management" für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar).

Verwenden von Dashboards

Einer der zahlreichen Vorteile der Webpartinfrastruktur in Windows SharePoint Services 3.0 besteht in der Möglichkeit, Informationen, die über eine SharePoint-Website oder an externen Orten verteilt sind, auf einer Zusammenfassungsseite anzuzeigen, einem so genannten Dashboard. In freigegebenen Umgebungen sind häufig rollenbasierte Dashboards erforderlich, die eine Ansicht der für eine Rolle oder Person relevanten Informationen bieten. In solchen Dashboards können leistungsfähige integrierte Funktionen wie Webpartfilter und Zielgruppenadressierung genutzt werden, um Informationen je nach der Person, die die Seite aufruft, anzuzeigen.

Mit diesen Funktionen sind Ihre Möglichkeiten jedoch noch nicht erschöpft. Sie können nämlich auch unterschiedliche Seiten für unterschiedliche Rollen erstellen, sodass Sie eine tief greifende Anpassung erzielen können, und zwar nicht nur eine Anpassung der angezeigten Informationen, sondern auch des Layouts und anderer Aspekte der Seite. Solche angepassten, rollenbasierten Seiten werden überall in den Anwendungsvorlagen intensiv genutzt, und natürlich können diese auch Filter und Zielgruppenadressierung umfassen.

In der Anwendung "Leihbücherei" beispielsweise werden rollenbasierte Dashboards verwendet, um je nach der Rolle des Benutzers die für diesen relevanten Informationen anzuzeigen. Für die Hauptseite der Website stehen zwei Seiten zur Verfügung, von denen einen für Büchereibenutzer (Standardseite) und die andere für den Bibliothekar konzipiert ist.

Bei der Anwendung "Helpdesk" verhält es sich ganz ähnlich: Auf der Hauptseite sind drei Dashboardansichten verfügbar, nämlich die Servicebeauftragter-Homepage, die Wissensmanager-Homepage und die Servicemanager-Homepage. Der Benutzer klickt auf den für seine Rolle relevanten Hyperlink. In der auf dem Dashboard angezeigten Webpartansicht wird zudem der Inhalt gefiltert und nur der für den Benutzer relevante Inhalt angezeigt. Zu diesem Zweck wird ein Filter auf die Ansicht angewendet. Führen Sie die folgenden Schritte aus, um einen Filter auf eine vorhandene Listenansicht anzuwenden:

  1. Navigieren Sie im Browser zur Listenansichtsseite.
  2. Wählen Sie auf der Symbolleiste der Liste im Dropdownfeld die zu ändernde Ansicht aus, sofern diese nicht bereits ausgewählt ist.
  3. Wechseln Sie erneut zu demselben Dropdownfeld, und wählen Sie Ansicht ändern aus.
  4. Führen Sie auf der Seite Ansicht bearbeiten einen Bildlauf zum Abschnitt Filter aus. Legen Sie den Filterwert folgendermaßen fest:

    Elemente anzeigen, wenn Spalte Erstellt von ist gleich [Ich] oder wenn Spalte Kunde ist gleich [Ich].

  5. Klicken Sie auf OK .

Die in Abbildung 4 dargestellte Servicebeauftragter-Homepage der Anwendung "Helpdesk" weist zwei Dashboard-Webparts auf, in denen die Serviceanforderungen nach Status und Priorität in Form eines Balkendiagramms zusammengefasst werden.

Dashboardseite

Abbildung 4: Dashboardseite

Dabei handelt es sich um Datenansicht-Webparts, die die in einer Liste namens "Serviceanforderungen" enthaltenen Daten widerspiegeln. Diese Liste ist ebenfalls Teil der Website der Lösung "Helpdesk". Wie diese Webparts erstellt wurden, verstehen Sie am besten, wenn Sie die Website in Office SharePoint Designer 2007 öffnen und die Seite HelpDeskManager.aspx laden, die diese Webparts enthält. Zeigen Sie die Seite in der geteilten Ansicht an. Sie werden feststellen, dass der den Webparts zugrunde liegende Code eine Mischung aus den Markupsprachen XLST, HTML und CSS ist.

Schauen wir uns an, wie die Balken der Balkendiagramme in den Webparts erstellt wurden. Als Beispiel ziehen wir dabei das Webpart Gesamte Serviceanforderungspriorität heran. Klicken Sie in Office SharePoint Designer 2007 im Menü Einfügen auf SharePoint-Steuerelemente, und klicken Sie dann auf Datenansicht, um den Aufgabenbereich Datenquellenbibliothek zu öffnen. In diesem Aufgabenbereich können Sie verschiedene Datenquellen durchsuchen, auf die aktuell von der Website zugegriffen werden kann, u. a. die bereits auf der Website vorhandenen Listen. Im vorliegenden Beispiel erweitern Sie den Abschnitt SharePoint-Listen und klicken auf den Listennamen Serviceanforderungen, um diese Liste als Datenquelle anzugeben. Daraufhin wird ein Kontextmenü geöffnet, in dem Sie auf Daten anzeigen klicken. Nun wird im Aufgabenbereich ein neuer Bereich mit dem Namen Datenquellendetails geöffnet, in dem alle in der Liste Serviceanforderungen gespeicherten Felder und Beispieldaten angezeigt werden. Wählen Sie in diesem Bereich die Feldnamen aus, die im Webpart angezeigt werden sollen, in diesem Beispiel das Feld Priorität. Wählen Sie dann unter Ausgewählte Felder einfügen als die Option Einzelelementansicht aus (siehe Abbildung 5).

Unser Ziel ist es, eine nach Priorität gruppierte Zusammenfassung der Anzahl aller Aufgaben anzuzeigen. Das bedeutet, dass die im Feld Priorität verfügbaren Optionen nur einmal aufgelistet werden müssen und dann in der Liste daneben eine Anzahl für jeden Prioritätswert angezeigt werden muss. Aus diesem Grund haben wir uns entschieden, die Prioritätswerte als Ausgangspunkt für die Anpassung als Einzelelementansicht anzuzeigen. Würde stattdessen Ansicht für mehrere Einträge ausgewählt, würden alle Zeilen in der Liste verfügbar gemacht.

Erstellen einer Dashboardseite in SharePoint Designer

Abbildung 5: Erstellen einer Dashboardseite in Office SharePoint Designer 2007

An der Cursorposition wird ein Datenansicht-Webpart auf der Seite eingefügt. In diesem Webpart wird jedoch nur eine Datenzeile angezeigt, kein Balkendiagramm mit einer Zusammenfassung der Serviceanforderungen nach Priorität. Zum Glück lässt sich der Code ganz auf unsere Anforderungen abstimmen, da das Webpart mit HTML- und XSL-Code gerendert wird. Im folgenden Abschnitt werden einige zentrale Bereiche der Anpassung beleuchtet, die zum Umwandeln des Webparts in ein Balkendiagramm erforderlich ist.

Wir wissen, dass die Listendatenquelle drei mögliche Prioritätswerte aufweist: (1) Hoch, (2) Normal und (3) Niedrig. Daher wird für jeden dieser Werte eine XLST-Variable deklariert. Das sieht folgendermaßen aus:

<xsl:variable name="High" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(1) High'])" />
<xsl:variable name="Normal" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(2) Normal'])" />
<xsl:variable name="Low" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(3) Low'])" />
<xsl:variable name="AllTasks" select="count(/dsQueryResponse/Rows/Row)" />

Beachten Sie, dass der XSL-Parameter @Priority auf den Namen des Felds in der Datenquelle (Priorität) verweist. Da der Code für die grafische Darstellung jedes der drei Prioritätswerte ähnlich aussieht, wird an dieser Stelle nur der erste Prioritätswert grafisch dargestellt. Zum Festlegen des Prozentwerts wird eine neue Variable mit dem Namen percetHigh definiert, um den Prozentwert für Anforderungen mit hoher Priorität zu berechnen:

<xsl:variable name="percentHigh" select="$High div $AllTasks" />

Der Code, mit dem der eigentliche Balken erstellt wird, ist eine XSL-Vorlage, wie im Folgenden dargestellt:

<xsl:template name="ChartRow">
  <xsl:param name="RowName"></xsl:param>
  <xsl:param name="Value"></xsl:param>
  <xsl:param name="PercentValue"></xsl:param>
  <tr>
    <td class="ms-formbody" width="125px" style="vertical-align:middle">
      <xsl:value-of select="$RowName"/>: <xsl:value-of select="$Value" />
      <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">
        &amp;nbsp;
        </xsl:text>(
      <xsl:call-template name="percentformat">
        <xsl:with-param name="percent" select="$PercentValue"/>
      </xsl:call-template>)
    </td>
    <td>
      <table width="100%" >
        <tr>
          <td width="{round($PercentValue*100)+1}%" height="15px" class="ms-selected"><xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text>
          </td>
          <td width="100%" >
            <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</xsl:template>

Der Balken selbst ist eine Tabelle mit zwei Zellen. Die Breite der ersten Zelle, die der Breite des Balkens im Diagramm entspricht, hängt vom Wert der Variablen PercentValue ab, die im Code folgendermaßen dargestellt wird:

td width="{round($PercentValue*100)+1}%"

Auf diese Zelle wurde außerdem die CSS-Klasse ms-selected angewendet. Diese CSS-Klasse ist in der Stylesheetdatei core.css folgendermaßen definiert:

.ms-selected {
	background-position:left top;
	color:#000000;
	background-image:url("/_layouts/images/filedialogselected.gif");
	background-color:#FFE499;
	border-top:1px solid #FFE499;
	border-bottom:1px solid #FFE499;
	background-repeat:repeat-x; }

Das Hintergrundbild filedialogselected.gif bewirkt, dass die Zelle (d. h. der Balken) gelb angezeigt wird.

Weitere Beispiele für dieses Entwurfsmuster

Ein weiteres Beispiel für Serveradministratoren für die Verwendung von Dashboards finden Sie in der Anwendungsvorlage "Callcenter" für Windows SharePoint Services 3.0.

Ein Beispiel für Websiteadministratoren finden Sie in der Anwendungsvorlage "Business Performance Reporting" für Windows SharePoint Services 3.0 (nur auf Englisch verfügbar).

Seitenanfang Seitenanfang

Erstellen von Vorlagen

Bei Anwendungsvorlagen in Windows SharePoint Services wird zwischen zwei Typen unterschieden, nämlich Websitedefinitionen und Websitevorlagen. Unter den vierzig Anwendungsvorlagen sind beide Typen vertreten. Dem Benutzer stehen auf der Seite Neue SharePoint-Website beide Typen zur Auswahl, und die Funktionsweise beider Typen ist für den Endbenutzer sehr ähnlich. Ein großer Unterschied besteht hingegen in der Methode, mit der diese Vorlagen erstellt und zur Verwendung im Formular für die Websiteerstellung verfügbar gemacht werden.

Websitedefinitionen

Ganz einfach betrachtet, handelt es sich bei einer Websitedefinition um eine Sammlung von XML-Dateien, Assemblys und ASPX-Seiten, mit denen vorgegeben wird, wie eine auf dieser Definition basierende Website strukturiert wird und wie die der Website zugrunde liegende Anwendung funktioniert. Da über das Dateisystem auf die XML- und ASPX-Basisdateien zugegriffen werden kann, können diese Dateien problemlos geklont und geändert werden, um neue Websitedefinitionen zu erstellen. Das heißt, dass Websitedefinitionen in hohem Maße anpassbar sind.

Nachdem eine Website auf Grundlage einer Websitedefinition bereitgestellt (erstellt) worden ist, können an den Websitedefinitionsdateien im Dateisystem vorgenommene Änderungen nach wie vor an die bereitgestellte Website verteilt werden. Allerdings werden Änderungen der Websitedefinitionsdateien nach der Bereitstellung der Websites von Microsoft nicht unterstützt. Wenn Seiten der bereitgestellten Website in einem externen Editor wie Office SharePoint Designer 2007 geändert werden, wird die Verbindung zwischen der Datei und der Websitedefinition im Dateisystem getrennt. Stattdessen wird die Seite dann im Windows SharePoint Services-Datenbanksystem gespeichert und als "angepasste" oder "nicht gehostete" Seite bezeichnet.

Wenn Sie eine vorhandene Websitedefinition anpassen müssen, sollten Sie dazu eine umbenannte Kopie der Websitedefinition verwenden, statt die vorhandene Definition direkt zu ändern. Wenn Sie Änderungen an einer vorhandenen Websitedefinition implementieren möchten, nachdem bereits Websites auf deren Grundlage bereitgestellt wurden, müssen Sie ein Lösungspaket für die Aktualisierung der Websitedefinition erstellen und bereitstellen. Ausführliche Informationen dazu finden Sie in den entsprechenden Artikeln im Windows SharePoint Services 3.0 SDK (nur auf Englisch verfügbar).

Websitevorlagen

Bei einer Websitevorlage handelt es sich um eine SharePoint-Website, die in einer einzigen Datei verpackt ist. Diese kann entpackt werden, um neue Websites mit ähnlicher Struktur und ähnlichem Inhalt zu erstellen. Wenn Sie also eine Websitevorlage erstellen möchten, benötigen Sie eine vorhandene SharePoint-Website als Ausgangspunkt. In der Vorlage kann jede beliebige Websiteanpassung erfasst werden, ob diese nun Seitenlayouts, Stylesheets, Bilder, Masterseiten, Dokumente, Listen oder Listeninhalte betrifft.

Eine vorhandene Website kann direkt in den administrativen Aufgaben für die Website (unter Websiteeinstellungen) oder in Office SharePoint Designer 2007 als Vorlage erfasst werden. Die neu erstellte Websitevorlage wird im Websitevorlagenkatalog der aktuellen Websitesammlung gespeichert. Es handelt sich dabei um eine STP-Datei. Diese Datei kann aus dem Websitevorlagenkatalog heruntergeladen und zu einer anderen Websitesammlung oder einer anderen Serverumgebung migriert werden. Im letzten Teil dieses Abschnitts wird detailliert auf die Vorgehensweise zum Erstellen und Verwenden einer Websitevorlage eingegangen.

Verwenden von Websitedefinitionen und Websitevorlagen im Vergleich

Wie gerade erläutert, sind Websitevorlagen eigentlich von Websitedefinitionen abgeleitet. Wenn Sie vor der Entscheidung stehen, ob Sie eine neue Websitedefinition oder eine Websitevorlage erstellen sollen, bedenken Sie Folgendes:

  • Komplexität der Anwendung  Wenn Sie in erster Linie kosmetische Änderungen an einer vorhandenen Website vornehmen müssen, z. B. am Layout oder an den Bildern, entscheiden Sie sich für eine Websitevorlage. Wenn Sie dagegen neue Webpartdefinitionen hinzufügen oder benutzerdefinierten Code oder berechnete Felder verwenden möchten, erstellen Sie besser eine benutzerdefinierte Websitedefinition.
  • Ihre Zugriffsebene auf dem Server  Haben Sie Zugriff auf den gesamten Webserver? Oder nur auf eine bestimmte Websitesammlung? Wenn Sie eine Websitedefinition erstellen und bereitstellen möchten, müssen Sie auf das Dateisystem des Servers zugreifen können. Wenn Sie über diesen Zugriff nicht verfügen, können Sie lediglich eine Websitevorlage auf der Ebene der Websitesammlung erstellen, auf die Sie Zugriff haben. Denken Sie daran, dass diese Anforderung bezüglich der Zugriffsebene für Websiteadministratoren nicht gilt: Nach der Bereitstellung kann jeder Benutzer mit Rechten zum Erstellen einer neuen Website auf jeden der beiden Typen von Anwendungsvorlagen zugreifen.
  • Häufigkeit zukünftiger Aktualisierungen/Änderungen  An einer Websitevorlage vorgenommene Änderungen haben keine Auswirkungen auf Websites, die bereits auf deren Grundlage erstellt wurden. Nur neuere, nach Vornahme der Änderungen erstellte Websites sind davon betroffen. Wenn ein Lösungspaket für die Aktualisierung der Websitedefinition bereitgestellt wird, hat dies Auswirkungen auf alle bereits auf dieser Grundlage erstellten Websites.

Leitfaden für das Erstellen von Websitevorlagen und Websitedefinitionen

Die Erstellung von Websitevorlagen und -definitionen ist je nach den Anforderungen mehr oder weniger kompliziert. Die grundlegenden Techniken werden in den nächsten Abschnitten beschrieben.

Erstellen einer Websitevorlage

Wie bereits erläutert, handelt es sich bei einer Websitevorlage um eine SharePoint-Website, die so verpackt ist, dass sie immer wieder verwendet werden kann. Diese Paketdatei befindet sich im Websitevorlagenkatalog auf der Ebene der Websitesammlung. Die Websitevorlagen im Katalog können verwendet werden, um neue Websites auf allen untergeordneten Websiteebenen in der Websitesammlung zu erstellen. Führen Sie die folgenden Schritte aus, um auf Grundlage einer vorhandenen Website eine neue Websitevorlage zu erstellen:

  1. Öffnen Sie die vorhandene Website in Office SharePoint Designer 2007, und überprüfen Sie, ob das Layout und der Inhalt der Website Ihren Vorstellungen entsprechen.
  2. Zeigen Sie im Menü Datei auf Exportieren, und klicken Sie dann auf SharePoint-Websitevorlage. Daraufhin wird die Seite Websiteeinstellungen geöffnet.
  3. Geben Sie einen Dateinamen, einen Titel und eine Beschreibung für die Vorlage ein.
  4. Sie können die Option Inhalte einschließen auswählen, wenn Daten in Listen und Dokumentbibliotheken in die Vorlage eingeschlossen werden sollen. Wählen Sie diese Option auch aus, wenn Sie Workflows einschließen möchten, denn bei Workflows handelt es eigentlich um in einer Dokumentbibliothek gespeicherte Inhalte.
  5. Klicken Sie auf OK. Auf Grundlage der Website wird eine Vorlagendatei mit der Erweiterung STP erstellt und im Websitevorlagenkatalog der übergeordneten Website abgelegt.

Im Websitevorlagenkatalog können Sie dann auf den Namen der Vorlage klicken, um die STP-Datei auf die lokale Festplatte herunterzuladen. Von dort können Sie die Datei in einen anderen Websitevorlagenkatalog hochladen.

Erstellen einer Websitedefinition

Im Gegensatz zu Websitevorlagen werden Websitedefinitionen im Dateisystem gespeichert. Jede Websitedefinition befindet sich auf dem Server in einem eigenen Ordner in folgendem Pfad:

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\TEMPLATE\SiteTemplates

Der Websitevorlagenordner enthält verschiedene Websiteelemente wie ASPX- und HTML-Dateien sowie die zugeordneten Ressourcen wie Bilder und JavaScript-Dateien. Die Hauptdatei der Websitedefinition heißt ONET.XML. In ihr sind die diversen Konfigurationen und Module der Websitedefinition angegeben. ONET.XML wird in einem Unterverzeichnis mit dem Namen XML gespeichert.

Websitedefinitionen werden bei Windows SharePoint Services registriert und über die WEBTEMP-XML-Dateien verfügbar gemacht. Alle WEBTEMP-XML-Dateien befinden sich in folgendem Pfad:

%CommonProgramFiles%\ \Microsoft Shared\Web server extensions\12\TEMPLATE\<LCID>\XML

Dabei steht <LCID> für den Gebietsschemabezeichner, z. B. 1033. Der tatsächliche Name der XML-Datei weist das Präfix "WEBTEMP" auf (z. B. WEBTEMPBT.XML).

Beim Erstellen einer neuen Websitedefinition sind zwei grundlegende Schritte auszuführen: (1) Einrichten des Websitedefinitionsordners und (2) Erstellen der WEBTEMP-XML-Datei, durch die die Websitedefinition bei Windows SharePoint Services registriert wird. Im ersten Schritt kann ein vorhandener Websitedefinitionsordner geklont und dessen Inhalt entsprechend den jeweiligen geschäftlichen Erfordernissen geändert werden. Die Datei ONET.XML enthält Elemente, die angeben, wie verschiedene Teile der Seiten einer Website bereitgestellt werden, z. B. die Navigationsleiste, Dokumentvorlagen und Listenvorlagen. Im Configurations-Element werden die Listen und Module angegeben, die standardmäßig erstellt werden, wenn die Websitedefinition instanziiert wird. Die folgenden Zeilen stammen aus der Datei ONET.XML der Websitedefinition für die Fehlerüberwachung und zeigen einen Teil des Configurations-Elements:

<Configurations>
    <Configuration ID="0" Name="Default">
        <SiteFeatures>
          <!-- BasicWebParts Feature -->
          <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />
          <!-- Three-state Workflow Feature -->
          <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" />
          <!-- TSA Fields and Content Types -->
          <Feature ID="75A0FEA7-CD50-401e-AF0E-782F3662A299" />
        </SiteFeatures>
        <WebFeatures>
          <!-- TeamCollab Feature -->
          <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />
          <!-- MobilityRedirect -->
          <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />
          <!-- Bug Tracking Categories List -->
          <Feature ID="75A0FEA7-42E8-4527-8313-F63C4C49A7E6" />
          <!-- Bug Tracking Bugs List -->
          <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8E" />
          <!-- Bug Tracking Bugs List Instance -->
          <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8F" />
          ...
          ...
          <!-- Post Provisioning Event Handler -->
          <Feature ID="75A0FEA7-B0EF-434e-90D6-CE997D970564">
            <Properties>
              <Property Key="ZonedWebPartsUrlList" Value="$Resources:core,lists_Folder;/Bugs/Resolve.aspx,$Resources:core,lists_Folder;/Bugs/Activate.aspx,$Resources:core,lists_Folder;/Bugs/Close.aspx"/>
            </Properties>
          </Feature>
        </WebFeatures>
    </Configuration>
</Configurations>

In dieser Websitedefinition werden zahlreiche Features wie Fehlerliste, Liste der Fehlerkategorien, Umleitung für die Mobilität usw. verwendet. Diese Features werden unter dem SiteFeatures-Element und dem WebFeatures-Element mit Feature-GUIDs aufgelistet. Die GUIDs sind im Feature-Element in der zugehörigen Datei Feature.XML enthalten, die sich in folgendem Ordner befindet:

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\TEMPLATE\FEATURES

Weitere Informationen zum Anpassen der Datei ONET.XML finden Sie im Windows SharePoint Services 3.0 SDK (nur auf Englisch verfügbar).

Der zweite Schritt zur Erstellung einer benutzerdefinierten Websitedefinition besteht darin, die Datei WEBTEMP*.XML im folgenden Ordner zu erstellen:

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\TEMPLATE\<LCID>\XML

Im Templates-Element dieser Datei werden die Konfigurationen angegeben, mit denen die auf Grundlage der Websitedefinition erstellten Websites instanziiert werden können. Die folgenden Zeilen zeigen das Format der Datei WEBTEMPbt.XML, der in der Websitedefinition für die Fehlerüberwachung verwendeten Konfigurationsdatei:

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="BT" ID="75801">
    <Configuration ID="0" Title="Bug Database" Hidden="FALSE" 
                   ImageUrl="/_layouts/images/stsprev.png" 
                   Description="A site for teams to track bugs in their shared software projects." 
                   DisplayCategory="Application Templates" >
     </Configuration>
  </Template>
</Templates>

Beachten Sie, dass das Name-Attribut des oben gezeigten Vorlageknotens dem durch das Sternchen (*) dargestellten Teil des Dateinamens WEBTEMP*.XML entsprechen muss. Beachten Sie ferner, dass das DisplayCategory-Attribut des Configuration-Elements bestimmt, auf welcher Registerkarte im Abschnitt Vorlagenauswahl der Seite zum Erstellen von Websites die Konfiguration angezeigt wird. Sie können eigene Registerkarten erstellen, indem Sie benutzerdefinierte Werte für dieses Attribut eingeben.

Wenn Sie Websitedefinitionsdateien erstellt und in den entsprechenden Ordnern im Dateisystem abgelegt haben, starten Sie den IIS-Dienst neu. Die neue Websitedefinition kann daraufhin in Windows SharePoint Services auf der Seite Neue SharePoint-Website im Abschnitt Vorlagenauswahl ausgewählt werden. Websitedefinitionsdateien können auch als Lösungsdatei verpackt werden, um eine problemlose Migration zu einer anderen SharePoint-Umgebung oder die erneute Bereitstellung in derselben Umgebung zu ermöglichen. Bei einer Lösungsdatei handelt es sich um eine Kabinettdatei mit der Erweiterung WSP (was für "Web solution package", d. h. "Weblösungspaket", steht). Sie enthält die in der Websitedefinition verwendeten Features, Webparts, Assemblys, Klassenressourcen usw. Zum Erstellen einer WSP-Datei verwenden Sie das Tool makecab.exe. Informationen zum Erstellen einer Lösungsdatei finden Sie im Windows SharePoint Services 3.0 SDK (nur auf Englisch verfügbar).

Lokalisieren einer Websitedefinition

Die Lokalisierung einer Websitedefinition wird durch die Verwendung von Ressourcendateien und durch Kulturerkennung erleichtert. Während die Lokalisierung einer ASP.NET 2.0-Anwendung typischerweise zur Kompilierzeit erfolgt, wird eine SharePoint-Website während der Bereitstellung lokalisiert. Unter den Anwendungsvorlagen sind alle 20 Vorlagen für Websitedefinitionen in zehn Sprachen lokalisiert. Die Websitedefinitionen selbst werden sprachunabhängig erstellt, während die Zeichenfolgenliterale in Ressourcendateien (RESX-Dateien) gespeichert werden. Wenn Sie eine eigene Websitedefinition lokalisieren oder einer vorhandenen Websitedefinition Unterstützung für eine neue Sprache hinzufügen möchten, können Sie dazu eine neue Ressourcendatei erstellen. Diese speichern Sie im Verzeichnis Resources in folgendem Pfad:

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\Resources

Bei dieser Datei handelt es sich im Wesentlichen um eine XML-Datei, die in einem beliebigen Text-Editor bearbeitet werden kann. Führen Sie die folgenden Schritte aus, um eine neue Lokalisierungsdatei für eine Websitedefinition zu erstellen:

  1. Wechseln Sie zum oben genannten Verzeichnis Resources, und suchen Sie nach der vorhandenen RESX-Datei, die Sie in einer neuen Sprache lokalisieren möchten.
  2. Klonen Sie die Datei, und weisen Sie ihr bis auf den Sprachen-/Kulturnamen den gleichen Namen zu (Beispiel: tsa-en-us.resx wird zu tsa-es-es.resx).
  3. Öffnen Sie die geklonte Datei in einem Text-Editor.
  4. Legen Sie den LCID-Code in der zweiten Zeile auf die gewünschte Sprache fest. Mit folgendem Code beispielsweise wird als Sprache Spanisch festgelegt:
    <!-- _lcid="3082" _version="12.0.5006.3000" _dal="1" ––>

  5. Führen Sie einen Bildlauf nach unten bis zum Teil aus, wo die data-Elemente gefolgt von value-Elementen paarweise angezeigt werden. Hier ordnen Sie den Ressourcennamen dem lokalisierten Zeichenfolgenwert zu. Ändern Sie die Zeichenfolgenwerte im value-Element entsprechend Ihrem Gebietsschema. Das folgende Codebeispiel zeigt eine Ressourcenzeichenfolge für die Aktion zum Erstellen eines neuen Kunden auf Spanisch:
    <data name="Action_NewCustomer">
      <value>Crear un Nuevo cliente</value>
    </data>
    

  6. Speichern Sie die Datei im Ordner Resources unter einem Namen wie BenutzerdefinierteRessource.es-es.resx (der tatsächliche Name hängt vom Namen der Sprache/Kultur ab, für die die Ressourcendatei bestimmt ist). Nun kann in den Websitedefinitionsdateien in Ihrer Anwendung auf diese Datei verwiesen werden.

Damit die lokalisierte Websitedefinition als verfügbare Vorlage auf der Seite Neue SharePoint-Website für die betreffende Sprache angezeigt wird, fügen Sie dem entsprechenden <LCID>-Verzeichnis auch eine WEBTEMP-Datei hinzu. Informationen zum Hinzufügen einer neuen WEBTEMP-Datei finden Sie weiter oben im Abschnitt "Erstellen einer Websitedefinition".

Lokalisierte Ressourcenverweise funktionieren in ASPX-Dateien anders als in XML-Dateien. So werden z. B. Verweise in ASPX-Dateien zur Laufzeit ausgewertet, wohingegen Verweise in XML-Dateien ausgewertet werden, wenn die Website instanziiert wird. Für den Zugriff auf die XML-Elemente in der Ressourcendatei einer Websitedefinitionsdatei wird die folgende Syntax verwendet: $Resources:myCustomResource, DataName. Das Markup zum Nutzen einer Ressourcenzeichenfolge aus einer ASPX-Datei könnte z. B. folgendermaßen aussehen:

<div>
    <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" />
</div>

Seitenanfang Seitenanfang

Zusammenfassung

Mit der Kombination von Windows SharePoint Services 3.0 und Office SharePoint Designer 2007 stehen Ihnen genau die leistungsfähigen Tools zur Verfügung, die Sie benötigen, um interaktive, workflowaktivierte Anwendungen zu erstellen und anzupassen. Ob Sie nun eine der vierzig Anwendungsvorlagen, die zum Herunterladen verfügbar sind, anpassen oder eine eigene Anwendungsvorlage erstellen: In diesem Artikel finden Sie Beschreibungen der bewährten Methodik und der optimale Methoden, sodass Sie Ihr Ziel auch dann erreichen, wenn Sie nicht über Entwicklungserfahrung verfügen.

Der nächste Schritt besteht darin, die Anwendungsvorlagen herunterzuladen, sofern Sie das nicht bereits getan haben, und diese zu verwenden und in Office SharePoint Designer 2007 zu öffnen. Anschließend erhalten Sie in den im Folgenden genannten Ressourcen weitere Hilfestellung zu Erstellen eigener Anwendungen.

Seitenanfang Seitenanfang

Ressourcen

Weitere Informationen zu Windows SharePoint Services 3.0 und Office SharePoint Designer 2007 finden Sie in folgenden Ressourcen:

Unter folgenden Links finden Sie eher entwicklungsorientierte Ressourcen:

Seitenanfang Seitenanfang

Anzeige