Eine Einführung für SharePoint-Entwickler. Praktische Übung



Ähnliche Dokumente
Eine Einführung für SharePoint-Entwickler. Praktische Übung

Eine Einführung für SharePoint-Entwickler. Praktische Übung

Entwickeln erweiterter Webparts für SharePoint 2010 mit Visual Studio 2010

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen zu SQL Server Analysis Services-Daten

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

Erstellen eines Formulars

Übung - Datensicherung und Wiederherstellung in Windows 7

Tipps und Tricks zu Netop Vision und Vision Pro

tentoinfinity Apps 1.0 EINFÜHRUNG

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

System-Update Addendum

Vergleich: Positionen der Word 2003-Befehle in Word

Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP

Lernprogramm "Veröffentlichen von WMS- Services"

2. Installation unter Windows 8.1 mit Internetexplorer 11.0

Dateipfad bei Word einrichten

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

7 SharePoint Online und Office Web Apps verwenden

Outlook Web App 2010 Kurzanleitung

Datenaustausch mit dem BVK Data Room

Microsoft Dynamics. Management Reporter for Microsoft Dynamics ERP Data Provider Configuration Guide

SharePoint für Site Owner. Dr. Benjamin S. Bergfort. 1. Ausgabe, Juni 2014

Im Anschluss finden Sie einige Tipps für die ersten Schritte mit häufigen Aufgaben. Erste Schritte Serie

Camtasia Studio. Theater. Release March TechSmith Corporation. All rights reserved.

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie nutze ich den Mobile BusinessManager?

Öffnen und Hochladen von Dokumenten

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Aktualisieren auf Adobe Experience Manager Forms on JEE für Websphere

Installieren und Verwenden von Document Distributor

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Überprüfung der digital signierten E-Rechnung

Übung - Datensicherung und Wiederherstellung in Windows XP

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Aufklappelemente anlegen

Einrichten eines MAPI- Kontos in MS Outlook 2003

Engel.sys llll. Clever Daten sichern. Datensicherungen erstellen und auf dem Engel.sys FTP-Server speichern

Microsoft Visual Studio Community 2015

Anwenden eines Service Packs auf eine Workstation

X-RiteColor Master Web Edition

OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer

Arbeiten mit dem neuen WU Fileshare unter Windows 7

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Datenaustausch mit dem BVK Data Room

Übung - Fernzugriff und Remoteunterstützung in Windows Vista

12. Dokumente Speichern und Drucken

EMC SourceOne TM für Microsoft SharePoint 7.1 Archivsuche Kurzreferenz

PatXML - Version Kurzanleitung Dokumente erstellen, vervollständigen und speichern

Seriendruck mit der Codex-Software

Anleitungen zum Publizieren Ihrer Homepage

OWA Benutzerhandbuch. Benutzerhandbuch Outlook Web App 2010

Step by Step Webserver unter Windows Server von Christian Bartl

Das EDV-Cockpit mit MindManager für SharePoint

Übung - Konfigurieren einer Windows-XP-Firewall

Sametime Meetings - Taskreferenz

Seriendruck mit der Codex-Software

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Microsoft Office 365 Kalenderfreigabe

Überprüfung der digitalen Unterschrift in PDF

Anzeigen einer Liste der verfügbaren Schriftarten

... unser Service fur Sie:

Anleitung zur Einrichtung der elektronischen Arbeitszeitkarte im Browser und Vergabe eines neuen Passwortes

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Office-Programme starten und beenden

Dokumentation Exchange

Tipps und Tricks zu Netop Vision und Vision Pro

Anleitung für TYPO Bevor Sie beginnen Newsletter anlegen Inhalt platzieren und bearbeiten Neuen Inhalt anlegen...

Live Update (Auto Update)

Übung - Freigabe eines Ordners, Erstellen einer Heimnetzgruppe und Zuordnung eines Netzwerklaufwerks in Windows 7

KURZANLEITUNG CLOUD OBJECT STORAGE

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Navigieren auf dem Desktop

Newsletter. 1 Erzbistum Köln Newsletter

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Installation des Zertifikats. Installationsanleitung für Zertifikate zur Nutzung des ISBJ Trägerportals

