FileMaker Server Script aus FileMaker Runtime ausführen.

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.
Voraussetzung: FileMaker Server und MBS-Plugin
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.
FileMaker und Indianer
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.
PHP-Datei erstellen für die Datenübergabe
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.
Aufruf der PHP-Datei aus der FileMaker Runtime-Lösung
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.
Verwandte Beiträge
- Aktion: FileMaker Pro zum halben Preis mit FileMaker Go.
Seit heute bietet FileMaker erneut eine Aktion an, bei der nach dem Kauf von FileMaker Go für das iPhone oder das iPad eine Lizenz von FileMaker Pro zum halben Preis erworben werden kann. Die Aktion gilt bis zum 22. März 2012 und geht ganz einfach vonstatten: Kaufen Sie FileMaker Go…
- MBS FileMaker Plugin 6.3 mit über 4.000 Funktionen.
Monkeybread Software hat die neue Version 6.3 des MBS FileMaker Plugin veröffentlicht, das inzwischen über mehr als 4.000 Funktionen verfügt. In der neuen Version stehen ab sofort SSH-Funktionen zur Verfügung, mit denen sichere Verbindungen zu entfernten Servern über das Secure Shell Protokoll möglich sind. Die Authentifizierung am jeweiligen Server erfolgt dabei…
- Smartbook: Datenbankmanagement mit FileMaker Pro 11
Autor Horst-Dieter Radke bietet auf 368 Seiten eine profunde Einführung in die Arbeit mit FileMaker Pro 11 und macht dabei aus Einsteigern angehende Experten. Dabei beschäftigt sich der Autor mit diesen Themen: Datenbankgrundlagen: Was müssen die Leser über Datenbanken wissen? Datenbankentwicklung: Wie entsteht eine FileMaker-Datenbank? Datenbanken nutzen - Wie erfasst,…
- Update auf FileMaker Pro 13.0v9 veröffentlicht
FileMaker hat heute einige Sicherheitsupdates für FileMaker 13 veröffentlicht. In ca. zwei Wochen wird das Sicherheitsupdate auch für FileMaker 12 veröffentlicht. Das heute erschienene Update betrifft FileMaker 13 Pro/Advanced und FileMaker Server. FileMaker betont, dass die Updates auf jeden Fall in der korrekten Reihenfolge installiert werden müssen, weil anderenfalls FileMaker…
Diese Seite teilen:
ERP-Software so flexibel wie Ihr Unternehmen.
Wir beraten Sie gern.
Anpassbare ERP-Software für Mac, Windows und iOS.
