Gewusst wie: Überprüfen einer Formularvorlage vor der Bereitstellung

Letzte Änderung: Dienstag, 6. Juli 2010

Gilt für: SharePoint Server 2010

Browserkompatible InfoPath-Formularvorlagen können überprüft werden, bevor sie auf einem Server mit InfoPath Forms Services bereitgestellt werden. Durch das Überprüfen einer Formularvorlage können Sie sicherstellen, dass Probleme mit der Bereitstellung schon im Vorfeld behoben werden können. Ähnlich wie bei Verwendung der Option Auf dem Server überprüfen im Aufgabenbereich Designdetektiv auf der InfoPath-Entwurfsoberfläche kann die Überprüfung über die Website SharePoint 2010-Zentraladministration oder mithilfe von Code durch Verwenden der VerifyFormTemplate-Methode der FormTemplateCollection()-Klasse durchgeführt werden.

So überprüfen Sie eine Formularvorlage mithilfe der SharePoint-Website für die Zentraladministration

  1. Bereiten Sie mithilfe des Veröffentlichen-Assistenten eine Formularvorlage, die vom Administrator genehmigt werden muss, für die Veröffentlichung vor. Eine Anleitung dazu finden Sie im ersten Verfahren unter Vorgehensweise: Bereitstellen von Formularvorlagen mit Formularcode, der volle Vertrauenswürdigkeit erfordert.

  2. Öffnen Sie die Website SharePoint 2010-Zentraladministration.

    HinweisHinweis

    Zum Ausführen dieser und der weiteren Schritte müssen Sie ein Mitglied der Gruppe der Farmadministratoren sein.

  3. Klicken Sie unter Allgemeine Anwendungseinstellungen auf den Link Formularvorlagen verwalten.

  4. Klicken Sie am oberen Seitenrand auf den Link Formularvorlage hochladen.

  5. Klicken Sie auf die Schaltfläche Durchsuchen, um ein Dialogfeld zu öffnen, und geben Sie den Pfad zu der veröffentlichten Formularvorlage ein.

  6. Klicken Sie auf die Schaltfläche Überprüfen, um sicherzustellen, dass die Formularvorlage bereit zum Hochladen auf den Server ist.

So überprüfen Sie eine Formularvorlage mithilfe der VerifyFormTemplate-Methode der FormCollection-Klasse

  1. Bereiten Sie mithilfe des Veröffentlichen-Assistenten eine Formularvorlage, die vom Administrator genehmigt werden muss, für die Veröffentlichung vor. Eine Anleitung dazu finden Sie im ersten Verfahren unter Vorgehensweise: Bereitstellen von Formularvorlagen mit Formularcode, der volle Vertrauenswürdigkeit erfordert.

  2. Öffnen Sie Visual Studio.

    HinweisHinweis

    Zum Ausführen dieser Schritte muss Visual Studio auf einem Computer mit InfoPath Forms Services installiert sein.

  3. Erstellen Sie entweder in Visual Basic oder in Visual C# eine neue Konsolenanwendung.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf Verweis hinzufügen.

  5. Wählen Sie auf der Registerkarte .NET des Dialogfelds Verweis hinzufügen die Option Microsoft SharePoint Foundation aus, und klicken Sie dann auf OK. (Falls Microsoft SharePoint Foundation nicht auf der Registerkarte .NET verfügbar ist, wechseln Sie auf der Registerkarte Durchsuchen zu C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\, wählen Sie die Assembly Microsoft.SharePoint.dll aus, und klicken Sie dann auf OK.

  6. Wiederholen Sie Schritt 3, und klicken Sie im Dialogfeld Verweis hinzufügen auf die Registerkarte Durchsuchen.

  7. Wechseln Sie auf der Registerkarte Durchsuchen des Dialogfelds Verweis hinzufügen zu C:\Program Files\Microsoft Office Servers\14.0\Bin\, wählen Sie die Assembly Microsoft.Office.InfoPath.Server.dll aus, und klicken Sie dann auf OK.

  8. Kopieren Sie das folgende Codebeispiel in der Programmiersprache, die Sie in Schritt 2 ausgewählt haben, und fügen Sie es in das Codefenster ein.

  9. Ändern Sie die SolutionPath-Variable auf einen Speicherort, an dem Sie eine Formularvorlage zur Genehmigung durch den Administrator veröffentlicht haben.

  10. Speichern Sie das Projekt, und drücken Sie F5, um den Code zu debuggen und auszuführen.

Die Anzahl der Konvertermeldungen und etwaige zusätzliche Meldungen werden in einem Konsolenfenster angezeigt.

Beispiel

In den folgenden Codebeispielen wird die VerifyFormTemplate-Methode verwendet, um etwaige Konvertermeldungen in einem Konsolenfenster anzuzeigen. Der Speicherort der Formularvorlage wird in der SolutionPath-Variablen gespeichert und sollte in den Pfad der zu überprüfenden Formularvorlage geändert werden.

Imports Microsoft.SharePoint.Administration
Imports Microsoft.Office.InfoPath.Server.Administration

Module Module1

    Sub Main()
        Dim LocalFormsService As FormsService
        Dim LocalFarm As SPFarm
        Dim SolutionPath As String = "C:\FormTemplates\FormTemplate.xsn"
        Dim VerifyMessages As New ConverterMessageCollection
        Dim ConverterMsg As ConverterMessage
        Try
            LocalFarm = SPFarm.Local
            LocalFormsService = LocalFarm.Services.GetValue(Of FormsService)(FormsService.ServiceName)
            VerifyMessages = FormTemplateCollection.VerifyFormTemplate(SolutionPath)
            Console.WriteLine("# of messages: " + VerifyMessages.Count.ToString())
            For Each ConverterMsg In VerifyMessages
                Console.WriteLine(ConverterMsg.ShortMessage.ToString() & ": " & ConverterMsg.DetailedMessage.ToString())
            Next
            Console.Write("Press Enter to Continue")
            Console.ReadLine()
        Catch ex As Exception
            Console.WriteLine("Error: " + ex.Message)
            Console.Write("Press Enter to Continue")
            Console.ReadLine()
        End Try

    End Sub

End Module
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.Office.InfoPath.Server.Administration;

namespace VerifyFormTemplate
{
    class Program
    {
        static void Main(string[] args)
        {
            FormsService localFormsService;
            SPFarm localFarm = SPFarm.Local;
            string solutionPath = "C:\\FormTemplates\\FormTemplate.xsn";
            ConverterMessageCollection verifyMessages;
            try
            {
                localFormsService = localFarm.Services.GetValue<FormsService>(FormsService.ServiceName);
                verifyMessages = FormTemplateCollection.VerifyFormTemplate(solutionPath);
                Console.WriteLine("# of messages: " + verifyMessages.Count.ToString());
                foreach (ConverterMessage convMessage in verifyMessages)
                {
                    Console.WriteLine(convMessage.ShortMessage.ToString() + ": " + convMessage.DetailedMessage.ToString());
                }
                Console.Write("Press Enter to Continue");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
                Console.Write("Press Enter to Continue");
                Console.ReadLine();
            }
        }
    }
}

Siehe auch

Aufgaben

Vorgehensweise: Überprüfen eines Batches von Formularvorlagen