Nutzung der VDI Umgebung

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

Kurzanleitung für Benutzer. 1. Installieren von Readiris TM. 2. Starten von Readiris TM

Übung - Konfigurieren einer Windows Vista-Firewall

Konfiguration des Internet Explorers 7

Quickguide für Interne Benutzer

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Kurzanleitung zur Installation des OLicense-Servers in Verwendung mit SimDiff/SimMerge

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

WorldShip Installation auf einen Arbeitsgruppen-Admin- oder Arbeitsgruppen-Remote-Arbeitsstation

Verwenden von Adobe LiveCycle ES3 Connector für Microsoft SharePoint

Typo3 Tutorial Bildarchiv

OUTLOOK-DATEN SICHERN

Konfiguration des Internet Explorers 8

Installieren von Microsoft Office Version 2.1

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Übung - Datensicherung und Wiederherstellung in Windows Vista

Delegieren von Terminen, Jobs oder Notizen aus dem Kalenderlayout auf Seite 111

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Transkript:

Eine Einführung für SharePoint-Entwickler Praktische Übung Übungsanleitung SPCHOL308 Entwickeln eines Menübands für die SharePoint 2010-Benutzeroberfläche und von Dialogfeldanpassungen VB

Dieses Dokument wird wie besehen bereitgestellt. Die in diesem Dokument enthaltenen Informationen und Ansichten, einschließlich URLs und Verweise auf Internetwebsites, können ohne vorherige Ankündigung geändert werden. Das Risiko der Nutzung liegt bei Ihnen. Mit diesem Dokument erhalten Sie keine Rechte am geistigen Eigentum an einem Microsoft-Produkt. Sie sind berechtigt, dieses Dokument zu kopieren und für eigene interne Referenzzwecke zu nutzen. 2010 Microsoft. Alle Rechte vorbehalten.

Inhalt SPCHOL308 ENTWICKELN EINES MENÜBANDS FÜR DIE SHAREPOINT 2010-BENUTZEROBERFLÄCHE UND VON DIALOGFELDANPASSUNGEN... 2 Übungsziel... 2 Weitere Ressourcen... 2 Erste Schritte... 2 Anmelden beim virtuellen Computer... 2 Speicherorte... 2 Voraussetzungen für diese praktische Übung... 3 Kopieren von Codebeispielen aus einem Word-Dokument... 3 Codeausschnitte... 4 Übung 1: Hinzufügen einer benutzerdefinierten Schaltfläche zum Menüband... 5 Aufgabe 1: Anzeigen der Website... 5 Aufgabe 2: Erstellen eines leeren SharePoint 2010-Projekts... 6 Aufgabe 3: Hinzufügen des Schaltflächencodes zum Projekt... 8 Aufgabe 4: Bereitstellen der Projektmappe... 14 Übung 2: Zugreifen auf Listendaten über JavaScript und das Clientobjektmodell, die in einem Dialogfeld angezeigt werden... 17 Aufgabe 1: Erstellen eines neuen Projekts und Hinzufügen eines Webparts... 17 Aufgabe 2: Hinzufügen von Skriptcode zum Zugreifen auf bzw. Rendern von SharePoint-Listendaten... 20 Aufgabe 3: Bereitstellen und Testen des Webparts... 25 Übungszusammenfassung... 29 Seite 1

