combit List & Label 29 - .NET Hilfe
Einführung in die Programmierung / Tutorial / Web Reporting Leitfaden / Verwendung des Web Designers
In diesem Thema
    Verwendung des Web Designers
    In diesem Thema

    Der Web Designer ist eine spezielle browserunabhängige Version des Designers, die zur Gestaltung von Berichten auf einem Webserver verwendet werden kann. Dieser wird als reguläres Windows-Programm auf dem Client installiert und erscheint damit nicht als Teil der Webseite, sondern wird als eigenständiges Desktopprogramm aus Ihrer Webseite heraus gestartet.

    Soll ein Designer ohne lokale Windows Installation verwendet werden müssen, der vollständig im Browser zum Einsatz kommt, so kann hierzu der Web Report Designer verwendet werden.

    Grundkonzept/Voraussetzungen

    Einbindung

    Zur Einbindung des Web Designers in Ihre Anwendung gehen Sie wie folgt vor. Weitere Details können Sie auch den mitgelieferten Anwendungsbeispielen für ASP.NET entnehmen.

     Schritt 1: Web Designer zur Anwendung hinzufügen

    Kopieren Sie die Setupdatei des Web Designers ("LL29WebDesignerSetup.exe") in ein beliebiges Verzeichnis der Webanwendung, damit Clients diesen von dort herunterladen können. Die Setupdatei befindet sich im List & Label-Installationsverzeichnis unter "Redistribution".

    Bei der Umstellung auf eine neue List & Label Version (auch Service Packs), muss die Setupdatei des Web Designers auf dem Server aktualisiert werden. Die Clients werden dann beim nächsten Start automatisch zum Update aufgefordert.

    Fügen Sie anschließend eine Referenz auf die Assembly combit.Reporting.Web hinzu. Das Einfügen des Web Designer-Aufrufs unterscheidet sich je nach verwendetem Webframework. Sie finden den erforderlichen Code in den mitgelieferten Programmierbeispielen im List & Label Installationsverzeichnis unter ".\Beispiele\Microsoft .NET\.NET Framework 4\ASP.NET\":

    …\C#\Web Reporting Sample\Default.aspx
    …\C#\MVC Web Reporting Sample\MVC Web Reporting Sample\Views\Sample\WebDesignerLauncher.cshtml
    …\C#\MVC Web Reporting Sample\MVC Web Reporting Sample\Controllers\SampleController.cs
           
     Schritt 2: Datenprovider für Echtdatenvorschau festlegen

    Weisen Sie Ihren Datenprovider wie gewohnt dem ListLabel-Objekt bzw. der DataSource-Eigenschaft des WindowsClientWebDesignerOptions-Objekts zu. Es findet keine direkte Verbindung zwischen Web Designer und Datenquelle statt, der Web Designer kommuniziert ausschließlich über HTTP(S) mit Ihrer Webanwendung, in der ein serverseitiges Modul des Web Designers die Daten aus Ihrer Datenquelle an den Web Designer weiterleitet. Auf Seiten der Datenquelle (bzw. des Datenbankservers) sind daher keine zusätzlichen Anpassungen wie z.B. Firewall-Freigaben notwendig.

     Schritt 3: Anwendungskonfiguration erweitern

    Der neue Web Designer nutzt zur internen Verarbeitung der HTTP-Requests immer ASP.NET MVC. Es müssen daher in der Application_Start()-Funktion Ihrer Anwendung (Global.asax-Datei) die notwendigen Routen registriert werden – auch wenn Sie in Ihrer Anwendung nicht auf ASP.NET MVC setzen. Fügen Sie folgende Zeilen ein:

    WindowsClientWebDesignerConfig.RegisterRoutes(RouteTable.Routes);
    WindowsClientWebDesignerConfig.WindowsClientWebDesignerSetupFile = Server.MapPath("~/Webdesigner/LL29WebDesignerSetup.exe");
    WindowsClientWebDesignerConfig.LicensingInfo = "<ToDo: insert your license here>"
    
    WindowsClientWebDesignerConfig.RegisterRoutes(RouteTable.Routes)
    WindowsClientWebDesignerConfig.WindowsClientWebDesignerSetupFile = Server.MapPath("~/Webdesigner/LL29WebDesignerSetup.exe");
    WindowsClientWebDesignerConfig.LicensingInfo = "<ToDo: insert your license here>";
    

    Wichtig: Falls Sie selbst MVC/Web API einsetzen, muss die WindowsClientWebDesignerConfig.RegisterRoutes-Funktion unbedingt vor Ihren eigenen Routen registriert werden.

    Die zweite Anweisung legt den lokalen Dateipfad des Web Designer-Setups fest, das heruntergeladen wird falls ein Client diesen noch nicht installiert hat. Verteilen Sie das Web Designer-Setup zusammen mit Ihrer Webanwendung und passen Sie diesen Link entsprechend an.

    Zusätzlich muss unbedingt der List & Label Lizenzschlüssel (siehe auch LicensingInfo) angegeben werden.

     Schritt 4 (Empfohlen): Drilldown, Inhaltsverzeichnisse, etc. aktivieren

    Standardmäßig sind im Web Designer alle Funktionen des (Desktop-)Designers, die zusätzliche Dateien (neben dem Hauptprojekt) benötigen, deaktiviert. Dies ist der Fall, da nicht garantiert werden kann, dass die ausgewählten lokalen Dateipfade sowohl auf dem Client wie auf dem Server gültig sind. Dies betrifft beispielsweise Drilldown-Projekte, Projektbausteine, Berichtsabschnitte, nicht eingebettete Bilder und PDF-Dateien, etc.


    Diese Einschränkungen gelten nicht, wenn der Repository-Modus von List & Label verwendet wird, mit dem die Dateien von einem oder mehreren Berichten von einer Art einfachen, virtuellen Dateisystem verwaltet werden – dem sog. Repository.
    Die Verwendung des Repository-Modus von List & Label ist im Namespace combit.Reporting.Repository beschrieben. Die nachträgliche Umstellung einer Webanwendung mit List & Label auf den Repository-Modus kann aufwendig sein. Es empfiehlt sich daher, bei neuen Webanwendungen trotz der höheren Komplexität von Anfang an den Repository-Modus zu nutzen, auch wenn die ohne Repository verfügbaren Features Ihren Anforderungen zunächst genügen. Die mitgelieferten ASP.NET-Beispiele zeigen daher ausschließlich die Verwendung mit Repository. Eine exemplarische Anleitung dafür kann unter Verwenden des Repository-Modes eingesehen werden.

     Einschränkungen und Problembehandlung

    Generelle Einschränkungen im Web Designer im Vergleich zum normalen desktopbasierten Designer:

    • keine interaktiven Formelfunktionen (AskString$, AskStringChoice$, LibraryPath$, ProjectPath$, ApplicationPath$)
    • keine lokalen Dateipfade oder Formeln als Quelle für HTML-Objekte möglich
    • keine OLE-Objekte
    • keine Fax-/Mail-Funktionen
    • keine eigenen DesignerActions
    • keine selbst hinzugefügten Variablen, die ihren Wert je Seite ändern
    • keine im Callback selbst gezeichneten Objekte

    Ohne Verwendung des Repository-Modus wie in Schritt 4 (Empfohlen): Drilldown, Inhaltsverzeichnisse, etc. aktivieren weiter oben beschrieben, bestehen zusätzliche Einschränkungen im Web Designer:

    • kein Drilldown
    • keine Projektbausteine
    • keine Berichtsabschnitte (*.toc, *.gtc, *.idx) und Unterberichte
    • Bilder und PDF-Dateien müssen in die Projektdatei eingebettet werden
    • keine externen Shapefiles

    Ältere Versionen des IIS können Probleme mit dem MVC-Framework haben. Versuchen Sie dann in der Datei web.config unter system.webServer\handlers folgende Einträge hinzuzufügen:

    ...
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*."
    verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
    modules="IsapiModule"
    scriptProcessor="windir\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
    preCondition="classicMode,runtimeVersionv4.0,bitness32"
    responseBufferLimit="0" />
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*."
    verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
    modules="IsapiModule"
    scriptProcessor="windir\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
    preCondition="classicMode,runtimeVersionv4.0,bitness64"
    responseBufferLimit="0" />
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*."
    verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
    type="System.Web.Handlers.TransferRequestHandler"
    preCondition="integratedMode,runtimeVersionv4.0" />
    ...