Microsoft SharePoint Portal Server 2003 Verwaltung und Programmierung. Behandelt SharePoint Portal Server und Windows SharePoint Services von Nico Thiemer 1. Auflage Microsoft SharePoint Portal Server 2003 Thiemer schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Hanser München 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40603 2 Inhaltsverzeichnis: Microsoft SharePoint Portal Server 2003 Thiemer
Microsoft Office SharePoint Portal Server 2003 Nico Thiemer Verwaltung und Programmierung ISBN 3-446-40603-4 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40603-4 sowie im Buchhandel
260 10 Zusammenarbeit mit Microsoft Office 2003 und Microsoft Exchange Server 2003 Abbildung 10.15 Dokumenten-Updates aus einer Dokumentenbibliothek beziehen 10.4 Microsoft InfoPath 2003 Microsoft InfoPath ist ein neues Programm in der Microsoft Office 2003 Suite. Mit diesem Programm wird es möglich, schnell und effektiv XML-Formulare zu erzeugen, zu verwalten und auszufüllen. Es sind dabei keine Programmierkenntnisse in XML nötig. Auch wenn ich an dieser Stelle keine umfassende Anleitung zum Arbeiten mit Microsoft InfoPath geben kann, so möchte ich Ihnen doch zeigen, wie Sie ein einfaches Formular entwerfen und dieses veröffentlichen können. Microsoft InfoPath hat schon jetzt einen großen Stellenwert in der Zusammenarbeit mit SharePoint Portal Server 2003, und dieser wird sicher weiter steigen. Mit der Hilfe des Formulars soll ein Angebot erzeugt werden, das dann in einer Formularbibliothek archiviert wird. Die Daten für das Angebot werden aus einer Liste bezogen, die sich im SharePoint Portal Server 2003 befindet. Achtung: Das folgende Beispiel setzt mindestens Service Pack 1 für Microsoft Office 2003 voraus. Ohne das Service Pack 1 können Sie das Beispiel nicht nachvollziehen. 10.4.1 Ein Formular entwerfen Öffnen Sie Microsoft InfoPath, und wählen Sie aus dem erscheinenden Dialog den Eintrag Ein Formular entwerfen. Sie erhalten danach eine leere Arbeitsfläche mit einem Aufgabenbereich am rechten Rand. Klicken Sie in diesen Aufgabenbereich auf den Eintrag Neues Formular erstellen.
10.4 Microsoft InfoPath 2003 261 Abbildung 10.16 Der Link Neues Formular in InfoPath Sie haben jetzt eine leere Arbeitsfläche, auf der Sie Ihre Formularelemente platzieren können. Das Einfügen einer Grafik für den Briefkopf, das Anlegen eines Textfeldes für weitere Informationen stellt ähnlich wie in Microsoft Word keine Probleme dar. Die Menüpunkte und das Vorgehen sind im Wesentlichen identisch. Ich werde mich daher nur auf die Datenfelder beschränken, die mit der SharePoint-Liste verbunden werden. Um ein Angebot schreiben zu können, benötigen wir den Kurs, den Ort, den Preis, die Anzahl der Teilnehmer und den daraus resultierenden Gesamtpreis. Die folgende Tabelle zeigt eine Übersicht über die benötigten Felder und den Typ des Steuerelementes im Formular. Feldname Kursname KursOrt KursPreis AnzahlTN GesamtPreis Typ Drop-down-Listenfeld Drop-down-Listenfeld Textfeld Textfeld Textfeld (Schreibgeschützt) Bei dem Entwurf von Formularen sollten Sie immer eine Liste wie die obige anfertigen. Sie können damit schon in der Entwurfphase einfach feststellen, welche Steuerelemente Sie benötigen. Wenn Sie erst einmal die benötigten Elemente haben, können Sie schneller arbeiten und sich später besser auf die Logik des Formulars konzentrieren. Am rechten Fensterrand haben Sie einen Arbeitsbereich, in dem Sie den Eintrag Steuerelemente auswählen können. Ziehen Sie aus der Liste der Steuerelemente zuerst ein Dropdown-Listenfeld auf das Arbeitsblatt. Wenn Sie auf das eingefügte Element doppelklicken, können Sie das Element auch editieren und ihm einen Namen geben. Geben Sie dem Feld die Bezeichnung KursName.
262 10 Zusammenarbeit mit Microsoft Office 2003 und Microsoft Exchange Server 2003 Abbildung 10.17 Auf einem Feld können verschiedene Optionen eingestellt werden. Ein wenig versteckt befindet sich in diesem Fenster die Möglichkeit, das Feld an eine Datenquelle zu binden. Genau dies benötigen wir, damit wir unsere vorher erstellte Kursliste im Formular verwenden können. Klicken Sie dazu im Abschnitt Listenfeldeinträge auf den Punkt Werte aus einer Datenverbindung zu einer Datenbank, einem Webdienst, einer Datei oder aus einer SharePoint-Bibliothek oder -Liste beziehen. Anschließend klicken Sie auf den Button Hinzufügen Abbildung 10.18 Die Art einer Datenquelle auswählen Im folgenden Fenster können Sie jetzt angeben, dass Sie sich mit einer SharePoint-Liste verbinden wollen, die an das Formular gebunden wird. Wenn Sie Service Pack 1 noch nicht installiert haben, ist dies nicht möglich.
10.4 Microsoft InfoPath 2003 263 Abbildung 10.19 Eine Datenverbindung einrichten Nach einem Klick auf Weiter > müssen Sie die URL eingeben, an der sich die Liste befindet. Wichtig ist dabei, die komplette URL einzugeben. Das Format wäre http://<portalname>/<bereichname>/liste/forms/allitems.aspx. Klicken Sie danach auf Weiter >. Das folgende Fenster zeigt Ihnen eine Auswahl aller verfügbaren Listen, die von Microsoft InfoPath gefunden wurden. Abbildung 10.20 InfoPath zeigt alle Listen an, die in einem Bereich gefunden wurden. Danach müssen Sie auswählen, welche Felder jetzt in das Formular übernommen werden sollen. Markieren Sie die gewünschten Felder mit einem Haken, und klicken Sie wieder auf Weiter >.
264 10 Zusammenarbeit mit Microsoft Office 2003 und Microsoft Exchange Server 2003 Abbildung 10.21 Die Auswahl der Listenfelder Zum Schluss müssen Sie der Datenverbindung noch einem Namen geben und festlegen, ob beim Öffnen des Formulars die Daten automatisch abgerufen werden sollen. Da dies in unserem Fall sinnvoll ist, lassen wir die Option aktiviert. Nach einem Klick auf Fertig stellen haben wir zwar unser Steuerelement mit der Datenquelle verbunden, wir haben aber noch nicht festgelegt, welche Spalte mit welchem Feld verbunden wird. Klicken Sie dazu auf die Schaltfläche, die sich neben dem Feld Einträge befindet. Abbildung 10.22 Listenfelder an Steuerelemente binden Es öffnet sich jetzt ein Fenster, in dem Sie das Listenfeld auswählen können, das Sie an das Steuerelement binden möchten. Klicken Sie so lange auf die +-Symbole, bis die Listeneinträge erscheinen. Markieren Sie dann das Feld, und klicken Sie auf OK.
10.4 Microsoft InfoPath 2003 265 Abbildung 10.23 Die Auswahl eines Listenfeldes, das einem Steuerelement zugeordnet wird Im Feld Einträge befindet sich jetzt eine XML-Abfrage, die auf das Feld verweist. Klicken Sie noch einmal auf OK. Das Steuerelement sollte jetzt eine Beschriftung tragen. Weiter sehen Sie noch keine Einträge. Sie können jetzt die restlichen Steuerelemente auf die Arbeitsfläche ziehen und diese analog den vorherigen Schritten verbinden. Die Datenquelle müssen Sie nicht noch einmal anlegen, es genügt jetzt, die Datenfelder aus der Liste der Kurse auszuwählen. Abbildung 10.24 Anzeige der Datenquelle Sie können übrigens die Datenverbindung immer einsehen, indem Sie auf der rechten Seite aus dem Aufgabenbereich den Eintrag Datenquelle wählen. Siehe dazu auch die Abbildung 10.23.
266 10 Zusammenarbeit mit Microsoft Office 2003 und Microsoft Exchange Server 2003 Der einzige Unterschied beim Bearbeiten der Felder besteht jetzt im Textfeld, das den Einzelpreis enthält. Das Fenster dazu ist ein anderes als die Fenster, welche die Dropdown-Felder verwalten. Vor allen finden Sie im Textfeld auf den ersten Blick keine Möglichkeit, diese an eine Datenquelle zu binden. Abbildung 10.25 Die Eigenschaften eines Textfeldes bearbeiten Um ein Textfeld an eine Datenquelle zu binden, klicken Sie auf das Formelsymbol, das sich neben dem Feld Wert befindet. Es öffnet sich jetzt ein neues Fenster, in dem Ihnen nur der Button Feld oder Gruppe einfügen eine sinnvolle Möglichkeit anbietet. Klicken Sie auf diesen Button. Abbildung 10.26 Das Dialogfeld Formel einfügen
10.4 Microsoft InfoPath 2003 267 Microsoft InfoPath unterscheidet bei Datenquellen zwischen einer primären und einer sekundären Datenquelle. Die sekundäre Datenquelle ist unserem Fall die SharePoint-Liste. Diese müssen Sie jetzt auch in dem folgenden Fenster auswählen. Sie können dann wieder zu den Datenfeldern navigieren und das Feld Einzelpreis auswählen. Die primäre Datenquelle sind dagegen die Felder im Formular. Abbildung 10.27 Auswahl der primären oder sekundären Datenquelle Klicken Sie danach so lange auf OK, bis Sie sich wieder auf der Arbeitsfläche befinden. Nach so vielen Vorbereitungen können wir erst einmal testen, ob die Daten zur Verfügung stehen, wenn das Formular geladen wird. Klicken Sie dazu im Menü Datei auf den Eintrag Formularvorschau / Standard. Sie finden in der Symbolleiste eine Schaltfläche mit der Beschriftung Formularvorschau. Sie sollten dann nach einer Auswahl aller Felder etwa folgendes Bild erhalten. Abbildung 10.28 Eine Vorschau unseres Formulars Schließen Sie die Formularvorschau wieder. Vielleicht ist Ihnen bei der Auswahl der Felder in der Vorschau etwas aufgefallen. Die Felder sind nämlich noch nicht verbunden. Es werden immer alle Einträge angezeigt, die sich in einer Spalte der Liste befinden. Damit ist das Formular eigentlich ziemlich wertlos. Es muss also möglich sein, im Formular eine Logik zu hinterlegen, die sich darum kümmert, dass alle Felder abhängig sind von der Auswahl, die im Feld KursName getroffen wird. Außerdem soll im Feld Gesamtpreis die Summe aus Einzelpreis * Menge der Kursteilnehmer stehen. Dies alles können Sie einfach bewerkstelligen, ohne auch nur eine einzige Zeile Code schreiben zu müssen. Zuerst werde ich das Feld KursOrt anpassen. Öffnen Sie wieder das Eigenschafsfenster für das Feld, indem Sie auf das Feld doppelklicken. Klicken Sie danach wieder auf die Schaltfläche, die sich hinter dem Feld Einträge befindet und die XML-Abfrage enthält. Es öffnet
268 10 Zusammenarbeit mit Microsoft Office 2003 und Microsoft Exchange Server 2003 sich wieder das Fenster zum Auswahl der Felder. Unten links in diesem Fenster befindet sich die Schaltfläche Daten filtern, die Sie einmal anklicken. Im folgenden Fenster finden Sie alle schon eingerichteten Filter für dieses Feld. Da wir noch keinen Filter haben, klicken wir auf Hinzufügen Abbildung 10.29 Das Dialogfeld zum Filtern der Daten Jetzt können wir endlich damit beginnen, die Filter für das Feld zu definieren. Wichtig ist dabei, sich klar zu machen, nach welchem Kriterium gefiltert werden soll. In unseren Fall hängen alle Einträge vom Feld KursName ab. Das heißt, wenn der Eintrag in der Spalte KursName der SharePoint-Liste identisch ist mit dem Eintrag im Feld KursName des Formulars, dann zeige nur die Daten an, die zu diesem Eintrag gehören. Alle anderen Einträge werden automatisch gefiltert. Im Fenster zum Festlegen der Filterkriterien können Sie dies sehr schön definieren. Im ersten Feld wählen Sie den Wert Titel. Dies ist das Feld, das in der SharePoint-Liste dem Formularfeld KursName entspricht. Im zweiten Feld wählen Sie die Filterbedingung. In unserem Fall heißt das, sie ist gleich. Spannend ist das dritte Feld. Wenn Sie es ausklappen, werden Sie das Formularfeld KursName wahrscheinlich nicht finden. Um es dennoch einzutragen, wählen Sie den Eintrag Feld oder Gruppe auswählen Abbildung 10.30 Ein Filterkriterium festlegen
10.4 Microsoft InfoPath 2003 269 Es erscheint wieder das Fenster zur Auswahl der Datenquelle. Wählen Sie jetzt als Datenquelle Primär und darin das Feld Kursname. Betätigen Sie die Auswahl mit OK. Zurück im Fenster der Filterübersicht wird der neue Filter auch angezeigt. Bestätigen Sie alle offenen Fenster mit OK, bis Sie beim Formular sind, und überprüfen Sie in der Vorschau, ob der Filter korrekt arbeitet. Abbildung 10.31 Der Filter arbeitet. Falls Sie weitere Felder definiert haben, können Sie diese auf dieselbe Art und Weise einrichten. Das Filterkriterium ist immer das gleiche. Was zum Schluss noch fehlt, ist das Addieren des Preises. Legen Sie dazu, sofern noch nicht geschehen, ein Feld Textfeld Teilnehmer und ein Textfeld GesamtPreis an. Sie müssen jetzt noch eine Formel eintragen, um die Felder zu verbinden. 1. Doppelklicken Sie auf das Feld GesamtPreis und weiter auf das Formelsymbol neben dem Feld Wert. 2. Klicken Sie im folgenden Fenster auf den Button Feld oder Gruppe einfügen Achten Sie dabei darauf, als Datenquelle Primär auszuwählen. 3. Wählen Sie dann das Feld Teilnehmer aus. 4. Klicken Sie auf OK, und geben Sie hinter Teilnehmer den Operator * ein. 5. Klicken Sie wieder auf Feld oder Gruppe einfügen, und wählen Sie das Feld Einzelpreis aus. Achten Sie dabei darauf, als Datenquelle Primär auszuwählen. 6. Klicken Sie so lange auf OK, bis Sie zum Formular zurück sind. Die Formel sollte jetzt zu sehen sein.
270 10 Zusammenarbeit mit Microsoft Office 2003 und Microsoft Exchange Server 2003 Abbildung 10.32 Ein Filter wurde eingerichtet. Ihr Formular ist jetzt fertig und kann jetzt zum letzten Mal getestet werden. Abbildung 10.33 Das fertige Formular Natürlich wäre in einer Produktivumgebung noch mehr möglich. Dazu gehören das Layout, das Anzeigen der Kurstermine und das Filtern nach diesen Terminen. Mit der oben vorgestellten Lösung sollte dies aber für Sie kein Problem mehr darstellen. Der Übersichtlichkeit halber habe ich darauf verzichtet. Wenn keine Fehler mehr festzustellen sind, können Sie das Formular jetzt veröffentlichen. 10.4.2 Ein Formular veröffentlichen Ein Formular zu veröffentlichen heißt, es allgemein verfügbar zu machen. Dafür gibt es mehrere Möglichkeiten. Dies sind im Einzelnen: auf einer Freigabe ablegen, in einer SharePoint-Formularbibliothek oder auf einem Webserver.