SPCHOL308 Entwickeln eines Menübands für die SharePoint 2010-Benutzeroberfläche und von Dialogfeldanpassungen Voraussichtliche Zeit zum Durcharbeiten dieser Übung: 30 Minuten Für diese Übungen sind Visual Studio 2010 und SharePoint Foundation 2010 erforderlich. Diese Anwendungen sind auf dem in dieser Übung verwendeten virtuellen Computer installiert. Übungsziel Ziel dieser praktischen Übung ist das Vermitteln, wie das neue SharePoint-Menüband geändert werden kann und die Interaktion mit dem Clientobjektmodell und Dialogfeldsystem erfolgt. Erweitern des SharePoint-Menübands durch Hinzufügen einer neuen Schaltfläche Erstellen eines Webparts, das unter Verwendung des neuen Clientobjektmodells mit clientseitigem Code arbeitet, um ein Dialogfeld für Benutzer anzuzeigen, in das mithilfe des neuen Dialogfeldsystems Daten eingegeben werden können Weitere Ressourcen Zu dieser Übung gehören die folgenden weiteren Ressourcen: Diese Übungsanleitung Quellcode SPCHOL308_Manual_VB.docx Completed\VB\Ex1 Completed\VB\Ex2 Dieses Dokument Vervollständigter Übungscode in VB Ressourcen Resources\VB Verschiedene andere im Verlauf dieser Übung verwendete Ressourcen Erste Schritte Anmelden beim virtuellen Computer Melden Sie sich beim virtuellen Computer als der folgende Benutzer an: Benutzername: Administrator Kennwort: pass@word1 Speicherorte Zu dieser praktischen Übung gehören verschiedene weitere Ressourcen an festen Speicherorten. Standardmäßig wird vorausgesetzt, dass C:\Content Packs\Packs\SharePoint 2010 Developer Labs 1.0\SUPPORTING FILES\SPCHOL308\Resources das Basisverzeichnis dieser praktischen Übung ist. Der standardmäßige Arbeitsordner für diese Übung ist \SPHOLS\SPCHOL308. Seite 2

Voraussetzungen für diese praktische Übung Wechseln Sie zum Basisverzeichnis Supporting Files\SPCHOL308\Resources dieser praktischen Übung, und führen Sie das PowerShell-Skript optimize.ps1 aus: 1. Klicken Sie mit der rechten Maustaste auf optimize.ps1, und wählen Sie Mit PowerShell ausführen aus: Abbildung1: Ausführen des PowerShell-Skripts 2. Hierdurch wird ein PowerShell-Fenster zum Ausführen des Skripts geöffnet. Warten Sie ab, bis die Ausführung des PowerShell-Skripts beendet und das PowerShell-Fenster geschlossen wurde: Abbildung 2: PowerShell-Fenster, in dem das Skript ausgeführt wird Kopieren von Codebeispielen aus einem Word-Dokument Das Kopieren und Einfügen von Code aus diesem Word-Dokument in Visual Studio ist nur bei Abschnitten mit formatiertem Code sicher. Beispiel: Console.WriteLine("Dieser Code ist sicher") Nicht in diesen Abschnitten enthaltener Code kann Unicode- oder andere unsichtbare Zeichen erhalten, die keinen gültigen XML- oder C#-/VB-Code darstellen. Beispiel: Seite 3

Console.WriteLine ( Dieser Code ist NICHT sicher!! ) Codeausschnitte Sie können auch mit Codeausschnitten arbeiten, um den in dieser Übung benötigten Code einzufügen. So verwenden Sie den für diese Übung benötigten Codeausschnitt Klicken Sie mit der rechten Maustaste an der Stelle auf die Codedatei, an der Sie den Codeausschnitt einfügen möchten. Wählen Sie Codeausschnitt einfügen aus. Abbildung 3: Einfügen des Codeausschnitts Wählen Sie im Katalog Eigene Codeausschnitte einen Codeausschnitt aus. Seite 4

Übung 1: Hinzufügen einer benutzerdefinierten Schaltfläche zum Menüband In dieser Übung ergänzen Sie das Menüband um eine eigene selbstdefinierte Schaltfläche, über die serverseitiger Code ausgeführt wird. Sie können diesen Ansatz auch verfolgen, um Schaltflächen, Gruppen, Registerkarten oder sogar das gesamte Menüband hinzuzufügen bzw. zu ersetzen. Sie verwenden eine Visual Studio 2010-Projektmappe und stellen sie auf dem lokalen SharePoint-Server bereit. Über die Schaltfläche wird ein JavaScript-Dialogfeld mit der Nachricht Hello World eingeblendet. Aufgabe 1: Anzeigen der Website Sehen Sie sich zunächst an, wie die Website mit dem standardmäßigen Menüband aussieht, bevor Sie eine Schaltfläche hinzufügen. 1. Öffnen Sie Internet Explorer, und navigieren Sie zu http://intranet.contoso.com. 2. Wählen Sie im Navigationsbereich (dem Schnellstartbereich) auf der linken Seite im Menü Dokumente die Bibliothek Freigegebene Dokumente aus. Abbildung 4: Freigegebene Dokumente Seite 5

