Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Mit FileMaker lassen sich problemlos Scripte entfernter FileMaker-Datenbanken starten und bei Bedarf entsprechende Parameter übergeben. Einfach die entfernte Datei als externe Datenquelle einrichten und das Script der entfernten Datenbank über den Script-Editor aufrufen. Anders verhält es sich mit einer in FileMaker Pro Advanced erstellten Runtime. Da Runtime-Lösungen nicht netzwerkfähig sind, ist es mit Bordmitteln nicht ohne Weiteres möglich, ein Script einer auf einem FileMaker Server bereitgestellten Datenbank auszuführen; geschweige denn zugehörige Parameter zu übergeben. Mit dem MBS-Plugin von Monkeybread Software kann diese Hürde jedoch problemlos überwunden werden. Wenn die Datenbank auf dem FileMaker Server auch für PHP freigegeben wurde, läßt sich ein Script einer im Netzwerk oder Internet freigegebenen FileMaker-Datenbank auch aus einer Runtime-Lösung aufrufen – inklusive Parameterübergabe. In diesem Artikel zeigen wir, wie das funktionieren kann.
Da eine FileMaker Runtime-Lösung keine Möglichkeiten bietet, Kontakt mit entfernten Datenbanken aufzunehmen, kann der Script-Aufruf nicht auf herkömmlichem Weg erfolgen. In diesem Artikel nutzen wir die PHP-Fähigkeiten eines FileMaker Server in Verbindung mit CURL aus dem MBS-Plugin. Aus diesem Grund ist der Einsatz eines FileMaker Server und des MBS Plugin für die in diesem Artikel vorgestellte Lösung zwingend erforderlich. Das MBS FileMaker Plugin ist bei Monkeybread Software für Mac OS X und Windows zu Preisen ab 99 Euro zzgl. 19% MwSt. erhältlich. In der heute erhältlichen Version 5.0 bietet das MBS FileMaker Plugin nunmehr über 3.000 neue Funktionen für die Nutzung in FileMaker-Datenbanken. Neben den hier beschriebenen CURL-Funktionen eröffnet das Plugin viele weitere Möglichkeiten wie die interne Bearbeitung von PDF-Dokumenten, Ansteuerung von Scannern und anderer Hardware, TAPI-Funktionen, Barcodes, SQL-Verbindungen, interne Grafikbearbeitung, Dateimanipulationen und viele, viele weitere Funktionen sowie einige Annehmlichkeiten in FileMaker selbst, wie z.B. Syntax Coloring.
Wie OS X Server nutzt auch FileMaker einen Apache Webserver, um Daten für die PHP-API oder für Web-Publishing bereitzustellen. Sobald FileMaker Server installiert wurde, steht i.d.R. auch der Apache Webserver zur Verfügung, den FileMaker Server für die Web-Freigabe von Datenbanken benötigt. Um ein Script in einer vom FileMaker Server bereitgestellten Datenbank aufzurufen, benötigen wir ebenfalls den mit FileMaker Server installierten Apache Webserver. Das dahinterstehende Prinzip ist einfach: Wir erstellen für den Aufruf eines Scriptes eine PHP-Datei, die mittels des MBS-Plugins per URL direkt von einer FileMaker Runtime-Lösung aufgerufen werden kann. Die PHP-Datei liest den Namen des Scriptes sowie ggf. einen Parameter ein und übergibt beide Angaben an die entsprechende Datenbank, die vom FileMaker Server bereitgestellt wird.
Zunächst müssen wir also eine PHP-Datei erstellen, um die Datenübergabe von der FileMaker Runtime-Lösung an die vom FileMaker Server freigegebene FileMaker-Datenbank zu realisieren. Der Apache-Webserver des FileMaker Server speichert solche Dateien im Verzeichnis
Macintosh HD/Library/FileMaker Server/HTTPServer/htdocs
In diesem Verzeichnis muss nun eine PHP-Datei erstellt werden, die beispielsweise folgenden Quelltext enthält:
<html>
<head>
<title>Beispieldatei</title>
</head>
<body>
<p>
<?php
error_reporting (E_ALL);
require_once ('filemaker.php');
$v = $_POST["parameter"];
$connection =& new FileMaker();
$connection->setProperty('database', 'EntfernteDatei');
$connection->setProperty('hostspec', 'Serveradresse');
$connection->setProperty('username', 'Benutzername');
$connection->setProperty('password', 'Passwort');
$cmd = $connection->NewPerformScriptCommand('EntfernteDatei', 'Scriptname', $v);
$result = $cmd->execute();
if (FileMaker::isError($result))
{
echo $result->message;
}
echo 'Script ausgeführt';
?>
</p>
</body>
</html>
Die PHP-Datei übernimmt in der Variable $v den Script-Parameter aus der FileMaker Runtime-Lösung und übergibt ihn in der Zeile „$cmd = $connection->NewPerformScriptCommand(‚EntfernteDatei‘, ‚Scriptname‘, $v);“ an die entfernte FileMaker-Datenbank, die vom FileMaker Server freigegeben wurde.
Um die PHP-Datei aus der FileMaker Runtime-Lösung heraus mit Übergabe eines Parameters ausführen zu können, nutzen wir die CURL-Funktionen des MBS-Plugins. Vergewissern Sie sich, dass das MBS-Plugin in die Runtime-Lösung erfolgreich integriert wurde. Folgende Script-Befehle sind für die Ausführung der erstellten PHP-Datei mit Parameter-Übergabe erforderlich:
Variable setzen [$curl; Wert:MBS("CURL.New")]
Variable setzen [$result; Wert:MBS("CURL.SetOptionURL"; $curl; "http://www.IhrFileMakerServer.de)]
Variable setzen [$result; Wert:MBS("CURL.FormAddKeyValue"; $curl; "parameter"; IhrScriptParameter)]
Variable setzen [$result; Wert:MBS("CURL.FormFinish"; $curl; $input)]
Variable setzen [$result; Wert:MBS("CURL.Perform"; $curl)]
Variable setzen [$result; Wert:MBS("CURL.Cleanup"; $curl)]
Mit den o.g. Befehlen wird die auf Ihrem FileMaker Server gespeicherte PHP-Datei aufgerufen und ein Parameter übergeben. Bei der Übergabe von Parametern handelt es sich allerdings um eine Einbahnstraße: Mit dieser Methode können Parameter ausschließlich von der FileMaker Runtime über CURL an den Server übergeben werden – vom Server zur FileMaker Runtime ist dies nicht ohne weiteres möglich.
Viele Aktionen innerhalb von FileMaker-Datenbanken werden heute mit Hilfe von Script-Triggern realisiert. Ein typisches Beispiel dafür stellt innerhalb von Belegen ein Feld zur Eingabe der gewünschten Zahlungsart dar, das mit einem Script-Trigger nach Verlassen des Feldes einige andere Felder wie z.B. Fälligkeitsdatum oder Bankeinzugsdatum je nach Vorgabe in der Zahlungsart…
Bereits seit längerer Zeit verfügt FileMaker über die Möglichkeit, Objekten Script-Trigger zuzuweisen, die beispielsweise beim Betreten, bei der Änderung oder beim Verlassen von Objekten ausgeführt werden können. Während dies z.B. mit Feldern problemlos funktioniert, werden Script-Trigger bei Registerschaltflächen nicht ohne Weiteres ausgeführt. Mittels eines kleinen Tricks läßt sich diese Funktion…
Haben Sie die Überschrift zweimal lesen müssen? Aber Sie haben richtig gelesen: Wer bis zum 20. Dezember 2012 eine Lizenz von FileMaker Pro 12 oder FileMaker Pro 12 Advanced kauft, erhält eine weitere Lizenz des gleichen Produkts kostenlos dazu. Das Angebot gilt bei Kauf einer entsprechenden Lizenz im FileMaker Webstore…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb