Importieren von SharePoint 2010-Websitedefinitionen in Visual Studio 2010

SharePoint-Videotutorial

Zusammenfassung:  Informationen zum Importieren einer Microsoft SharePoint 2010-Websitedefinition mithilfe von Microsoft Visual Studio 2010 und Microsoft SharePoint Designer 2010.

Letzte Änderung: Mittwoch, 12. September 2012

Gilt für: Office 2010 | SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2008 | Visual Studio 2010

Autor:  Ben Hedges, Point8020

Übersicht

Microsoft Visual Studio 2010 stellt einen Projekttyp bereit, der das Importieren einer Websitedefinition und das Hinzufügen von Code ermöglicht. Sie können diese Websitedefinition anschließend dem SharePoint-Lösungskatalog hinzufügen und basierend auf der Websitedefinition neue Websites erstellen.

Code schreiben

In diesem Microsoft SharePoint-Videotutorial werden die folgenden Schritte zum Importieren einer Websitedefinition in Microsoft SharePoint 2010 beschrieben:

  • Erstellen einer leeren Website in SharePoint 2010

  • Bearbeiten der leeren Website in Microsoft SharePoint Designer 2010

  • Speichern der geänderten Website als SharePoint-Vorlage

  • Exportieren der SharePoint-Lösungspaketvorlage (WSP-Datei) aus SharePoint 2010 auf die Festplatte

  • Öffnen der WSP-Datei in Visual Studio zwecks Anpassung

  • Hinzufügen eines Webparts zur Lösung

  • Hochladen der angepassten WSP-Datei in den SharePoint-Lösungskatalog und Erstellen einer neuen Website basierend auf der angepassten Lösung

So erstellen Sie in SharePoint 2010 eine leere Website

  1. Öffnen Sie die standardmäßige SharePoint-Website.

  2. Klicken Sie im Menü Websiteaktionen auf Neue Website.

  3. Klicken Sie im Dialogfeld Neue Website auf Leere Website.

  4. Geben Sie BlankTemplate in das Feld Titel ein.

  5. Geben SieBlankTemplate in das Feld URL-Name ein, und klicken Sie dann auf Erstellen.

So öffnen Sie die Website in SharePoint Designer

  1. Klicken Sie im Menü Websiteaktionen auf In SharePoint Designer bearbeiten.

  2. Klicken Sie in SharePoint Designer 2010 im Navigationsmenü auf Listen und Bibliotheken.

  3. Klicken Sie auf dem Menüband auf Dokumentbibliothek und dann in der Dropdownliste auf Dokumentbibliothek.

  4. Geben Sie Resumes in das Feld Name ein, und klicken Sie dann auf OK.

  5. Vergewissern Sie sich in Dokumentbibliotheken, dass Resumes ausgewählt ist, und klicken Sie dann auf dem Menüband auf Spalten bearbeiten.

  6. Klicken Sie auf dem Menüband auf Neue Spalte hinzufügen und dann in der Dropdownliste auf Ja/Nein (Kontrollkästchen).

  7. Geben Sie in das Feld Spaltenname die Bezeichnung Interviewed ein, und drücken Sie dann die EINGABETASTE.

  8. Klicken Sie über dem Menüband auf die SchaltflächeSpeichern.

  9. Klicken Sie links auf dem Bildschirm im Navigationsmenü auf BlankTemplate.

  10. Klicken Sie auf dem Menüband auf Als Vorlage speichern. Die SharePoint-Website wird geöffnet.

  11. Geben Sie MasterTemplate in das Feld Dateiname ein.

  12. Geben Sie MasterTemplate in das Feld Vorlagenname ein.

  13. Aktivieren Sie das Kontrollkästchen Inhalte einschließen, und klicken Sie dann auf OK.

  14. Klicken Sie im Meldungsfeld Vorgang erfolgreich ausgeführt auf OK.