3. Wählen Sie im Menüband auf der eingeblendeten Registerkarte Bibliothekstools die Registerkarte Dokumente aus. Abbildung 5: Registerkarte Dokumente 4. In diesem Menüband wird die neue Schaltfläche angezeigt, die Sie in dieser Übung erstellen. Aufgabe 2: Erstellen eines leeren SharePoint 2010-Projekts Im Rahmen dieser Aufgabe werden eine Projektmappe und ein Projekt erstellt. Die Aufgabe umfasst die verbleibende Entwicklungsarbeit in dieser Übung. 1. Öffnen Sie Visual Studio 2010, indem Sie im Startmenü Alle Programme, dann Microsoft Visual Studio 2010 und danach Microsoft Visual Studio 2010 auswählen. 2. Wählen Sie im Menü Datei die Option Neu und dann Projekt aus. 3. Erweitern Sie im Dialogfeld Neues Projekt im Menü Installierte Vorlagen auf der linken Seite die Elemente Visual Basic, dann SharePoint und schließlich 2010. Wählen Sie dann in der Projekttypliste im mittleren Bereich des Bildschirms den Projekttyp Leeres Projekt aus. 4. Geben Sie dem Projekt den Namen RibbonDemo. 5. Ändern Sie den Speicherort in C:\SPHOLS\SPCHOL308\VB\Ex1\. 6. Klicken Sie auf OK. 7. Der Assistent zum Anpassen von SharePoint wird angezeigt. 8. Geben Sie für Welche lokale Site soll für das Debugging verwendet werden? die Adresse http://intranet.contoso.com ein. Seite 6

9. Wählen Sie für Wie lautet die Vertrauensebene für diese SharePoint-Lösung? die Option Als Farmlösung bereitstellen. Abbildung 6: Assistent zum Anpassen von SharePoint 10. Klicken Sie auf Fertig stellen, um den Anpassungs-Assistenten abzuschließen. Seite 7

11. Die neue Projektmappe wird von Visual Studio hinzugefügt. Abbildung 7: RibbonDemo im Projektmappen-Explorer Aufgabe 3: Hinzufügen des Schaltflächencodes zum Projekt 1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf RibbonDemo, und wählen Sie Hinzufügen und dann Neues Element... aus. 2. Erweitern Sie im Dialogfeld Neues Element hinzufügen im Menü Installierte Vorlagen auf der linken Seite die Elemente Gemeinsame Elemente, dann SharePoint und schließlich 2010. Wählen Sie dann im mittleren Bereich des Bildschirms den Elementtyp Leeres Element aus. Seite 8

3. Lassen Sie den Namen EmptyElement1 unverändert. Abbildung 8: Neues Element hinzufügen - RibbonDemo Seite 9

4. Klicken Sie auf OK, um das Element dem Projekt hinzuzufügen. Abbildung 9: Elements.xml 5. Löschen Sie den Inhalt der Datei Elements.xml. 6. Fügen Sie der Datei Elements.xml den folgenden Code hinzu. Sie finden eine Kopie dieser Datei im Ordner Supporting Files\SPCHOL308\Resources\VB. <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="DemoHelloWorldButton" RegistrationId="101" RegistrationType="List" Location="CommandUI.Ribbon" Sequence="5" Title="Hello World"> <CommandUIExtension> <CommandUIDefinitions> <CommandUIDefinition Location="Ribbon.Documents.Manage.Controls._children"> <Button Id="Ribbon.Documents.New.Controls.DemoHelloWorldButton" Alt="Hello World Ribbon Button" Sequence="10" Command="Demo_HelloWorld" Image32by32="/_layouts/images/ribbondemo/demobutton.png" LabelText="Hello World Demo" Seite 10

