Es gibt zwei Implementierungen des Ad-hoc-Berichtsclients:
Dieses Kapitel beschreibt die gebräuchlichsten Verwendungen der Ad-hoc-Berichterstellungskunden.
Die Verwendung von Ad-hoc-Berichten als Modul in der Remote-Oberfläche von INETAPP ist die primäre Verwendungsart. Hierfür wird das Plugin in der Konfiguration aktiviert und und im Konfigurationsmanager des Servers eingestellt. Weitere Einzelheiten zum Einrichten der Konfiguration finden Sie im Kapitel Configuration.
Das Ad-hoc-Berichtsmodul der Web-Oberfläche kann in eine bestehende Website eingebettet werden. Der eingebettete Modus blendet die globale Symbolleiste der Web-Oberfläche aus, um sicherzustellen, dass nur der Modulinhalt sichtbar ist.
Aufgrund des notwendigen HTML-Inhalts muss ein iframe
verwendet werden. Der folgende Code ist ein Beispiel für die Einbettung des Moduls, das auf einem Server <host>
mit dem Anwendungskontext <context>
läuft.
<iframe src="https://<host>/<context>/adhoc/?embedded=true" width="800" height="600"></iframe>
Wenn die Authentifizierung auf dem INETAPP Server aktiviert ist, ist es möglich, die Funktion Gastkonto zu verwenden. Damit kann jeder Benutzer mit dem konfigurierten Kontonamen angemeldet werden. Der Benutzer muss also keinen Benutzernamen und kein Passwort eingeben, sondern ist mit einem Konto angemeldet, dessen Rechte verwaltet werden können.
Der Swing-Client der Ad-hoc-Berichterstellung basiert auf einem JPanel
, das leicht in jede Java Swing-Anwendung eingebettet werden kann.
Sie haben die Wahl, entweder den Client mit Report-Viewer zu verwenden, der durch die Klasse com.inet.adhoc.client.AHClient
repräsentiert wird, oder nur die reine Wizard-Komponente zu verwenden, die com.inet.adhoc.client.AHWizard
ist.
Die Verwendung des Clients mit dem Report-Viewer ist eine "out of the box"-Lösung mit einer Einschränkung: Die Klasse AHClient
hat keine Funktion, um die generierte Engine oder den generierten Report programmatisch zurückzugeben. Sie soll nur als Berichtsgenerator für den Benutzer dienen.
Um den AHClient
zu verwenden, instanziieren Sie einfach die Klasse mit der URL zu Ihrem Server und fügen Sie sie in den Komponentenbaum Ihrer Java Swing-Anwendung ein.
AHClient client = new AHClient( serverURL, ahHelpProvider );
Der Parameter AHHelpProvider
kann auf null
gesetzt werden. In diesem Fall wird der Client versuchen, die Hilfeseiten durch die serverURL
aufzulösen und die Seiten im Standardbrowser zu öffnen.
Der AHWizard
enthält nur die Seiten zur Ad-hoc-Berichtserstellung. Er enthält keine Render-Komponente wie der Swing-Berichtsviewer des AHClients
. Andererseits ist er besser anpassbar, da Sie seine Konfiguration ändern und benutzerdefinierte Request-Handler für die Verbindung mit mehreren Servern gleichzeitig einstellen können.
Da auf die Request-Handler zugegriffen werden kann, haben Sie die Möglichkeit, die generierte Engine vom Server anzufordern, indem Sie die folgende Anfrage senden:
IResponse response = requestHandler.handleRequest( request, false ); XMLSerializableByteArray engineData = (XMLSerializableByteArray)response.getProperties().get( AHConstants.KEY_ENGINE_DATA ); if( engineData != null ){ return RDC.loadEngine( new URL( "file:/"), new ByteArrayInputStream( engineData.getValue() ), Engine.EXPORT_DATA, null ); }
Diese Art der Einbettung wird auch für den i-net Designer verwendet.