So exportieren Sie die Websitedefinitionsdatei

  1. Öffnen Sie in Ihrem Webbrowser die Stammwebsite.

  2. Klicken Sie im Menü Websiteaktionen auf Websiteeinstellungen.

  3. Klicken Sie auf der Seite Websiteeinstellungen im Abschnitt Galerien auf Lösungen.

  4. Klicken Sie in der Liste Lösung auf MasterTemplate und dann auf Speichern.

  5. Geben Sie C:\temp als Downloadspeicherort der WSP-Datei an, und klicken Sie dann auf Speichern. Schließen Sie das Downloaddialogfeld.

So öffnen Sie die WSP-Datei in Visual Studio

  1. Zeigen Sie in Visual Studio 2010 im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Klicken Sie im Abschnitt Installierte Vorlagen auf Visual Basic oder Visual C#, dann auf SharePoint und schließlich auf 2010.

  3. Klicken Sie im Bereich Vorlagen auf SharePoint-Lösungspaket importieren.

  4. Geben Sie Recruitment in das Feld Name ein.

  5. Geben Sie C:\temp in das Feld Speicherort ein, und klicken Sie dann auf OK.

  6. Wählen Sie im Assistenten zum Anpassen von SharePoint die Zielwebsite aus.

  7. Klicken Sie auf der SeiteWie lautet die Vertrauensebene für diese SharePoint-Lösung? auf Als Sandkastenlösung bereitstellen und dann auf Weiter.

  8. Klicken Sie auf der Seite Wie lautet der Pfad für das vorhandene Lösungspaket? auf Durchsuchen, wählen Sie die zuvor gespeicherte Datei MasterTemplate.wsp aus, klicken Sie auf Öffnen und danach auf Weiter.

  9. Klicken Sie auf der Seite Zu importierende Elemente auswählen auf Fertig stellen.

  10. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt Recruitment , zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element.

  11. Klicken Sie im Dialogfeld Neues Element hinzufügen auf Webpart.

  12. Geben Sie InterviewStatus in das Feld Name ein, und klicken Sie dann auf OK.

  13. Ersetzen Sie in der Datei InterviewStatus die geschützte CreateChildControls()-Überschreibungsmethode durch den folgenden Code.

    Protected Overrides Sub CreateChildControls()
        Try
            Dim thisWeb As SPWeb = SPContext.Current.Web
            Dim resumes As SPList = thisWeb.Lists("Resumes")
            Dim interviewedQuery As SPQuery = New SPQuery()
            Dim itemsReturned As SPListItemCollection
            Dim interviewedYes As Integer = 0
            Dim interviewedNo As Integer = 0
            interviewedQuery.ViewFields = "<FieldRef Name='Interviewed'/>"
            interviewedQuery.ViewFieldsOnly = True
            interviewedQuery.Query = "<Where><Eq><FieldRef Name='Interviewed'/>" _
                + "<Value Type='Boolean'>1</Value></Eq></Where>"
            itemsReturned = resumes.GetItems(interviewedQuery)
            interviewedYes = itemsReturned.Count
            interviewedQuery = New SPQuery()
            interviewedQuery.ViewFields = "<FieldRef Name='Interviewed'/>"
            interviewedQuery.ViewFieldsOnly = True
            interviewedQuery.Query = "<Where><Eq><FieldRef Name='Interviewed'/>" _
                + "<Value Type='Boolean'>0</Value></Eq></Where>"
            itemsReturned = resumes.GetItems(interviewedQuery)
            interviewedNo = itemsReturned.Count
    
            If ((interviewedNo + interviewedYes) > 0) Then
                Me.Controls.Add(New LiteralControl( _
                "<H2>Interview Progress</H2><BR>Applicants that have been interviewed:" _
                 & (interviewedYes / (interviewedYes + interviewedNo)) * 100 & " %"))
            Else
                Me.Controls.Add(New LiteralControl( _
                "<H2>Interview Progress</H2><BR>No Resumes have been added."))
            End If
        Catch ex As Exception
            Me.Controls.Add(New LiteralControl("Error: " + ex.Message))
        End Try
    End Sub
    protected override void CreateChildControls()
    {
        try
        {
            SPWeb thisWeb = SPContext.Current.Web;
            SPList resumes = thisWeb.Lists["Resumes"];
            SPQuery interviewedQuery = new SPQuery();
            SPListItemCollection itemsReturned;
            int interviewedYes = 0;
            int interviewedNo = 0;
    
            interviewedQuery.ViewFields = "<FieldRef Name='Interviewed'/>";
            interviewedQuery.ViewFieldsOnly = true;
            interviewedQuery.Query = 
            "<Where><Eq><FieldRef Name='Interviewed'/><Value Type='Boolean'>1</Value></Eq></Where>";
            itemsReturned = resumes.GetItems(interviewedQuery);
            interviewedYes = itemsReturned.Count;
            interviewedQuery = new SPQuery();
            interviewedQuery.ViewFields = "<FieldRef Name='Interviewed'/>";
            interviewedQuery.ViewFieldsOnly = true;
            interviewedQuery.Query = 
            "<Where><Eq><FieldRef Name='Interviewed'/><Value Type='Boolean'>0</Value></Eq></Where>";
            itemsReturned = resumes.GetItems(interviewedQuery);
            interviewedNo = itemsReturned.Count;
    
            if ((interviewedNo + interviewedYes) > 0)
            {
                this.Controls.Add(new LiteralControl(
                "<H2>Interview Progress</H2><BR>Applicants that have been interviewed:"
                  + ((double)interviewedYes / (interviewedYes + interviewedNo)) * 100 + " %"));
            }
            else
            {
                this.Controls.Add(new LiteralControl(
                "<H2>Interview Progress</H2><BR>No Resumes have been added."));
            }
        }
        catch (Exception ex)
        {
            this.Controls.Add(new LiteralControl("Error: " + ex.Message));
        }
    }
  14. Erweitern Sie im Projektmappen-Explorer den Knoten InterviewStatus, und öffnen Sie dann die Datei Elements.xml.

  15. Ändern Sie in der Datei Elements.xml das URL-Attribut in InterviewStatus.SummaryPart.

  16. Ändern Sie in der Datei Elements.xml im Eigenschaftselement das Value-Attribut in Recruitment.

    Die Datei Elements.xml sollte so aussehen.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/" >
        <Module Name="InterviewStatus" List="113" Url="_catalogs/wp">
            <File Path="InterviewStatus\InterviewStatus.webpart" 
            Url="InterviewStatus.Summarypart" Type="GhostableInLibrary">
            <Property Name="Group" Value="Recruitment" />
            </File>
        </Module>
    </Elements>
  17. Klicken Sie auf der Symbolleiste auf Speichern.

  18. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt Recruitment, und klicken Sie dann auf Paket.

So laden Sie die WSP-Datei in einen SharePoint-Katalog hoch

  1. Öffnen Sie die SharePoint-Stammwebsite.

  2. Klicken Sie im Menü Websiteaktionen auf Websiteeinstellungen.

  3. Klicken Sie auf der Seite Websiteeinstellungen im Abschnitt Galerien auf Lösungen.

  4. Aktivieren Sie das Kontrollkästchen MasterTemplate, und klicken Sie dann auf dem Menüband auf Deaktivieren.

  5. Klicken Sie im Dialogfeld auf Deaktivieren.

  6. Aktivieren Sie das Kontrollkästchen MasterTemplate, und klicken Sie dann auf dem Menüband auf Löschen. Klicken Sie auf OK.

  7. Klicken Sie auf dem Menüband auf Lösung hochladen.

  8. Wechseln Sie zum Ordner Bin\Debug Ihres Pakets, z. B. C:\temp\recruitment\recruitment\bin\debug.

  9. Klicken Sie auf Recruitment.wsp und dann auf Öffnen.

  10. Klicken Sie im Dialogfeld Dokument hochladen auf OK.

  11. Klicken Sie im Dialogfeld Lösung aktivieren auf Aktivieren.

So stellen Sie das Projekt bereit

  1. Klicken Sie im Menü Websiteaktionen auf Neue Website.

  2. Klicken Sie in der Vorlagenliste auf MasterTemplate.

  3. Geben Sie Recruitment in das Feld Titel ein.

  4. Geben Sie Recruitment in das Feld URL ein, und klicken Sie dann auf Erstellen.

  5. Klicken Sie im Menü Schnellstart auf Resumes.

  6. Klicken Sie in der Dokumentbibliothek Resumes auf Dokument hinzufügen, wechseln Sie zu einem hochzuladenden Dokument, und klicken Sie dann auf Öffnen. Klicken Sie auf OK.

  7. Geben Sie im Dialogfeld einen Titel für den Lebenslauf ein, und aktivieren Sie das Kontrollkästchen Interviewed, um anzugeben, dass diese Person interviewt wurde. Klicken Sie auf Speichern.

  8. Fügen Sie ein weiteres Dokument hinzu, aber ohne diesmal das Kontrollkästchen Interviewed zu aktivieren.

  9. Klicken Sie auf dem Menüband auf die Registerkarte Durchsuchen, und klicken Sie dann auf der Breadcrumb-Leiste auf Recruitment.

  10. Klicken Sie auf dem Menüband auf die Registerkarte Seite und dann auf Seite bearbeiten.

  11. Klicken Sie auf den Webseitenbereich Links.

  12. Klicken Sie auf dem Menüband auf die Registerkarte Einfügen und dann auf Webpart.

  13. Klicken Sie im Abschnitt Kategorien auf Recruitment.

  14. Klicken Sie im Abschnitt Webparts auf InterviewStatus.Summarypart und dann im Bereich Informationen zum Webpart auf Hinzufügen.

  15. Klicken Sie auf dem Menüband auf die Registerkarte Seite und dann auf Bearbeitung beenden.

    Das Webpart wird auf der Seite angezeigt.