TemplateAlias="o1"/> </CommandUIDefinition> </CommandUIDefinitions> <CommandUIHandlers> <CommandUIHandler Command="Demo_HelloWorld" CommandAction="javascript:alert('Hello World!');" /> </CommandUIHandlers> </CommandUIExtension> </CustomAction> </Elements> Codeausschnitt: Eigene XML-Ausschnitte spchol308_ex1_xml Abbildung 10: Aktualisierte Datei Elements.xml 7. Beachten Sie den Bildverweis, denn dieses Bild, das Sie als Nächstes hinzufügen, wird im Menüband angezeigt. 8. Beachten Sie ferner das Befehlsskript, bei den es sich um das JavaScript-Skript handelt, das bei Klicken auf die Schaltfläche ausgeführt wird, die Sie dem Menüband hinzufügen. Seite 11

9. Fügen Sie der Projektmappe einen Ordner hinzu, der dem Bildordner im SharePoint- Layoutverzeichnis zugeordnet wird, in dem das Schaltflächenbild abgelegt werden kann. Klicken Sie mit der rechten Maustaste auf den Projektknoten RibbonDemo, und wählen Sie Hinzufügen und dann Zugeordneter SharePoint-Ordner "Bilder" aus. Abbildung 11: Hinzufügen eines zugeordneten Ordners Seite 12

10. Der Ordner Bilder wird mit einem Unterordner für die hinzuzufügende Schaltfläche angezeigt. Abbildung 12: Ordner Bilder 11. Fügen Sie die Datei DemoButton.png hinzu, indem Sie mit der rechten Maustaste auf den Ordner RibbonDemo klicken und dann Hinzufügen und danach Vorhandenes Element... auswählen. 12. Navigieren Sie im eingeblendeten Dialogfeld zu C:\Content Packs\Packs\SharePoint 2010 Developer Labs 1.0\SUPPORTING FILES\SPCHOL308\Resources, und wählen Sie die Datei DemoButton.png aus. Abbildung 13: Bild DemoButton Seite 13

Aufgabe 4: Bereitstellen der Projektmappe 1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf RibbonDemo, und wählen Sie Bereitstellen aus. Abbildung 14: Bereitstellen der Projektmappe 2. Die Projektmappe wird auf der SharePoint-Website bereitgestellt. 3. Öffnen Sie einen Webbrowser, und navigieren Sie zur lokalen SharePoint-Website: http://intranet.contoso.com 4. Geben Sie die folgenden Informationen ein, wenn Sie aufgefordert werden, sich zu authentifizieren: Benutzername: administrator Kennwort: pass@word1 5. Klicken Sie im linken Navigationsbereich auf Freigegebene Dokumente, um die Bibliothek Freigegebene Dokumente zu öffnen. Seite 14

Abbildung 15: Link Freigegebene Dokumente 6. Klicken Sie im SharePoint-Menüband auf die Registerkarte Dokumente. Abbildung 16: Registerkarte Freigegebene Dokumente 7. Das SharePoint-Menüband sollte nun die hinzugefügte Schaltfläche Hello World enthalten. Abbildung 17 - Schaltfläche Hello World Demo Seite 15

8. Klicken Sie im Menüband auf die Schaltfläche Hello World Demo, um das JavaScript-Dialogfeld zu Hello World einzublenden. Abbildung 18 - Demo Hello World In den letzten Minuten haben Sie das SharePoint-Menüband um eine neue selbstdefinierte Schaltfläche ergänzt. Seite 16

