Handbuch FTAPI® Starter / Professional Edition Version

Werbung
Handbuch
FTAPI® Starter / Professional Edition
Version 1.1.4
Q3 / 2011
FTAPI® Software UG (haftungsbeschränkt) Heßstraße 89 80797 München Ticketing‐System: http://support.ftapi.com E‐Mail: [email protected] Tel.: +49 (0)89 / 1265 3105 Webseite: www.ftapi.com
Handbuch
FTAPI 1.1.4
Inhaltsverzeichnis
1. FTAPI Handbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Apache Tomcat als Windows Dienst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 DNS-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Datenablage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3.1 Metadaten (Datenbank) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3.2 Binärdaten (Storage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 Staging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.5 Pfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.6 Rollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.7 Applet Konfigurationsmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.8 HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.8.1 Redirect HTTP zu HTTPS einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Web-Interface (WebUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 LDAP und Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 SubmitBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Download Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Web-Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8 E-Mail Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9 Benutzer importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10 FTAPI Client - BETA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11 Action Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12 Serverseitiges Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13 FTAPI REST Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14 Tools und Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.1 FTAPI Ant Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15 ChangeLog 1.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16 FAQ (1.1.4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
4
5
6
8
10
10
13
15
16
16
17
21
24
25
30
37
38
39
39
40
40
43
43
46
63
63
68
69
FTAPI Handbuch
Diese Dokumentation bezieht sich auf die Versionen FTAPI Starter, Professional und Enterprise 1.1.4 und ist vor allem für
Administratoren und Integratoren des Systems bestimmt.
Falls bestimmte Bereiche nicht für alle drei genannten Versionen gültig sind, ist dies zu deren Beginn vermerkt!
Installation
Nachfolgend erfahren Sie, wie Sie in wenigen Schritten FTAPI für einen ersten Testlauf installieren und konfigurieren können.
Voraussetzungen
Um den FTAPI Server betreiben zu können, benötigen Sie einen entsprechend leistungsfähigen Rechner.
Unsere minimale Empfehlung liegt bei mind. 2 Ghz Prozessor, mind. 2 GB freier RAM und mind. 50 GB freier Festplattenspeicher, sowie
einer ausreichend schnellen Netzwerkanbindung.
Darüber hinaus müssen Sie sicherstellen, dass auf dem Server die Java Version 1.6 oder höher (JRE ist ausreichend) installiert haben.
Diese Information können Sie durch Eingabe des folgenden Befehls in Ihre Konsole/Terminal ermitteln:
java -version
Anschließend sollten Sie eine Ausgabe ähnlich der folgenden erhalten:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
Sollte Sie eine Java Version kleiner als 1.6 installiert haben oder der Befehl nicht gefunden werden, dann installieren Sie bitte eine aktuelle
Java-Version auf ihrem System. Diese können Sie kostenlos unter folgender URL beziehen:
JRE unter http://www.java.com oder http://java.sun.com/j2se
Java JDK unter http://www.oracle.com/technetwork/java/javase
OpenJDK
Die Java-Variante OpenJDK reicht für den Betrieb von FTAPI nicht aus!
Proxy-Server
Der Betrieb mit einem Proxy-Server ist nicht empfohlen; richten Sie bitte für Ihre FTAPI URL eine Proxy-Ausnahme ein.
Hinterlegen Sie hierzu eine Ausnahme für ftapi.ihre-domain.com* in Ihren Gruppenrichtlinien. Details entnehmen Sie
unseren FAQs.
Schritt 1 - Entpacken und installieren
Nachdem Sie das FTAPI-Software-Paket heruntergeladen haben, entpacken Sie dieses bitte zunächst in ein Verzeichnis Ihrer Wahl.
Nun sollten Sie im entpackten FTAPI Software Paket unter anderem das Verzeichnis "ftapi-server" vorfinden.
Schritt 2 - Server starten
Wechseln Sie in das Verzeichnis "ftapi-server". In diesem Verzeichnis befindet sich eine gebündelte Version von FTAPI mit dem
Servlet-Container Apache Tomcat. Starten Sie nun direkt FTAPI, indem sie einfach das Skript ftapi-start.bat (unter Windows) bzw.
ftapi-start.sh (unter Linux) ausführen.
© FTAPI Software UG (2011), Seite 2
FTAPI-Server auf Linux ausführen
Im Terminal/Konsole die Berechtigungen der folgenden Dateien und Ordner mit chmod +x auf "ausführbar" setzen
/ftapi-server/ftapi-start.sh und ftapi-stop.sh
/ftapi-server/bin/*.sh
Eine spezielle Anleitung zum Einrichten unter Linux mittels einer grafischen Oberfläche finden Sie in unseren FAQs!
FTAPI-Server Neustart
Für einen Server-Neustart müssen Sie diesen zuvor über die Datei ftapi-stop.bat (unter Windows) bzw. ftapi-stop.sh (unter
Linux/Mac) herunterfahren, oder das Tomcat-Eingabeaufforderungsfenster (unter Windows) einfach schließen. Erst
nachdem der Server vollständig gestoppt wurde, kann dieser (wie zu Beginn von Schritt 2 erläutert) neu gestartet werden.
FTAPI ohne Tomcat
FTAPI wird zwar mit dem Servlet-Container Apache Tomcat ausgeliefert, allerdings können Sie FTAPI auch in einem
anderen Servlet-Container betreiben. Kopieren Sie hierfür einfach die Datei ftapi-server/webapps/ftapi-server.war in Ihren
gewünschten Servlet-Container. FTAPI wurde derzeitig nur auf Apache Tomcat ausführlich getestet. Für die Lauffähigkeit
auf anderen Servlet-Containern kann keine Garantie übernommen werden.
Schritt 3 - Browser starten
Nachdem der Server erfolgreich gestartet wurde, öffnen Sie Ihren Web-Browser und geben Sie die Adresse http://localhost:8080/ftapi-server
ein und folgen Sie den dortigen Anweisungen:
SMTP-Sever konfigurieren
Öffnen Sie die Datei .ftapi/config/server-production.properties und suchen Sie darin nach folgendem Eintrag:
ftapi.email.charset=ISO-8859-1
ftapi.email.from.address=notify@localhost
ftapi.email.from.name=notify@localhost
ftapi.email.smtp.host=
ftapi.email.smtp.port=25
ftapi.email.smtp.username=
ftapi.email.smtp.password=
ftapi.email.smtp.useSSL=false
ftapi.email.smtp.useTLS=false
Geben Sie hier bitte die Einstellungen zu Ihrem E-Mail-Server ein und speichern Sie anschließend die Datei.
Versteckte Ordner unter Linux
Der Ordner .ftapi wird in Linuxumgebungen als versteckter Ordner behandelt.
Die Anzeige versteckter Ordner kann im Dateibrowser in den Einstellungen aktiviert werden.Mehr hierzu in der speziellen
Anleitung zum Einrichten unter Linux finden Sie in unseren FAQs!
Basis-URL konfigurieren (optional)
Sollte Sie FTAPI nur lokal testen wollen, so müssen Sie diese Einstellung nicht durchführen. Möchten Sie allerdings mit FTAPI auch an
andere Empfänger Pakete versenden und diesen den Zugriff auf das FTAPI-System ermöglichen, so müssen Sie zusätzlich noch die
Basis-URL einstellen, welche Sie ebenfalls in der Konfigurationsdatei server-production.properties vorfinden:
ftapi.base.url=http://localhost:8080/ftapi-server
Ändern Sie diese URL auf diejenige URL ab, unter welcher Ihr FTAPI-Server "von außen" erreichbar ist. Beispiel:
http://www.ihre-domain.com:8080/ftapi-server.
© FTAPI Software UG (2011), Seite 3
Wie Ihre Basis-URL lautet, hängt davon ab, wie Sie FTAPI in Ihr Netzwerk eingebunden haben. Darüber hinaus kann es
auch notwendig werden, den Port 8080 entsprechend anzupassen. Diese Einstellungen können Sie in der Datei
ftapi-server/conf/server.xml vornehmen. Für tiefergehende Informationen zu dieser Konfigurationsdatei werfen Sie bitte
einen Blick in die offizielle Apache Tomcat Dokumentation: http://tomcat.apache.org/tomcat-6.0-doc/index.html
Beachten Sie, dass Sie Ihre Firewall ggfs. für einen anderen Port einstellen müssen, damit dieser von extern erreichbar ist!
Storage-Größe konfigurieren (optional)
Im Auslieferungszustand ist FTAPI in der Konfigurationsdatei server-production.properties auf 10GB maximales Speichervolumen eingestellt.
Sie können diesen Wert- je nach Ihren Gegebenheiten - beliebig anpassen oder mit "-1" auf unendlich setzen:
# The max size of all files together in this storage
Default: 10240000000 (10GB), For no quota at all set to: \-1
ftapi.storage.quota=10240000000
Merh Details hierzu erfahren Sie im Bereich der Konfiguration unter Binärdaten (Storage)!
Lizenzdatei aktivieren und -bedingungen zustimmen
Wählen Sie im Dialog die Lizenzdatei aus, welche Sie vom FTAPI Vertrieb erhalten haben und aktivieren Sie diese, indem Sie auf den
Button "Lizenzdatei laden" drücken.
Nach dem Laden Ihrer Lizenzdatei werden Sie im nächsten Schritt aufgefordert, die angezeigten Lizenzbedingungen (Disclaimer) zu
akzeptieren, um das FTAPI System verwenden zu dürfen.
Schritt 4 - Erstmaliger Login
Starten Sie zum Einlesen der E-Mail Konfiguration den FTAPI Server neu (siehe Schritt 2. - Server starten)
Nach der Konfiguration Ihres SMTP-Servers und dem Aktivieren Ihrer vom FTAPI Vertrieb zugesandten Lizenzdatei, stehen Sie auf der
FTAPI Login-Seite.
Für Ihren erstmaligen Login verwenden Sie bitte die folgenden Daten:
Benutzername: admin
Passwort:
admin
Bitte ändern Sie im Anschluß direkt das Administratorpasswort über die Benutzereinstellungen (Zahnradsymbol rechts
oben oder über Benutzer-Tab)!
Apache Tomcat als Windows Dienst
Apache Tomcat als Windows Dienst betreiben
Die wichtigsten Vorteile von Tomcat als Windows Dienst sind
Reduziertes Risiko eines Versehentlichen Schließens der FTAPI Tomcat Instanz;
wenn Sie Tomcat manuell starten, öffnet sich ein Konsolenfenster welches dauerhaft offen bleibt. Das Risiko, dass jemand dieses
Fenster und damit FTAPI komplett aus Versehen schließt, ist hierbei recht hoch.
Automatisiertes Hochfahren (Recovery) des Tomcat FTAPI Dienstes nach einem Serverneustart.
Verbesserte Problembehandlung aufgrund von zusätzlichen Logausgaben des Servers in Dateiformat.
ApacheTomcat als Windows-Dienst für FTAPI einrichten
Um den Apache Tomcat6 Dienst zu installieren, werden folgende zwei Dateien auf Ihrem FTAPI System benötigt:
ftapi-service-install.bat
ftapi-service-uninstall.bat
Alle Dateien befinden sich im Verzeichnis \ftapi-server;
falls diese bei Ihnen nicht vorhanden sein sollten, wenden Sie sich bitte an den FTAPI Support.
Führen Sie über die Eingabeaufforderung (muss mit Administratorrechten geöffnet sein) im ftapi-server Verzeichnis die folgende Datei aus:
ftapi-service-install.bat
Es sollten in der Eingabeaufforderung folgende Zeilen (mit Ihren entsprechenden Pfadangaben) erscheinen:
© FTAPI Software UG (2011), Seite 4
Installing the service 'Tomcat6' ...
Using CATALINA_HOME: "C:\FTAPI\ftapi-server"
Using CATALINA_BASE: "C:\FTAPI\ftapi-server"
Using JAVA_HOME: "C:\Program Files\Java\jdk1.6.0_18"
Using JVM: "C:\Program Files\Java\jdk1.6.0_18\jre\bin\server\jvm.dll"
The service 'Tomcat6' has been installed.
Weitere Info http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html#Installing_services
In LINUX-Umgebungen als Hintergrundprozess einrichten:
http://tomcat.apache.org/tomcat-6.0-doc/setup.html#Unix_daemon
Apache Tomcat Windows-Dienst deinstallieren
Nachfolgend wird kurz erläutert, wie Sie den Apache Tomcat6 Dienst deinstallieren.
Es wird hierbei NUR der Windows-Dienst entfernt - keine sonstigen Dateien!
Führen Sie in der Eingabeaufforderung (muss mit Administratorrechten geöffnet sein!) aus Ihrem ftapi-server Verzeichnis heraus folgenden
Aufruf aus:
ftapi-service-uninstall.bat
Der Apache Tomcat6 Dienst wird zuvor automatisch gestoppt und dann vollständig deinstalliert.
Bei erfolgreicher Deinstallation des Dienstes wird in der Eingabeaufforderung folgende Zeile ausgegeben:
The service 'Tomcat6' has been removed.
Apache Tomcat Windows-Dienst Einstellungen ändern
Wenn Sie an Ihrem ApacheTomcat6 Dienst Änderungen vornehmen möchten (z.B. unter einem anderen Benutzer ausführen, Pfade
anpassen, o.ä.), gehen Sie wie folgt vor:
Änderung des Dienst-Starttyps: In den Dienst-Eigenschaften (mit Admin-Rechten) kann der Starttyp (manuell, automatisch, usw.) jederzeit
angepasst und geändert werden.
Änderung des Anmelde-Kontos: Direkt in den Windows-Diensten (Aufruf über services.msc) den Apache Tomcat6 Dienst bearbeiten und die
Anmeldeinformationen eines bestimmten Benutzers, unter dem dieser Dienst für FTAPI ausgeführt werden soll (i.d.R. Administrator),
eintragen.
Pfadangabe des Tomcat-Verzeichnisses ändern: Der Pfad kann nicht direkt im Dienst angepasst werden - es wird empfohlen, den Dienst
zuvor komplett zu deinstallieren und beim Neueinrichten die CATALINA_HOME Variable in der Datei install_ftapi_service.bat entsprechend
dem neuen/geänderten Pfad anzugeben.
Standardmäßig ist der Pfad zum Tomcat BIN-Verzeichnis so gesetzt, dass dieser sich direkt unterhalb von \ftapi-server\
befindet.
Der Standardpfad lautet set CATALINA_HOME=%cd% - dies setzt CATALINA_HOME auf den Beispielordner
C:\FTAPI\ftapi-server\
Pfadangabe des .ftapi-Verzeichnisses ändern: Der Pfad kann nicht direkt im Dienst angepasst werden - es wird empfohlen, den Dienst zuvor
komplett zu deinstallieren und beim Neueinrichten die FTAPI_HOME Variable in der Datei install_ftapi_service.bat entsprechend dem
neuen/geänderten Pfad anzugeben.
Standardmäßig ist der Pfad zum .ftapi-Verzeichnis so gesetzt, dass der Order \.ftapi\ auf der gleichen (Hierarchie-)Ebene
wie auch \ftapi-server\ angesiedelt ist.
Der Standardpfad lautet set FTAPI_HOME=%CATALINA_HOME%/../.ftapi - dies setzt FTAPI_HOME auf den
Beispielordner C:\FTAPI\.ftapi
Konfiguration
FTAPI besitzt einen äußerst flexiblen Konfigurationsmechanismus, der sich in verschiedene Bereiche unterteilt, die nachfolgend näher
erläutert werden.
Durch diese Flexibilität lässt sich FTAPI optimal an Ihre Bedürfnisse anpassen.
Konfigurationsdatei (Properties-Datei)
Die zentrale Konfigurationsdatei von FTAPI (als Properties-Datei bezeichnet) befindet sich standardmäßig im Verzeichnis /.ftapi/config. Beim
erstmaligen Start des Serversystems wird dieses Verzeichnis neu angelegt. Der Name der Konfigurationsdatei ist standardmäßig
© FTAPI Software UG (2011), Seite 5
server-production.properties.
Zusätzlich lassen sich je nach Betriebsmodus (Stage) auch unterschiedliche Konfigurationsdateien laden (server-development.properties
oder server-assembly.properties). Dies ist aber nur relevant, wenn Sie für FTAPI verschiedene Betriebsmodi vorsehen. Mehr hierzu erfahren
Sie im Kapitel Staging.
Überschreiben von Konfigurationswerten
FTAPI unterstützt das sogenannte "Shadowing" oder auf deutsch, das Überschreiben von bestehenden Konfigurationswerten. Dabei werden
die Konfigurationswerte in drei Stufen gesetzt, wobei die nachfolgende Stufe die Konfigurationswerte der vorhergehenden Stufe überschreibt
(z.B. 2. überschreibt 1.). Diese Stufen lauten:
1. Standardwerte (vom System vorgegeben und können vom Anwender nicht direkt verändert werden)
2. Die Datei server-production.properties im Verzeichnis /.ftapi/config (diese kann verändert werden)
3. Java-System-Properties, die z.B. beim Systemstart in der Form -D<name>=<wert> gesetzt werden können.
Ein Beispiel:
Angenommen, Sie möchten das Property ftapi.base.url anpassen. Nachfolgend ist dargestellt, wie dies geschehen könnte:
1. Standardmäßig ist dieses Property vom System folgendermaßen gesetzt: ftapi.base.url=http://localhost:8080/ftapi
2. Wenn Sie nun in der Datei server-production.properties folgenden Eintrag machen ftapi.base.url=
http://localhost, so lautet die URL nun http://localhost und der Standardwert http://localhost:8080/ftapi ist
damit überschrieben.
3. Möchten Sie aber nun beispielsweise nur kurzzeitig diese URL ändern, ohne die Property-Datei bearbeiten zu müssen, können Sie
beim Start des Servlet-Containers dem Parameter -Dftapi.base.url=http://localhost:8181 mitgeben. In diesem Fall wird
der Wert aus der Property-Datei http://localhost mit diesem http://localhost:8181 überschrieben.
Bitte beachten Sie, dass bei Änderungen an den Konfigurationswerten das Serversystem stets neu gestartet werden muss.
SMTP
FTAPI versendet in den verschiedensten Situationen E-Mail-Nachrichten. Z.B. an den Empfänger, wenn ein neues Datenpaket für Ihn
bereitgestellt wurde (das sogenannte "Download-Ticket"). Hierfür ist es notwendig, einen SMTP-Server zu konfigurieren, der als Gateway für
den E-Mail-Versand zwischen Ihrem FTAPI-System und dem jeweiligen Anwender dient.
Bitte beachten Sie, dass ohne Konfiguration eines SMTP-Servers kein korrekter Betrieb von FTAPI möglich ist.
Konfigurationseinstellungen
ftapi.email.charset
ftapi.email.from.address
ftapi.email.from.name
ftapi.email.smtp.host
ftapi.email.smtp.port
ftapi.email.smtp.username
ftapi.email.smtp.password
ftapi.email.smtp.useSSL
ftapi.email.smtp.useTLS
E-Mail-Benachrichtigungen
Neues Datenpaket bzw. neuer Submit
Submit-Ticket Aktivierung
Fehlermeldungen und Verbesserungsvorschläge
Konfigurationseinstellungen
Die Einstellungen zum SMTP-Server werden in der Datei /.ftapi/config/server-production.properties im folgenden Abschnitt gemacht:
© FTAPI Software UG (2011), Seite 6
#-------------------------------------------------------------------# Email settings
#-------------------------------------------------------------------ftapi.email.charset=ISO-8859-1
[email protected]
ftapi.email.from.name=FTAPI System
ftapi.email.smtp.host=
ftapi.email.smtp.port=25
ftapi.email.smtp.username=
ftapi.email.smtp.password=
ftapi.email.smtp.useSSL=false
ftapi.email.smtp.useTLS=false
Nachfolgend werden die einzelnen Konfigurationsoptionen näher erläutert.
Bitte beachten Sie, dass keinerlei Leerzeichen am Ende eines Eintrags verbleiben!
ftapi.email.charset
Das Encoding, welches verwendet werden soll (z.B. ISO-8859-1 oder UTF-8).
ftapi.email.from.address
Die Absenderadresse, welche bei Systembenachrichtigungen in der E-Mail erscheinen soll.
Diese muss nicht mit dem smtp.username übereinstimmen oder überhaupt existieren.
ftapi.email.from.name
Der Name des Absenders, welcher bei Systembenachrichtigungen in der E-Mail erscheinen soll.
Dies kann ein beliebiger Name sein, der nicht mit dem smtp.username übereinstimmen muss.
ftapi.email.smtp.host
Der Hostname des SMTP-Servers.
ftapi.email.smtp.port
Der Port des SMTP-Servers.
ftapi.email.smtp.username
Der Benutzername des SMTP-Accounts, falls eine Authentifizierung erforderlich ist.
ftapi.email.smtp.password
Das Passwort des SMTP-Accounts, falls eine Authentifizierung erforderlich ist.
ftapi.email.smtp.useSSL
Gibt an, ob eine sichere Verbindung über SSL verwendet werden soll (true) oder nicht (false).
ftapi.email.smtp.useTLS
Gibt an, ob eine sichere Verbindung über TLS verwendet werden soll (true) oder nicht (false).
E-Mail-Benachrichtigungen
Nachfolgend werden kurz die jeweiligen E-Mail-Benachrichtigungen beschrieben, die FTAPI als E-Mail versendet.
Das Format einer E-Mail-Benachrichtung wird durch ein sogenanntes E-Mail-Template festgelegt.
Alle E-Mail-Templates befinden sich im Verzeichnis WEB-INF\classes\com\ftapi\notification Ihrer FTAPI-Server-Installation.
Bitte beachten Sie, dass Änderungen an den E-Mail-Templates nur durch den FTAPI-Support durchgeführt werden sollten.
Falls Sie dennoch diese E-Mail-Templates selbst anpassen möchten, kann FTAPI hierfür keine Haftung übernehmen. Falls
dadurch Probleme im Betrieb von FTAPI entstehen, sind Sie hierfür selbst verantwortlich.
Neues Datenpaket bzw. neuer Submit
© FTAPI Software UG (2011), Seite 7
Nachdem ein Benutzer ein Datenpaket an einen beliebigen Empfänger versendet hat bzw. über die SubmitBox eingereicht hat, erhält dieser
eine E-Mail mit einem eingebetten Download-Link.
Diese E-Mail hat folgendes Format:
${delivery.message.body}
--Bitte klicken Sie hier, um den Download zu starten:
$config.get("ftapi.base.url")/download/${delivery.uuid}
Die Variable ${delivery.message.body} entspricht dabei dem Text, welchen der Versender eingetragen hat.
Die Variablen $\config.get("ftapi.base.url")/download/${delivery.uuid} wird durch den Download-Link ersetzt.
Submit-Ticket Aktivierung
Nachdem ein Benutzer über die SubmitBox seine E-Mail-Adresse eingegeben und auf "Submit-Ticket anfordern" geklickt hat, erhält er eine
Aktivierungs-E-Mail mit einem eingebetten Link, dem so genannten "Submit-Ticket". Darüber kann er das Einreichen der Daten durchführen.
Diese E-Mail hat standardmäßig folgendes Format:
Guten Tag ${createdBy.displayLabel},
es wurde ein Submit-Ticket für Sie bereitgestellt.
Bitte klicken Sie auf diesen Link, um direkt mit dem sicheren Upload Ihrer Daten zu beginnen:
$config.get("ftapi.base.url")/submit/submitPortal.html?submitTicketUuid=${ticket.uuid}
Vielen Dank, dass Sie FTAPI für den Versand Ihrer Daten verwenden.
Ihr FTAPI Team
Fehlermeldungen und Verbesserungsvorschläge
Der Benutzer hat die Möglichkeit, auf einfache Art und Weise direkt an den FTAPI-Support eine E-Mail zu versenden.
Z.B., wenn ein Fehler aufgetreten ist oder wenn Verbesserungsvorschläge kommuniziert werden sollen.
Das Format dieser E-Mail sieht folgendermaßen aus:
Der FTAPI-Benutzer ${issue.reporterEmail} hat ein Problem an einer FTAPI-Installation
festgestellt.
------------ Beginn allgemeine Informationen -----------User:
${issue.reporterEmail}
Server:
${issue.ftapiServer}
Version:
${issue.ftapiVersion}-${issue.buildNumber}
Customer:
${issue.customerName}
#if($issue.evaluationLicense)
License:
${issue.licenseInfo} [Evaluation]
Evalutaion end date: ${issue.evaluationEndDate}
#else
License:
${issue.licenseInfo}
#end
Ticket-ID:
${issue.ticketId}
Subject:
${issue.subject}
------------ Beginn Fehlermeldung ----------------------${issue.message}
DNS-Server
Grundsätzlich sollte Ihr FTAPI-Server über eine einheitliche URL sowohl von Extern (Lieferanten und sonstige Firmen) wie auch von Intern
(Mitarbeiter und Partner im gleichen Netzwerk) erreichbar sein. Um dies zu ermöglichen, muss für die internen Clients ein spezieller Eintrag
in Ihrem DNS-Server vorgenommen werden.
Es wird empfohlen, sich für FTAPI eine eigene Subdomain, wie z.B. ftapi.ihre-domain.com, als feste URL einzurichten.
© FTAPI Software UG (2011), Seite 8
Einstellungen am DNS-Server
1. Im ersten Schritt im DNS-Server eine neue Forward-Lookupzone einrichten.
FTAPI Base URL
Die Forward-Lookupzone muss genau dem Eintrag zur ftapi.base.url in der Datei
.ftapi/config/server-production.properties entsprechen!
Wenn Ihre FTAPI URL beispielsweise http://ftapi.ihre-domain.com lautet, dann muss die Forward-Lookupzone
hierfür ftapi.ihre-domain.com lauten.
2. Im zweiten Schritt dann dort einen Host (A)-Eintrag einrichten, der auf den FTAPI-Server verweist
(in den nachfolgenden Screenshots verweist ihre-domain-ftapi.de auf den Server mit de festen IP-Adresse 192.168.89.100).
Die Einstellungen sehen dann wie folgt aus:
Diese Einstellungen führen dann zu dem gewünschten Ergebnis, dass alle Clients im internen Netz das FTAPI-System direkt auch von intern
ansprechen.
Überprüfen der Einstellungen
Die Korrektheit der Zuordnungen und Weiterleitungen kann auf einem internen Client über die Eingabeaufforderung mit den folgenden
Befehlen überprüft und validiert werden:
ping ftapi.ihre-domain.de
Diese Zieladresse sollte grundsätzlich erreichbar sein
nslookup ftapi.ihre-domain.de
Es sollte die zuvor eingestellte IP-Adresse (im obigen Beispiel 192.168.89.100) und der dazugehörige interne Servername angezeigt
werden
Testen der Erreichbarkeit
Grundsätzlich sollte die Erreichbarkeit des FTAPI-Servers von folgenden Orten aus getestet werden:
vom (FTAPI) Server direkt,
von einem internen Client und
von einem externen Client.
Es wird empfohlen, von allen Aufruforten aus zu prüfen, ob
© FTAPI Software UG (2011), Seite 9
nach Aufruf der FTAPI URL (standardmäßig http://ftapi.ihre-domain.com:8080/ftapi-server) der FTAPI Loginscreen erscheint,
man sich erfolgreich (als Admin oder Benutzer) am FTAPI System anmelden kann,
das Java Applet ("Neue Sendung" Button) vollständig geladen wird und
man eine Sendung erfolgreich verschicken kann.
Proxy-Server
Beim Betrieb eines Proxy-Servers ist es in der Regel notwendig, bei allen Clients (bestenfalls in Gruppenrichtlinien am Server) folgenden
Eintrag in den Proxy-Ausnahmen zu ergänzen (s. hierzu auch FAQs):
ftapi.ihre-domain.com*
Datenablage
FTAPI unterscheidet stets zwischen zwei verschiedenen Datenarten:
Metadaten
Binärdaten
Metadaten sind die beschreibenden Daten. D.h., diese beschreiben sowohl den Übertragungsprozess (z.B. welcher Versender,
Empfängeradresse, usw.) wie auch die Binärdaten selbst (z.B. Dateiname, Dateigröße, letzte Änderung, usw.). FTAPI speichert diese
Dateien in einer Datenbank.
Binärdaten sind diejenigen Daten, die vom Versender an den Empfänger übermittelt werden, wie z.B. ein Word-Dokument, Bilder oder
andere Dokumente. Diese Daten können durchaus mehrere hundert Gigabyte groß sein. FTAPI speichert diese Daten an einem separaten
Ort, dem sogenannten Storage.
FTAPI ist so konstruiert, dass standardmäßig sowohl der Storage als auch die Datenbank in das FTAPI-System "eingebettet" sind. D.h., es
ist standardmäßig keine Konfiguration dieser Speicherorte notwendig.
FTAPI verwendet von Haus aus den Ort ~/.ftapi/db für die Ablage der Metadaten und ~/.ftapi/storage für die Ablage der Binärdaten.
Allerdings ist dieser eingebettete Betrieb nicht für den Produktivbetrieb empfohlen.
Bei einem Produktivbetrieb wird dringend empfohlen, die Metadaten und die Binärdaten auf separate Systeme zu verteilen!
Dies hat drei einfache Gründe:
Sicherheit: Erst durch die Trennung von Meta- und Binärdaten kann eine höhere Sicherheit gewährleistet werden.
Datenstabilität und Backup: Die Metdaten werden durch die interne HSQLDB-Datenbank verwaltet. Diese ist jedoch nicht für hohe
Anfragelasten ausgelegt.
Zudem läuft diese Datenbank in einem sogenannten Single-User-Mode. D.h. die Daten können nur begrenzt gesichert werden.
Performance: Die Aufgaben und somit die Anfragelast werden auf verschiedene Systeme verteilt
Die eingebettete Datenbank ist nur für kleine Anfragelasten geeignet. Falls Sie eine hohe Anfragelast erwarten, wird
empfohlen, eine extrerne Datenbank, wie z.B. MySQL, Oracle oder PostgreSQL anzubinden, um nur einige Beispiele zu
nennen.
Andere Datenbank
Hier erfahren Sie, wie Sie eine alternative, externe Datenbank an FTAPI anbinden können: Speicherung der Metadaten
(Datenbank)
Anderer Storage
Hier erfahren Sie, wie Sie den Speicherort für den Storage ändern können: Binärdaten (Storage).
Metadaten (Datenbank)
Metadaten sind beschreibende Daten. D.h., mit den Metadaten von FTAPI wird z.B. beschrieben, welcher Versender welche Daten an
welchen Empfänger sendet. Mögliche konkrete Werte könnten beispielsweise die Empfänger-E-Mail, die Dateinamen oder die Dateigrößen
sein, um nur einige zu nennen. FTAPI speichert die Metadaten in einer Datenbank. Dies ermögicht es Ihnen später, umfangreiche
Auswertungen auf Basis von SQL durchzuführen.
Standardmäßig wird eine eingebettete Datenbank (HSQLDB) verwendet. Allerdings ist diese nicht für den Produktivbetrieb empfohlen.
Stattdessen sollte eine externe Datenbank, wie z.B. MySQL verwendet werden. Nachfolgend erfahren Sie, wie Sie eine alternative
Datenbank anbinden können.
Konfiguration
ftapi.jdbc.url
© FTAPI Software UG (2011), Seite 10
ftapi.jdbc.driver
ftapi.jdbc.username
ftapi.jdbc.password
ftapi.hibernate.dialect
ftapi.hibernate.hbm2ddl.auto
ftapi.hibernate.show_sql
MySQL anbinden
Schritt 1: JDBC-Treiber besorgen und installieren
Schritt 2: Datenbank und Benutzer anlegen
Schritt 3: Datenbankanbindung konfigurieren
Bitte beachten Sie, dass im massiven produktiven Betrieb von der Verwendung einer Embedded-Datenbank wie z.B. H2
oder HSQLDB abgeraten wird. Stattdessen sollten Sie z.B. MySQL verwenden.
Konfiguration
Öffnen Sie die Datei server-production.properties und suchen Sie nach folgendem Eintrag:
# HSQLDB FileSystem
# NOTE: Backward slashes \ are not allowed! Use forward slashes / instead!
ftapi.jdbc.url=jdbc:hsqldb:file:#{ftapi.home}/db/ftapi
ftapi.jdbc.driver=org.hsqldb.jdbcDriver
ftapi.jdbc.username=sa
ftapi.jdbc.password=
ftapi.hibernate.dialect=org.hibernate.dialect.HSQLDialect
ftapi.hibernate.hbm2ddl.auto=update
ftapi.hibernate.show_sql=false
Nachfolgend werden die einzelnen Konfigurationsparameter genauer erläutert.
ftapi.jdbc.url
Die JDBC-URL zum verwendeten Datenbanksystem. Wie diese URL lautet, ist vom so genannten JDBC-Treiber des Datenbanksystems
abhängig und kann in dessen Dokumentation nachgelesen werden. Sehen Sie hierzu auch das Beispiel zu MySQL weiter unten. Die
Standardeinstellung jdbc:hsqldb:file:~/.ftapi/db/ftapi steht dafür, dass die interne HSQLDB-Datenbank alle Daten im Heimatverzeichnis
des Benutzers (bzw. dem Pfad, der als ftapi.home gesetzt ist) ablegt, unter dem das System aktuell betrieben wird.
ftapi.jdbc.driver
Mit diesem Wert wird der Klassenpfad des JDBC-Treibers bestimmt. Wie dieser Klassenpfad lautet, entnehmen Sie bitte der Dokumentation
des verwendeten JDBC-Datenbantreibers.
Standardmäßig wird der Treiber für die eingebettete HSQLDB-Datenbank verwendet.
ftapi.jdbc.username
Der Benutzername des Datenbank-Accounts, falls notwendig, um sich mit der Datenbank verbinden zu können.
ftapi.jdbc.password
Das Passwort des Datenbank-Accounts, falls notwendig, um sich mit der Datenbank verbinden zu können.
ftapi.hibernate.dialect
Je nachdem, welche Datenbank Sie verwenden, muss der so genannte "Dialect" ebenfalls entsprechend angepasst werden. In der
nachfolgenden Tabelle finden Sie die Zuordnung des Dialects zum verwendeten Datenbanksystem:
Datenbanksystem
Dialect
DB2
org.hibernate.dialect.DB2Dialect
DB2 AS/400
org.hibernate.dialect.DB2400Dialect
DB2 OS390
org.hibernate.dialect.DB2390Dialect
H2
org.hibernate.dialect.H2Dialect
PostgreSQL
org.hibernate.dialect.PostgreSQLDialect
MySQL
org.hibernate.dialect.MySQLDialect
© FTAPI Software UG (2011), Seite 11
MySQL with InnoDB
org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM
org.hibernate.dialect.MySQLMyISAMDialect
MySQL 5
org.hibernate.dialect.MySQL5Dialect
Oracle (any version)
org.hibernate.dialect.OracleDialect
Oracle 9i
org.hibernate.dialect.Oracle9iDialect
Oracle 10g
org.hibernate.dialect.Oracle10gDialect
Sybase
org.hibernate.dialect.SybaseDialect
Sybase Anywhere
org.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Server
org.hibernate.dialect.SQLServerDialect
SAP DB
org.hibernate.dialect.SAPDBDialect
Informix
org.hibernate.dialect.InformixDialect
HypersonicSQL
org.hibernate.dialect.HSQLDialect
Ingres
org.hibernate.dialect.IngresDialect
Progress
org.hibernate.dialect.ProgressDialect
Mckoi SQL
org.hibernate.dialect.MckoiDialect
Interbase
org.hibernate.dialect.InterbaseDialect
Pointbase
org.hibernate.dialect.PointbaseDialect
FrontBase
org.hibernate.dialect.FrontbaseDialect
Firebird
org.hibernate.dialect.FirebirdDialect
ftapi.hibernate.hbm2ddl.auto
Mit diesem Wert wird die Schemagenerierung konfiguriert. Er entspricht dem Hibernate-Property hibernate.hbm2ddl.auto.
Bitte ändern Sie diesen Wert nur, wenn Sie wirklich wissen, was Sie tun.
ftapi.hibernate.show_sql
Mit diesem Wert kann bestimmt werden, ob die SQL-Statements angezeigt werden (true) oder nicht (false).
Der Standardwert ist false und sollte auch nur in Ausnahmefällen verändert werden.
MySQL anbinden
In diesem Abschnitt wird die Anbindung einer MySQL-Datenbank schrittweise erklärt.
Schritt 1: JDBC-Treiber besorgen und installieren
Als ersten Schritt müssen Sie den JDBC-Treiber für MySQL besorgen und installieren.
Dieser ist auf folgender Website kostenlos als Download erhältlich: http://dev.mysql.com/downloads/connector/j
Laden Sie sich die Datei herunter und entpacken Sie diese. Im entpackten Verzeichnis sollten Sie eine Datei mit der Endung .jar vorfinden
(z.B. mysql-connector-java-5.1.12.jar). Kopieren Sie diese Datei anschließend nach <FTAPI-Context>/WEB-INF/lib, wobei
<FTAPI-Context> für die FTAPI-Applikation in Ihrem Servlet-Container steht. Unter Tomcat wäre dies beispielsweise /
webapps/ftapi-server.
Schritt 2: Datenbank und Benutzer anlegen
Erstellen Sie in Ihrem MySQL-System eine neue Datenbank (Kollation utf8_general_ci) mit dem Namen ftapi, sowie einen Benutzer, der
Zugriff auf diese Datenbank besitzt. Dieser Benutzer muss zudem die Erlaubnis besitzen, die Datenbankstruktur verändern zu dürfen
(DDL-Permission).
Schritt 3: Datenbankanbindung konfigurieren
Als letzten Schritt müssen Sie nur noch die Datenbank entsprechend in der Datei server-production.properties
(.ftapi/config/server-production.properties) konfigurieren.
Öffnen Sie diese Datei und passen Sie die Parameter entsprechend den folgenden Angaben - diese sind auskommentiert bereits vorhanden
- an:
© FTAPI Software UG (2011), Seite 12
ftapi.jdbc.url=jdbc:mysql://localhost:3306/ftapi?characterEncoding=UTF-8
ftapi.jdbc.driver=com.mysql.jdbc.Driver
ftapi.jdbc.username=<username>
ftapi.jdbc.password=<password>
ftapi.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
Natürlich müssen Sie die Parameter ftapi.jdbc.url, ftapi.jdbc.username und ftapi.jdbc.password entsprechend Ihres MySQL-Systems
anpassen.
Bitte vergessen Sie nicht, bei der Umstellung auf eine andere Datenbank die standardmäßig hinterlegten HSQLDB-Einträge vollständig
mittels einer # am Zeilenanfang auszudokumentieren!
Erfolgt eine Datenbank-Umstellung während des Betriebs, gehen alle bisherigen Informationen (in der alten Datenbank
enthaltenen Metadaten) wie z.B. bereits versendete Dateien oder hinterlegte Benutzer usw. verloren. Falls Sie eine
Umstellung planen, kontaktieren Sie bitte das FTAPI Support-Team.
Binärdaten (Storage)
Die Binärdaten, also diejenigen Daten, die mit dem FTAPI-System übertragen werden, werden im sogenannten Storage abgelegt. Ein
Storage ist ein beliebiger Ort, an dem Binärdaten abgespeichert und wieder geladen werden können. Dies kann beispielsweise eine lokale
Festplatte, ein NAS (Fileserver) in ihrem Unternehmensnetzwerk oder ein Speicherplatz im Internet (z.B. Cloud-Storage) sein.
Wo genau die Binärdaten abgelegt werden, wird durch das Storage-Modul bestimmt. Es stellt die Kommunikation zwischen dem
FTAPI-System und dem Zielort (z.B. Festplatte) sicher.
DiskStorage
ftapi.storage.home
Binärdaten verschieben
ftapi.storage.quota
S3Storage
Weitere Parameter
Automatischer Storage-Cleanup
ftapi.storage.cleanup.enabled
ftapi.storage.cleanup.interval
ftapi.storage.cleanup.max.age
DiskStorage
Standardmäßig ist in FTAPI das DiskStorage-Modul aktiviert. Dieses Modul erlaubt die Ablage der Daten auf jedem beliebigen, lokal
verfügbaren Medium, wie z.B. eine gemountete Festplatte. Die Werkseinstellungen dieses Moduls legen fest, dass die Binärdaten im
Verzeichnis ~/.ftapi/storage abgelegt werden. Wenn dieses Verzeichnis nicht existiert, wird es angelegt. Sie können diesen Pfad und
andere Einstellungen aber natürlich Ihren Bedürfnissen anpassen. Öffnen Sie hierfür die globale Konfigurationsdatei
server-production.properties und suchen Sie den folgenden Eintrag:
#-------------------------------------------------------------------# Storage settings
#-------------------------------------------------------------------# The location where to store the parts on local disk
ftapi.storage.home=~/.ftapi/storage
# The max size of all files together in this storage
# Default: 10240000000 (10GB), For no quota at all set to: -1
ftapi.storage.quota=10240000000
# The max size of a tmp file in bytes
# Default: 10240000 (10MB)
ftapi.storage.tmp.max=10240000
Nachfolgend erhalten Sie eine kurze Beschreibung der jeweiligen Parameter.
ftapi.storage.home
Mit diesem Parameter können sie den Pfad zu einem beliebigen Verzeichnis auf ihrem lokalen System angeben, in welches die
Storage-Daten abgelegt werden sollen. Wenn dieses Verzeichnis nicht existiert, wird es angelegt (auch alle darüber liegenden
Verzeichnisse).
© FTAPI Software UG (2011), Seite 13
Bitte stellen Sie sicher, dass FTAPI entsprechende/ausreichende Schreibrechte im angegebenen Verzeichnis besitzt.
Um die Daten beispielsweise in ein Verzeichnis storage der Festplatte D: unter Windows abzulegen, könnten Sie folgende Konfiguration
verwenden:
ftapi.storage.home=D:/storage
Bitte beachten Sie, dass auch unter Windows "Forward-Slashes" / anstelle von "Backward-Slashes" \ für
Pfadangaben verwendet werden können.
Eine Tilde ~ zu Beginn einer Pfadangabe wird zudem als das Heimatverzeichnis des Benutzers interpretiert, unter
dem das FTAPI-System ausgeführt wird.
Binärdaten verschieben
Um die Binärdaten an einen anderen Ort zu verschieben, sollten Sie folgendermaßen vorgehen:
1.
2.
3.
4.
Den FTAPI Server herunterfahren, um keine inkonsistenten Daten zu erhalten.
Die Binärdaten an den neuen Zielort kopieren.
Den Pfad zum neuen Zielordner anpassen.
Den FTAPI Server wieder starten.
ftapi.storage.quota
Durch diesen Parameter können Sie die Maximalgröße des Storage in Bytes festlegen. FTAPI überprüft vor dem Upload die Größe des
Datenpakets und berechnet, ob bei dessen Annahme das fest gelegte Storage-Quota überschritten werden würde. In diesem Fall würde
FTAPI das Datenpaket mit einer Meldung zurückweisen. Damit können Sie sicher stellen, dass das konfigurierte Speichermedium niemals
mit Daten über die festgelegte Maximalgrenze hinaus beschrieben wird. Andernfalls könnte es unter manchen Betriebssystemen durchaus
vorkommen, dass durch einen "Überlauf" des Storage-Mediums nicht mehr genügen Speicherplatz für andere Anwendungen, wie z.B. das
Betriebssystem selbst zur Vefügung stehen und dieses im schlimmsten Fall abstürzt. Solche Szenarien kommen bei anderen Systemen, wie
z.B. FTP durchaus vor.
Um z.B. das Quota auf 10GB festzulegen, müssen Sie folgende Angabe machen:
ftapi.storage.quota=1024000000
S3Storage
In FTAPI Professional wird ein spezieller Storage Manager mitgeliefert, der es ermöglicht, Segmente auch auf dem Cloud Storage System
Amazon Simple Storage Service (S3) auszulagern.
Bitte beachten Sie, dass der S3Storage Manager derzeitig noch BETA ist. Der Einsatz erfolgt daher vollständig auf eigene
Gefahr hin.
Um den S3Storage Manager zu aktivieren, öffnen Sie bitte die Datei ftapi-server/webapps/ftapi-server/WEB-INF/classes/sc-core.xml und
unkommentieren Sie anschließend folgenden Eintrag:
<bean id="storageManager" parent="storageManagerBase">
<property name="awsAccessKey" value="YOUR_ACCESS_KEY"/>
<property name="awsSecretKey" value="YOUR_SECRET_KEY"/>
</bean>
Ersetzen Sie die Werte YOUR_ACCESS_KEY und YOUR_SECRET_KEY entsprechend durch den AccessKey und SecretKey, den Sie über
Ihren Amazon S3 Online Account erfragen können.
Deaktivieren Sie anschließend den standardmäßig aktivierten DiskStorageManager, indem Sie folgenden Eintrag in derselben Datei suchen
und diesen auskommentieren, wie nachfolgend gezeigt:
<!-- <bean id="storageManager" parent="storageManagerBase"/> -->
Starten Sie anschließend den FTAPI Server neu.
© FTAPI Software UG (2011), Seite 14
Weitere Parameter
Der S3Storage kann zusätzlich mit denselben Parametern konfiguriert werden, wie der DiskStorage, wobei ftapi-server.storage.home hier
für die lokale Zwischenspeicherung der Segmente verwendet wird und ftapi-server.storage.quota sich auf den verwendeten Speicherplatz
auf dem Amazon S3 Server bezieht.
Automatischer Storage-Cleanup
Viele Administratoren von Datentransfer-Systemen, die sich mit z.B. E-Mail oder FTP beschäftigen müssen, haben das große Problem, dass
die Dateien auch nach der erfolgreichen Zustellung an den Empfänger auf dem Übertragungssystem erhalten bleiben und damit nicht nur ein
erhöhtes Sicherheitsrisiko darstellen, sondern nach und nach das entsprechende System "zumüllen". Die Administratoren haben
beispielsweise erheblichen Aufwand, die entsprechenden Systeme "sauber" zu halten und regelmäßig aufzuräumen. Vielleicht kennen Sie ja
auch die berühmte E-Mail "Server voll, bitte jeder aufräumen" oder so ähnlich ;)
Mit FTAPI kann dies nicht passieren, da es so konfiguriert ist, dass erfolgreich und vollständig zugestellte Datenpakete automatisch vom
System entfernt werden. Dies kann den System-Administrator deutlich entlasten. Natürlich kann dieses Verhalten an die eigenen Bedürfnisse
angepasst oder komplett abgestellt werden.
Die Einstellungen hierzu finden Sie in der der Datei server-production.properties, in folgendem Abschnitt:
#-------------------------------------------------------------------# Storage cleanup settings
#-------------------------------------------------------------------# Switch on/off the cleanup job
# Default: true
ftapi.storage.cleanup.enabled=true
# The interval then the cleanup task should run regularily.
# Default: 0 0 3 * * ? (every day at 3:00 AM)
ftapi.storage.cleanup.interval=0 0 3 * * ?
# The max age of a deliverable until its binary data will be deleted from storage.
# The format is <integer>{m|h|d}, whereas m = minutes, h = hours and d = days.
# Examples: 90d (= 90 days), 2h (= 2 hours), 30m (= 30 minutes)
ftapi.storage.cleanup.max.age=1m
Nachfolgend werden die einzelnen Parameter genauer beschrieben.
ftapi.storage.cleanup.enabled
Mit diesem Wert lässt sich die AutoClean-Funktion generell aktivieren (true) oder deaktivieren (false).
ftapi.storage.cleanup.interval
Dieser Parameter bestimmt, mit welcher Häufigkeit der Storage regelmäßig überprüft und gegebenenfalls zutreffende Dateien gelöscht
werden. Hierzu wird eine sogenannte "Cron-Expression" festgelegt, mit welcher bis auf die Sekunde genau bestimmt werden kann, in
welchen Abständen eine Überprüfung stattfinden soll. Die Cron-Expression 0 0 3 * * ? bedeutet beispielweise, dass die Überprüfung
jeden Tag um 3:00 Uhr morgens stattfinden soll, oder 0 59 * * * ? bedeutet, dass die Überprüfung jede Stunde zur 59. Minute
durchgeführt wird. Weitere Informationen zum Thema Cron-Expressions erhalten Sie z.B. hier :
http://www.quartz-scheduler.org/DOCS11/tutorials/crontrigger.html.
Je nachdem wie hoch Ihr FTAPI-System frequentiert ist, kann es sinnvoll sein, das Check-Intervall anzupassen. Da die
Überprüfung der Einträge relativ aufwändig ist, empfiehlt es sich, die Überprüfung auf ein Minimum zu reduzieren. Als guter
Wert hat sich die tägliche Überprüfung um 3:00 Uhr Morgens herausgestellt, da zu diesem Zeitpunkt erfahrungemäß nur
wenige Transfer-Aktionen stattfinden und somit das System nicht genutzte Leistung für den Check verwenden kann.
ftapi.storage.cleanup.max.age
Dieser Wert bestimmt, wie alt eine Datei sein muss, bevor sie gelöscht werden darf. Mit jeder neuen Zustellung eines Deliveries wird das
Alter (age) wieder auf 0 zurückgesetzt und beginnt von neuem hochzuzählen. Sie haben hier die Möglichkeit, die Angabe in Minuten,
Stunden oder Tagen zu machen, indem sie die Endung m, h oder d verwenden.
Im nachfolgenden Beispiel sind 90 Tage eingestellt:
ftapi.storage.cleanup.max.age=90d
Staging
FTAPI unterstützt einen sogenannten "Staging-Prozess". Dies ist vor allem dann extrem hilfreich, wenn Sie selbst regelmäßig Erweiterungen
© FTAPI Software UG (2011), Seite 15
in FTAPI integrieren oder eine neue Konfiguration testen möchten, bevor Sie diese Konfiguration in das Produktivsystem übernehmen.
Hierfür können Sie FTAPI beim Start den Parameter "-Dftapi.stage=<stage>" mitgeben, wodurch jeweils eine unterschiedliche
Konfiguration geladen wird. Wird dieser Parameter nicht angegeben, so wird automatisch die Produktiv-Konfiguration geladen.
Um ein bestimmtes Stage zu aktivieren, müssen Sie in den Startup-Skripten (ftapi-start.bat bzw. ftapi.sh im Ordner /ftapi-server/) den
Parameter "-Dftapi.stage=<stage>" inklusive einem vorangestellten Leerzeichen entsprechend ergänzen. Ein Beispiel für die Datei
ftapi-start.bat:
set JAVA_OPTS="-Dftapi.home=%CATALINA_HOME%/../.ftapi" "-Dftapi.stage=assembly"
Falls Sie einen anderen als den standardmäßig mit ausgelieferten Tomcat Servlet-Container verwenden, sehen Sie bitte in
der zugehörigen Dokumentation nach, wo genau Sie den Parameter hierfür angeben müssen.
Nachfolgend sehen Sie die verfügbaren Staging-Werte und die zugehörigen Konfigurationen, die entsprechend geladen werden:
Stage
Konfiguration
Beschreibung
production
~/.ftapi/conf/server-production.properties
Diese Stage wird standardmäßig verwendet, wenn kein
Parameter -Dftapi.stage angegeben wurde und umfasst
alle Einstellungen, die für den Produktivbetrieb notwendig sind.
Alternativ kann der Aufurf auch exlpizit über
-Dftapi.stage=production gesetzt werden.
assembly
~/.ftapi/conf/server-assembly.properties
In dieser Stage kann z.B. der Integration-Test durchgeführt
werden. In der Regel enthält die Konfiguration bereits genau
die Einstellungen, die auch später im Produktivsystem
verwendet werden sollen. Die einzige Ausnahme stellen die
Referenzen zu externen Systemen, wie z.B. Datenbanken
oder dem Storage dar.
development
~/.ftapi/conf/server-development.properties
Dieser Stage ist vor allem während der Entwicklung sehr
hilfreich. In der zugehörigen Datei können z.B. eine
Test-Datenbank referenziert werden oder Dummy-Werte
platziert werden. Sie sind in der Regel nur für den Entwickler
und dem Testing relevant.
Pfade
Je nachdem, über welche URL FTAPI über das Internet erreichbar ist, kann es notwendig werden, diesen Pfad in der Konfiguration
anzupassen, um sicher zu stellen, dass diese URL z.B. auch in E-Mail-Benachrichtigungen und Reports korrekt wieder gegeben wird.
Konfiguration
Die Einstellungen für die externen Pfade finden Sie in der Datei server-production.properties. Ein Auszug der Standardeinstellung:
ftapi.base.url=http://localhost:8080/ftapi-server
Nachfolgend werden diese Parameter näher erläutert.
ftapi.base.url
Dies ist die Basis-URL, die z.B. in E-Mail-Benachrichtigungen verwendet wird. Sie muss über das Internet erreichbar sein (siehe hierzu auch
DNS-Server), falls Sie mit FTAPI auch Daten mit Partnern und Kunden austauschen möchten und dies über das Internet geschehen soll.
Rollen
FTAPI besitzt ein Rollen-Konzept mit dem die Berechtigungen von FTAPI-Accounts gezielt gesetzt werden können.
Die Rollen können nur durch einen Benutzer mit Administrator-Rechten (ROLE_ADMIN) geändert werden.
Nachfolgend sind die verschiedenen Rollen und deren Bedeutung aufgelistet und erläutert:
ROLE_ADMIN
Ist ein Benutzer dieser Rolle zugeordnet, so hat er uneingeschränkte Berechtigungen. Unter anderem darf er Benutzer anlegen und löschen.
Wenn einem Benutzer diese Rolle zugeordnet wird, so werden beim Speichern automatisch auch alle anderen Rollen an diesen Benutzer
zugewiesen.
© FTAPI Software UG (2011), Seite 16
ROLE_ANONYMOUS
Dieser Rolle ist automatisch jeder Benutzer zugeordnet. Die Zuordnung kann nicht gelöscht werden. Dabei ist es unerheblich, ob dieser
Benutzer eingeloggt ist oder nicht. Dies ist vor allem für spätere Reports sinnvoll, da hier jeder Benutzer mindestens einer konkreten Rolle
zugeordnet werden kann und es keine leeren Einträge gibt (NULL-Referenzen auf Rollen).
ROLE_RECEIVER
Benutzer, die dieser Rolle zugeordnet sind, haben die Berechtigung Daten zu empfangen (sofern dies nur auf registrierte Benutzer
beschränkt ist). Dies ist vor allem in Verbindung mit dem qualifizierten Download im Download Applet vorgesehen.
ROLE_SENDER
Jeder Benutzer, welcher dieser Rolle hinzugefügt ist, hat die Berechtigung Daten zu versenden (z.B. über das Upload Applet).
ROLE_SUBMITTER
Diese Rolle ermöglicht es dem jeweiligen Besitzer, Daten über eine SubmitBox zu versenden. Standardmäßig wird diese Rolle dynamisch
gesetzt, sobald ein Benutzer ein Submit-Ticket anfordert.
ROLE_UI_USER
Alle Benutzer, die sich in die WEB-UI einloggen möchten, müssen dieser Rolle zugeordnet sein.
Applet Konfigurationsmöglichkeiten
Notwendigkeit für Empfänger-Account voreinstellen
Empfänger-Account erzwingen
Empfänger-Account vollständig unterbinden
Request-Parameter
Drag-Support: Applet auf den Desktop "ziehen"
FTAPI in Windows-Kontextmenü integrieren
Das FTAPI-Applet lässt sich flexibel an die eigenen Bedürfnisse anpassen.
In diesem Abschnitt erfahren Sie, welche Konfigurationsmöglichkeiten zur Verfügung stehen.
Notwendigkeit für Empfänger-Account voreinstellen
Standardmäßig kann der Versender einstellen, ob der Empfänger einen FTAPI-Account besitzen muss oder nicht. Eine Zustellung wird
hierdurch zusätzlich abgesichert, da sich jeder Empfänger vor einem Download authentifizieren muss.
In einigen Fällen kann es sinnvoll sein, dass z.B. durch den Administrator diese Einstellung unveränderbar vorgegeben ist und z.B.
ein solcher Empfänger-Account aus Sicherheitsgründen immer zwingend ist (siehe Empfänger-Account erzwingen).
Im umgekehrten Fall kann eingestellt werden, dass dieser niemals angefordert werden darf. (siehe Empfänger-Account vollständig
unterbinden)
Beide Fälle lassen sich in der FTAPI-Konfiguration entsprechend voreinstellen:
Empfänger-Account erzwingen
© FTAPI Software UG (2011), Seite 17
Hierzu muss in der FTAPI-Konfiguration server-production.properties der Wert ftapi.force.recipient.account=ALWAYS gesetzt werden.
Dies führt zu folgender Voreinstellung im Applet:
Die Checkbox ist aktiviert und kann durch den Benutzer nicht mehr verändert werden.
Empfänger-Account vollständig unterbinden
Hierzu muss in der FTAPI-Konfiguration server-production.properties der Wert ftapi.force.recipient.account=NEVER gesetzt werden.
Dies führt zu folgender Voreinstellung im Applet:
Es wird überhaupt keine Checkbox angezeigt, da ein Empfänger-Account in keinem Falle notwendig ist bzw. angefordert werden kann.
Request-Parameter
Das Applet erlaubt die Vorbelegung seiner Felder durch Request-Parameter.
Die belegbaren Felder und zugehörigen Request-Parameter lauten wie folgt:
Applet-Feld
Request-Parameter
Beschreibung
E-Mail
recipients
Eine durch Semikolons ; getrennte Liste von E-Mail-Adressen, die als Empfänger der Zustellung
eingetragen werden sollen.
Betreff
subject
Der Betreff der Nachricht.
Nachricht
message
Der Text der Nachricht.
Dateien
files
Eine durch Semikolons ; getrennte Liste aller Dateipfade und -namen, die der Zustellung hinzugefügt
werden sollen.
© FTAPI Software UG (2011), Seite 18
Request-Beispiel
Ein Aufruf der Form
http://localhost/ftapi-server/upload/[email protected]&subject=Test&message=Test&files=D:\document.pdf
führt zu folgendem bereits vorausgefülltem Applet:
Drag-Support: Applet auf den Desktop "ziehen"
Das FTAPI Applet kann aus dem Browser heraus auch auf den Desktop gezogen werden, um dort als eigenständige Applikation solange
weiter zu laufen, bis eine Übertragung abgeschlossen ist. Der Web-Browser kann in der Zwischenzeit sogar geschlossen werden.
Halten sie hierzu lediglich die Taste ALT gedrückt und verschieben Sie gleichzeitig das Applet mit der Maus auf den Desktop.
© FTAPI Software UG (2011), Seite 19
Der "Drag-Support" ist nur mit einer Java-Version ab 1.6 verfügbar.
Um den Drag-Support zu aktivieren, müssen Sie in der FTAPI-Konfiguration server-production.properties folgenden Wert setzen:
ftapi.webui.applets.draggable=true
Dieser Wert ist standardmäßig auf false gesetzt.
FTAPI in Windows-Kontextmenü integrieren
Mit wenigen Handgriffen ist es möglich, dass FTAPI in das Windows-Kontextmenü integriert wird. So kann mit einem rechten Mausklick auf
eine Datei diese direkt mit FTAPI verschickt werden. Und das ohne die Notwendigkeit, eine zusätzliche Software installieren zu
müssen!
Für Änderungen an der Windows-Registry und allen daraus resultierenden Folgen übernimmt FTAPI keine Haftung.
Die nachfolgend beschriebenen Einstellungen erfolgen vollständig auf eigene Gefahr hin. Darüber hinaus gibt FTAPI
hierfür keinerlei Support.
Um FTAPI in das Windows-Kontextmenü zu integrieren, gehen Sie folgendermaßen vor:
1. Geben Sie in der Windows-Eingabeaufforderung regedit ein. Es öffnet sich der Registrierungs-Editor.
2. Navigieren Sie zum Ordner HKEY_CLASSES_ROOT/*/shell
3. Klicken Sie mit der rechten Maustaste auf den Ordner shell und erstellen Sie einen neuen Schlüssel mit dem Namen Send with
FTAPI SecuTransfer
4. Klicken Sie mit der rechten Maustaste auf den soeben neu erstellten Schlüssel und erstellen Sie einen neuen, weiteren Schlüssel
© FTAPI Software UG (2011), Seite 20
4.
mit dem Namen command
5. Markieren Sie mit der linken Maustaste den soeben neu erstellten Schlüssel
6. Klicken Sie nun auf den Eintrag Standardwert rechts doppelt und geben Sie bei Wert "C:\Program Files\Internet
Explorer\iexplore.exe" http://localhost:8080/ftapi-server/upload/createDelivery.html?files=%1 ein, wobei der Pfad zu Ihrem FTAPI
Server natürlich entsprechend angepasst werden muss. Falls der Internet-Explorer in Ihrem System an einem anderen Ort installiert
ist, müssen Sie auch diesen Pfad entsprechend anpassen.
7. Fertig. Ab sofort können Sie Dateien direkt aus Ihrem Desktop heraus mit FTAPI versenden, ohne dass Sie zusätzliche Software
installieren müssen.
HTTPS
In order to secure all FTAPI transfers by using HTTPS, preconditions are a few settings and a (self) signed certificate.
The procedure is described step by step below.
Background
By default FTAPI delivers a self-signed certificate for testing and evaluation purposes.
You should get a "real" CA signed certificate if you plan on using FTAPI in a productive environment.
In order to get such a CA signed certificate just follow the next steps:
1. Creating your Keystore
2. Certificate Signing Request
2.1. Generate .CSR (Certificate Signing Request) file in console
2.2. Open .CSR file and copy the text
3. Install signed certificate to keystore
4. Enabling SSL in the Tomcat server.xml File
5. Configure FTAPI config file
An easy certificate for demo- and test cases can easily be ordered and dwonloaded at RapidSSL Free 30 day.
1. Creating your Keystore
First of all you need to create a Keystore and a key pair.
You will be using the keytool command to create and manage your new Keystore file.
You may need to add your (for example) c:\program files\Java\jdk1.6.0_18\bin directory to your system variable PATH before the keytool
command is recognized.
Or you execute keytool.exe in your console directly from your Java folder (e.g. C:\Program Files\Java\jdk1.6.0_18\bin ) .
When you are ready to create your keystore go to the directory where you plan to manage your Keystore and certificates - standard is folder
\.ftapisecurity.
Enter the following command:
keytool.exe -genkey -alias ftapi-server -keyalg RSA -keysize 2048 -keystore your_site_name.jks
Typing keytool.exe - help will show you all available commands.
First you will be prompted to choose a password for your keystore.
Afterwards you will then be prompted to enter your Organization information:
Abbreviation
Long term
Example
© FTAPI Software UG (2011), Seite 21
Question in console &
other
More info on the web
CN
Common
Name
ftapi.your-site-name.de
Wie lautet Ihr Vorn- und
Nachame?
What is your first and
last name?
This one MUST match
your URL (e.g.
ftapi.your-site-name.com
!)
OU
Organisation
Unit
-
Wie lautet der Name
Ihrer organisatorischen
Einheit?
What is the name of
your organizational unit?
O
Organisation
Ihr Firmenname
Wie lautet der Name
Ihrer Organisation?
What is the name of
your organization?
L
Locality
Ihre Stadt
Wie lautet der Name
Ihrer Stadt oder
Gemeinde?
What is the name of
your City or Locality?
ST
State
Bundesland
Wie lautet der Name
Ihres Bundeslandes
oder Provinz?
What is the name of
your State or Province?
C
Country
DE
Wie lautet der
Landescode für diese
Einheit?
What is the two-letter
country code for this
unit?
http://www.digicert.com/csr-creation.htm
This is the Common Name (Fully Qualified Domain
Name - FQDN)
http://www.digicert.com/ssl-certificate-country-codes.htm
Common Name
From a technical point of view the only important value is "Common Name". This one must exactly match with your DNS
hostname, which one is used for your FTAPI server.
For example does the Common Name (CN) ftapi.your-site-name.com secure the URL https://ftapi.your-site-name.com/
When it asks for first and last name, this is NOT your first and last name, but rather it is your Fully Qualified Domain Name for the site you
are securing (example: www.yourdomain.com). If you are ordering a Wildcard Certificate this must begin with the * character. (example:
*.yourdomain.com)
After you have completed the required information confirm that the information is correct by entering 'j' or 'ja' (if in english use 'y' or 'yes')
when prompted.
Next you will be asked for your password to confirm. Make sure to remember the password you choose.
With Enter you can choose to use the same password as for your keystore (which is recommended)
.JKS file
Your keystore file named your_site_name.jks is now created in your current working directory (e.g. \Java\jdk1.6.0_18\bin
OR \.ftapi\security).
Find more details at http://www.digicert.com/ssl-certificate-installation.htm.
If you do not order your certificate at www.digicert.com, the procedure can be different from the one desribed here!
2. Certificate Signing Request
The certification process consists of two steps (http://www.digicert.com/csr-creation-tomcat.htm):
2.1. Generate .CSR (Certificate Signing Request) file in console
keytool.exe -certreq -alias ftapi-server -file csr.txt -keystore your_site_name.jks
Use the keystore password that you chose earlier and hit Enter.
2.2. Open .CSR file and copy the text
© FTAPI Software UG (2011), Seite 22
Your CSR file named csr.txt is now created in your current directory.
Open the CSR with a text editor, and copy the text below (including the BEGIN and END tags).
-----BEGIN NEW CERTIFICATE REQUEST----MIIBuTCCASICAQAweTELMAkGA1UEBhMCREUxDzANBgNVBAgTBkJheWVybjERMA8GA1UEBxMITXVl
bmNoZW4xGjAYBgNVBAoTEUZUQVBJIFNvZnR3YXJlIFVHMRAwDgYDVQQLEwdVbmtub3duMRgwFgYD
VQQDEw9mdGFwaS5mdGFwaS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJtE4P4mbXhF
f8q4pzkm5AChn0E0n16rUjus+zSwSxrYKmmqE5NyJ1KnkhBhB0qNnFxFVpzAw4b9r14D/FfE/R9Y
cOZEt3U+0HZZBbdU5YNIxs/JFzxDdJmSpXBtlnNol4ga025E3OGtcduZgli6nDmZ8hZhgJYeZtur
673nPf8LAgMBAAGgADANsdfsFSDFS230BAQUFAAOBgQCNKh2zvm6sB867PKbh/LbvFsbvyHiOrlZW
sk7Q8763CAxXO2XvxF8bSXZHulTrEdvTFajQxORQKkfR7NuZ1i+m4Y9DE38Hxq0sFnD1JRv61uu\+
60OnKZr4vqDZbdk/vnZ/ZtrRqE4ejp6Ez6aC5Etqta0vLX7AIZf9iBQsUMSAEg==
-----END NEW CERTIFICATE REQUEST-----
The full text has to be send to a Certificate Authority (CA).
Be careful to save the keystore file (your_site_name.jks). Your certificates will be installed to it in the following step.
3. Install signed certificate to keystore
This step explains, how a (CA) signed certificate has to be installed into your keystore.
Download your signed SSL certificate (e.g. your-domain-name.p7b) to the directory where your keystore was saved during the CSR
creation process!
(the keystore is called your_site_name.jks - see 2.1).
Your SSL certificate must be installed to the same keystore that was used to generate your CSR. If you try to
install it to a different keystore it won't work!
In order to install your certificate into your keystore, type the following command to install the certificate file to your keystore:
keytool.exe -import -trustcacerts -alias ftapi-server -file your_domain_name.p7b -keystore your_site_name.jks
You should get a confirmation stating that the "Certificate reply was installed in keystore"
If it asks if you want to trust the certificate. Choose y or yes.
Your keystore file (your_site_name.jks) is now ready to use on your Tomcat Server and you just need to configure your server to use it.
4. Enabling SSL in the Tomcat server.xml File
In the final step you have to adjust the SSL connectors to you certificate. This is done at the Apache Tomcat Server for your FTAPI system.
Tomcat needs a configured SSL connector in order to provide secure communication and transfers:
1. Open the Tomcat server.xml file with a text editor - the file should be found in the folder ...\ftapi-server\conf\server.xml or in your
Tomcat home folder.
2. Deactivate (uncomment) the current connector by adding start and end comment lines
"<!--" before and "-->" after the following section of code - afterwards this one should look like this:
<!-<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
3. Specify the correct keystore filename and password in your connector configuration.
Activate this section of code by removing the start and end comment lines ("<!--" before and "-->" after).
When you are done your connector should look something like this:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="../.ftapi/security/your_site_name.jks"
keyAlias="ftapi-server" keypass="your_keystore_password" />
4. (optional) Set the redirect port on the HTTP connector:
If a request comes in for a secure ressource on the HTTP port, a redirect will be made automatically to the HTTPS port. In order to
enable this, make sure the attribute redirectPort="8443" is set at your HTTP connector (see 2. above), whereas 8443 is the port
number of your HTTPS connector.
Example:
© FTAPI Software UG (2011), Seite 23
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
5. Save your changes to the server.xml file.
6. Restart Tomcat.
By default the FTAPI Tomcat will look for your Keystore with the file name .keystore in your home directory with the default
password "changeit".
(The home directory is generally /home/user_name/ on Unix and Linux systems, and C:\Documents and
Settings\user_name\ on Microsoft Windows systems.)
5. Configure FTAPI config file
In order for your FTAPI server to be accessed using https you need to change the config file "server-production.properties"
(usually this file is located at \.ftapi\config )
Configure the following setting with your domain or iIP address
# Misc settings
# ------------------------------------------------ftapi.base.url=https://localhost:8443/ftapi-server
Finally restart your Tomcat server and browse to your ftapi.base.url in this example https://localhost:8443/ftapi-server
If your HTTPS connector uses port 443, you don't need to set the port at ftapi.base.url, since all browsers automatically
use this port as default, if the https:// protocol is requested. You could then set something like: https://localhost/ftapi-server.
Redirect HTTP zu HTTPS einrichten
Folgende Einstellungen sind notwendig, damit alle URL-Aufrufe - sowohl HTTP wie auch HTTPS - immer über die SSL gesicherte
FTAPI-URL aufgerufen werden.
Im folgenden Beispiel erfolgt die gesicherte Kommunikation immer über den Port 443, da dieser ein Standard-Port ist, der auch in einer URL
nicht explizit angegeben werden muss.
Es müssen insgesamt die drei folgenden Dateien angepasst werden, damit der Tomcat-Redirect von ungesicherten http Aufrufen auf https
funktioniert.
server.xml
web.xml
server-production.properties
server.xml
In der Datei server.xml - befindet sich im Ordner /ftapi-version/ftapi-server/conf/ - muss folgendes stehen:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
UND
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="../.ftapi/security/ftapi.com.jks"
keyAlias="ftapi-server" keypass="changeit" />
Dies bewirkt, dass alle Webanwendungen unter %CATALINA_HOME%\webapps nur noch verschlüsselt erreicht werden können!
(ein Aufruf auf http://localhost:80 oder http://localhost wird automatisch immer zu https://localhost:443 weitergeleitet)
web.xml
© FTAPI Software UG (2011), Seite 24
In der Datei web.xml - ebenfalls im Ordner /ftapi-version/ftapi-server/conf/ - ist der folgende Text ab und inklusive der Zeile
<security-constraint> nach den zuvor hier genannten Einträgen zu ergänzen:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http:/java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Apps</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Im FTAPI Server Verzeichnis befinden sich insgesamt zwei web.xml Dateien!
Die oben genannten Anpassungen sind alle in der Datei /ftapi-server/conf/web.xml durchzuführen bzw. werden bereits so
ausgeliefert.
Die zweite und NICHT zu ändernde Datei befindet sich unter /ftapi-server/webapps/ftapi-server/WEB-INF/web.xml!
server-production.properties
Abschließend noch überprüfen bzw. einstellen, dass die FTAPI-Base-URL ebenfalls als HTTPS und mit dem gleichen Port (hier 443)
angegeben ist:
\#----------------------------------------------\
\# Misc settings
\#----------------------------------------------\
ftapi.base.url=https://localhost:443/ftapi-server
Nachdem der FTAPI Server nun neugestartet wurde, sollte nun auch beim Aufruf von http://localhost:80 eine Weiterleitung direkt zu
https://localhost:443 erfolgen.
Web-Interface (WebUI)
Der FTAPI-Server bietet Ihnen die Möglichkeit, große und/oder sensible Daten über die nachfolgend erläuterte Weboberfläche zu
übermitteln, ohne dass Sie spezielle Software installieren müssen. Nachfolgend werden die wichtigsten Masken und Oberflächen, sowei ein
grundlegender Durchlauf kurz erläutert.
Aufruf und Log-In
Ihr FTAPI-Server ist über die URL http://<host> erreichbar, wobei <host> für den Hostnamen Ihres FTAPI-Servers steht.
Wenn Sie die FTAPI-LDAP (oder AD) Anbindung eingerichtet haben, können Sie Ihre gewohnten Zugangsdaten für den Login ins
FTAPI-System nutzen.
Falls dies bei Ihnen nicht der Fall ist, erhalten Sie Ihre speziellen FTAPI-Zugangsdaten von Ihrem Administrator.
Übersicht - Dashboard
© FTAPI Software UG (2011), Seite 25
Nach erfolgreichem Login erscheint Ihre benutzerspezifische Übersichtsseite.
Hier erfahren Sie alle wichtigen Informationen zu Ihrem Benutzer-Account wie u.a.
die Anzahl Ihrer erhaltenen und versendeten Sendungen
die Anzahl der noch nicht abgeholten Zustellungen
das Datum Ihres letzten Logins
Ihre im System hinterlegte E-Mailadresse
die URL Ihrer persönlichen SubmitBox
Durch einen Klick auf die Spalten "Eingang/ Ausgang" können Sie direkt in den jeweiligen Bereich springen!
Nähere Informationen über die versendeten bzw. noch nicht abgeholten Tickets erhalten Sie durch Anklicken des
jeweiligen Bereiches.
Versenden - neue Sendung
Über den
-Button (rechts oben) öffnet sich ein neues Fenster bzw. Reiter für eine komplett neue Zustellung.
© FTAPI Software UG (2011), Seite 26
Zertifikat akzeptieren
Bitte Akzeptieren Sie beim ersten Laden der Versendeseite das Zertifikat (für das Java Applet) dauerhaft, um FTAPI für
Ihren Datentransfer nutzen zu können.
Um die hohe Sicherheit des Datentransfers mit FTAPI gewährleisten zu können, wird dieses Zertifikat benötigt. Das
Akzeptieren hat keine weiteren Auswirkungen auf Ihren Browser.
Bei der nachfolgend dargestellten Sicherheitsmeldung bitte den Haken setzen und mit Ausführen bestätigen!
Der Versendedialog ist wie ein gängiges E-Mailprogramm aufgebaut.
1. Geben Sie zuerst die E-Mailadresse des Empfängers Ihres Datenpakets ein.
Mehrere E-Mailempfänger können durch ein Semikolon ; ohne weitere Leerzeichen davor oder danach eingegeben
werden.
© FTAPI Software UG (2011), Seite 27
2. Das Feld Betreff und den anschließenden Text für den oder die Empfänger füllen Sie wie bei einer normalen E-Mail aus.
3. Im unteren Bereich fügen Sie die zu versendenden Daten hinzu.
Dies können Sie auf mehrere Weisen tun:
- Klick auf das Symbol mit dem Ordner und der Box
- Drag & Drop (Browserfenster nicht maximiert oder zweiter Bildschirm)
- Klick auf das grüne Plus-Symbol (links unten)
- Doppelklick auf den gesamten Bereich
Im Datei- und Ordnerauswahldialog können Sie durch das Drücken der Strg-Taste einzelne Dateien UND Ordner direkt
auswählen.
Ordnerstrukturen werden von FTAPI automatisch rekursiv (also inklusive allen Unterordnern und den darin enthaltenen
Dateien) hinzugefügt.
!
4. Starten Sie den Versand über den blauen Knopf
rechts unten.
Dieser Knopf ist erst dann aktiv, wenn Sie mindestens eine Datei hinzugefügt haben!
Empfängerverifizierung bei Zustellung
Wenn Sie einen Haken bei "Empfänger muss FTAPI Account besitzen" setzen, kann sichergestellt werden, dass genau
und nur dieser die Zustellung erhält ein Download ist somit immer an eine bestimmte E-Mailadresse gebunden und kann deshalb auch nicht an Dritte
weitergeleitet werden.
Benutzereinstellungen - MySettings
© FTAPI Software UG (2011), Seite 28
Jeder Benutzer kann über das Zahnradsymbol
rechts oben seine persönlichen Einstellungen einsehen und bearbeiten.
Zusätzlich kann hier die eigene SubmitBox und der eigene RSS-Feed de-/aktiviert oder umbenannt werden!
Logout
Der Logout erfolgt über das Tür-Symbol !FTAPI Logoutsymbol.jpg! rechts oben.
Bitte loggen Sie sich für einen optimalen Schutz Ihres Benutzer-Accounts immer komplett hierüber aus.
FTAPI führt zu Erhöhung der Systemsicherheit automatisch einen Logout nach einiger Zeit der Nichtaktivität durch!
Feedback an FTAPI senden
Probleme, generell Vorschläge oder Feedback können auf jeder Seite der FTAPI Weboberfläche über den Link unten links (Problem
aufgetreten oder Vorschlag versenden?) direkt an das FTAPI-Team versandt werden.
Bitte notieren Sie sich nach dem Senden Ihre angezeigte Ticket-ID für Rückfragen.
© FTAPI Software UG (2011), Seite 29
LDAP und Active Directory
FTAPI besitzt eine eigene, leistungsfähige Benutzerverwaltung. In manchen Situationen ist es jedoch sinnvoll, bereits bestehende
Benutzer-Accounts aus einem LDAP- oder Active-Directory-System zu verwenden, um eine doppelte Verwaltung dieser Konten zu
vermeiden. In diesem Kapitel erfahren Sie, wie Sie FTAPI so konfigurieren können, dass es Benutzer-Konten aus einem LDAP- oder
Active-Directory-System akzeptiert.
Bevor Sie mit der Konfiguration in FTAPI beginnen, stellen Sie bitte sicher, dass Ihr LDAP-System über das Netzwerk
erreichbar ist und Sie sich erfolgreich per LDAP verbinden können. Dies können Sie beispielweise überprüfen, indem Sie
sich mit einem der zahlreichen kostenloses LDAP-Clients, wie z.B. dem LDAP Browser von Softerra auf Ihren LDAP-Server
verbinden.
Im folgenden Abschnitt wird der Begriff LDAP-Server als Synonym für ein LDAP- wie auch ein Active-Directory-System
verwendet.
Konfiguration anpassen
Verbindungsparameter
ftapi.ldap.enabled
ftapi.ldap.url
ftapi.ldap.manager.dn
ftapi.ldap.manager.password
Parameter für das Attribut-Mapping
ftapi.ldap.attr.firstName
ftapi.ldap.attr.lastName
ftapi.ldap.attr.email
ftapi.ldap.attr.fingerprint
Parameter für die LDAP-Suche
ftapi.search.base
ftapi.ldap.search.filter
ftapi.ldap.search.subtree
Parameter für den Cleanup
ftapi.ldap.cleanup.enabled
ftapi.ldap.cleanup.interval
Mapping von LDAP-Gruppen zu FTAPI-Rollen
Single Mapping
Multi Mapping
Konfiguration anpassen
Öffnen Sie die Datei ~/.ftapi/config/server-production.properties und suchen Sie den Eintrag, der in etwa folgendes
Aussehen besitzt:
#-------------------------------------------------------------------# LDAP settings
#-------------------------------------------------------------------# Server settings
ftapi.ldap.enabled=false
ftapi.ldap.url=ldap://localhost
ftapi.ldap.manager.dn=
ftapi.ldap.manager.password=
# Context attribute mappings
ftapi.ldap.attr.firstName=givenName
ftapi.ldap.attr.lastName=sn
ftapi.ldap.attr.email=mail
ftapi.ldap.attr.fingerprint=objectGUID
# User search settings
ftapi.ldap.search.base=
ftapi.ldap.search.filter=(&(sAMAccountName={0})(objectclass=user))
ftapi.ldap.search.subtree=true
Ändern Sie diese Parameter entsprechend Ihren Bedürfnissen und speichern Sie anschließend die Datei wieder ab.
Anschließend müssen Sie den FTAPI-Server neu starten, damit diese Änderungen aktiv werden.
Nachfolgend werden die einzelnen Konfigurationsparameter ausführlich beschrieben.
© FTAPI Software UG (2011), Seite 30
Verbindungsparameter
Die folgenden Parameter werden für die Aktivierung der Verbindung zu einem LDAP-System benötigt.
ftapi.ldap.enabled
Mit diesem Parameter können Sie LDAP generell aktivieren (true) oder deaktivieren (false).Wird kein Wert angegeben, so wir der
Standardwert false verwendet. Wenn die LDAP-Anbindung aktiviert und funktionsfähig ist, so führt FTAPI die Benutzerauthentifizierung
stets in folgenden Schritten durch:
1. Es wird zuerst im LDAP-System nach dem entsprechenden Benutzer gesucht und bei einem Fund, dessen Login-Daten für die
Authentifizierung verwendet.
2. Konnte im LDAP-System kein Benutzer mit dem angegebenen Benutzernamen gefunden werden, so wird die FTAPI eigene
Benutzerverwaltung überprüft und falls sich hier der gewünschte Benutzer befindet, dessen Daten für die Authentifizierung
verwendet.
3. Konnten weder im LDAP-System noch in der FTAPI-Benutzerverwaltung der Benutzer gefunden werden, so wird der Login mit
einem "Login Failed" zurückgewiesen.
Wenn sich ein LDAP-Benutzer erstmalig bei FTAPI anmeldet, so werden alle notwendigen und nicht-sensiblen Daten von dessen
LDAP-Account in die FTAPI-Benutzerverwaltung übernommen. Dies ist notwendig, um weitere Einstellungen an diesem FTAPI-Account
vornehmen zu können (z.B. Rollen zuordnen/entfernen), ohne den LDAP-Account ändern zu müssen. Einige Felder, wie z.B. das Passwort
oder der Benutzername selbst, können dann nicht über die Oberfläche der FTAPI-Benutzerverwaltung verändert werden. Dies muss im
LDAP-System selbst vorgenommen werden.
Gleichnamige Benutzer-Accounts
Bitte beachten Sie, dass es aus Sicherheitsgründen nicht erlaubt ist, dass ein manuell angelegter FTAPI-Account und ein
LDAP-Account mit demselben Benutzernamen existieren. In diesem Fall wird beim Login eine Fehlermeldung angezeigt.
Um dieses Problem zu umgehen, loggen Sie sich bitte als Administrator ein und geben Sie dem FTAPI-Account einen
anderen Benutzernamen.
ftapi.ldap.url
Dieser Parameter ist Pflicht und gibt die URL zu Ihrem LDAP-Server im Format ldap://<host>:<port> an. Über diese URL muss der
LDAP-Server vom FTAPI-System aus erreichbar sein. Ein Beispiel:
ldap://ad-server:389
ftapi.ldap.manager.dn
Mit diesem Parameter wird der sogenannte DN (Benutzername) des LDAP-Managers angegeben, über den die Verbindung zum
LDAP-System aufgebaut werden soll. Diese Angabe ist Pflicht. Ein Beispiel:
[email protected]
ftapi.ldap.manager.password
Das Passwort des LDAP-Managers. Diese Angabe ist optional, je nach dem ob der LDAP-Manager ein Passwort besitzt oder nicht.
Parameter für das Attribut-Mapping
Mit den nachfolgend beschriebenen Parametern können Sie bestimmen, welche Felder aus einem LDAP-Account verwendet werden, um
dessen Werte in den FTAPI-Account zu übernehmen.
Im Regelfall ist keine Änderung dieser Parameter notwendig.
ftapi.ldap.attr.firstName
Bestimmt den Namen des LDAP-Context-Felds, dessen Wert als Vorname in den lokalen FTAPI-Account übernommen werden soll.
ftapi.ldap.attr.lastName
© FTAPI Software UG (2011), Seite 31
Bestimmt den Namen des LDAP-Context-Felds, dessen Wert als Nachname in den lokalen FTAPI-Account übernommen werden soll.
ftapi.ldap.attr.email
Bestimmt den Namen des LDAP-Context-Felds, dessen Wert als E-Mail in den lokalen FTAPI-Account übernommen werden soll.
ftapi.ldap.attr.fingerprint
Bestimmt den Namen des LDAP-Context-Felds, dessen Wert als eindeutiger Fingerabdruck in den lokalen FTAPI-Account übernommen
werden soll. Dies ist aus Sicherheitsgründen notwendig, um sicher zu stellen, dass der LDAP-Context nicht durch einen anderen
"ausgetauscht" wird und kann jedes beliebige Feld sein, welches einen eindeutigen Wert besitzt.
Parameter für die LDAP-Suche
Nachdem mit dem LDAP-System eine Verbindung hergestellt wurde, wird in einem ganz bestimmten Bereich im "LDAP-Baum" nach dem
Login-Benutzer gesucht. Welcher Bereich dies ist und wie diese Suche durchgeführt werden soll, wird durch die nachfolgenden Parameter
bestimmt.
ftapi.search.base
Dieser Parameter bestimmt den Basis-Knoten im LDAP-Baum, ab dem mit der Suche begonnen werden soll. Ein solcher Pfad könnte
beispielsweise für einen Active-Directory-Server auf einem Microsoft Small Business Server folgendermaßen aussehen:
ou=SBSUsers,ou=Users,ou=MyBusiness,dc=ftapi,dc=local
Im Active Directory Browser würde sich dieser Pfad dann durch folgende Baustruktur wiederspiegeln:
Weitergehende Informationen, wie LDAP-Pfade aufgebaut sein können, entnehmen Sie bitte der Dokumentation zu Ihrem
LDAP-Serversystem.
ftapi.ldap.search.filter
Mit diesem Parameter werden die Context-Typen bestimmt, die für eine Überprüfung heran gezogen werden sollen. Es stellt somit einen
Filter dar. Unter einem Active-Directory-Server sollte diese Angabe stets folgendermaßen belassen werden:
(&(sAMAccountName={0})(objectclass=user))
ftapi.ldap.search.subtree
© FTAPI Software UG (2011), Seite 32
Dieser Parameter bestimmt, ob rekursiv gesucht werden soll (true) oder nicht (false). D.h., ob auch in den Kinderknoten nach dem
Login-Benutzer gesucht werden soll. Der Standardwert ist (false). Vor allem bei großen LDAP-Baumen ist es häufig sinnvoll, diesen Wert
auf false zu setzen, um die Systemlast zu vermindern. Allerdings muss dann der Parameter ftapi.search.base direkt auf die korrekte
Ebene zeigen.
Parameter für den Cleanup
FTAPI besitzt einen Mechanismus um FTAPI Accounts, die zwar über LDAP angelegt wurden aber im LDAP System nicht mehr existieren,
auch aus der FTAPI Benutzerdatenbank wieder zu entfernen. Dies stellt vor allem bei großen Benutzerdatenbanken eine deutliche
Erleichterung für den LDAP-Administrator dar.
ftapi.ldap.cleanup.enabled
Dieser Parameter gibt an, ob die LDAP Cleanup-Funktion aktiv sein soll oder nicht. Der Standardwert ist false.
ftapi.ldap.cleanup.interval
Dieser Parameter ist ein Cron, der angibt, in welchen Intervallen ein Abgeleich der FTAPI Benutzeraccounts mit dem LDAP-System erfolgen
soll. Im nachfolgenden Beispiel erfolgt eine solche Überprüfung täglich um 4:00 Uhr Morgens. Dies ist auch die Standardeinstellung.
ftapi.ldap.cleanup.interval=0 0 4 * * ?
Mapping von LDAP-Gruppen zu FTAPI-Rollen
Standardmäßig kann sich jeder Benutzer, der einen gültigen Account im LDAP-System besitzt, in FTAPI einloggen.
Er erhält in diesem Fall automatisch alle Rollen zugeordnet, die durch ftapi.ldap.default.roles spezifiziert wurden.
Vor alle in größeren Umgebungen ist es jedoch oft gewollt, dass nur eine bestimme, privilegierte Gruppe von LDAP-Benutzern Zugang zum
FTAPI-System erhält.
FTAPI bietet Ihnen hierfür zwei verschiedene Möglichkeiten an, wie eine Zuordnung von LDAP-Gruppen zu FTAPI-Rollen erfolgen kann.
Single Mapping &
Multi Mapping
Diese werden nachfolgend näher erklärt.
Single Mapping
Dies ist die einfachere Variante von beiden, um von LDAP zu FTAPI Rollen zu mappen und wird deshalb vor allem dann empfohlen, falls Sie
keine feingranulare Zuordnung je Benutzer zu FTAPI-Rollen benötigen.
Hier muss nur eine einzige Gruppe in LDAP angelegt werden (z.B. mit dem Namen FTAPI). Alle LDAP-Benutzer, die dieser Gruppe
angehören, erhalten beim Login dann automatisch die FTAPI-Rollen zugeordnet, die durch das Property ftapi.ldap.default.roles definiert
wurden.
© FTAPI Software UG (2011), Seite 33
Im Active Directory Browser wäre hierfür beispielsweise folgende Struktur sinnvoll:
Innerhalb der Organisationseinheit SBSUsers wurde hier die Gruppe FTAPI angelegt, welcher die für FTAPI privilegierten Benutzer
hinzugefügt werden.
Um Single Mapping zu aktivieren, müssen Sie in der FTAPI Konfigurationsdatei folgende Einstellungen vornehmen:
© FTAPI Software UG (2011), Seite 34
#-------------------------------------------------------------------# LDAP to FTAPI role mapping settings
#-------------------------------------------------------------------# Enables the LDAP to FTAPI role mapping
# Default: false
ftapi.ldap.role.mapping.enabled=true
# The base path to start with the role search
# Default: ou=FTAPIRoles,ou=SBSUsers,ou=Users,ou=MyBusiness,dc=ftapi,dc=local
ftapi.ldap.role.mapping.search.base=ou=SBSUsers,ou=Users,ou=MyBusiness,dc=ftapi,dc=local
# Should only one LDAP group used for mapping?
# Default: true
ftapi.ldap.role.mapping.single=true
# The name of the single group
# Default: FTAPI
ftapi.ldap.role.mapping.single.group=FTAPI
# Should a recursive search should be done starting at the role search base?
# Default: false
ftapi.ldap.role.mapping.search.subtree=false
# The attribute where the name of the role can be found
# Default: cn
ftapi.ldap.role.mapping.attribute=cn
# Should the name of the role always be converted to upper case?
# Default: true
ftapi.ldap.role.mapping.touppercase=true
Die wichtigsten Einstellungen zu den obigen Properties sind nachfolgend noch einmal zusammengefasst:
ftapi.ldap.role.mapping.enabled=true
aktiviert das generelle Mapping von LDAP-Gruppen zu FTAPI-Rollen
ftapi.ldap.role.mapping.search.base
Angabe des LDAP-Pfades zum Verzeichnis, in welchem sich die LDAP-Gruppe befindet
ftapi.ldap.role.mapping.single=true
aktiviert das Single Mapping
ftapi.ldap.role.mapping.single.group=FTAPI
Name der LDAP-Gruppe, welcher alle LDAP-Benutzer zugeordnet sein müssen, um FTAPI verwenden zu können.
Diese Gruppe muss sich innerhalb des Pfads befinden, der durch ftapi.ldap.role.mapping.search.base angegeben wurde
ftapi.ldap.default.roles
Stellen Sie sicher, dass hier all diejenigen FTAPI-Rollen eingestellt sind, die ein Benutzer der der LDAP-Gruppe FTAPI zugeordnet
ist, standardmäßig erhält.
Nachfolgend als Beispiel die Standard-Zuordnungen:
# Any user which was authenticated thru LDAP, will have assigned these FTAPI roles by
default.
# Example: ROLE_SENDER,ROLE_UI_USER,ROLE_RECEIVER
# Default: (empty)
ftapi.ldap.default.roles=ROLE_SENDER,ROLE_UI_USER,ROLE_RECEIVER
Multi Mapping
Im Gegensatz zum Single Mapping, bietet das Multi Mapping die Möglichkeit der 1-zu-1-Zuordnung von LDAP-Gruppen zu FTAPI-Rollen.
Legen Sie hierfür in LDAP einfach eine Gruppe an, die denselben Namen wie die zugehörige FTAPI-Rolle (z.B. ROLE_SENDER) besitzt und
fügen Sie dieser die entsprechenden LDAP-Benutzer hinzu. Sobald sich diese LDAP-Benutzer in FTAPI einloggen, werden sie automatisch
der gleichnamigen FTAPI-Rolle (z.B. ROLE_SENDER) zugeordnet. Dies können Sie für alle anderen FTAPI-Rollen gleichermaßen
durchführen.
© FTAPI Software UG (2011), Seite 35
Im Active Directory Browser ist hierfür beispielsweise folgende Struktur sinnvoll:
Innerhalb der Organisationseinheit SBSUsers wurde eine weitere Organisationseinheit FTAPIRoles erstellt, in welcher sich die eigentlichen
Rollen befinden.
Um Multi Mapping zu aktivieren, müssen Sie in der FTAPI Konfigurationsdatei folgende Einstellungen vornehmen:
© FTAPI Software UG (2011), Seite 36
#-------------------------------------------------------------------# LDAP to FTAPI role mapping settings
#-------------------------------------------------------------------# Enables the LDAP to FTAPI role mapping
# Default: false
ftapi.ldap.role.mapping.enabled=true
# The base path to start with the role search
# Default: ou=FTAPIRoles,ou=SBSUsers,ou=Users,ou=MyBusiness,dc=ftapi,dc=local
ftapi.ldap.role.mapping.search.base=ou=FTAPIRoles,ou=SBSUsers,ou=Users,ou=MyBusiness,dc=ftapi,dc=local#
Should only one LDAP group used for mapping?
# Default: true
ftapi.ldap.role.mapping.single=false
# The name of the single group
# Default: FTAPI
ftapi.ldap.role.mapping.single.group=FTAPI
# Should a recursive search should be done starting at the role search base?
# Default: false
ftapi.ldap.role.mapping.search.subtree=false
# The attribute where the name of the role can be found
# Default: cn
ftapi.ldap.role.mapping.attribute=cn
# Should the name of the role always be converted to upper case?
# Default: true
ftapi.ldap.role.mapping.touppercase=true
Beim Mulit Mapping ist lediglich das folgende Property - im Vergleich zum Single Mapping (s. oben) - anders einzustellen.
ftapi.ldap.role.mapping.single=false
deaktiviert das Single Mapping und aktiviert das Multi Mapping
Zusätzlich müssen Sie sicherstellen, dass im Property ftapi.ldap.default.roles kein Wert gesetzt ist, damit keine
Zuordnung zu den Standard-FTAPI-Rollen erfolgt (außer Sie wünschen dies explizit):
# Any user which was authenticated thru LDAP, will have assigned these FTAPI roles by
default.
# Example: ROLE_SENDER,ROLE_UI_USER,ROLE_RECEIVER
# Default: (empty)
ftapi.ldap.default.roles=
Bitte beachten Sie, dass die Rolle ROLE_ADMIN dem zugeordneten Benutzer zwar das Recht zum Bearbeiten von
anderen Benutzern und Einstellungen zuweist, allerdings nicht andere Rechte, wie z.B. den Login in die Web-UI oder das
Versenden. Hierfür muss der Benutzer auch zusätzlich den anderen Rollen, wie z.B. ROLE_UI_USER oder
ROLE_SENDER zugeordnet werden.
SubmitBox
Eine SubmitBox bietet Ihren Kunden und Partnern die Möglichkeit, Ihnen große und/oder sensible Daten über eine einfache Website zu
übermitteln, ohne dass diese
spezielle Software installieren oder sich Zugangsdaten merken müssen.
Hier zum Beispiel die SubmitBox (Einreicheportal) von Herrn Mustermann:
© FTAPI Software UG (2011), Seite 37
SubmitBox aufrufen
Jeder FTAPI-Benutzer erhält automatisch eine eigene SubmitBox. Dies ist über die URL http://<host>/submit/<username> erreichbar, wobei
<host> für den Hostnamen Ihres FTAPI-Servers und <username> für den entsprechenden Benutzernamen steht. Ein Beispiel
http://localhost:8080/submit/MaxMustermann
Die SubmitBox-URL ist ähnlich einer E-Mail oder Telefonnummer:
Sie können diese über Ihre Website oder E-Mail-Signatur an Ihre Kunden und Partner publizieren mit dem Hinweis, dass
sie große und/oder sensible Dateien direkt über diese URL an Sie zustellen können.
Beispiel:
Um große oder sensible Daten an mich zu übermitteln,
verwenden Sie bitte folgenden Link:
http://server/submit/MaxMustermann
SubmitBox aktivieren bzw. deaktivieren
Standardmäßig ist die SubmitBox des jeweiligen Benutzers bei dessen Neuanlage aktiviert. Es kann in den Benutzereinstellungen des
entsprechenden Benutzers nachträglich deaktiviert werden. Ist die SubmitBox deaktiviert, so wird bei dessen Aufruf eine entsprechende
Meldung angezeigt. Externe Partner und Kunden können dann keine Daten über das SubmitBox einreichen.
Download Disclaimer
In FTAPI haben Sie die Möglichkeit, sich vom Empfänger einer Zustellung zuvor eine Zustimmung zu festgelegten Bedingungen einzuholen,
bevor dieser den Download starten kann.
Erst wenn der Empfänger den angezeigten Bedingungen durch Anklicken der Checkbox "Ich stimme zu" zustimmt, kann er den Download
starten.
Hierdurch können Sie auf einfache Art und Weise eine rechtliche Sicherheit herstellen. Sowohl der Zeitpunkt der Zustimmung als auch der
Fingerprint des entsprechenden Disclaimer-Textes werden festgehalten und können für spätere Zwecke wieder geladen werden.
Aktivieren und konfigurieren
Um diese Funktion zu aktivieren, müssen Sie in der Konfigurationsdatei den Wert ftapi.download.disclaimer.enabled auf true setzen.
Über den Parameter ftapi.download.disclaimer.path geben Sie den Pfad zur Disclaimer Text-Datei an, welche den Disclaimer-Text
beinhaltet, der dem Empfänger vor dem Herunterladen einer Zustellung angezeigt werden soll. Standardmäßig ist dies
#{ftapi.home}/templates/download-disclaimer.txt.
Eigenen Disclaimer-Text ergänzen
In der Regel ist keine Anpassung dieses Pfades, jedoch die Ergänzung Ihres eigenen Disclaimer-Textes in der zuvor
genannten Datei, notwendig.
Präfix-Regeln
© FTAPI Software UG (2011), Seite 38
Wenn Sie den Wert ftapi.download.disclaimer.enabled auf true setzen, wird zunächst ausnahmslos für jede Zustellung dem Empfänger
der Download-Disclaimer angezeigt. Dies ist allerdings nicht immer gewollt, da Sie z.B. nur für bestimmte Zustellungen einen Disclaimer
anfordern möchten und für andere wiederum keinen benötigen.
Hierfür können Sie den Parameter ftapi.download.disclaimer.subject.prefixes verwenden, welcher standardmäßig zunächst leer ist. Falls
Sie hier mindestens ein sogenanntes Präfix angeben, wird mit jeder Zustellung dessen Betreff mit diesem Präfix abgeglichen und der
Download-Disclaimer nur dann angezeigt, falls der Betreff (genau) mit diesem Präfix beginnt.
Sie können auch mehrere Präfixes definieren, indem Sie diese durch ein Komma trennen. In diesem Fall wird der Disclaimer nur dann
angezeigt, wenn der Betreff mit einem dieser Präfixe beginnt.
Ein Beispiel:
Angenommen, Ihre Präfix-Einstellung lautet wie folgt:
ftapi.download.disclaimer.subject.prefixes=[RELEASE],[UPDATE]
So würden folgende Betreffzeilen dazu führen, dass beim Download der Download Disclaimer angezeigt wird:
[UPDATE] Ihr Software 1.1 Update
[RELEASE] Ihr Software 2.0 Release
Hingegen würden die folgenden Betreffzeilen dazu führen, dass beim Download der Download Disclaimer nicht angezeigt wird:
Ihr Software 1.1 Update
Ihr Software 2.0 Release
Web-Templates
FTAPI verwendet eine einheitliche Weboberfläche zur Darstellung der Benutzermasken.
Eine Anpassung (Customizing) an Ihr Corporate Design ist grundsätzlich mit Kenntnissen in CSS und HTML möglich. Für eine
Funktionsgarantie lassen Sie sich bitte für Anpassungen vom FTAPI Support unterstützen.
Das Aussehen der von FTAPI ausgelieferten Web-UI ist hier dokumentiert und dargestellt.
Web-Templates
Das Aussehen der FTAPI Weboberflächenwird durch mehrere sogenannte Web-Templates festgelegt.
Alle Templates und Bilder befinden sich im Verzeichnis _\ftapi-server\webapps\ftapi-server\webui\themes\default_
\resources und
\templates
Ihrer FTAPI-Server-Installation.
Bitte beachten Sie, dass Änderungen an den Web-Templates nur durch den FTAPI-Support durchgeführt werden sollten.
Falls Sie dennoch diese Web-Templates selbst anpassen möchten, kann FTAPI hierfür keine Haftung übernhemen. Falls
dadurch Probleme im Betrieb von FTAPI entstehen, sind Sie hierfür selbst verantwortlich.
E-Mail Templates
In FTAPI werden für verschiedene Vorgänge automatisch generierte E-Mails versendet. Das Format dieser E-Mails wird jeweils durch ein
E-Mail-Template festgelegt.
Die E-Mail-Templates werden beim ersten Start des FTAPI-Servers in das Verzeichnis ~/.ftapi/templates/notification kopiert. Dort können Sie
anschließend Anpassungen an den jeweiligen Templates vornehmen.
Standardmäßig kommt die Template-Engine Velocity zum Einsatz.
Für nähere Hinweise werfen Sie bitte einen Blick in die Dokumentation zu dieser Template-Engine (http://velocity.apache.org/).
In welchen Situationen die einzelnen Templates verwendet werden, ist immer direkt im jeweiligen Template beschrieben.
Folgende Templates werden derzeit verwendet:
DownloadCommittedNotification.txt.vtl
© FTAPI Software UG (2011), Seite 39
Vorlage für E-Mail, wenn ein "Downloadbestätigung an den Versender" versandt wird
IssueNotification.txt.vtl
Vorlage für "Vorschlag oder Problem versenden"
SubmitConfirmationNotification.txt.vtl
Vorlage für "Einreichebestätigung an (externen) Submitter"
SubmitTicketCreatedNotification.txt.vtl
Vorlage für "Submit Ticket wurde für Sie bereit gestellt" - Mail an externen Submitter
NewDeliveryNotification.txt.vtl
Vorlage für Text, der an jeder E-Mail mit "Downloadlink am Ende" angehängt wird
Innerhalb eines Templates werden häufig implizite Objekte zur Verfügung gestellt. Welche Objekte dies sind, wird ebenfalls im jeweiligen
Template beschrieben.
Benutzer importieren
Sie haben in FTAPI die Möglichkeit, mehrere Benutzer auf einmal in das System zu importieren.
Wechseln Sie hierfür in das Verzeichnis .ftapi/import und öffnen Sie die Datei default-users.csv. Hierbei handelt es sich um eine
sogenannte CSV-Datei, welche nachfolgend beispielhaft dargestellt ist:
# Username;
Password; Enabled; Email;
FirstName; LastName; Roles;
#
----------------------------------------------------------------------------------------------------BugsBunny;
{MD5}acbd; true;
[email protected]; Bugs;
Bunny;
ROLE_ADMIN,
ROLE_UI_USER, ROLE_SENDER;
Jeder Benutzer, der in das System eingetragen werden soll, muss in einer eigenen Zeile definiert werden, wobei die einzelnen Spalten durch
ein Semikolon ; voneinander getrennt sein müssen.
Existiert ein Benutzer mit dem angegebenen Username bereits, so wird er nicht erneut eingetragen. Auch ein Update dieser Benutzerdaten
erfolgt nicht.
Mehrere Rollen müssen durch ein Komma , voneinander getrennt sein.
Nachdem Sie die Eintragungen durchgeführt haben, starten Sie den FTAPI Server neu.
Die aufgelisteten Benutzer werden anschließend sofort in Ihr FTAPI-System importiert.
Kurze Beschreibung der einzelnen Spalten:
Username (erforderlich):
Der eindeutige Name des Benutzers. Existiert bereits ein Benutzer mit demselben Namen, wird der Import für diesen Benutzer
übersprungen.
Password (erforderlich):
Das Passwort, welches für den Login verwendet werden soll. Aus Sicherheitsgründen sollten Sie hier ausschließlich codierte
Passwörter angeben. Unterstützt werden die beiden Hash-Verfahren MD5 und SHA. Welcher Hash-Algorithmus verwendet wurde,
muss durch das Präfix {MD5} bzw {SHA} vor dem Passwort angegeben werden. Wird kein solches Präfix gesetzt, so wird davon
ausgegangen, dass das Passwort im Klartext vorliegt (nicht empfohlen).
Enabled (optional):
Gibt an, ob der angegebene Benutzer aktiviert (true) oder deaktiviert (false) sein soll. Wird hier kein Wert angegeben, so wird der
Wert true angenommen.
Email (erforderlich):
Die eindeutige E-Mail-Adresse des Benutzers.
FirstName (optional):
Der Vorname des Benutzers.
LastName (optional):
Der Nachname des Benutzers.
Roles (erforderlich):
Eine kommaseparierte Liste an Rollen, die dem Benutzer zugewiesen werden sollen.
Hier finden Sie eine Beschreibung aller in FTAPI verfügbaren Rollen!
FTAPI Client - BETA
Der FTAPI Client ist als BETA Version Bestandteil dieser Auslieferung.
Bitte beachten Sie, dass aufgrund des Beta-Stadiums der Support für diesen FTAPI nicht Bestandteil eines Support- und
Wartungsvertrages ist. Eine Garantie für die vollständige Funktionsfähigkeit ist hierfür nicht gegeben.
Einrichtung des Clients
© FTAPI Software UG (2011), Seite 40
Der FTAPI Client liegt jeder Auslieferung im Ordner \ftapi-client bei.
Der Client kann entweder
in Form einer Weitergabe des Ordners ftapi-client an alle Mitarbeiter verteilt werden, oder
durch die Aktivierung der Downloadoption (s. weiter unten!) direkt von jedem Benutzer nach erfolgreichem Login selbst
heruntergeladen werden
Bedienung des Clients
Es wird empfohlen, eine Desktopverknüpfung für den Client anzulegen.
Für Windows verknüpfen Sie die Datei ftapi-client.exe, bei Mac oder Linux die Datei ftapi-client.bat.
Folgende Werte müssen für einen erfolgreichen Login angegeben werden:
Im Gegensatz zum Login über einen Web-Browser muss am Ende der Server-URL noch /services/rest ergänzt werden.
Der Benutzer-Login kann gespeichert werden, so dass beim nächsten Aufruf des Clients der dargestellte Login-Screen nicht mehr erscheint.
Der Client an sich entspricht dem Bereich "Neue Sendung" auf der Web-Oberfläche:
© FTAPI Software UG (2011), Seite 41
Auch hier wird vor dem Upload-Beginn überprüft, ob mind. eine gültige E-Mailadresse, ein Betrefftext und mind. eine Datei vorhanden sind!
Aktivierung in WebUI
Wenn Sie möchten, dass der Client allen Benutzern von FTAPI zum Download zur Verfügung steht, dann können Sie dies in der Datei
.ftapi/config/server-production.properties aktivieren (= auf true setzen).
#-------------------------------------------------------------------# WebUI settings
#-------------------------------------------------------------------# Allows to download the FTAPI Client for the users by
# simply clickinig a download link on the dashboard.
# NOTE: This feature is BETA. Enable it at your own risk
# and without any support from FTAPI Support Team.
ftapi.webui.clientdownload.enabled=true
Jeder Benutzer, der die Berechtigung hat, sich in der FTAPI WebOberfläche anzumelden, sieht anschließend auf seiner Übersichtsseite
UND bei jeder neuen Sendung den folgenden Hinweis:
© FTAPI Software UG (2011), Seite 42
Es wird empfohlen, sich einen Ordner ftapi-client anzulegen, die Dateien darin zu entpacken und dann eine
Desktopverknüpfung auf ftapi-client.exe (Windows) oder .bat (Mac/Linux) zu erstellen.
Zurücksetzen des Clients
Um den Client auf den Auslieferungszustand zurückzusetzen, muss das entsprechende Verzeichnis gelöscht werden.
Anschließend können alle Server- und Logindaten neu eingegeben werden.
Standardmäßig werden die Einstellungen im Heimatverzeichnis des gerade angemeldeten Benutzers abgespeichert.
In Windows wäre dies c:\users\Username\.ftapi\client
Wenn Sie bei einem Benutzer den Ordner \client komplett löschen, dann ist dieser FTAPI Client auf den Auslieferungszustand zurückgesetzt
und alle Daten für einen Login können erneut eingegeben werden.
Action Logs
Zahlreiche Aktionen, die in FTAPI durchgeführt werden, werden protokolliert. Somit ist es ein Leichtes, später Auswertungen durchzuführen
und z.B. verantwortliche Personen zu ermitteln.
Die letzten 1000 Aktionen können direkt über die Administrations-Oberfläche im Menüpunkt Logs -> Aktionen eingesehen werden.
Beispiel:
Benötigen Sie hingegen alle Aktionen, so finden Sie diese in der verwendeten SQL-Datenbank in der Tabelle ActionLog.
Serverseitiges Scripting
Bitte beachten Sie, dass sich dieses Kapitel auf Funktionen bezieht, die nur in den FTAPI Professional und Enterprise
Editionen vorhanden sind.
FTAPI bietet Ihnen eine elegante und zugleich mächtige Möglichkeit, serverseitige Skripte einzubinden und auszuführen. Dies kann sinnvoll
sein, um z.B. auf eingehende Dateien mit einer entsprechenden Aktion zu reagieren (z.B. große Bilder in kleine Thumbnails rendern) oder
um per Remote bestimmte Aktionen auf dem Server anzustoßen.
Unterstützt werden nahezu alle wichtigen Script-Arten, wie z.B. serverseitiges JavaScript, Groovy, Python, Ruby, um nur einige wenige zu
nennen. Grundsätzlich werden alle Script-Arten unterstützt, die auf https://scripting.dev.java.net/ genannt sind und auch von Java unterstützt
werden. Standardmäßig ist die JavaScript-Engine Mozilla Rhino bereits aktiviert. D.h., Sie können ohne großen Aufwand sofort serverseitige
JavaScript-Skripte erstellen und ausführen. Möchten Sie hingegen eine andere Script-Engine verwenden, so müssen Sie diese zuvor
aktivieren - dies wird am Ende dieses Kapitels beschrieben.
© FTAPI Software UG (2011), Seite 43
Falls Sie umfangreiche Aufgaben mit der FTAPI Scripting Engine durchführen möchten, sollten Sie zumindest
grundlegende Kenntnisse nicht nur in der entsprechenden Scriptsprache, sondern auch Java haben, da Sie von jedem
Script aus auch auf die FTAPI-Objekte zugreifen können, die in Java dokumentiert sind.
In diesem Kapitel basieren die Beispiele zwar allesamt auf der Skriptsprache JavaScript, können aber mit der Syntax der
jeweiligen anderen Skriptsprache ebenfalls durchgeführt werden.
Eine gute Einführung in die Verwendung von Java innerhalb von JavaScript bietet die Website von Rhino:
https://developer.mozilla.org/en/Scripting_Java
Skript-Home-Verzeichnis
Skript erstellen
Implizite Objekte
springContext
configRepo
Skript ausführen
Skript per Remote ausführen
Per URL-Aufruf
Per FTAPI-Command
Skript beim Starten des Servers ausführen
Skript zeitgesteuert ausführen
Skript ereignisgesteuert ausführen
Andere Script-Engine aktivieren
Groovy einbinden
Skript-Home-Verzeichnis
Bevor Sie mit dem Erstellen von Skripten beginnen, sollten Sie sicher stellen, dass die Konfigurationsvariable ${ftapi.script.home} in Ihrer
Konfigurationsdatei server-production.properties korrekt gesetzt ist. Sie muss auf das Verzeichnis zeigen, in dem sich später alle
ausführbaren Skripte befinden werden. Standardmäßig ist dies ${ftapi.home}/scripts. Sie können diesen Pfad aber natürlich Ihren
Bedürfnissen entsprechend anpassen.
Skript erstellen
Um ein Skript ausführen zu können, müssen Sie hierfür zunächst eine Datei im Verzeichnis ${ftapi.script.home} erstellen. Die Datei kann
einen beliebigen Namen besitzen und muss mit einem Suffix enden, welches der zu verwendenden Script-Engine zugeordnet ist. Für
JavaScript lautet dieses Suffix standardmäßig .js. D.h., dass eine Datei helloworld.js also immer mit der JavaScript Engine ausgeführt
werden würde.
Die wichtigsten Suffix-Engine-Mappings lauten:
.js = JavaScript engine
.groovy = Groovy engine
.rb = Ruby engine
.py = Python engine
Implizite Objekte
Innerhalb eines Skripts haben Sie Zugriff auf verschiedene implizite Objekte, ohne dass Sie diese selbst instanziieren müssen. Diese
Objekte werden nachfolgend näher beschrieben.
springContext
Unter dem Namen springContext wird Ihnen der gesamte (so genannte) Application Context zur Verfügung gestellt. Über dieses Objekt
erhalten Sie Zugriff zu allen Manager-Objekten des FTAPI-Systems. Um beispielsweise das Config-Repository zu laden, könnten Sie in
JavaScript folgendermaßen vorgehen:
var config = springContext.getBean("configRepository");
Das Objekt springContext ist eine Instanz von
http://static.springsource.org/spring/DOCS11/3.0.3.RELEASE/javadoc-api/org/springframework/web/context/WebApplicationContext.html;
Um mit dem Application Context zu arbeiten, ist ein umfassendes Wissen über das FTAPI System und das verwendete
Framework Spring notwendig.
configRepo
© FTAPI Software UG (2011), Seite 44
Das Config-Repository können Sie entweder über das implizite Objekt springContext laden oder direkt das implizit zur Verfügung gestellte
Objekt configRepo verwenden. Über dieses Objekt erhalten Sie vollen Zugriff auf alle Konfigurationseinstellungen des FTAPI Systems. Um
beispielsweise den Wert für ftapi.script.home auszulesen, können Sie in JavaScript folgendermaßen vorgehen:
var scriptHome = configRepo.getValue("ftapi.script.home");
Das Objekt configRepo ist eine Instanz von der FTAPI Klasse ConfigRepository.
Skript ausführen
Nachdem Sie ein Skript im Verzeichnis ${ftapi.script.home} mit einem entsprechenden Suffix erstellt haben, können Sie dieses sofort
ausführen. Hierfür stehen Ihnen drei verschiedene Möglichkeiten zur Verfügung:
Remote per FTAPI Kommando
Zeitgesteuert per Cron-Job
Eventgesteuert per FTAPI Server Event
Beim Starten des Servers
Skript per Remote ausführen
Per URL-Aufruf
Sie können ein Skript per Remote von jedem Ort der Welt aus ausführen, indem Sie einfach die URL
http://ihr-server/services/rest/script/ExecuteScript?scriptName=example.js aufrufen, wobei Sie natürlich "ihr-server" durch die Addresse Ihres
Servers und "example.js" durch den Namen des auszuführenden Skripts ersetzen müssen. Darüber hinaus müssen Sie gegenüber dem
FTAPI Server natürlich entsprechend authentifiziert sein, um die Ausführung durchführen zu dürfen, indem Sie sich zuvor eingeloggt haben
oder anderweitig per HTTP authentifiziert haben.
Per FTAPI-Command
Eine weitere Möglichkeit hierfür bietet das FTAPI Kommando CmdExecuteScript, welches die gesamte Authentifizierungs-Prozedur für Sie
übernimmt und in Kombination mit dem FTAPI Command Ant Task zusammen mit anderen Kommands ausgeführt werden kann. Sehen Sie
sich hierzu das Kapitel Commands an, um weitere Informationen zur Ausführung von FTAPI Commands zu erhalten.
Skript beim Starten des Servers ausführen
In manchen Situationen kann es sinnvoll sein, ein oder mehere Skripte unmittelbar beim Starten des Servers auszuführen, um z.B.
bestimmte Initialisierungen oder Benachrichtigungen durchzuführen. Hierfür muss das Skript lediglich unter dem Konfigurations-Property
ftapi.script.startup in der Konfigurationsdatei server-production.properties eingetragen werden. Mehrere Skripte können angegeben
werden, indem diese durch Kommata voneinander getrennt werden. Die Reihenfolge in der die Skripte ausgeführt werden entspricht der
Reihenfolge der Definition. Das nachfolgende Beispiel führt beim Server-Startup die Skripte boot.js und example.js nacheinander aus:
ftapi.script.startup=boot.js, example.js
Standardmäßig ist das Skript init.js bereits als Startup-Skript registriert. Falls Ihnen ein einzelnes Startup-Skript ausreicht,
müssen Sie keine Anpassungen an der Konfiguration vornehmen, sondern können Ihre Startup-Definitionen direkt im Skript
init.js platzieren.
Skript zeitgesteuert ausführen
Sie können Skripte zeitgesteuert ausführen, indem Sie diese programmatisch über ein weiteres Skript registrieren. Das nachfolgende
Beispiel zeigt den Inhalt des Skripts init.js, welches wiederum das Skript helloworld.js für eine zeitgesteuerte Ausführung alle 59 Sekunden
registriert:
var scriptManager = springContext.getBean("scriptManager");
scriptManager.registerCronScript("helloworld.js", "59 * * * * ?");
Die Syntax für die Cron-Definition wird durch Quartz festgelegt. Mehr Informationen hierzu erhalten Sie auf der Website des Quartz Projekts.
Mehr Informationen zur Verwendung des Script-Managers erhalten Sie in der Javadoc zur Klasse ScriptManager.
© FTAPI Software UG (2011), Seite 45
Bitte beachten Sie, dass die programmatische Registrierung des Skripts transient ist. D.h., dass die Registrierung bei
einem Neustart des Servers verloren geht. Um eine persistente Registrierung durchzuführen, müssen Sie dasjenige Skript,
welche die Registrierung durchführt, in den Startup-Prozess einbinden, wie im Abschnitt ?weiter oben beschrieben.
Skript ereignisgesteuert ausführen
Skripte können auch immer dann automatisiert ausgeführt werden, wenn bestimmte Ereignisse auf dem Server auftreten. Hierzu ist das
jeweilige Skript unter dem entsprechenden Ereignis zu registrieren. Dies erfolgt ebenfalls programmatisch aus einem Skript init.js heraus,
wie nachfolgendes Beispiel zeigt:
var scriptManager = springCOntext.getBean("scriptManager");
scriptManager.registerEventScript("hello-event.js",
com.ftapi.server.event.ServerEventEntityPropertyChanged);
Dieses Beispiel-Skript registriert das Skript hello-event.js unter dem Event ServerEventEntityPropertyChanged. D.h., es wird zukünftig immer
dann ausgeführt, wenn sich irgendein persistiertes Property ändert.
In der Javadoc im Package com.ftapi.server.event erhalten Sie eine Auflistung aller verfügbaren Server-Events, die Sie in Ihrem Skript
verwenden können.
Bitte beachten Sie, dass der zweite Parameter von registerEventScript() eine Java-Event-Klasse sein muss, welche durch
ihren voll qualifizierenden Pfad angegeben ist.
Innerhalb eines Event-Skripts wird Ihnen automatisch die implizite Variable serverEvent zur Verfügung gestellt, welche vom Typ der
angegebenen Event-Klasse ist, wie nachfolgendenes Beispiel von hello-event.js zeigt:
println("Property changed event fired. Property name: " + serverEvent.getPropertyName());
Bitte beachten Sie, dass die programmatische Registrierung des Skripts transient ist. D.h., dass die Registrierung bei
einem Neustart des Servers verloren geht. Um eine persistente Registrierung durchzuführen, müssen Sie dasjenige Skript,
welche die Registrierung durchführt, in den Startup-Prozess einbinden, wie im Abschnitt weiter oben beschrieben.
Andere Script-Engine aktivieren
Neben der standardmäßig aktivierten JavaScript-Engine können Sie auch zahlreiche andere Script-Engines in FTAPI einbinden. Die einzige
Bedingung für die zu verwendende Script-Engine besteht darin, dass sie eine ScriptEngine-Implementierung besitzt, die mit dem
Java-Standard JSR-223 kompatibel ist. Eine Liste solcher Engines erhalten Sie auf der Website von java.net: https://scripting.dev.java.net/
Groovy einbinden
Eine Script-Engine, welche mit JSR-223 kompatibel ist, ist Groovy. Anhand dieser Script-Engine soll beispielhaft erklärt werden, wie eine
solche Script-Engine eingebunden werden kann.
Im ersten Schritt laden Sie sich Groovy herunter und kopieren Sie die Jar-Datei, welche die Groovy-Engine enthält, nach
${FTAPI_SERVER}/WEB-INF/lib, wobei ${FTAPI_SERVER} für den Pfad steht, in dem Ihr FTAPI Server installiert ist.
Im zweiten und letzten Schritt müssen Sie nur noch ein Mapping zwischen der neuen Groovy Engine und der Skript-Endung ".groovy"
erstellen, damit FTAPI weiß, dass Skripte mit dieser Endung mit der Grooy-Engine auszuführen sind.
Öffnen Sie hierzu die Datei ${FTAPI_SERVER}/WEB-INF/classes/sc-core.xml und fügen Sie folgenden Eintrag innerhalb von <property
name="engineExtensionMapping"> hinzu:
<entry key=".groovy" value="groovy"/>
Damit wird ein Mapping zwischen der Endung .groovy und der Script-Engine unter dem offiziellen Namen groovy erzeugt. Wie dieser
offizielle Name für Ihre Script-Engine lautet, entnehmen Sie bitte der Dokumentation der jeweiligen Engine.
FTAPI REST Commands
© FTAPI Software UG (2011), Seite 46
Bitte beachten Sie, dass sich dieses Kapitel auf Funktionen bezieht, die nur in den FTAPI Professional und Enterprise
Editionen vorhanden sind.
DRAFT
Bitte beachten Sie, dass dieses Kapitel noch nicht final ist, d.h., es ist noch nicht vollständig bzw. Inhalte können sich noch
ändern.
Einführung
Übersicht über FTAPI Commands
AddDeliverablesOnUploadTicket
CreateSubmitTicket
CreateUploadTicket
DeleteUser
Deliver
Echo
ExecuteScript
FindAllRoles
FindAllUsers
FindDefaultSubmitPortal
FindDeliverableCollectionByUuid
FindDeliveriesByTemplate
FindDeliveryByUuid
FindNextUploadSegment
FindNumberOfDownloadTickets
FindRoleByName
FindSubmitPortalByName
FindSubmitPortalByUuid
FindSubmitTicketByUuid
FindUploadTicketByUuid
FindUserByEmail
FindUserById
FindUserByUsername
FindUserExists
GetLog
GetServerInfo
RegisterDeliverable
RegisterDeliverableCollection
RegisterDeliveryTemplate
RegisterRecipient
RegisterUploadTicket
SaveUser
SendDeliveries
SendDeliveries
SendIssue
SetConfigProperty
Submit
Upload
UploadDeliverable
Einführung
FTAPI Commands bieten die Möglichkeit, den FTAPI Server per Remote durch den Aufruf einfacher HTTP-Befehle (Kommandos) zu
steuern. Dabei wird als Basis der so genannte Representational State Transfer (REST) verwendet und somit eine äußert einfache, aber
zugleich mächtige Möglichkeit geboten, per WebService auf den FTAPI Server zugreifen zu können.
REST wird unter anderem von Firmen wie Google oder Amazon für Ihre Cloud-Services intensiv eingesetzt und gilt als
einfachere und flexiblere Alternative zu SOAP.
Grundsätzlich ist es möglich, alle FTAPI Commands z.B. direkt über einen Web-Browser aufzurufen, indem die Kommando-URL direkt in die
Adresszeile des Browsers eingegeben wird.z.B.:
http://localhost/ftapi-server/services/rest/GetServerInfo
Allerdings wird dies spätestens bei POST-Anfragen und mehreren Anfragen, die unmittelbar nacheinander ablaufen sollen, mühsam und
unübersichtlich. Stattdessen bietet es sich an, die FTAPI Commands z.B. durch eigene Bash-Skripte oder mit Hilfe von Ajax auszuführen.
Die Möglichkeiten - wie die FTAPI Commands aufgerufen werden - sind groß, da grundsätzlich keine Bindung an eine spezielle
Programmiersprache besteht. Jede Umgebung, die das HTTP-Protokoll versteht, kann theoretisch auch FTAPI Commandos ausführen.
Als Austauschformat zwischen Client und FTAPI Server kommen zwei Varianten in Frage, die durch den HTTP-Header "Content-Type"
© FTAPI Software UG (2011), Seite 47
entsprechend gesetzt werden können, wie durch REST definiert:
Serialisierte Java-Objekte
JSON-Dokumente
Während ersteres nur dann sinnvoll ist, wenn der Client ebenfalls in Java geschrieben ist, wird die zweite Variante vor allem in
Nicht-Java-Umgebungen sinnvoll. JSON ist ein Format - ähnlich wie XML - welches aber deutlich kompakter ist und vor allem im
Web-Umfeld (AJAX) sowie bei NoSQL-Datenbanken immer häufiger Verwendung findet. Damit wird es möglich, die FTAPI Commands z.B.
direkt von einer Website aus per Javascript aufzurufen und z.B. Download-Statistiken oder Datenpakete in eine Web-Präsenz nahtlos und
interaktiv einzubinden und den FTAPI Server beispielsweise zu einem zentralen Download-Server zu machen.
Wird kein Content-Type definiert, so wird standardmäßig JSON als Austauschformat verwendet.
Übersicht über FTAPI Commands
Nachfolgend erhalten Sie eine Übersicht über alle - in den zu Beginn dieses Kapitels genannten Editionen - verfügbaren Kommandos, in
englischer Sprache.
In dieser Version der Commands-Übersicht werden nur die Java-Datentypen als Argumente bzw. Rückgabewerte
verwendet. JSON-Dokumente können jedoch einfach daraus abgeleitet werden, indem die Regeln von
http://wiki.fasterxml.com/JacksonDataBinding angewandt werden. Die Dokumentation zu den JSON-Dokumenten wird im
nächsten Release nachgereicht.
AddDeliverablesOnUploadTicket
Add the deliverables from deliverable collection with given uuid on the upload ticket with given uuid. Note: This is only possible as long as the
upload of data has not been started for the given upload ticket so far.
Currently its only possible to call this command once per upload ticket. Make it possible to call this command more than once. See also the
upload tickets setDeliverables() for this.
Java definition
com.ftapi.cmd.def.upload.CmdAddDeliverablesOnUploadTicket
Path
/upload/AddDeliverablesOnUploadTicket/uploadTicketUuid/deliverableCollectionUuid
Return
void
Parameters
uploadTicketUuid: java.lang.String
deliverableCollectionUuid: java.lang.String
Return
void
Parameters
uploadTicketUuid: java.lang.String
files: java.io.File[]
CreateSubmitTicket
Creates a new submit ticket at server side.
© FTAPI Software UG (2011), Seite 48
Java definition
com.ftapi.cmd.def.submit.CmdCreateSubmitTicket
Path
/submit/CreateSubmitTicket/submitPortalUuid/email/createUser/sendNotify
Return
com.ftapi.cmd.dto.SubmitTicketDTO
Parameters
submitPortalUuid: java.lang.String
email: java.lang.String
createUser: boolean
sendNotify: boolean
CreateUploadTicket
Creates, registers and returns a new upload ticket.
Java definition
com.ftapi.cmd.def.upload.CmdCreateUploadTicket
Path
/upload/CreateUploadTicket
Return
com.ftapi.cmd.dto.UploadTicketDTO
Parameters
DeleteUser
Deletes the given user from the system. This also deletes any packages and deliveries associated with that user.
Java definition
com.ftapi.cmd.def.security.CmdDeleteUser
Path
/security/DeleteUser/userId
Return
void
© FTAPI Software UG (2011), Seite 49
Parameters
userId: long
Deliver
Delivers a given package to the given recipients.
Java definition
com.ftapi.cmd.def.deliver.CmdDeliver
Path
Return
java.util.Set
Parameters
deliverableCollectionUuid: java.lang.String
subject: java.lang.String
message: java.lang.String
recipients: java.lang.String[]
Echo
Prints the given text onto the console.
Java definition
com.ftapi.cmd.def.local.CmdEcho
Path
Return
void
Parameters
text: java.lang.String
inti: int
ExecuteScript
Executes the script with given name at server side. Note there must exist a script with exactly that name in the script home folder of the
FTAPI server.
Java definition
com.ftapi.cmd.def.script.CmdExecuteScript
Path
/script/ExecuteScript
© FTAPI Software UG (2011), Seite 50
Return
void
Parameters
scriptName: java.lang.String
FindAllRoles
Returns all roles, registered in the system.
Java definition
com.ftapi.cmd.def.security.CmdFindAllRoles
Path
/security/FindAllRoles
Return
java.util.List
Parameters
FindAllUsers
Finds all users, registered in the system.
Java definition
com.ftapi.cmd.def.security.CmdFindAllUsers
Path
/security/FindAllUsers
Return
java.util.List
Parameters
FindDefaultSubmitPortal
Returns the uuid of the default submit portal of the given user id.
Java definition
com.ftapi.cmd.def.submit.CmdFindDefaultSubmitPortal
Path
© FTAPI Software UG (2011), Seite 51
/submit/FindDefaultSubmitPortal/userId
Return
java.lang.String
Parameters
userId: java.lang.Long
FindDeliverableCollectionByUuid
Finds a deliverable collection with given uuid.
Java definition
com.ftapi.cmd.def.deliver.CmdFindDeliverableCollectionByUuid
Path
/deliver/FindDeliverableCollectionByUuid/deliverableCollectionUuid
Return
com.ftapi.cmd.dto.DeliverableCollectionDTO
Parameters
uuid: java.lang.String
FindDeliveriesByTemplate
Finds all deliveries created using the given delivery template.
Java definition
com.ftapi.cmd.def.deliver.CmdFindDeliveriesByTemplate
Path
/deliver/FindDeliveriesByTemplate/deliveryTemplateUuid
Return
java.util.List
Parameters
deliveryTemplateUuid: java.lang.String
FindDeliveryByUuid
Finds the delivery with given uuid.
© FTAPI Software UG (2011), Seite 52
Java definition
com.ftapi.cmd.def.deliver.CmdFindDeliveryByUuid
Path
/deliver/FindDeliveryByUuid/deliveryUuid
Return
com.ftapi.cmd.dto.DeliveryDTO
Parameters
deliveryUuid: java.lang.String
FindNextUploadSegment
Finds the next upload segement for a given upload process of the given upload ticket uuid.
Java definition
com.ftapi.cmd.def.upload.CmdFindNextUploadSegment
Path
/upload/FindNextUploadSegment/ultUuid
Return
com.ftapi.cmd.dto.SegmentDTO
Parameters
ultUuid: java.lang.String
FindNumberOfDownloadTickets
Counts the number of existing download tickets at server side, assigned to the given user and in given state.
Java definition
com.ftapi.cmd.def.management.CmdFindNumberOfDownloadTickets
Path
/management/FindNumberOfDownloadTickets/userId/state
Return
java.lang.Long
Parameters
© FTAPI Software UG (2011), Seite 53
userId: long
state: int
FindRoleByName
Finds a role with given name.
Java definition
com.ftapi.cmd.def.security.CmdFindRoleByName
Path
/security/FindRolebyName/roleName
Return
com.ftapi.cmd.dto.RoleDTO
Parameters
roleName: java.lang.String
FindSubmitPortalByName
Searches for a SubmitBox with given name and if found, returns it. If no SubmitBox with given name exists, also checks whether a portal's
uuid corresponds to the given portalName.
Java definition
com.ftapi.cmd.def.submit.CmdFindSubmitPortalByName
Path
/submit/FindSubmitPortalByName/submitPortalName
Return
com.ftapi.cmd.dto.SubmitPortalDTO
Parameters
portalName: java.lang.String
FindSubmitPortalByUuid
Finds the SubmitBox by its uuid.
Java definition
com.ftapi.cmd.def.submit.CmdFindSubmitPortalByUuid
Path
/submit/FindSubmitPortalByUuid/submitPortalUuid
© FTAPI Software UG (2011), Seite 54
Return
com.ftapi.cmd.dto.SubmitPortalDTO
Parameters
submitPortalUuid: java.lang.String
FindSubmitTicketByUuid
Finds the submit ticket by its uuid.
Java definition
com.ftapi.cmd.def.submit.CmdFindSubmitTicketByUuid
Path
/submit/FindSubmitTicket/submitTicketUuid
Return
com.ftapi.cmd.dto.SubmitTicketDTO
Parameters
submitTicketUuid: java.lang.String
FindUploadTicketByUuid
Finds the upload ticket with given uuid and returns it.
Java definition
com.ftapi.cmd.def.upload.CmdFindUploadTicketByUuid
Path
/upload/FindUploadTicketByUuid/ultUuid
Return
com.ftapi.cmd.dto.UploadTicketDTO
Parameters
ultUuid: java.lang.String
FindUserByEmail
Finds a user by its email address. Since every user must have a unique email address in the system, this is possible.
Java definition
© FTAPI Software UG (2011), Seite 55
com.ftapi.cmd.def.security.CmdFindUserByEmail
Path
/security/FindUserByEmail/email
Return
com.ftapi.cmd.dto.UserDTO
Parameters
email: java.lang.String
FindUserById
Finds a user by its user id.
Java definition
com.ftapi.cmd.def.security.CmdFindUserById
Path
/security/FindUserById/userId
Return
com.ftapi.cmd.dto.UserDTO
Parameters
userId: long
FindUserByUsername
Finds a user by its unique username.
Java definition
com.ftapi.cmd.def.security.CmdFindUserByUsername
Path
/security/FindUserByUsername/username
Return
com.ftapi.cmd.dto.UserDTO
Parameters
username: java.lang.String
© FTAPI Software UG (2011), Seite 56
FindUserExists
Checks, whether a user with given is exists in the system.
Java definition
com.ftapi.cmd.def.security.CmdFindUserExists
Path
/security/FindUserExists/userId
Return
java.lang.Boolean
Parameters
userId: long
GetLog
Returns the log of given type.
Java definition
com.ftapi.cmd.def.management.CmdGetLog
Path
/management/GetLog/logType
Return
com.ftapi.content.ContentReference
Parameters
logType: java.lang.String
GetServerInfo
Returns information about the current state of the server as ServerInfoDTO.
Java definition
com.ftapi.cmd.def.management.CmdGetServerInfo
Path
/management/GetServerInfo
Return
© FTAPI Software UG (2011), Seite 57
com.ftapi.cmd.dto.ServerInfoDTO
Parameters
RegisterDeliverable
A deliverable must be registered at server side before it can be send to the server. Doing it this way the server can decide whether it is willing
to accept the deliverable beforehand and can make some presets like the segment size or the uuid.
Java definition
com.ftapi.cmd.def.upload.CmdRegisterDeliverable
Path
/upload/RegisterDeliverable
Return
com.ftapi.cmd.dto.FileDeliverableDTO
Parameters
deliverable: com.ftapi.cmd.dto.FileDeliverableDTO
RegisterDeliverableCollection
Registers the deliverable collection at server side.
Note: All deliverables within the collection must be registered at server side beforehand.
Java definition
com.ftapi.cmd.def.upload.CmdRegisterDeliverableCollection
Path
/upload/RegisterDeliverableCollection
Return
com.ftapi.cmd.dto.DeliverableCollectionDTO
Parameters
collection: com.ftapi.cmd.dto.DeliverableCollectionDTO
RegisterDeliveryTemplate
Registers a new delivery template at server side.
Java definition
com.ftapi.cmd.def.deliver.CmdRegisterDeliveryTemplate
© FTAPI Software UG (2011), Seite 58
Path
/deliver/RegisterDeliveryTemplate
Return
java.lang.String
Parameters
deliveryTemplateDTO: com.ftapi.cmd.dto.DeliveryTemplateDTO
RegisterRecipient
Registers a new recipient. If such a recipient already exists, nothing happens.
Java definition
com.ftapi.cmd.def.deliver.CmdRegisterRecipient
Path
/deliver/RegisterRecipient
Return
com.ftapi.cmd.dto.RecipientDTO
Parameters
recipient: com.ftapi.cmd.dto.RecipientDTO
RegisterUploadTicket
Registers the given upload ticket and all of its containing FileDeliverableDTO at server side.
Java definition
com.ftapi.cmd.def.upload.CmdRegisterUploadTicket
Path
/upload/RegisterUploadTicket
Return
com.ftapi.cmd.dto.UploadTicketDTO
Parameters
ult: com.ftapi.cmd.dto.UploadTicketDTO
SaveUser
© FTAPI Software UG (2011), Seite 59
Saves the given user object at server side.
Java definition
com.ftapi.cmd.def.security.CmdSaveUser
Path
/security/SaveUser
Return
com.ftapi.cmd.dto.UserDTO
Parameters
user: com.ftapi.cmd.dto.UserDTO
SendDeliveries
Causes the server to create the delivery and send it to the registered recipients.
Java definition
com.ftapi.cmd.def.upload.CmdSendDeliveries
Path
Return
void
Parameters
deliveryTemplate: com.ftapi.cmd.dto.DeliveryTemplateDTO
SendDeliveries
Creates deliveries from the given delivery template and sends them to the recipients.
Java definition
com.ftapi.cmd.def.deliver.CmdSendDeliveries
Path
/deliver/SendDeliveries
Return
java.util.Set
Parameters
deliveryTemplateUuid: java.lang.String
© FTAPI Software UG (2011), Seite 60
SendIssue
Sends a new issue to the FTAPI support.
Java definition
com.ftapi.cmd.def.management.CmdSendIssue
Path
/management/SendIssue
Return
void
Parameters
issue: com.ftapi.cmd.dto.IssueDTO
SetConfigProperty
This Command sets a property in the server config, or overwrites an existing one.
The changes are made temporarily in memory, but will not be written to disk.
Java definition
com.ftapi.cmd.def.management.CmdSetConfigProperty
Path
/management/SetConfigProperty
Return
java.lang.String
Parameters
key: java.lang.String
value: java.lang.String
Submit
Sends the given submit.
Java definition
com.ftapi.cmd.def.submit.CmdSubmit
Path
/submit/submit
© FTAPI Software UG (2011), Seite 61
Return
void
Parameters
submit: com.ftapi.cmd.dto.SubmitDTO
Upload
A macro command which has no real counterpart implementation at server side.
It takes a bunch of files or an upload ticket and sends the defined files to the server using other commands.
The implementation of this interface must react upon the following events:
<ul>
ClientEventUploadPauseRequested
</ul>
The implementation must send the following events when required:
<ul>
ClientEventUploadStarted
ClientEventUploadFileStarted
ClientEventUploadBytesSent
ClientEventUploadFileFinished
ClientEventUploadFinished
ClientEventUploadPaused
ClientEventUploadResumed
</ul>
Java definition
com.ftapi.cmd.def.upload.CmdUpload
Path
Return
com.ftapi.cmd.dto.UploadTicketDTO
Parameters
file: java.io.File
Return
com.ftapi.cmd.dto.UploadTicketDTO
Parameters
files: java.io.File[]
Return
com.ftapi.cmd.dto.UploadTicketDTO
© FTAPI Software UG (2011), Seite 62
Parameters
uploadTicketUuid: java.lang.String
UploadDeliverable
Once a deliverable was registered using RegisterDeliverable, it can be send to the server using this command. If the deliverable was not
registered beforehand, an exception will be thrown.
Java definition
com.ftapi.cmd.def.upload.CmdUploadDeliverable
Path
Return
void
Parameters
ultUuid: java.lang.String
fileDTO: com.ftapi.cmd.dto.FileDeliverableDTO
Tools und Erweiterungen
FTAPI bietet verschiedene Tools und Erweiterungen für die reibungslose Integration in Ihre Unternehmens-IT an.
Diese Tools werden in diesem Kapitel ausführlich beschrieben.
Bitte beachten Sie bei jedem Tool und jeder Erweiterung die Versionsangaben, in denen diese verfügbar sind.
FTAPI Ant Task
Bitte beachten Sie, dass FTAPI Ant Task nur in den FTAPI Professional und Enterprise Editionen vorhanden ist.
Warum gibt es FTAPI Ant Task?
Was ist Apache Ant?
Was ist ein FTAPI REST Command?
Was ist der FTAPI Ant Task?
Installation
Apache Ant
FTAPI Ant Task
Verwendung
Tutorial 1: Upload und Deliver
Schritt 1 - Ant Skript als build.xml erstellen
Schritt 2 - Dateien vorbereiten
Schritt 3 - FTAPI REST Commands verwenden
Schritt 4 - Server-Daten festlegen
Festlegen eines Properties im Skript
Auslagern eines Properties in eine externe Konfigurationsdatei
Festlegen eines Properties bei Aufruf
Schritt 5 - Skript ausführen
Der FTAPI Ant Task - kurz FAT - ist eine Erweiterung des bekannten Build-Tools Ant (http://ant.apache.org) und ermöglicht die bequeme
Ausführung nahezu aller FTAPI REST Commands über die Kommandozeile oder eingebettet in andere Aufgaben. Um dieses Tool
verwenden zu können, sollten Sie Kenntnisse über folgende Themen besitzen:
Apache Ant (http://ant.apache.org)
FTAPI Commands (FTAPI Commands (REST API) )
© FTAPI Software UG (2011), Seite 63
Warum gibt es FTAPI Ant Task?
Dieses Tool ist vor allem dann extrem hilfreich, wenn es darum geht FTAPI Commands automatisiert auszuführen.
Eines der am häufigsten auftretenden Einsatzszenarien besteht z.B. darin, dass ein gegebenes Verzeichnis in regelmäßigen Abständen auf
neue Dateien hin überprüft wird. Falls sich darin neue Dateien befinden werden diese automatisch an eine vorkonfigurierte Liste an
Empfängern versendet.
Was ist Apache Ant?
Apache Ant (http://ant.apache.org) ist eines der am weitesten verbreiteten "Build-Tools" der Welt. Es bietet eine Vielzahl sogenannter Tasks
an. Jeder Task ist eine Komponente die eine ganz konkrete Aufgabe ausführt (z.B. Datei kopieren, zippen, u.vm.). Es können beliebige
Tasks wie Bausteine kombiniert und nacheinander ausgeführt werden (z.B. zuerst kompilieren, dann kopieren, dann zippen usw.). Dabei ist
Ant nicht alleine auf die Software-Entwicklung beschränkt, sondern kann auch für viele weitere Aufgaben eingesetzt werden, wie die Fülle
der verfügbaren Ant-Tasks auf der offiziellen Dokumentationsseite http://ant.apache.org/manual/index.html zeigt.
Wie die einzelnen Tasks parametrisiert und ausgeführt werden, wird in der Ant-Konfigurationsdatei - die standardmäßig den Namen
build.xml besitzt - festgelegt. Das Format dieser Datei ist XML, wodurch eine niedrige Lernkurve gewährleistet wird.
Nachfolgend ist ein einfaches Beispiel einer solchen Datei gezeigt, welche lediglich den Text "Hello World" mit Hilfe des Echo-Tasks auf der
Konsole ausgibt:
<project name="MyHelloWorld" default="sayHello" basedir=".">
<target name="sayHello>
<echo message="Hello world!"/>
</target>
</project>
Weitergehende Informationen zu diesem Dateiformat erhalten Sie im offiziellen Users Manual von Ant:
http://ant.apache.org/manual/index.html.
Was ist ein FTAPI REST Command?
Ein FTAPI Server kann durch zahlreiche Befehle per Remote "gesteuert" werden. Ein solcher Befehl wird FTAPI Rest Command oder
einfach nur Command genannt. Die Ausführung dieser Befehle erfolgt - vereinfacht gesagt - durch den Aufruf der zugehörigen URLs mit
entsprechenden Parametern. Der Aufruf von solchen URLs kann auf verschiedene Arten erfolgen, unter anderem mit dem FTAPI Ant Task,
welcher hier näher beschrieben wird.
Was ist der FTAPI Ant Task?
FTAPI Commands können grundsätzlich mit jedem HTTP Client ausgeführt werden, unabhängig von der Programmiersprache oder
Umgebung. Eine noch einfachere Möglichkeit, FTAPI Commands auszuführen, besteht in der Verwendung des FTAPI Ant Task. Damit
lassen sich FTAPI Commands in einem XML-Dokument wie Bausteine zusammenstellen, welche anschließend mit dem Tool Apache Ant
ausgeführt werden. Ein großer Vorteil besteht, neben der übersichtlichen Darstellung und Flexibilität, darin, dass die FTAPI Commands mit
anderen Ant-Tasks beliebig kombiniert werden können und damit ein mächtiges Werkzeug zur Verfügung steht. Eine umfangreiche
Dokumentation über die verfügbaren Ant Tasks ist auf der Website Apache Ant zu finden: http://ant.apache.org/manual/
Voraussetzung
Um den FTAPI Commands Ant Task verwenden zu können, wird eine installierte Java VM ab der Version 1.5 benötigt.
Darüber hinaus müssen Sie zuvor Apache Ant, sowie den FTAPI Commands Ant Task selbst installieren. Dies kann in nur
wenigen einfachen Schritten geschehen, wie nachfolgend beschrieben.
Installation
Apache Ant
Um Apache Ant zu installieren, müssen zwei einfache Schritte erledigt werden:
1. Laden Sie sich die aktuelle Version von http://ant.apache.org/bindownload.cgi herunter und entpacken Sie diese in ein Verzeichnis
Ihrer Wahl dieses Verzeichnis wird nachfolgend als $ANT_HOME bezeichnet.
2. Setzen Sie die Path-Variable Ihres Betriebssystems (System-Umgebungsvariable) auf das bin Verzeichnis innerhalb Ihres
entpackten Ant-Verzeichnisses.
(z.B. Wert der Variable: D:\apache-ant-1.8.1\bin)
Tiefergehende Informationen zur Installation von ApacheAnt erhalten Sie direkt auf der Projektwebsite unter
http://ant.apache.org/manual/install.html
© FTAPI Software UG (2011), Seite 64
FTAPI Ant Task
Um den FTAPI Commands Ant Task zu aktivieren, müssen Sie noch zwei weitere Schritte durchführen:
1. Kopieren Sie die Datei ftapi-client-ant-xxx.jar, welche sich in Ihrer FTAPI Version im Verzeichnis tools befindet, nach
$ANT_HOME/libs.
2. Kopieren Sie anschließend alle Dateien aus dem Verzeichnis tools/dependencies ebenfalls in das eben verwendete
$ANT_HOME/libs.
Nun können Sie die FTAPI Commands Ant Tasks in jedem Ihrer Ant-Skripte verwenden. Wie dies praktisch aussehen kann, wird
nachfolgend erläutert.
Falls Ihre FTAPI-Version kein Verzeichnis tools enthält, so ist für Ihre Version diese Erweiterung nicht vorgesehen.
Sie können das entsprechende Tool jedoch nachträglich erwerben, indem Sie sich direkt an unseren Vertrieb wenden kontaktieren Sie hierzu Ihren Kundenbetreuer oder schreiben Sie ein E-Mail an [email protected].
Verwendung
Um ein optimales Ergebnis beim Einsatz des FTAPI Commands Ant Tasks zu erhalten, sollten Sie sich mindestens
grundlegende Kenntnisse des Ant Buildfile Formats aneignen:
http://ant.apache.org/manual/using.html#buildfile
Jeder FTAPI Command wird im Ant Buildfile (Skript) durch jeweils ein Element <ftapi:command> repräsentiert. Durch das Attribut name
wird dabei immer der Name des Commands angegeben, welches ausgeführt werden soll. Und zwar exakt so, wie dieser in der
Dokumentation definiert ist (z.B. Upload). Alle weiteren Attribute entsprechen 1 zu 1 den Parametern, wie in der Dokumentation zum
jeweiligen Command angegeben sind. Die Dokumentation der FTAPI REST Commands finden Sie hier.
Sehen Sie hierzu das nachfolgende Beispiel eines minimalen Skripts:
<project name="MyFTAPICommands" xmlns:ftapi="antlib:com.ftapi.client.ant.task">
<property name="ftapi.host" value="http://localhost"/>
<property name="ftapi.username" value="demoUser"/>
<property name="ftapi.password" value=""/>
<target name="uploadAndDeliver">
<ftapi:command name="Upload" file="/home/user/uploads"/>
<ftapi:command name="Deliver" recipients="[email protected]; [email protected]" subject="Demo
subject" message="This is a demo message"/>
</target>
</project>
In der ersten Zeile des Skripts sehen Sie, dass dem Skript ein freier Name MyFTAPICommands durch das Attribut name gegeben wurde.
Entscheidend ist die darauf folgende Deklaration xmlns:example="antlib:com.ftapi.commands.ant", welche die FTAPI Commands in das
Skript einbindet.
Anschließend werden in diesem Skript die Verbindungsdaten für den FTAPI Server festgelegt. Mit Ausnahme von "ftapi.password" wurden
alle Parameter direkt im Skript angegeben. Alternativ können diese Werte auch in eine eigene Konfigurationsdatei ausgelagert oder beim
Aufruf über die Kommandozeile eingegeben werden. Letzteres wird später für die Angabe des Passwortes verwendet.
Im nächsten Bereich wird ein sogenanntes Target mit dem frei gewählten Namen uploadAndDeliver festgelegt, welches eine Folge von
FTAPI Commands, jeweils mit einem Element <ftapi:command> enthält. Das Kommando Upload überträgt zunächst alle Daten, die es im
Verzeichnis /home/user/uploads findet, an den FTAPI Server. Anschließend wird der FTAPI Server mit dem Kommando Deliver
angewiesen, das soeben erfolgreich hoch geladene Datenpaket an alle Empfänger zu versenden, deren Email-Adresse mit dem Attribut
recipients angegeben wurden. Mit den zusätzlich notwendigen Attributen subject und message wird der Betreff und die Nachricht
angegeben, die die Empfänger erhalten.
Um dieses Skript auszuführen, ist nichts weiter zu tun, als folgenden Aufruf auf der Kommandozeile im selben Verzeichnis zu machen, in
dem sich das Skript befindet:
ant -Dftapi.password=1234 uploadAndDeliver
Man sieht, dass sowohl das Passwort, als auch das Target, welches ausgeführt werden soll, angegeben werden.
© FTAPI Software UG (2011), Seite 65
Sie können in Ihrem Ant-Skript beliebig viele Targets definieren und gezielt das gewünschte Target aufrufen. Darüber
hinaus lassen sich Targets auch gruppieren und wiederverwenden.
Sehen Sie hierzu bitte in der Ant-Dokumentation nach, um einen Einblick in die zahlreichen Möglichkeiten zu erhalten.
Tutorial 1: Upload und Deliver
In diesem Tutorial wird noch einmal Schritt für Schritt erläutert, wie Dateien aus einem Verzeichnis per FTAPI Ant Task an bestimmte
Empfänger zugestellt werden können.
Voraussetzung hierfür ist, dass Sie Apache Ant und den FTAPI Ant Task erfolgreich installiert haben, wie zuvor in diesem Kapitel
beschrieben.
Schritt 1 - Ant Skript als build.xml erstellen
Erzeugen Sie in einem Verzeichnis Ihrer Wahl eine Datei mit dem Namen build.xml.
Öffnen Sie diese im Anschluß und fügen Sie folgende Zeilen hinzu:
<project name="Tutorial01" xmlns:ftapi="antlib:com.ftapi.client.ant.task">
</project>
In der Datei build.xml haben Sie somit bereits das Grundgerüst eines Ant-Builds festgelegt und zudem den FTAPI Ant Task eingebunden.
Durch das Attribut name wird der frei gewählte Name Tutorial01 für dieses Build-Projekt festgelegt. Mit xmlns:ftapi wird eine Bindung
zwischen dem Präfix ftapi und dem Namensraum antlib:com.ftapi.commands.ant erzeugt, wodurch Ant mitgeteilt wird, dass es sich
zukünftig bei XML-Elementen mit diesem Präfix immer um Elemente handelt, die vom FTAPI Ant Task ausgewertet werden. Alle FTAPI Ant
Task Elemente müssen deshalb immer mit dem Präfix ftapi: beginnen, wie Sie nachfolgend noch sehen werden.
Schritt 2 - Dateien vorbereiten
Im nächsten Schritt wollen wir einige Dateien vorbereiten, die später per FTAPI versendet werden sollen. Erstellen Sie hierzu ein neues
Verzeichnis (z.B. C:/data) und kopieren Sie die Dateien Ihrer Wahl hier hinein. Es sollten sich hierbei um 2-5 Dateien mit einer Gesamtgröße
um die 5-10 MB handeln. Für die nächsten Schritte wird angenommen, dass der Pfad zu diesem Verzeichnis C:/data lautet. Falls der von
Ihnen erstellte Verzeichnispfad hiervon abweicht, müssen Sie diesen natürlich entsprechend durch den von Ihnen erstellten ersetzen.
Schritt 3 - FTAPI REST Commands verwenden
In dieserm Schritt werden nun die beiden Commands Upload und Deliver dazu verwendet, um im ersten Schritt die Dateien aus dem
Verzeichnis C:/data auf den FTAPI Server zu laden und anschließend im zweiten Schritt diese Dateien an die beiden Empfänger
[email protected] und [email protected] zu versenden. Auch hier müssen Sie für eine erfolgreiche Zustellung diese E-Mail-Adressen
durch Ihre eigenen E-Mail-Adressen ersetzen.
Fügen Sie hierfür als nächstes folgende Zeilen in der Datei build.xml (s. Schritt 1) zwischen <project> und </project> ein:
<target name="uploadAndDeliver">
<ftapi:command name="Upload" file="C:/data"/>
<ftapi:command name="Deliver" recipients="[email protected]; [email protected]" subject="FTAPI
Ant Task Demo" message="This is a demo message"/>
</target>
Die Ant-Tasks werden stets innerhalb eines Elements <target/> definiert. Dem Attribut name wurde der frei gewählte Name
uploadAndDeliver zugewiesen, wodurch ein Target stets eindeutig referenziert werden kann. In unserem Beispiel wurden die beiden FTAPI
REST Commands Upload und Deliver nacheinander innerhlab von <target/> angegeben. Der erste Command versendet alle Dateien aus
dem Verzeichnis C:/data an den FTAPI Server und der zweite Command Deliver erzeugt Zustellungen für die beiden E-Mail-Adressen
[email protected] und [email protected] mit dem Betreff "FTAPI Ant Task Demo" und der Nachricht "This is a demo message".
Ihre Datei build.xml sollte nun wie folgt aussehen - bitte speichern Sie diese nun ab:
<project name="Tutorial01" xmlns:ftapi="antlib:com.ftapi.client.ant.task">
<target name="uploadAndDeliver">
<ftapi:command name="Upload" file="C:/data"/>
<ftapi:command name="Deliver" recipients="[email protected]; [email protected]" subject="FTAPI
Ant Task Demo" message="This is a demo message"/>
</target>
</project>
© FTAPI Software UG (2011), Seite 66
Schritt 4 - Server-Daten festlegen
Im Grunde ist Ihr Ant-Skript fast vollständig. Allerdings fehlt noch die Information, welcher FTAPI Server für die Übertragung verwendet
werden soll und zusätzlich die entsprechenden Zugangsdaten. Der FTAPI Ant Task erwartet hierfür folgende System-Properties:
ftapi.host = Der Hostname des FTAPI-Servers.
ftapi.username = Der Benutzer, mit dessen Rechten die Kommunikation mit dem FTAPI-Server stattfinden soll.
ftapi.password = Das Passwort des Benutzers.
Um die Werte für diese Properties entsprechend zu setzen, haben Sie drei Möglichkeiten:
Definition direkt im Skript
Einlesen einer Konfigurationsdatei, in der die Werte festgelegt sind
Angabe beim Aufruf des Skripts über die Kommandozeile
Wir werden im Folgenden zur besseren Verständlichkeit alle drei Möglichkeiten verwenden, indem wir
ftapi.host direkt im Skript definieren,
ftapi.username in eine Konfigurationsdatei mit dem Namen settings.properties auslagern und
ftapi.password beim Aufruf des Skripts über die Konsole angeben.
Festlegen eines Properties im Skript
Um den Wert für das Property ftapi.host direkt im Skript festzulegen, fügen Sie direkt unterhalb von <project> folgende Zeile ein:
<property name="ftapi.host" value="http://localhost:8080/ftapi-server"/>
Natürlich müssen Sie den value entsprechend Ihrer Host-Einstellungen anpassen.
Auslagern eines Properties in eine externe Konfigurationsdatei
Um den Wert für das Property ftapi.username aus einer externen Konfigurationsdatei mit dem Namen settings.properties im selben
Verzeichnis einzulesen, müssen Sie folgende Zeile direkt unterhalb von <project> in Ihr Build-Skript einfügen:
<property file="settings.properties"/>
Das Attribut name gibt hier den Namen der Property-Datei an.
Erstellen Sie diese Datei in dem Ordner, in dem sich auch die build.xml befindet. Die Properties-Datei selbst enthält nur eine Zeile:
ftapi.username=admin
Durch dieses Vorgehen können Sie Ihr Build-Skript parametrisieren, ohne dass Sie das Skript (Datei build.xml) selbst öffnen und bearbeiten
müssen.
Festlegen eines Properties bei Aufruf
Sie können jedes Property auch beim Aufruf des Build-Skripts über die Kommandozeile mit Hilfe des "-D" Präfixes angeben.
Um z.B. das Passwort-Property ftapi.password auf diese Art und Weise festzulegen, müssen Sie zunächst das Property innerhalb des
Skripts definieren, aber ohne Angabe eines Werts wie das nachfolgende Beispiel zeigt:
<property name="ftapi.password" value=""/>
Anschließend können Sie den Parameter -Dftapi.password=password beim Aufruf mitgeben und dadurch den Wert im Nachhinein
festlegen.
Dies wird nachfolgend in Schritt 5 im Detail gezeigt, wenn es darum geht, das Skript auszuführen.
Schritt 5 - Skript ausführen
Nachdem Sie nun alle Schritte bis hierher durchgeführt haben, geht es nun darum, das erstellte Build-Skript auszuführen.
Das Skript sollte jetzt folgenden Inhalt besitzen:
© FTAPI Software UG (2011), Seite 67
<project name="Tutorial01" xmlns:ftapi="antlib:com.ftapi.client.ant.task">
<property name="ftapi.host" value="http://localhost:8080/ftapi-server"/>
<property file="settings.properties"/>
<property name="ftapi.password" value=""/>
<target name="uploadAndDeliver">
<ftapi:command name="Upload" file="C:/data"/>
<ftapi:command name="Deliver" recipients="[email protected]; [email protected]" subject="FTAPI
Ant Task Demo" message="This is a demo message"/>
</target>
</project>
Um dieses Skript auszuführen, öffnen Sie Ihre Kommandozeile und wechseln Sie in das Verzeichnis, in welchem sich die Datei build.xml
befindet.
Geben Sie anschließend folgendes Kommando ein:
ant -Dftapi.password=admin uploadAndDeliver
Durch ant wird das Ant-Tool gestartet. Dieses sucht im aktuellen Verzeichnis nach einer Datei build.xml und führt darin das Target
uploadAndDeliver aus. Durch den zusätzlichen Parameter -Dftapi.password=admin wird das Passwort für die Kommunikation mit dem Server
festgelegt.
Nachdem das Skript erfolgreich ausgeführt wurde, sollte an alle angegebenen E-Mail-Adressen jeweils eine Benachrichtigung, dass ein
neues Datenpaket für den Download bereit steht, versandt worden sein.
Dieses Datenpaket beinhaltet alle Dateien, die sich im Verzeichnis C:/data befinden.
ChangeLog 1.1.4
In den FTAPI Versionen sind ab Version 1.1.4 folgende Verbesserungen, Neuerungen und Überarbeitungen enthalten:
Kompatibilität mit IE9 sichergestellt und optimiert
FTAPI Applet Funktionalität erweitert
Empfänger-Feld-Funktionalitäten erweitert (z.B. mit ENTF können nun Einträge wieder entfernt werden)
Applet-Kopfzeile lässt sich nun über die Konfiguration bei Bedarf dauerhaft ausblenden
Automatische Proxy-Konfiguration in die Applets integriert
Draggable-Support für Applet
Das Applet kann nun per Drag&Drop auf den Desktop gezogen werden und dort ohne Web-Browser verwendet werden
Notwendigkeit eines Empfänger-Accounts einstellbar
Dies ist nun durch den Admin global einstellbar (immer, niemals, benutzerdefiniert)
Request Parameter für Applet eingeführt
Die Felder E-Mail, Betreff, Text und Dateien sind nun per Request parametrisierbar
Integration in Windows Kontextmenü möglich
Im Windows-Kontextmenü ist es nun möglich, per Registry Eintrag einen neuen Punkt "Send with FTAPI SecuTransfer" einzufügen
und Dateien somit noch einfacher und schneller per rechte Maustaste zu verschicken
Pausieren und Fortsetzen-Feature
Vollständig implementiert für Uploads inkl. voller Integration auf FTAPI-Weboberfläche.
Mapping LDAP-zu FTAPI-Gruppen integriert
In LDAP-Systemen können eine oder mehrere FTAPI Zugriffsgruppen mit unterschiedlichen Rechten hinterlegt werden
Empfängerverifizierung bei Zustellung
Jeder Versender kann bei einer Zustellung einstellen, ob der Empfänger einen FTAPI-Account besitzen muss oder nicht - somit
kann sichergestellt werden, dass genau und nur dieser die Zustellung erhält;
eine Zustellung ist somit immer an eine bestimmte E-Mailadresse gebunden und kann deshalb auch nicht an Dritte weitergeleitet
werden
Posteingang und -Ausgang von Zustellungen
Direkt über die FTAPI-Weboberfläche können alle versendeten wie auch erhaltenen Zustellungen angesehen werden
Unbegrenzt viele gleichzeitige Uploads
Ein Benutzer kann nun beliebig viele parallele/gleichzeitige Up- und Downloads durchführen
FTAPI Client (Beta) integriert
Nutzen Sie unseren lokalen Client, um Ihre Prozesse weiter zu beschleunigen - die Downloadoption für Benutzer kann deaktiviert
werden
E-Mailadressverwaltung im Applet verbessert
Alle bereits genutzten E-Mail-Adressen werden automatisch vorgeschlagen und können per Tastatur oder Maus direkt ausgewählt
werden
Erweiterte Infos beim Up- und Download
Die Statsuinformationen bzgl. Geschwindigkeit, Restdauer und Progress wurden bei allen Up- und Downloads erweitert
Zustellungen nochmal versenden
Benachrichtung zu einer bestehenden Zustellung können direkt per Klick nochmal versandt werden
Benutzeroberfläche in neuem FTAPI Design
Umstellung auf neues FTAPI Corporate Design in grünem Layout
RSS-Feed
© FTAPI Software UG (2011), Seite 68
Jeder Benutzer kann seinen eigenen RSS-Feed de-/aktivieren - dort werden alle Zustellungen als RSS-Feed zur Verfügung gestellt
Verbesserte Exception Behandlung und Darstellung
So wird z.B. beim Versuch eines Uploads von Daten die das Quota überschreiten würden, eine entsprechende benutzerfreundliche
Meldung angezeigt
Zertifiziertes FTAPI Applet integriert
Alle FTAPI-Applets wurden mittels eines Code-Signing-Zertifikats von einer unabhängigen, dritten Stelle (Thawte) zertifiziert und die
Herkunft von der Firma FTAPI bestätigt
Standard-Benutzer-Import
Bei jedem FTAPI-Serverstart können Standard-Benutzer in Form einer Excelliste importiert/abgeglichen werden
Zustellungen löschen
Bestehende Zustellungen können - als Admin - nun komplett gelöscht werden
Als Windows Dienst integrierbar
der FTAPI-Server kann somit als eigener Dienst, wie auch unter einem bestimmten Benutzer betrieben werden
kleine (Schönheits-)Fehler beim LDAP-Mapping beseitigt
Probleme mit dem SLF4JLogger beim Serverstart bereinigt
Performance Verbesserungen und Optimierungen
Etliche Bugfixes
FAQ (1.1.4)
Ich möchte den Ort, an dem die Binärdaten abgelegt werden ändern. Was ist zu tun?
Ich möchte eine externe Datenbank (z.B. MySQL) für die Metadaten anbinden. Was ist zu tun?
Ich möchte den FTAPI-Server in einer grafischen Linuxumgebung starten. Was ist zu tun?
Der Port 8080 ist bei mir bereits belegt. Wie kann ich FTAPI auf einem anderen betreiben?
Meine Base-URL soll nicht mit /ftapi-server aufhören. Wie kann ich das einstellen?
Ich möchte den Ort für das .ftapi Verzeichnis fest definieren. Was ist zu tun?
Ich bekomme in der Konsole die Meldung, dass weder eine JAVA_HOME noch JRE_HOME Variable definiert ist. Wie mache ich
das?
Wie finde ich die Version meines eingesetzten Apache Tomcat heraus?
Ich habe einen Proxy-Server in Betrieb. Kann ich FTAPI damit effektiv ausführen?
In meinem Internet Explorer 8 öffnen sich immer neue Fenster. Wie kann ich das auf Registerkarten umstellen?
Ich möchte den Ort, an dem die Binärdaten abgelegt werden ändern. Was ist zu tun?
Bei Verwendung des LocalDiskStorage (Standardfall) werden die Binärdaten im Verzeichnis ~/.ftapi/storage abgelegt. Um diesen
Speicherort zu ändern, sind folgende Schritte notwendig:
1. Den FTAPI-Server stoppen
2. In der Konfigurationsdatei ${ftapi.home}/config/server-production.properties den Eintrag ftapi.storage.home=${ftapi.home}
/storage suchen und entsprechend dem neuen Verzeichnis anpassen (z.B. ftapi.storage.home=/data)
3. Den Inhalt von ${ftapi.home}/storage in das neue Verzeichnis (z.B. /data) verschieben
4. Den FTAPI-Server starten
Binärdaten verschieben
Beachten Sie hierzu auch die Informationen unter [Binärdaten (Storage)]!
Ich möchte eine externe Datenbank (z.B. MySQL) für die Metadaten anbinden. Was ist zu tun?
Externe MySQL Datenbank anbinden
Beachten Sie hierzu bitte die Informationen unter [Metadaten (Datenbank)]!
Ich möchte den FTAPI-Server in einer grafischen Linuxumgebung starten. Was ist zu tun?
Für die Installation und Einrichtung unter einem Linux-System werden nachfolgend die Schritte und Befehle beschrieben, die man per
Terminal und/oder Oberfläche benötigt;
diese Punkte sind als Unterschritte - speziell für Linux-Umgebungen - zum Punkt 2. bei Installation zu verstehen:
1. Terminal/Konsole öffnen und in das entpackte FTAPI Verzeichnis wechseln
2. Dort die Berechtigungen der folgenden Dateien und Ordner mit chmod -R +x ftapi-server auf ausführbar setzen
/ftapi-server/ftapi-start.sh und ftapi-stop.sh
/ftapi-server/bin/*.sh
(Alternativ kann dies in einigen Linuxumgebungen auch über die grafische Oberfläche geschehen, indem man in den
entsprechenden Dateieigenschaften den Haken beim Zugriffsrecht "Datei als Programm ausführen" setzt!)
3. Anschließend die Datei /ftapi-server/ftapi-start.sh ausführen (Befehl in Konsole lautet ./ftapi-start.sh)
4. Das Terminalfenster offen lassen, da der Server nochmal gestoppt und neu gestartet werden muss - dann weiter mit Schritt 3. in der
Installation
Anzeige versteckter Ordner und Dateien in grafischer Linux-Oberfläche
Um den .ftapi Ordner im Userverzeichnis angezeigt zu bekommen folgende Hinweise:
© FTAPI Software UG (2011), Seite 69
(Open) Suse KDE: Dolphin (Dateiexplorer) unter Ansicht/Versteckte Dateien anklicken
Ubuntu: Dateibrowser (bzw. File Browser) unter Bearbeiten/Einstellungen "Show hidden and backup files"
Der Port 8080 ist bei mir bereits belegt. Wie kann ich FTAPI auf einem anderen betreiben?
Falls der (standardmäßig voreingestellte) Port 8080 bereits belegt/andersweitig verwendet wird, kann dieser auf einen beliebigen freien Port
für den Betrieb von FTAPI umgestellt werden,
1. Den FTAPI-Server stoppen
2. In der Konfigurationsdatei ${ftapi.home}/config/server-production.properties den Eintrag
*ftapi.base.url=http://localhost:8080/ftapi-server* suchen und entsprechend dem neuen Port anpassen (z.B. statt 8080 den nächst
höheren Port 8282 eintragen - muss größer 1024 sein!)
3. Damit auch der Tomcatserver den gleichen Port nutzt, muss noch die Datei /ftapi-server/conf/server.xml angepasst werden.
Darin den folgenden Eintrag mit port="8080" suchen und auf den neuen Port (z.B. 8282) anpassen:
<Connector port="8282" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort= "8443" />
4. Den FTAPI-Server starten
5. Optional: Diesen Port (8282) in Ihrer Firewall für Zugriffe von extern freischalten
Meine Base-URL soll nicht mit /ftapi-server aufhören. Wie kann ich das einstellen?
Wenn Sie möchten, dass IhreBase-URL nicht mit /ftapi-server endet, können Sie die FTAPI war-Datei entsprechend umbenennen.
1. Den FTAPI-Server stoppen
2. In der Konfigurationsdatei ${ftapi.home}/config/server-production.properties den Eintrag
*ftapi.base.url=http://localhost:8080/ftapi-server* suchen und am Ende einfach das /ftapi-server entfernen
(Alternativ können Sie auch einen andere Bezeichnung einfügen - Fragen Sie hierzu bitte Ihren FTAPI-Support)
3. Benennen Sie in Ihrem FTAPI-Server-Verzeichnis /ftapi-server/webapps die ausgelieferte Datei ftapi-server.war in ROOT.war um.
Löschen Sie im gleichen Verzeichnis noch den kompletten Ordner ftapi-server - nur falls bereits vorhanden.
4. Den FTAPI-Server starten
Bitte bedenken Sie, dass Sie bei Updates diese Umbenennung ebenfalls immer durchführen müssen!
Ich möchte den Ort für das .ftapi Verzeichnis fest definieren. Was ist zu tun?
Standardmäßig wird der .ftapi-Ordner im Home-Verzeichnis des gerade angemeldeten Benutzers angelegt. Man kann diesen Pfad auch fix
an einem anderen Ort angeben.
In Windows-Umgebungen ist die folgende Zeile in der Datei /ftapi-server/ftapi-start.bat zu ergänzen:
set JAVA_OPTS="-Dftapi.home=../.ftapi"
Damit wird der .ftapi-Ordner innerhalb Ihres ftapi-server Verzeichnisses angelegt und genutzt.
Ich bekomme in der Konsole die Meldung, dass weder eine JAVA_HOME noch JRE_HOME Variable
definiert ist. Wie mache ich das?
Wenn Sie beim Starten von FTAPI über die Konsole die folgende Meldung bekommen, dann ist keine der beiden genannten
Umgebungsvariablen in Ihrem System angegeben.
"Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program"
Legen Sie hierzu in Ihren Systemeinstellungen eine passende Umgebungsvariable an.
Bei einer Java JRE (Runtime Environment) eine JRE_HOME (empfohlen);
falls Sie das Java JDK installiert haben, eine JAVA_HOME.
Als Variablen-Wert verwenden Sie die Pfadangabe zur jeweiligen Java-Installation. Z.B. für JRE_HOME:
C:\Programme\Java\jre6
Konsole erneut öffnen
Nach dem Anlegen einer neuen Umgebungsvariable müssen Sie die - eventuell noch offene Konsole/Eingeabeaufforderung erneut öffnen.
Wie finde ich die Version meines eingesetzten Apache Tomcat heraus?
Entweder Sie öffnen die Logdatei /ftapi-server/logs/catalina.DATUM.log. Hier sollten Sie eine Ziel ähnlich dem folgenden vorfinden:
© FTAPI Software UG (2011), Seite 70
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
Eine andere Möglichkeit besteht darin, die Jar-Datei ftapi-server/lib/catalina.jar mit einem üblichen Zip-Programm (z.B. WinZip, 7-zip, unzip)
zu entpacken und dort dann die darin befindliche Datei org/apache/catalina/util/ServerInfo.properties zu öffnen. Hier sollten Sie eine Zeile
ähnlich der folgenden vorfinden:
server.info=Apache Tomcat/6.0.29
Ich habe einen Proxy-Server in Betrieb. Kann ich FTAPI damit effektiv ausführen?
Falls Sie einen Proxy-Server bertreiben, empfehlen wir Ihnen, sich für Ihre FTAPI URL eine Ausnahme in Form von ftapi.ihre-domain.com* in
Ihren Proxy-Gruppenrichtlinien einzutragen.
Aufgrund der segmentierten Datenübertragung von FTAPI ist ein Proxy eher kontraproduktiv, wenn es u.a. um das Cachen von häufig
angefragten Daten geht.
Eine Authentifizierung gegenüber Proxy-Servern wird aus diesem Grund von FTAPI derzeit nicht unterstützt.
Grundsätzlich ist FTAPI auch mit dazwischengeschaltetem Proxy voll einsatzfähig, jedoch ist die Performance teilweise beinträchtigt.
Dies hängt primär auch vom Zugriffsort (Server direkt, Intranet oder Internet) auf den FTAPI-Server ab.
In meinem Internet Explorer 8 öffnen sich immer neue Fenster. Wie kann ich das auf Registerkarten
umstellen?
Damit bei Links auf der FTAPI-Weboberfläche neue Registerkarten anstelle von neuen Fenstern aufgehen, müssen Sie hierzu eine
Standard-Einstellung im IE8 verändern.
Im IE-Menü den Punkt Extras - Internetoptionen öffnen;
dort dann im Bereich Registerkarten die Einstellungen öffnen und den Radiobutton "beim Auftreten von Popups" auf "Internet Explorer
entscheiden lassen ..." setzen.
Wir freuen uns über Ihr Feedback!
© FTAPI Software UG (2011), Seite 71
© FTAPI Software UG (2011), Seite 72
Herunterladen