Lesen

In diesem SharePoint-Videotuturial werden die folgenden Aufgaben veranschaulicht:

  • Erstellen einer leerenSharePoint 2010-Website als Unterwebsite der SharePoint-Hauptwebsite. Diese Website wird in SharePoint Designer 2010 zwecks Anpassung geöffnet.

  • Bearbeiten der Website in SharePoint Designer und Erstellen einer neuen Dokumentbibliothek für die Lebensläufe von Bewerbern. Der neuen Dokumentbibliothek wurde eine Spalte vom Typ Ja/Nein hinzugefügt, um anzugeben, ob der Bewerber, der den Lebenslauf vorgelegt hat, interviewt wurde.

  • Speichern der geänderten Website als Vorlage in SharePoint Designer.

  • Auffinden der geänderten Vorlage in SharePoint durch Klicken auf Websiteeinstellungen, Galerien und Lösungen. Die Vorlage wird als WSP-Datei gespeichert.

  • Öffnen und Anpassen der WSP-Datei in Visual Studio 2010.

  • Hinzufügen eines Webparts zum Paket, das eine Collaborative Application Markup Language (CAML)-Abfrage zum Bestimmen der Anzahl der Lebensläufe verwendet, die in einem Interview resultierten oder nicht. Die Ergebnisse werden auf einem Literalsteuerelement als Prozentsatz angezeigt.

  • Speichern der Lösung als WSP-Datei in Visual Studio 2010.

  • Hochladen der neuen Vorlage und Entfernen der vorhandenen Vorlagen.

  • Erstellen einer neuen Website basierend auf der angepassten Websitevorlage Recruitment .

  • Hochladen von Dokumenten in die Dokumentbibliothek Recruitment und entsprechendes Festlegen der Spalte Interviewed.

  • Bearbeiten einer Seite und Auswählen des Webparts, das in Visual Studio 2010 dem Paket hinzugefügt wurde.

Anzeigen

Video ansehen

Video anschauen (00:06:01)

Klicken Sie hier, um den Code abzurufen

Code abrufen

Erforschen

Informationen zum Autor

Ben Hedges ist Senior Vice President, Research and Development, bei Point8020. Ben erstellt vor allem Modelle für Lösungen in den Bereichen Talentmanagement, Kompatibilität und Bildung und Entwicklung in SharePoint. Ben besitzt umfangreiche Erfahrungen bei der Erfüllung von Kundenanforderungen mithilfe von Microsoft-Technologien.