Übung 2: Zugreifen auf Listendaten über JavaScript und das Clientobjektmodell, die in einem Dialogfeld angezeigt werden In SharePoint 2010 gibt es verschiedene Objektmodelle, über die Entwickler auf den Server zugreifen können. Das Clientobjektmodell ist ein vereinheitlichtes Modell, das über Web- und WCF-Dienste, eine Client-API (JavaScript) und REST dieselben oder ähnliche Konzepte auf dem Server nutzt. Dies ebnet den Weg für anspruchsvollere Anwendungen, da es erheblich einfacher wird, von Clientcomputern und anderen Computern in der Infrastruktur auf SharePoint-Daten zuzugreifen. In dieser Übung verwenden Sie das clientseitige EcmaScript-Objektmodell, um Listen dynamisch zu aktualisieren und zu lesen. Außerdem wird die neue Dialogfeld-API im clientseitigen Skript vorgestellt. Das clientseitige JavaScript-Objektmodell ermöglicht JavaScript-Entwicklern über clientseitiges JavaScript den Zugriff auf SharePoint-Objekte u. a. Websites und Listen. Aufgabe 1: Erstellen eines neuen Projekts und Hinzufügen eines Webparts Im Rahmen dieser Aufgabe werden eine Projektmappe und ein Projekt erstellt. Die Aufgabe umfasst die verbleibende Entwicklungsarbeit in dieser Übung. 1. Öffnen Sie Visual Studio 2010, indem Sie im Startmenü Alle Programme, dann Microsoft Visual Studio 2010 und danach Microsoft Visual Studio 2010 auswählen. 2. Wählen Sie im Menü Datei die Option Neu und dann Projekt aus. 3. Erweitern Sie im Dialogfeld Neues Projekt im Menü Installierte Vorlagen auf der linken Seite die Elemente Visual Basic, dann SharePoint und schließlich 2010. Wählen Sie dann in der Projekttypliste im mittleren Bereich des Bildschirms den Projekttyp Visuelles Webpart aus. 4. Geben Sie dem Projekt den Namen ScriptOMandDialog. Seite 17

5. Ändern Sie den Speicherort in C:\SPHOLS\SPCHOL308\VB\Ex2. Abbildung 19: Dialogfeld Neues Projekt 6. Klicken Sie auf OK. 7. Der Assistent zum Anpassen von SharePoint wird angezeigt. 8. Geben Sie für Welche lokale Site soll für das Debugging verwendet werden? die Adresse http://intranet.contoso.com ein. Seite 18

9. Wählen Sie für Wie lautet die Vertrauensebene für diese SharePoint-Lösung? die Option Als Farmlösung bereitstellen. Abbildung 20: Assistent zum Anpassen von SharePoint 10. Klicken Sie auf Fertig stellen, um den Anpassungs-Assistenten abzuschließen. 11. Die Projektmappe ScriptOMandDialog wird von Visual Studio erstellt. Seite 19

Abbildung 21 - Projektmappen-Explorer mit Projekt für visuelles Webpart 12. Doppelklicken Sie im Projektmappen-Explorer auf die Datei VisualWebPart1.webpart. 13. Legen Sie die Eigenschaft Title auf ScriptOMandDialog fest. 14. Legen Sie die Eigenschaft Description auf ScriptOMandDialog description fest. Abbildung 22: Visuelle Webpartdatei 15. Speichern und schließen Sie die Datei. Aufgabe 2: Hinzufügen von Skriptcode zum Zugreifen auf bzw. Rendern von SharePoint- Listendaten 1. Doppelklicken Sie im Projektmappen-Explorer auf VisualWebPart1UserControl.ascx. 2. Fügen Sie am Ende der Datei den folgenden Markupcode hinzu: <SharePoint:ScriptLink ID="ScriptLink1" runat="server" Name="sp.js" Localizable="false" LoadAfterUI="true" /> <script language="ecmascript" type="text/ecmascript"> </script> Codeausschnitt: Eigene HTML-Ausschnitte spchol308_ex2_scripttags Seite 20

3. Fügen Sie dem Block Script den folgenden JavaScript-Code hinzu. Sie können entweder alle folgenden Codeblöcke kopieren und einfügen oder einen Codeausschnitt verwenden. Mit diesem Code werden wichtige Variablen deklariert, die Ihr Code im weiteren Verlauf verwenden wird. Außerdem wird die Initialize()-Funktion hinzugefügt, die nach dem Laden aller clientseitigen SharePoint-Objekte aufgerufen werden soll. /* SharePoint list names */ var ProjectListName = "Projects"; /* SharePoint list field names */ var ProjectNameField = "Title"; var ProjectDescriptionField = "Description"; /* List objects */ var projectslist; /* variable to hold list items from the projects list */ var projects; /* client context object - used to access SharePoint data */ var context; /* web (SPWeb) that our page is running on */ var web; /* variable to hold modaldialog to close later */ var modaldialog; /* used when creating a new project ListItem. */ var projectlistitem; var copyofaddprojectform; /* our startup method when the page loads */ _spbodyonloadfunctionnames.push("initialize()"); Codeausschnitt: Eigene JScript-Ausschnitte spchol308_ex2_jscript 4. Die Initialize()-Funktion dient zum Abrufen des SharePoint-Objekts ClientContext, zum Laden der Projektliste und zum Initialisieren von Projekten (Projektlistenelementen). /* Initialize useful variables and retrieve ClientContext */ function Initialize() { /* Retrieves the current ClientContext object */ context = SP.ClientContext.get_current(); web = context.get_web(); // Get references to the lists we will use projectslist = web.get_lists().getbytitle(projectlistname); var camlquery = new SP.CamlQuery(); camlquery.set_viewxml('<view><query/></view>'); } projects = projectslist.getitems(camlquery); context.load(projects, 'Include(Title, Description)'); context.executequeryasync(onlistsloaded, OnError); Seite 21

5. Das onlistsloaded()-ereignis wird in der Initialize()-Funktion asynchron aufgerufen. /* Event handler called loading the projects list This method dynamically renders an HTML table to display the list data */ function onlistsloaded() { // Get the list items for the contacts list var projecttable = document.getelementbyid("tblprojectlist"); // clear out the table while (projecttable.rows.length > 0) projecttable.deleterow(projecttable.rows.length - 1); var content; var cell; var tbo = document.createelement('tbody'); // Loop for each project var listitemenumerator = projects.getenumerator(); while (listitemenumerator.movenext()) { // For each project create a row in the table var newtr = document.createelement('tr'); } var projectli = listitemenumerator.get_current(); // get_item() retrieves the listitem value var projectname = projectli.get_item(projectnamefield); var projectdesc = projectli.get_item(projectdescriptionfield); // add the cells for the row cell = document.createelement('td'); content = document.createtextnode(projectname); cell.appendchild(content); newtr.appendchild(cell); cell = document.createelement('td'); content = document.createtextnode(projectdesc); cell.appendchild(content); newtr.appendchild(cell); // Add the row to the table body tbo.appendchild(newtr); } // add the table body to the table projecttable.appendchild(tbo); Seite 22

6. Die ShowAddProject()-Funktion findet das divaddprojectelement (das später hinzugefügt wird) und zeigt es mithilfe der ModalDialog.showModalDialog()-Methode an. /* Hide the modal dialog and display the updated UI */ function onprojectadded() { HideAddProject(); } /* Show a modaldialog with the contents of divaddproject */ function ShowAddProject() { var divaddproject = document.getelementbyid("divaddproject"); // showmodaldialog removes the element passed in from the DOM // so we save a copy and add it back later copyofaddprojectform = divaddproject.clonenode(true); divaddproject.style.display = "block"; var options = { html: divaddproject, width: 200, height: 350, dialogreturnvaluecallback: ReAddClonedForm }; modaldialog = SP.UI.ModalDialog.showModalDialog(options); } /* Close the modaldialog */ function HideAddProject() { modaldialog.close(); Initialize(); } function ReAddClonedForm() { document.body.appendchild(copyofaddprojectform); } 7. Die AddProject()-Funktion erstellt ein neues Listenelement in der Projektliste. /* Called from the Add Project modal dialog Creates a list item in the Project list */ function AddProject() { var lici1 = new SP.ListItemCreationInformation(); projectlistitem = projectslist.additem(lici1); projectlistitem.set_item(projectnamefield, gettbvalue("txtprojectname")); projectlistitem.set_item(projectdescriptionfield, gettbvalue("txtdescription")); projectlistitem.update(); context.load(projectlistitem); // Execute the query to create the project list // onprojectadded is our call back method called when the call to the server has completed context.executequery(onprojectadded, OnError); } Seite 23

8. Hilfsfunktionen/Fehlerbehandlung /* Error handler */ function OnError(sender, args) { var spnerror = document.getelementbyid("spnerror"); spnerror.innerhtml = args.get_message(); } /* Helper function - shortcut to the value property of a textbox */ function gettbvalue(elid) { var el = document.getelementbyid(elid); return el.value; } 9. Fügen Sie den folgenden HTML unter dem schließenden Tag des Blocks </script> hinzu: tblprojectlist ist eine leere Tabelle, der das Skript für jedes Projekt Zeilen/Spalten dynamisch hinzufügt. Ferner gibt es einen Link zum Aufrufen von ShowAddProject(), über den ein modales Dialogfeld geöffnet wird. Das Markup in divaddproject wird in einem modalen Dialogfeld angezeigt, das dem Benutzer die Eingabe von Daten zum Erstellen eines neuen Projekts ermöglicht. <div style="font-weight: bold">project List</div> <br /> <table id="tblprojectlist" style="border: solid 1px silver"> </table> <br /> <a href="javascript:showaddproject()">add a project</a> <br /> <div id="divaddproject" style="display: none; padding: 5px"> <b>project Information</b><br /><br /> Name <br /> <input type="text" id="txtprojectname" /><br /> Description<br /> <input type="text" id="txtdescription" /><br /> <span id="spnerror" style="color: Red" /><br /> <input type="button" value="add New Project" onclick="addproject()" /> </div> Codeausschnitt: Eigene HTML-Ausschnitte spchol308_ex2_html Seite 24

Aufgabe 3: Bereitstellen und Testen des Webparts 1. Klicken Sie mit der rechten Maustaste auf den Projektknoten ScriptOMandDialog, und wählen Sie Bereitstellen aus. Abbildung 23: Bereitstellen 2. Fügen Sie nach Abschluss der Bereitstellung (Sie können den Status und seine Aktualisierung im Fenster Ausgabe verfolgen) das Webpart einer Webpartseite hinzu: 3. Öffnen Sie Internet Explorer, und navigieren Sie zu http://intranet.contoso.com. Seite 25

4. Klicken Sie auf das Symbol Bearbeiten, um das Menüband Bearbeiten einzublenden. Abbildung 24: Symbol Bearbeiten 5. Klicken Sie im Menüband Bearbeiten auf der Registerkarte Bearbeitungstools auf Einfügen. Abbildung 24: Registerkarte Text formatieren 6. Klicken Sie im Menüband Einfügen auf die Schaltfläche Webpart. 7. Wählen Sie in der Spalte Kategorien die Option Benutzerdefiniert aus. 8. Wählen Sie in der Spalte Webparts die Option ScriptOMandDialog aus. Seite 26

Abbildung 25: Einfügen des Webparts 9. Klicken Sie rechts unten im Webpartbereich auf die Schaltfläche Hinzufügen. Abbildung 26: Webpart ScriptOMandDialog Seite 27

10. Klicken Sie auf die Schaltfläche Bearbeitung beenden. 11. Sie müssen die Seite ggf. aktualisieren, damit das Webpart ScriptOMandDialog in der Liste Projekte unten angezeigt wird. 12. Klicken Sie auf den Link Projekt hinzufügen, füllen Sie die Felder Name und Beschreibung aus, und klicken Sie dann auf die Schaltfläche Add New Project. Abbildung 27: Hinzufügen eines Projekts 13. In Projektliste sollte das neue Projekt mit den angegebenen Details angezeigt werden. In den letzten Minuten haben Sie mit dem JavaScript-Clientobjektmodell gearbeitet sowie ein visuelles Webpart erstellt und bereitgestellt. Seite 28

Übungszusammenfassung In dieser praktischen Übung haben Sie die folgenden Aufgaben ausgeführt: Erstellen eines neuen leeren SharePoint 2010-Projekts Hinzufügen der Datei Elements.xml zu einem SharePoint-Projekt mit einer benutzerdefinierten Aktion zum Ergänzen des Menübands Hinzufügen des zugeordneten SharePoint-Ordners Bilder, der dem Ordner Bilder im SharePoint 2010-Verzeichnis zugeordnet ist Bereitstellen des Projekttyps Leer, der ein Feature für Ihre SharePoint-Website enthält Erstellen eines SharePoint-Projekts vom Typ Visuelles Webpart Hinzufügen von clientseitigem Skript zum Webpart zum Rendern von Listendaten Hinzufügen von clientseitigem Skript und HTML-Code zum Nutzen des Dialogfeldsystems Bereitstellen einer visuellen SharePoint-Webpartlösung Seite 29