FileMaker Server 13 Custom Web Publishing mit PHP

FileMaker Server 13 Custom Web Publishing mit PHP

FileMaker

®

Server 13

Custom Web Publishing mit PHP

© 2007-2013 FileMaker, Inc. Alle Rechte vorbehalten.

FileMaker, Inc.

5201 Patrick Henry Drive

Santa Clara, California 95054, USA

FileMaker und Bento sind Marken von FileMaker, Inc., eingetragen in den USA und anderen Ländern. Das Dateiordner-

Logo, FileMaker WebDirect und das Bento-Logo sind Marken von FileMaker, Inc. Alle anderen Marken sind Eigentum der jeweiligen Besitzer.

Die FileMaker-Dokumentation ist urheberrechtlich geschützt. Sie dürfen diese Dokumentation ohne schriftliche

Genehmigung von FileMaker weder vervielfältigen noch verteilen. Diese Dokumentation darf ausschließlich mit einer gültigen, lizenzierten Kopie der FileMaker-Software verwendet werden.

Alle in den Beispielen erwähnten Personen, Firmen, E-Mail-Adressen und URLs sind rein fiktiv und jegliche Ähnlichkeit mit bestehenden Personen, Firmen, E-Mail-Adressen und URLs ist rein zufällig. Die Danksagungen und

Urheberrechtshinweise finden Sie im entsprechenden Dokument, das mit der Software geliefert wurde. Die Erwähnung von Produkten und URLs Dritter dient nur zur Information und stellt keine Empfehlung dar. FileMaker, Inc. übernimmt keine Verantwortung für die Leistung dieser Produkte.

Weitere Informationen finden Sie auf unserer Website unter http://www.filemaker.de.

Edition: 01

Inhalt

Vorwort

Über dieses Handbuch

Kapitel 1

Einführung in Custom Web Publishing

Über die Web Publishing Engine

Verarbeitung einer Web Publishing Engine -Anforderung

Custom Web Publishing mit PHP

Custom Web Publishing mit XML

Vergleich von PHP mit XML

Gründe für PHP

Gründe für XML

Kapitel 2

Erläuterung von Custom Web Publishing mit PHP

11

Wichtige Funktionen in Custom Web Publishing mit PHP

Anforderungen für Custom Web Publishing

11

12

Voraussetzungen für das Veröffentlichen einer Datenbank mit Custom Web Publishing

12

Voraussetzungen für Webbenutzer zum Zugriff auf eine Custom Web Publishing-Lösung

12

Verbindung zum Internet oder zu einem Intranet

Manuelle Installation von FileMaker API für PHP

Die nächsten Schritte

13

13

14

Kapitel 3

Vorbereiten von Datenbanken für Custom

Web Publishing

Aktivierung von Custom Web Publishing mit PHP für Datenbanken

Erstellung von Layouts für Custom Web Publishing mit PHP

Schützen veröffentlichter Datenbanken

Zugriff auf eine geschützte Datenbank

Veröffentlichen des Inhalts von Containerfeldern im Web

In eine Datenbank eingebettete Containerfeldobjekte

Containerfelder mit referenzierten Dateien

Containerfelder mit extern gespeicherten Daten

Anzeige von Containerfeldobjekten durch Webbenutzer

FileMaker-Scripts und Custom Web Publishing

Tipps und Überlegungen zu Scripts

Scriptverhalten in Custom Web Publishing-Lösungen

Script-Trigger in Custom Web Publishing-Lösungen

Kapitel 4

Übersicht über Custom Web Publishing mit PHP

Funktionsweise der Web Publishing Engine mit PHP-Lösungen

Allgemeine Schritte bei Custom Web Publishing mit PHP

26

26

26

15

23

23

24

19

20

22

25

17

18

18

15

16

16

7

9

9

9

9

9

8

8

6

6

Kapitel 5

Verwendung von FileMaker API für PHP

Weitere Informationen

Referenz zu FileMaker API für PHP

FileMaker API für PHP-Lehrgang

Beispiele zu FileMaker API für PHP

Verwendung der Klasse FileMaker

FileMaker, Objekte der Klasse

FileMaker-Befehlsobjekte

Herstellen einer Verbindung zu einer FileMaker-Datenbank

Arbeiten mit Datensätzen

Erstellung eines Datensatzes

Duplizieren von Datensätzen

Bearbeiten von Datensätzen

Löschen von Datensätzen

Ausführen von FileMaker-Scripts

Abruf der Liste verfügbarer Scripts

Ausführen von FileMaker-Scripts

Ausführung eines Scripts vor der Ausführung eines Befehls

Ausführung eines Scripts vor der Sortierung einer Ergebnismenge

Ausführung eines Scripts nach der Erstellung einer Ergebnismenge

Ausführungsreihenfolge von Scripts

Arbeiten mit FileMaker-Layouts

Verwenden von Ausschnitten

Auflistung der in einem bestimmten Layout definierten Ausschnitte

Abrufen von Ausschnittnamen für ein bestimmtes Ergebnisobjekt

Abruf von Informationen über Ausschnitte für ein bestimmtes Layout

Abrufen von Informationen für einen bestimmten Ausschnitt

Abrufen des Tabellennamens für einen Ausschnitt

Abrufen der Ausschnittdatensätze für einen bestimmten Datensatz

Erstellen eines neuen Datensatzes in einem Ausschnitt

Löschen eines Datensatzes aus einem Ausschnitt

Verwenden von Wertelisten

Abrufen der Namen aller Wertelisten für ein bestimmtes Layout

Abrufen eines Arrays aller Wertelisten für ein bestimmtes Layout

Beziehen von Werten für eine benannte Werteliste

Ausführen von Suchabfragen

Der Befehl „Find All“

Der Befehl „Find Any“

Der Befehl „Find“

Der Befehl „Compound Find“

Verarbeitung der Datensätze in einer Ergebnismenge

Filtern von Ausschnittszeilen, die von Suchabfragen zurückgegeben wurden

Vorabüberprüfung von Befehlen, Datensätzen und Feldern

Vorabüberprüfung von Datensätzen in einem Befehl

Vorabüberprüfung von Datensätzen

Vorabüberprüfung von Feldern

Bearbeitung der Überprüfungsfehler

28

37

37

37

37

36

36

36

36

35

35

35

36

33

34

34

34

32

33

33

33

31

31

32

32

29

29

30

30

28

28

29

29

44

44

46

46

46

47

40

40

41

43

38

38

39

40

4

Fehlerbehandlung

Kapitel 6

Einstellen, Testen und Überwachen einer Site

Einstellen einer Custom Web Publishing-Site

Testen einer Custom Web Publishing-Site

Überwachen Ihrer Website

Verwenden der Web-Server-Zugriffs- und Fehlerprotokolle

Verwenden des Web Publishing Engine-Protokolls

Verwenden des Web-Server-Modul-Fehlerprotokolls

Verwenden der Tomcat-Protokolle

Fehlerbehebung für Ihre Site

Anhang A

Fehlercodes für Custom Web Publishing mit PHP

Fehlercodenummern für FileMaker-Datenbanken

Fehlercodenummern für PHP-Komponenten

Index

48

49

52

54

54

54

49

50

51

51

55

55

62

63

5

Vorwort

Über dieses Handbuch

Dieses Handbuch setzt voraus, dass Sie mit PHP, der Entwicklung von Webseiten und dem

Einsatz von FileMaker

®

Pro zur Erstellung von Datenbanken vertraut sind. Sie sollten mit den

Grundlagen der Datenbankgestaltung von FileMaker Pro vertraut sein und die Konzepte von

Feldern, Beziehungen, Layouts, Ausschnitten und Containerfeldern verstehen. Weitere

Informationen zu FileMaker Pro finden Sie in der FileMaker Pro Hilfe.

Dieses Handbuch enthält die folgenden Informationen über Custom Web Publishing mit PHP auf

FileMaker Server:

1

Voraussetzungen für die Entwicklung einer Custom Web Publishing-Lösung mit PHP

1

Veröffentlichen Ihrer Datenbanken mit PHP

1

Voraussetzungen für Webbenutzer für den Zugriff auf eine Custom Web Publishing-Lösung

1

Abruf von Daten aus von FileMaker Server bereitgestellten Datenbanken mithilfe des FileMaker

API für PHP

Wichtig

Sie können PDF-Dateien der FileMaker-Dokumentation unter http://www.filemaker.de/support/product/documentation.html herunterladen. Aktualisierungen dieses Dokuments erhalten Sie ebenfalls auf der Website.

Die Dokumentation für FileMaker Server umfasst die folgenden Informationen:

Weitere Informationen über

Installieren und Konfigurieren von FileMaker

Server

Bereitstellen von Layouts aus FileMaker Pro- und FileMaker Pro Advanced-Datenbanken für

Webbrowser-Benutzer über ein Intranet oder das Internet

Custom Web Publishing mit PHP

Siehe

FileMaker Server Einführung

FileMaker Server Hilfe

FileMaker WebDirect™ Handbuch

Custom Web Publishing mit XML

Installation und Konfiguration der ODBC- und

JDBC-Treiber und Verwendung von ODBC und JDBC

SQL-Anweisungen und -Standards, die von

FileMaker-Software unterstützt werden

FileMaker Server Custom Web Publishing mit PHP

(dieses Handbuch)

FileMaker Server Custom Web Publishing mit XML

FileMaker ODBC- und JDBC-Handbuch

FileMaker SQL-Referenzhandbuch.

Kapitel 1

Einführung in Custom Web Publishing

Mit FileMaker Server können Sie Ihre FileMaker-Datenbank im Internet oder in einem Intranet wie folgt veröffentlichen:

FileMaker WebDirect: Mit FileMaker WebDirect können Sie Layouts aus einer Datenbank schnell und einfach im Web veröffentlichen. Sie müssen keine zusätzliche Software installieren – mit einem kompatiblen Webbrowser und Zugang zum Internet bzw. einem Intranet können

Webbenutzer eine Verbindung zu Ihrer FileMaker WebDirect-Lösung herstellen, um Datensätze anzuzeigen, zu bearbeiten, zu sortieren oder zu durchsuchen, wenn Sie ihnen die entsprechenden Zugriffsrechte geben.

Für FileMaker WebDirect muss der Hostcomputer FileMaker Server ausführen. Die

Benutzeroberfläche gleicht der FileMaker Pro-Desktop-Anwendung. Die Webseiten und

Formulare, mit denen der Webbenutzer arbeitet, hängen von den in der FileMaker Pro-Datenbank definierten Layouts und Ansichten ab. Weitere Informationen finden Sie im FileMaker WebDirect-

Handbuch.

Statisches Veröffentlichen: Wenn sich Ihre Daten selten ändern oder Sie keine Live-Verbindung

Ihrer Benutzer zu Ihrer Datenbank wünschen, können Sie die Daten statisch veröffentlichen. Bei der statischen Veröffentlichung exportieren Sie Daten aus einer FileMaker Pro-Datenbank, um eine Webseite zu erstellen, die Sie anhand von HTML weiter anpassen können. Die Webseite

ändert sich nicht, wenn sich Informationen in Ihrer Datenbank ändern, und die Benutzer stellen keine Verbindung zu Ihrer Datenbank her. (Mit FileMaker WebDirect werden die Daten im

Webbrowser immer dann aktualisiert, wenn die Daten in der Datenbank aktualisiert werden.)

Weitere Informationen finden Sie in der FileMaker Pro Hilfe.

Custom Web Publishing: Um Ihre FileMaker-Datenbank in eine angepassten Website zu integrieren, verwenden Sie die Techniken für Custom Web Publishing, die in FileMaker Server zur Verfügung stehen. Für FileMaker Server, der die veröffentlichten Datenbanken bereitstellt, muss weder FileMaker Pro installiert noch gestartet sein, um Custom Web Publishing verfügbar zu machen.

Mit Custom Web Publishing können Sie:

1

Ihre Datenbank in andere Websites integrieren.

1

festlegen, wie Benutzer mit den Daten arbeiten.

1

steuern, wie Daten in Webbrowsern angezeigt werden.

FileMaker Server stellt zwei Custom Web Publishing-Technologien zur Verfügung:

1

Custom Web Publishing mit PHP: Verwenden Sie das FileMaker API für PHP, das eine objektorientierte PHP-Schnittstelle zu FileMaker Pro-Datenbanken bereitstellt, um Ihre

FileMaker-Daten in einer PHP-Webanwendung zu integrieren. Da Sie die PHP-Webseiten selbst programmieren, haben Sie die komplette Kontrolle über die Benutzeroberfläche und wie der Benutzer mit den Daten arbeitet.

1

Custom Web Publishing mit XML: Verwenden Sie XML Data Publishing, um FileMaker-Daten mit anderen Webseiten und Anwendungen auszutauschen. Indem Sie HTTP-URL-Abfragen mit FileMaker-Query-Befehlen und -Parametern verwenden, können Sie eine Datenbank abfragen, die von FileMaker Server bereitgestellt wird, die resultierenden Daten in XML-Format herunterladen und die resultierenden XML-Daten so verwenden, wie Sie es möchten.

Kapitel 1 | Einführung in Custom Web Publishing 8

Über die Web Publishing Engine

Um FileMaker WebDirect und Custom Web Publishing zu unterstützen, verwendet FileMaker

Server einen Satz von Softwarekomponenten, die sogenannte FileMaker Server Web Publishing

Engine. Die Web Publishing Engine verwaltet Interaktionen zwischen dem Browser eines

Webbenutzers, Ihrem Web-Server und FileMaker Server.

Custom Web Publishing mit XML: Webbenutzer greifen auf Ihre Custom Web Publishing-

Lösung zu, indem sie auf einen HREF-Link klicken oder einen Uniform Resource Locator (URL) eingeben, der die Web-Server-Adresse und eine FileMaker-Query-Zeichenfolgenabfrage angibt.

Die Web Publishing Engine gibt die in der Query-Zeichenfolgenabfrage angegebenen

XML-Daten zurück.

Custom Web Publishing mit PHP: Wenn ein Webbenutzer auf Ihre Custom Web Publishing-

Lösung zugreift, stellt PHP auf FileMaker Server eine Verbindung mit der Web Publishing Engine her und reagiert über das FileMaker API für PHP.

Verwenden der FileMaker Server Web Publishing Engine für Custom Web Publishing

Webbrowser

1

6

Web-Server

Web-Server-Modul

FM API und PHP-Code

2

5

Web Publishing Engine

3

Produkte.fmp12

Kunden.fmp12

Datenbank-

Server

Web Publishing Core

4

Verarbeitung einer Web Publishing Engine -Anforderung

1. Eine Anforderung wird von einem Webbrowser oder Programm an den Web-Server gesendet.

2. Der Web-Server leitet die Anforderung über das FileMaker Web-Server-Modul an die Web

Publishing Engine weiter.

3. Die Web Publishing Engine fordert Daten von der Datenbank an, die der Datenbank-Server bereitstellt.

4. FileMaker Server sendet die angeforderten FileMaker-Daten an die Web Publishing Engine.

5. Die Web Publishing Engine konvertiert die FileMaker-Daten, um die Anforderung zu beantworten.

1

Für PHP-Anforderungen antwortet die Web Publishing Engine auf die API-Anforderung.

1

Für XML-Anforderungen sendet die Web Publishing Engine die XML-Daten direkt an den

Web-Server.

6. Der Web-Server sendet die Ausgabe an den anfordernden Webbrowser oder das anfordernde

Programm.

Wichtig

Sicherheitsüberlegungen sind wichtig, wenn Sie Daten im Web veröffentlichen.

Sehen Sie sich die Sicherheitsrichtlinien im FileMaker Pro Benutzerhandbuch an, das als PDF unter http://www.filemaker.de/support/product/documentation.html verfügbar ist.

Kapitel 1 | Einführung in Custom Web Publishing 9

Custom Web Publishing mit PHP

Das FileMaker API für PHP bietet eine objektorientierte PHP-Schnittstelle zu FileMaker-Datenbanken.

Mithilfe des FileMaker API für PHP kann sowohl auf Daten als auch auf Logik, die in einer FileMaker

Pro-Datenbank gespeichert sind, zugegriffen werden. Diese können auch im Internet veröffentlicht oder an andere Anwendungen exportiert werden. Das API unterstützt zudem komplexe und zusammengesetzte Suchabfragen für das Extrahieren und Filtern von in FileMaker Pro-Datenbanken gespeicherten Daten.

Ursprünglich als prozedurale Programmiersprache entwickelt, wurde PHP als objektorientierte

Programmiersprache für die Webentwicklung ausgebaut. PHP bietet Programmiersprachenfunktionalität für den Aufbau praktisch jeder Art von Logik innerhalb einer Site-Seite. Zum Beispiel können Sie bedingte

Logikkonstrukte verwenden, um die Seitengenerierung, das Datenrouting oder den Workflow zu steuern.

PHP bietet zudem Funktionen für Site-Administration und Sicherheit.

Custom Web Publishing mit XML

FileMaker Custom Web Publishing mit XML ermöglicht Ihnen, Abfrageanforderungen an eine

FileMaker Pro-Datenbank zu senden, die von FileMaker Server bereitgestellt wird, und die resultierenden Daten anzuzeigen und zu ändern. Mithilfe einer HTTP-Abfrage mit den geeigneten

Query-Befehlen und -Parametern können Sie FileMaker-Daten als ein XML-Dokument abrufen. S ie können die XML-Daten in andere Anwendungen exportieren.

Vergleich von PHP mit XML

Der folgende Abschnitt zeigt einige Richtlinien auf, um die beste Lösung für Ihre Site zu bestimmen.

Gründe für PHP

1

PHP ist eine leistungsstarke, objektorientierte prozedurale Scriptingsprache und relativ leicht zu erlernen. Es gibt viele Ressourcen für Schulung, Entwicklung und Support.

1

Mithilfe des FileMaker API für PHP kann sowohl auf Daten als auch auf Logik, die in einer

FileMaker Pro-Datenbank gespeichert sind, zugegriffen werden. Diese können auch im Internet veröffentlicht oder an andere Anwendungen exportiert werden.

1

Mit PHP können Sie bedingte Logik verwenden, um den Seitenaufbau oder den Fluss zu kontrollieren.

1

PHP bietet Programmiersprachenfunktionalität für den Aufbau vieler Arten von Logik innerhalb einer Site-Seite.

1

PHP ist eine der beliebtesten Web-Scriptingsprachen.

1

PHP ist eine Open-Source-Sprache, verfügbar unter http://php.net.

1

PHP ermöglicht den Zugriff auf eine große Vielzahl von Third-Party-Komponenten, die Sie in

Ihre Lösungen integrieren können.

Gründe für XML

1

Die Syntax der FileMaker XML-Abfrageparameter ist für die Datenbankinteraktion konzipiert und vereinfacht die Lösungsentwicklung.

1

XML ist ein W3C-Standard.

Kapitel 1 | Einführung in Custom Web Publishing 10

1

XML ist ein von Maschinen und Menschen lesbares Format, das Unicode unterstützt, so dass

Daten in jeder geschriebenen Sprache kommuniziert werden können.

1

XML ist bestens geeignet für die Darstellung von Datensätzen, Listen und Daten mit

Baumstruktur.

1

Sie können FMPXMLRESULT für den Zugriff auf XML-Daten mit Custom Web Publishing und für den XML-Export aus FileMaker Pro-Datenbanken verwenden.

Hinweis

Weitere Informationen über Custom Web Publishing mit XML finden Sie im Handbuch

FileMaker Server Custom Web Publishing mit XML.

Kapitel 2

Erläuterung von Custom Web Publishing mit PHP

Custom Web Publishing mit PHP ermöglicht die Verwendung der Scriptsprache PHP, um Daten aus FileMaker-Datenbanken in Ihre angepassten Webseitenlayouts zu integrieren. Custom Web

Publishing mit PHP stellt FileMaker API für PHP bereit, bei dem es sich um eine PHP-Klasse handelt, die von FileMaker erzeugt wird und auf Datenbanken zugreift, die von FileMaker Server bereitgestellt werden. Diese PHP-Klasse stellt eine Verbindung mit der FileMaker Server Web

Publishing Engine her und macht Daten für die PHP Engine Ihres Web-Servers verfügbar.

Wichtige Funktionen in Custom Web Publishing mit PHP

1

Erstellen Sie Webanwendungen, die die Open-Source-Scriptsprache PHP verwenden.

Verwenden Sie die von FileMaker Server unterstützte Version PHP 5 oder Ihre eigene

Version von PHP 5. (Wenn Sie Ihre eigene Version von PHP verwenden, siehe „Manuelle

Installation von FileMaker API für PHP“ auf Seite 13.)

1

Stellen Sie Datenbanken mit FileMaker Server bereit. FileMaker Pro ist für Custom Web

Publishing nicht erforderlich, da FileMaker Server die Datenbanken bereitstellt.

1

Schreiben Sie PHP-Code, mit dem Datensätze in einer bereitgestellten FileMaker-Datenbank erstellt, gelöscht, bearbeitet und dupliziert werden können. Mit Ihrem Code können Feld- und

Datensatzüberprüfungen durchgeführt werden, bevor Änderungen in der bereitgestellten

Datenbank bestätigt werden.

1

Schreiben Sie PHP-Code, der auf Layouts, Ausschnitte, Wertelisten und Bezugsfelder zugreift.

Wie in FileMaker Pro basiert der Zugriff auf Daten, Layouts und Felder auf den

Benutzerkontoeinstellungen, die in den Zugriffsrechten der Datenbank definiert sind.

Die Web Publishing Engine unterstützt auch mehrere andere Sicherheitsverbesserungen

Siehe „Schützen veröffentlichter Datenbanken“ auf Seite 16.

1

Schreiben Sie PHP-Code, der komplexe Scripts mit mehreren Schritten ausführt. FileMaker unterstützt über 65 Scriptschritte in Custom Web Publishing. Weitere Informationen finden Sie

unter „FileMaker-Scripts und Custom Web Publishing“ auf Seite 23.

1

Schreiben Sie PHP-Code, der komplexe Suchabfragen ausführt.

Kapitel 2 | Erläuterung von Custom Web Publishing mit PHP 12

Anforderungen für Custom Web Publishing

Dieser Abschnitt beschreibt, was für die Entwicklung einer Custom Web Publishing-Lösung mit

PHP erforderlich ist, was Webbenutzer benötigen, um auf eine Custom Web Publishing-Lösung zuzugreifen und welche Auswirkungen die Bereitstellung einer Web Publishing-Lösung auf Ihren

Server haben könnte.

Voraussetzungen für das Veröffentlichen einer Datenbank mit Custom Web

Publishing

Um Datenbanken mithilfe von Custom Web Publishing mit PHP zu veröffentlichen, benötigen Sie:

1

einen FileMaker Server-Einsatz, der sich aus drei Komponenten zusammensetzt.

1

einen Web-Server, entweder Microsoft IIS (Windows) oder Apache (OS X). Das

FileMaker Web Server-Modul ist auf dem Web-Server installiert.

1

die FileMaker Web Publishing Engine

1

den FileMaker Datenbank-Server

1

PHP ist auf dem Web-Server installiert. FileMaker Server kann die unterstützte Version PHP 5 installieren oder Sie können Ihre eigene Version verwenden. Die mindestens erforderliche

Version von PHP unter OS X ist PHP 5.3.15. Die mindestens erforderliche Version von PHP unter Windows ist PHP 5.3.27. Weitere Informationen zu PHP erhalten Sie unter http://php.net.

Die auf dem Web-Server installierte PHP-Version muss cURL-Funktionen (Client URL Library) unterstützen. Weitere Informationen zu cURL erhalten Sie unter http://php.net/curl.

Wichtig

Wenn Sie die von FileMaker Server unterstützte Version PHP 5 installieren, wird es nicht im OS X Server Admin-Tool angezeigt. Die Auflistungsfunktion wird nicht unterstützt. Wenn Sie das

OS X Server Admin-Tool für die Aktivierung von PHP verwenden, deaktivieren Sie die von FileMaker

Server unterstützte Version PHP 5 und aktivieren Sie Ihre eigene PHP-Version.

1

eine oder mehrere FileMaker Pro-Datenbanken, die FileMaker Server bereitstellt.

1

IP-Adresse oder Domänenname des Hosts, auf dem der Web-Server läuft

1

einen beliebigen Webbrowser und Zugriff auf den Web-Server, um Ihre Custom Web

Publishing-Lösung zu entwickeln und zu testen

Weitere Informationen finden Sie im Handbuch FileMaker Pro Einführung.

Voraussetzungen für Webbenutzer zum Zugriff auf eine Custom Web Publishing-

Lösung

Für den Zugriff auf eine Custom Web Publishing-Lösung mit PHP benötigen Webbenutzer:

1

einen Webbrowser

1

Zugang zum Internet oder zu einem Intranet und zum Web-Server

1

IP-Adresse oder Domänenname des Hosts, auf dem der Web-Server läuft

Wenn die Datenbank passwortgeschützt ist, müssen Webbenutzer auch einen Benutzernamen und ein Passwort für ein Datenbankkonto eingeben.

Kapitel 2 | Erläuterung von Custom Web Publishing mit PHP 13

Verbindung zum Internet oder zu einem Intranet

Wenn Sie Datenbanken im Internet oder in einem Intranet veröffentlichen, muss auf dem Host-

Computer FileMaker Server laufen und die freizugebenden Datenbanken müssen bereitgestellt und verfügbar sein. Zusätzlich:

1

Veröffentlichen Sie Ihre Datenbank auf einem Computer, der über eine ständige Verbindung zum Internet bzw. Intranet verfügt. Sie können Datenbanken zwar ohne ständige Verbindung veröffentlichen, aber sie stehen Webbenutzern nur zur Verfügung, wenn Ihr Computer mit dem

Internet bzw. Intranet verbunden ist.

1

Der Host-Computer für den Web-Server, der Teil des FileMaker Server-Einsatzes ist, muss

über eine eigene statische (permanente) IP-Adresse oder einen Domänennamen verfügen.

Wenn Sie die Verbindung zum Internet über einen Internet-Anbieter (ISP) herstellen, könnte

Ihre IP-Adresse dynamisch zugewiesen werden (d. h., sie ändert sich bei jeder Verbindung).

Mit einer dynamischen IP-Adresse ist es für Webbenutzer schwieriger, Ihre Datenbanken zu finden. Wenn Sie sich über Ihre Zugangsart nicht sicher sind, wenden Sie sich an Ihren ISP oder Netzwerkadministrator.

Manuelle Installation von FileMaker API für PHP

Bei der Installation von FileMaker Server erhalten Sie die Möglichkeit, die von FileMaker unterstützte PHP-Version (PHP 5) zu installieren. Wenn bereits eine PHP-Engine installiert und konfiguriert ist und Sie nur FileMaker API für PHP hinzufügen möchten, installieren Sie die Klasse

FileMaker API für PHP manuell, um Sie für Ihre PHP-Scripts zur Verfügung zu stellen.

Wenn Sie die von FileMaker unterstützte Version von PHP nicht installiert haben, stellen Sie sicher, dass Sie die folgenden Konfigurationsaufgaben für Ihre Version der PHP Engine durchführen:

1

Aktivieren Sie das cURL-Modul in php.ini.

1

Geben Sie den Speicherort des FileMaker API für PHP in der Variable include_path in php.ini an.

1

Wenn Sie auf Datenbanken zugreifen, die Daten und Uhrzeiten enthalten, installieren Sie das

Pear-Date-Paket. Weitere Informationen finden Sie unter: http://pear.php.net/package/date/

Hinweis

FileMaker Server wurde mit PHP Version 5.3.15 für OS X 10.8, mit PHP Version 5.4.17 für OS X 10.9 und mit PHP Version 5.3.27 für Windows getestet. Verwenden Sie für optimale

Ergebnisse die entsprechende PHP-Version.

Bereitstellung von FileMaker API für PHP für Ihre PHP-Scripts

Bei der Installation von FileMaker Server wurde das FileMaker API für PHP-Paket als .zip-Datei an folgendem Ort gespeichert:

1

Für IIS (Windows):

[Laufwerk]:\Programme\FileMaker\FileMaker Server\Web

Publishing\FM_API_for_PHP_Standalone.zip wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web-Server-Komponente

Ihres FileMaker-Server-Einsatzes gespeichert ist.

Kapitel 2 | Erläuterung von Custom Web Publishing mit PHP 14

1

Für Apache (OS X):

/Library/FileMaker Server/Web Publishing/FM_API_for_PHP_Standalone.zip

Die Datei FM_API_for_PHP_Standalone.zip enthält die Datei „FileMaker.php“ und den Ordner

„FileMaker“. Entzippen Sie die Datei und kopieren Sie die Datei „FileMaker.php“ und den Ordner

„FileMaker“ in einen der folgenden Orte:

1

den Ordner, in dem Ihre PHP-Scripts gespeichert sind.

1

Für IIS (Windows) durch HTTP oder HTTPS:

[Laufwerk]:\Programme\FileMaker\FileMaker Server\HTTPServer\Conf wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem sich die Web Publishing Engine-

Komponente Ihres FileMaker-Servers befindet.

1

Für Apache (OS X) durch HTTP: /Library/FileMaker Server/HTTPServer/htdocs

1

Für Apache (OS X) durch HTTPS:

/Library/FileMaker Server/HTTPServer/htdocs/httpsRoot

1

eines der include_path-Verzeichnisse in Ihrer PHP-Installation. Der Standardpfad für OS X ist

/usr/lib/php

.

Die nächsten Schritte

Hier einige Vorschläge, um mit der Entwicklung von Custom Web Publishing-Lösungen zu beginnen:

1

Verwenden Sie FileMaker Server Admin Console für die Aktivierung von Custom Web

Publishing. Informationen hierzu finden Sie in der FileMaker Server Hilfe und im Handbuch

FileMaker Server Einführung.

1

Öffnen Sie in FileMaker Pro jede FileMaker-Datenbank, die Sie veröffentlichen wollen, und stellen Sie sicher, dass in der Datenbank die geeigneten erweiterten Zugriffsrechte für Custom

Web Publishing aktiviert sind. Siehe „Aktivierung von Custom Web Publishing mit PHP für

Datenbanken“ auf Seite 15.

1

Wie Sie mithilfe von FileMaker API für PHP auf Daten in FileMaker-Datenbanken zugreifen,

erfahren Sie in Kapitel 5, „Verwendung von FileMaker API für PHP“.

Kapitel 3

Vorbereiten von Datenbanken für Custom

Web Publishing

Bevor Sie Custom Web Publishing mit einer Datenbank verwenden können, müssen Sie die

Datenbank vorbereiten und vor unbefugtem Zugriff schützen.

Aktivierung von Custom Web Publishing mit PHP für Datenbanken

Sie müssen Custom Web Publishing mit PHP in jeder Datenbank aktivieren, die Sie veröffentlichen wollen. Anderenfalls können Webbenutzer Custom Web Publishing nicht für den

Zugriff auf eine Datenbank verwenden, selbst wenn sie von FileMaker Server bereitgestellt wird, der zur Unterstützung einer Web Publishing Engine konfiguriert ist.

So aktivieren Sie Custom Web Publishing in einer Datenbank:

1. Öffnen Sie in FileMaker Pro die zu veröffentlichende Datenbank mit einem Konto, das über die

Berechtigung für vollen Zugriff oder die Berechtigung „Erweiterte Zugriffsrechte verwalten“ verfügt.

2. Weisen Sie einer oder mehreren Berechtigungen das erweitere Zugriffsrecht

fmphp

zu, um

Custom Web Publishing mit PHP zu aktivieren.

3. Weisen Sie die Berechtigungen mit dem erweiterten Zugriffsrecht den entsprechenden Konten

(zum Beispiel Admin und Gast) zu.

Wichtig

Wenn Sie Kontonamen und Passwörter für Custom Web Publishing-Lösungen definieren, verwenden Sie druckbare ASCII-Zeichen. Beispiel:

a

-

z

,

A

-

Z

und

0

-

9

. Verwenden

Sie für sicherere Kontonamen und Passwörter zudem bestimmte nicht alphanumerische

Zeichen wie ein Ausrufezeichen (!) oder ein Prozentzeichen (%). Doppelpunkte (:) sind nicht zulässig. Informationen über das Einrichten von Konten finden Sie in der FileMaker Pro Hilfe.

4. Stellen Sie mithilfe von FileMaker Server Admin Console sicher, dass die Bereitstellung der

Datenbank richtig konfiguriert ist und FileMaker Server auf sie zugreifen kann. Informationen hierzu finden Sie in der FileMaker Server Hilfe.

Hinweis

Da Custom Web Publishing mit PHP keine persistenten Datenbanksitzungen verwendet, können Verweise auf eine externe ODBC-Datenquelle im FileMaker Pro-Beziehungsdiagramm die

Funktionen der PHP-Lösung einschränken. Wenn Ihre Datenbank auf Daten einer externen SQL-

Datenquelle zugreift, können Sie die Datensätze der externen Tabelle unter Umständen nicht aktualisieren.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 16

Erstellung von Layouts für Custom Web Publishing mit PHP

Custom Web Publishing mit PHP bietet keinen direkten Tabellenzugriff auf Daten in FileMaker

Pro-Datenbanken, sondern verwendet die in den Datenbanken definierten Layouts. Zwar muss kein eigenes Layout für Custom Web Publishing mit PHP erstellt werden, es kann jedoch aus mehreren Gründen vorteilhaft sein, ein Layout speziell für eine PHP-Lösung zu entwickeln:

1

Verbesserung der Leistung durch die Erstellung eines Layouts, das auf Felder, Beschriftungen,

Berechnungen und Ausschnitte beschränkt ist, die Sie für Ihre PHP-Lösung benötigen

1

Vereinfachung des PHP-Codes durch einen geringeren Datenverarbeitungsaufwand, da weniger Felder vorhanden sind

1

Trennung der Oberflächengestaltung von den Daten, sodass die Oberfläche an den Webbenutzer angepasst werden kann

Schützen veröffentlichter Datenbanken

Mit Custom Web Publishing mit PHP können Sie den Zugriff auf Ihre veröffentlichten Datenbanken einschränken. Dabei stehen Ihnen folgende Methoden zur Verfügung:

1

Fordern Sie für Datenbankkonten, die für Custom Web Publishing mit PHP verwendet werden,

Passwörter an.

1

Aktivieren Sie das erweiterte Zugriffsrecht für Custom Web Publishing mit PHP nur in den

Berechtigungen, denen Sie den Zugriff ermöglichen möchten.

1

Deaktivieren Sie Custom Web Publishing mit PHP für bestimmte Datenbanken, indem Sie das erweiterte Zugriffsrecht „fmphp“ für sämtliche Berechtigungen in dieser Datenbank deaktivieren. Weitere Informationen finden Sie in der FileMaker Pro Hilfe.

1

Aktivieren oder deaktivieren Sie Custom Web Publishing für alle Custom Web Publishing-

Lösungen in der Web Publishing Engine mit der FileMaker Server Admin Console.

Informationen hierzu finden Sie im Handbuch FileMaker Server Einführung und in der

FileMaker Server Hilfe.

1

Konfigurieren Sie Ihren Web-Server, um die IP-Adressen einzuschränken, die über die

Web Publishing Engine auf Ihre Datenbanken zugreifen können. Geben Sie beispielsweise an, dass nur Webbenutzer von der IP-Adresse 192.168.100.101 auf Ihre Datenbanken zugreifen können. Informationen über das Einschränken von IP-Adressen finden Sie in der

Dokumentation zu Ihrem Web-Server.

FileMaker Server unterstützt Verschlüsselung für Daten, die auf Platte geschrieben werden, und für Daten, die an Clients übertragen werden.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 17

1

Verschlüsseln Sie Ihre Datenbank mithilfe der Funktion „Datenbankverschlüsselung“ von

FileMaker Pro Advanced. Verschlüsselung schützt die FileMaker-Datenbankdatei und alle temporären Dateien, die auf Platte geschrieben werden. Weitere Informationen über das

Verschlüsseln einer Datenbank finden Sie im FileMaker Pro Benutzerhandbuch, in der

FileMaker Server Einführung und in der FileMaker Pro Hilfe.

1

Eine verschlüsselte Datenbank, die auf FileMaker Server bereitgestellt wird, wird über die

Admin Console oder die Befehlszeilenschnittstelle (CLI) geöffnet. Als FileMaker Server-

Administrator öffnen Sie die Datei mit dem Datenbank-Verschlüsselungspasswort, damit

FileMaker-Clients die verschlüsselte Datenbank nutzen können.

1

Sobald der FileMaker Server-Administrator die verschlüsselte FileMaker-Datenbank mit dem Verschlüsselungspasswort geöffnet hat, brauchen FileMaker-Clients das

Verschlüsselungspasswort nicht mehr, um auf die verschlüsselte Datenbank zuzugreifen.

Weitere Informationen zum Öffnen einer verschlüsselten Datenbank finden Sie in der

FileMaker Server Hilfe.

1

Verwenden Sie Secure Sockets Layer (SSL-)Verschlüsselung für die Kommunikation zwischen

Ihrem Web-Server und den Webbrowsern. Die SSL-Verschlüsselung wandelt Informationen, die zwischen Servern und Clients übertragen werden, mithilfe von mathematischen Formeln in unverständliche Informationen um. Der englische Fachausdruck für diese Chiffrier-Algorithmen ist Ciphers. Diese Algorithmen nutzt der Empfänger, um mithilfe von Schlüsseln, den sogenannten Chiffrierschlüsseln, die Informationen wieder in verständliche Daten umzuwandeln. Auf SSL-Verbindungen erfolgt der Zugriff über eine HTTPS-Verbindung.

Von Client-Seite ist keine Aktion erforderlich, sobald sie eingerichtet und betriebsbereit sind.

Informationen über das Aktivieren, Konfigurieren und Betreuen Ihrer SSL-Verbindungen erhalten Sie in der Dokumentation zu Ihrem Web-Server.

Weitere Informationen zur Sicherung Ihrer Datenbank finden Sie im FileMaker Pro

Benutzerhandbuch, das als PDF unter http://www.filemaker.de/support/product/documentation.html verfügbar ist.

Zugriff auf eine geschützte Datenbank

Custom Web Publishing mit PHP ermöglicht Ihnen, den Zugriff auf Ihre veröffentlichten

Datenbanken durch Passwortschutz, Datenbankverschlüsselung und sichere Verbindungen einzuschränken. Wenn ein Webbenutzer mit einer PHP-Lösung auf eine Datenbank zugreift, muss der PHP-Code die Zugangsdaten für die Datenbank über das FileMaker API für PHP bereitstellen. Wenn das Gastkonto für die Datenbank deaktiviert ist oder das erweiterte

Zugriffsrecht

fmphp

nicht aktiviert ist, gibt das FileMaker API für PHP einen Fehler zurück und Ihr PHP-Code muss die Anmeldeinformationen für den Benutzer bereitstellen.

Der Lehrgang für das FileMaker API für PHP enthält ein Beispiel, das demonstriert, wie mithilfe der setProperty()-Methode ein Benutzername und ein Passwort für eine geschützte

Datenbank festgelegt werden. Weitere Informationen finden Sie unter „FileMaker API für PHP-

Lehrgang“ auf Seite 29.

Folgende Liste fasst die Abläufe zusammen, wenn Custom Web Publishing für den Zugriff auf eine passwortgeschützte Datenbank verwendet wird:

1

Wenn einem Konto, das für Custom Web Publishing aktiviert wurde, kein Passwort zugewiesen wurde, muss die PHP-Lösung nur den Kontonamen bereitstellen.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 18

1

Wenn das Gastkonto deaktiviert ist, muss die PHP-Lösung einen Kontonamen und ein

Passwort bereitstellen. Die PHP-Lösung kann entweder den Webbenutzer nach dem

Kontonamen und dem Passwort fragen oder den Kontonamen und das Passwort im PHP-Code speichern. Für das Konto muss das erweiterte Zugriffsrecht

fmphp

aktiviert sein.

1

Wenn das Gastkonto aktiviert ist und das erweiterte Zugriffsrecht

fmphp

aktiviert ist:

1

Die PHP-Lösung muss Webbenutzer beim Öffnen einer Datei nicht zur Eingabe des

Kontonamens und Passworts auffordern. Alle Webbenutzer werden automatisch mit dem Gastkonto angemeldet und erhalten die Gast-Zugriffsrechte.

1

Die Standardberechtigungen für Gastkonten umfassen den Nur-Lese-Zugriff. Sie können für dieses Konto die Standardberechtigungen einschließlich erweiterten Zugriffsrechten

ändern. Weitere Informationen finden Sie in der FileMaker Pro Hilfe.

1

Die PHP-Lösung kann den Scriptschritt „Erneut anmelden“ verwenden, um Benutzern zu ermöglichen, sich über ein anderes Konto anzumelden (um beispielsweise von einem

Gastkonto in ein Konto mit mehr Berechtigungen zu wechseln). Weitere Informationen finden

Sie in der FileMaker Pro Hilfe. Da PHP-Verbindungen jedoch keine persistenten

Datenbanksitzungen verwenden, muss die PHP-Lösung den Kontonamen und das Passwort speichern, um sie für alle nachfolgenden Abfragen zu verwenden.

Hinweis

Standardmäßig können Webbenutzer ihr Kontopasswort nicht von einem

Webbrowser aus ändern. Sie können diese Funktion über den Scriptschritt „Passwort ändern“ in Ihrer Datenbank aktivieren, damit Webbenutzer ihr Passwort vom Browser aus ändern können. Weitere Informationen finden Sie in der FileMaker Pro Hilfe.

Veröffentlichen des Inhalts von Containerfeldern im Web

Der Inhalt eines Containerfelds kann in die Datenbank eingebettet sein, per Verweis über einen relativen Pfad verknüpft sein oder extern gespeichert sein.

In eine Datenbank eingebettete Containerfeldobjekte

Wenn ein Containerfeld die tatsächlichen Dateien in der FileMaker-Datenbank speichert, gehen

Sie wie folgt vor, um die Containerfeldobjekte in einer PHP-Lösung zu verwenden:

1

Verwenden Sie FileMaker API für PHP, um das Datenbankobjekt ($fm) mit den entsprechenden Anmeldeinformationen (Kontoname und Passwort) zu definieren.

$fm = new FileMaker();

$fm->setProperty('database', $databaseName);

$fm->setProperty('username', $userName);

$fm->setProperty('password', $passWord);

1

Verwenden Sie die richtigen HTML-Tags, um das Web-kompatible Objekt anzugeben, das in dem Containerfeld enthalten ist, und erzeugen Sie eine URL-Zeichenfolge, die den Dateipfad für das Quellattribut des HTML-Tags wiedergibt.

<IMG src="img.php?-url=<?php echo urlencode($record->getField('Cover

Image')); ?>">

1

Verwenden Sie dann die Methode getContainerData(), um das Containerfeldobjekt abzurufen. echo $fm->getContainerData($_GET['-url']);

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 19

Der Lehrgang zum FileMaker API für PHP enthält weitere Beispiele zur Verwendung

von Containerfeldern. Weitere Informationen finden Sie unter „FileMaker API für PHP-Lehrgang“ auf Seite 29.

Hinweise

1

Die Web Publishing Engine unterstützt den progressiven Download von Audiodateien (.mp3),

Videodateien (.mov, .mp4 und .avi empfohlen) und PDF-Dateien für interaktive Container. Zum

Beispiel kann ein Webbenutzer beginnen, einen Film anzusehen, auch wenn der Film noch nicht komplett heruntergeladen ist. Um den progressiven Download zuzulassen, müssen

Sie die Dateien mithilfe von Optionen erstellen, die Streaming unterstützen oder für die Anzeige im Internet optimiert wurden. Erstellen Sie beispielsweise Dateien mithilfe der Option

„Für Webanzeige optimieren“.

1

Wenn die FileMaker Server-Einstellung

Sichere Verbindungen aktivieren

nicht ausgewählt ist, werden die Verbindungen, über die FileMaker Server Daten überträgt, während der

Übertragung nicht verschlüsselt.

1

FileMaker-Clients sehen die interaktiven Containerdaten mit geringer Verzögerung.

1

FileMaker Server entschlüsselt die Containerfelddaten in einem Cache-Ordner auf dem

Server, wenn ein FileMaker Pro-, FileMaker Go- oder Web-Client die Daten anfordert.

Die Daten können im Cache-Ordner zwei Stunden lang entschlüsselt verbleiben, bis

FileMaker Server den Cache-Ordner periodisch leert. Die Daten werden nicht lokal auf dem Client im Cache abgelegt.

1

Wenn die FileMaker Server-Einstellung

Sichere Verbindungen aktivieren

ausgewählt ist, verwendet FileMaker Server zur Übertragung von Daten sichere Verbindungen. FileMaker-

Clients laden die Containerdaten vollständig herunter, bevor der Benutzer mit den Daten interagieren kann. Die Daten sind so sicher, als sei die Lösung eine lokale Datenbank, da keine temporären Cache-Dateien erstellt und die Daten bei der Übertragung verschlüsselt werden.

Der Datenbank-Server muss angehalten und neu gestartet werden, wenn die Einstellung

Sichere

Verbindungen aktivieren

geändert wird, damit die neue Einstellung wirksam wird.

Containerfelder mit referenzierten Dateien

Wenn ein Containerfeld einen Dateiverweis speichert, können Sie die Methode getContainerData()

verwenden, um die Containerfeldobjekte aus der Datenbank in Ihrem

PHP-Code abzurufen, oder Sie verwenden die Methode getContainerDataURL(), um einen vollständig qualifizierten URL für das Containerfeldobjekt abzurufen.

Sie müssen folgende Schritte einhalten, um die referenzierten Dateien über die Web Publishing

Engine zu veröffentlichen:

1. Speichern Sie die Containerobjektdateien im Webordner des FileMaker Pro-Ordners.

2. Fügen Sie in FileMaker Pro die Objekte in das Containerfeld ein und wählen Sie die Option

Nur

Verweis auf die Datei speichern

.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 20

3. Kopieren oder verschieben Sie die Objektdateien, auf die verwiesen wird, im Webordner an die gleiche Stelle im relativen Pfad des Root-Ordners der Web-Server-Software.

1

Für IIS (Windows) durch HTTP oder HTTPS:

[Laufwerk]:\Programme\FileMaker\FileMaker Server\HTTPServer\Conf

, wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web Publishing Engine-

Komponente Ihres FileMaker-Server-Einsatzes gespeichert ist.

1

Für Apache (OS X) durch HTTP: /Library/FileMaker Server/HTTPServer/htdocs

1

Für Apache (OS X) durch HTTP:

/Library/FileMaker Server/HTTPServer/htdocs/httpsRoot

Hinweise

1

Für Containerobjekte, die als Dateiverweise gespeichert sind, muss Ihr Web-Server so konfiguriert sein, dass er die MIME- (Multipurpose Internet Mail Extensions) Typen für alle Arten von Dateien unterstützt, die Sie anbieten wollen (z. B. Filme). Ihr Web-Server bestimmt die

Unterstützung für die aktuellen MIME-Typen, die für das Internet registriert sind. Die Web

Publishing Engine ändert die MIME-Unterstützung eines Web-Servers nicht. Weitere

Informationen finden Sie in der Dokumentation zu Ihrem Web-Server.

1

Alle QuickTime-Filme werden in Containerfeldern als Verweis gespeichert.

Containerfelder mit extern gespeicherten Daten

Wenn ein Containerfeld Objekte extern speichert – wenn Sie also im Dialogfeld „Feldoptionen“

Containerdaten extern speichern

gewählt haben – muss Ihr PHP-Code die Methode getContainerDataURL()

verwenden, um einen vollständig qualifizierten URL für das

Containerfeldobjekt abzurufen.

Verwenden Sie das FileMaker API für PHP, um das Datenbankobjekt mit den entsprechenden

Zugangsdaten (Kontoname und Passwort) zu definieren, und verwenden Sie dann die Methode getContainerDataURL()

.

Beispiel für Bilder mit dem HTML-Tag img

$fm=new FileMaker($database, $hostspec, $user, $password);

$findCommand = $fm->newFindCommand($layout);

$findCommand->addFindCriterion('type', 'png');

$result = $findCommand->execute();

$records = $result->getRecords(); foreach ($records as $record) {

echo $record->getField('container').'<br>';

// Verwenden Sie für Bilder den HTML-Tag img

echo '<img src="'.$fm->

getContainerDataURL($record->getField('container')) .'">';

break;

}

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing

Beispiel für eingebettete Daten mit dem HTML-Tag embed

$fm=new FileMaker($database, $hostspec, $user, $password);

$findCommand = $fm->newFindCommand($layout);

$findCommand->addFindCriterion('type', 'pdf');

$result = $findCommand->execute();

$records = $result->getRecords(); foreach ($records as $record) {

echo $record->getField('container').'<br>';

// Verwenden Sie für Filme und PDF-Dateien den HTML-Tag embed

//echo '<embed src="'.$fm->

getContainerDataURL($record->getField('container')) .'">';

break;

}

21

Hochladen von Containerfelddaten auf FileMaker Server

Wenn Sie eine Datenbank mithilfe von FileMaker Pro hochladen, werden dabei die extern gespeicherten Containerfelddaten zu FileMaker Server hochgeladen. In der FileMaker Pro Hilfe finden Sie Informationen zum Übertragen der Datenbankdateien auf FileMaker Server.

Wenn Sie eine Datenbank manuell hochladen, die ein Containerfeld mit extern gespeicherten

Objekten verwendet, müssen Sie diese Schritte befolgen, um die extern gespeicherten

Containerobjekte über die Web Publishing Engine zu veröffentlichen.

So laden Sie eine Datenbank manuell hoch:

1. Legen Sie die Datenbankdatei an den richtigen Ort auf dem Server. Legen Sie die FileMaker

Pro-Datenbankdateien, die FileMaker Server öffnen soll – oder Verknüpfungen (Windows) bzw. Aliasdateien (OS X) zu diesen Dateien – in den folgenden Ordnern ab:

1

Windows: [Laufwerk]:\Programme\FileMaker\FileMaker

Server\Data\Databases\ wobei [Laufwerk] das Hauptlaufwerk ist, von dem das System startet.

1

OS X: /Library/FileMaker Server/Data/Databases/

Sie können die Dateien auch in einem optional angegebenen, zusätzlichen Datenbankordner ablegen.

2. Erstellen Sie in dem Ordner, in den Sie die Datenbank gelegt haben, einen Ordner namens

RC_Data_FMS, falls er nicht bereits existiert.

3. Erstellen Sie im Ordner RC_Data_FMS einen Ordner mit einem Namen, der dem Namen Ihrer

Datenbank entspricht. Wenn Ihre Datenbank z. B. „Kunden“ heißt, erstellen Sie einen Ordner mit dem Namen „Kunden“. Legen Sie die extern gespeicherten Objekte in den neu erstellten

Ordner.

Hinweis

Wenn Datenbanken auf FileMaker Server bereitgestellt werden, gibt es keine

Möglichkeit für verschiedene Datenbanken, auf einen gemeinsamen Ordner mit

Containerobjekten zuzugreifen. Die Containerobjekte für jede Datenbank müssen sich in einem Ordner befinden, der durch den Namen der Datenbank identifiziert wird.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 22

4. Für gemeinsam benutzte Dateien von OS X nehmen Sie die Dateien in die Gruppe

fmsadmin

auf.

Weitere Informationen zum manuellen Hochladen von Datenbanken finden Sie in der

FileMaker Server Hilfe.

Hinweise

1

Die Web Publishing Engine unterstützt den progressiven Download von Audiodateien (.mp3),

Videodateien (.mov, .mp4 und .avi empfohlen) und PDF-Dateien für interaktive Container. Zum

Beispiel kann ein Webbenutzer beginnen, einen Film anzusehen, auch wenn der Film noch nicht komplett heruntergeladen ist. Um den progressiven Download zuzulassen, müssen Sie die Dateien mithilfe von Optionen erstellen, die Streaming unterstützen oder für die Anzeige im Internet optimiert wurden. Erstellen Sie beispielsweise Dateien mithilfe der Option „Für

Webanzeige optimieren“.

1

Wenn die FileMaker Server-Einstellung

Sichere Verbindungen aktivieren

nicht ausgewählt ist, werden die Verbindungen, über die FileMaker Server Daten überträgt, während der

Übertragung nicht verschlüsselt.

1

FileMaker-Clients sehen die interaktiven Containerdaten mit geringer Verzögerung.

1

FileMaker Server entschlüsselt die Containerfelddaten in einem Cache-Ordner auf dem

Server, wenn ein FileMaker Pro-, FileMaker Go- oder Web-Client die Daten anfordert. Die

Daten können im Cache-Ordner zwei Stunden lang entschlüsselt verbleiben, bis FileMaker

Server den Cache-Ordner periodisch leert. Die Daten werden nicht lokal auf dem Client im

Cache abgelegt.

1

Wenn die FileMaker Server-Einstellung

Sichere Verbindungen aktivieren

ausgewählt ist, verwendet FileMaker Server zur Übertragung von Daten sichere Verbindungen. FileMaker-

Clients laden die Containerdaten vollständig herunter, bevor der Benutzer mit den Daten interagieren kann. Die Daten sind so sicher, als sei die Lösung eine lokale Datenbank, da keine temporären Cache-Dateien erstellt und die Daten bei der Übertragung verschlüsselt werden.

Der Datenbank-Server muss angehalten und neu gestartet werden, wenn die Einstellung

Sichere

Verbindungen aktivieren

geändert wird, damit die neue Einstellung wirksam wird.

Anzeige von Containerfeldobjekten durch Webbenutzer

Bei der Veröffentlichung einer Datenbank mit der Web Publishing Engine gelten folgende

Einschränkungen für die Containerfeldobjekte:

1

Webbenutzer können den Inhalt eines Containerfelds nicht ändern oder ihm Inhalte hinzufügen. Webbenutzer können Containerfelder nicht verwenden, um Objekte in die

Datenbank hochzuladen.

1

Bei Datenbanken, die ein Containerfeld mit aktivierter Vorschau verwenden, lädt die Web

Publishing Engine die gesamte Datei, keine Vorschau, herunter.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 23

FileMaker-Scripts und Custom Web Publishing

Die Funktion „Scripts verwalten“ in FileMakerPro kann sich häufig wiederholende Aufgaben automatisieren oder mehrere Aufgaben zusammenfassen. In Kombination mit Custom Web

Publishing ermöglichen FileMaker-Scripts den Webbenutzern, eine Reihe von Aufgaben durchzuführen. FileMaker-Scripts lassen zudem Aufgaben zu, die ansonsten nicht unterstützt werden, wie die Verwendung des Scriptschritts „Passwort ändern“, um Webbenutzern die

Passwortänderungen über einen Browser zu ermöglichen.

FileMaker unterstützt über 65 Scriptschritte in Custom Web Publishing. Um nicht unterstützte

Scriptschritte anzuzeigen, wählen Sie im Dialogfeld „Script bearbeiten“ in FileMaker Pro die

Option

Custom Web Publishing

aus der Liste

Kompatibilität anzeigen

. Grau dargestellte

Scripts werden nicht für Custom Web Publishing unterstützt. Informationen zum Erstellen von

Scripts finden Sie in der FileMaker Pro Hilfe.

Tipps und Überlegungen zu Scripts

Auch wenn viele Scriptschritte im Web identisch funktionieren, gibt es einige, die sich anders

verhalten. Weitere Informationen erhalten Sie unter „Scriptverhalten in Custom Web Publishing-

Lösungen“ auf Seite 24. Testen Sie alle Scripts, die von einem Webbrowser ausgeführt werden,

bevor Sie Ihre Datenbank bereitstellen. Stellen Sie sicher, dass Sie sich mit unterschiedlichen

Benutzerkonten anmelden, damit Sie sichergehen können, dass die Scripts für alle Clients gleichermaßen funktionieren.

Beachten Sie folgende Tipps und Überlegungen:

1

Verwenden Sie Konten und Zugriffsrechte, um die Scripts einzuschränken, die ein

Webbenutzer ausführen kann. Überprüfen Sie, ob die Scripts nur Web-kompatible

Scriptschritte enthalten und nur Zugang zu Scripts gewähren, die von einem Webbrowser aus ausgeführt werden sollen.

1

Berücksichtigen Sie die Nebeneffekte von Scripts, die eine Reihe von Scriptschritten ausführen, die durch Zugriffsrechte kontrolliert werden. Wenn ein Script beispielsweise einen

Scriptschritt zum Löschen von Datensätzen enthält und der Webbenutzer sich nicht mit einem

Konto anmeldet, das das Löschen von Datensätzen zulässt, führt das Script den Scriptschritt zum Löschen von Datensätzen nicht aus. Das Script könnte jedoch weiter ausgeführt werden, so dass unerwartete Ergebnisse auftreten können.

1

Wählen Sie im Dialogfeld „Script bearbeiten“

Script mit vollen Zugriffsrechten ausführen

, damit Scripts Aufgaben ausführen können, für die Sie dem Benutzer an sich keinen Zugang gewähren wollen. Beispielsweise können Sie Benutzern untersagen, Datensätze zu löschen, indem Sie ihre Konten und Berechtigungen beschränken, ihnen aber die Ausführung eines

Scripts gestatten, das unter vordefinierten Bedingungen innerhalb eines Scripts bestimmte

Arten von Datensätzen löscht.

1

Wenn Ihre Scripts Schritte enthalten, die nicht unterstützt werden (z. B. Schritte, die nicht Webkompatibel sind), verwenden Sie den Scriptschritt

AnwenderAbbruchZulassen setzen

, um festzulegen, wie nachfolgende Schritte gehandhabt werden.

1

Wenn der Scriptschritt

AnwenderAbbruchZulassen setzen

aktiviert (ein) ist, hindern nicht unterstützte Scriptschritte das Script an der Fortsetzung.

1

Wenn

AnwenderAbbruchZulassen setzen

ausgeschaltet ist, werden nicht unterstützte

Scriptschritte übersprungen und das Script setzt die Ausführung fort.

1

Wenn dieser Scriptschritt nicht enthalten ist, werden Scripts ausgeführt, als ob die Funktion aktiv wäre, d. h., nicht unterstützte Scriptschritte stoppen Scripts.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 24

1

Einige Scripts, die mit einem Schritt von einem FileMaker Pro-Client aus funktionieren, benötigen eventuell einen zusätzlichen Schritt „Schreibe Änderung Datens./Abfrage“, um die Daten auf dem

Host zu speichern. Da Webbenutzer nicht über eine direkte Verbindung zum Host verfügen, werden sie nicht benachrichtigt, wenn sich Daten ändern. Funktionen wie bedingte Wertelisten funktionieren z. B. nicht gleichermaßen für Webbenutzer, da die Daten auf dem Host gespeichert werden müssen, bevor sich die Wirkung in einem Wertelistenfeld zeigt.

1

Scripts, die Daten verändern, sollten den Schritt „Schreibe Änderung Datens./Abfrage“ enthalten, da Datenänderungen erst im Browser sichtbar werden, wenn die Daten gespeichert bzw. am Server „bestätigt“ wurden. Dies gilt für einige Scriptschritte wie Ausschneiden,

Kopieren, Einfügen usw. Viele Aktionen mit nur einem Scriptschritt sollten in Scripts umgewandelt werden, die den Schritt „Schreibe Änderung Datens./Abfrage“ enthalten. Wenn

Sie Scripts entwerfen, die von einem Webbrowser aus ausgeführt werden, nehmen Sie den

Schritt „Schreibe Änderung Datens./Abfrage“ am Ende des Scripts auf, um sicherzustellen, dass alle Änderungen gespeichert werden.

1

Um von der Art des Clients abhängige Scripts zu erstellen, verwenden Sie die Funktion

„Hole(ProgrammVersion)“. Wenn der zurückgegebene Wert „Web Publishing Engine“ enthält, wissen Sie, dass der aktuelle Benutzer über Custom Web Publishing auf Ihre Datenbank zugreift. Weitere Informationen zu Funktionen finden Sie in der FileMaker Pro Hilfe.

1

Nach der Konvertierung Ihrer Dateien sollten Sie jedes Script öffnen, das Webbenutzer ausführen könnten. Wählen Sie dann

Web Publishing

aus der Liste „Kompatibilität anzeigen“ im Fenster „Script bearbeiten“, um sicherzustellen, dass das Script mit Instant Web Publishing richtig ausgeführt wird.

Scriptverhalten in Custom Web Publishing-Lösungen

Die nachfolgenden Scriptschritte arbeiten im Web anders als in FileMaker Pro. Weitere

Informationen zu allen Scriptschritten finden Sie in der FileMaker Pro Hilfe.

Scriptschritt

Script ausführen

Programm beenden

AnwenderAbbruchZul assen setzen

Fehleraufzeichnung setzen

Scriptpause setzen

Sortieren

URL öffnen

Verhalten in Custom Web Publishing-Lösungen

Scripts können nur dann in anderen Dateien ausgeführt werden, wenn die Dateien auf

FileMaker Server bereitgestellt werden und Custom Web Publishing in den anderen

Dateien aktiviert ist.

Meldet Webbenutzer ab, schließt alle Fenster, beendet aber den Webbrowser nicht.

Legt fest, wie nicht unterstützte Scriptschritte gehandhabt werden. Aktivieren, damit Scripts gestoppt werden; deaktivieren, damit nicht unterstützte Schritte übersprungen werden.

Weitere Informationen finden Sie unter „Tipps und Überlegungen zu Scripts“ auf Seite 23.

Hinweis

Webbenutzer können Custom Web Publishing-Scripts nicht abbrechen, aber diese Option ermöglicht, dass nicht unterstützte Scriptschritte die Fortsetzung des

Scripts stoppen.

Diese Option ist bei Custom Web Publishing immer aktiviert. Webbenutzer können Custom

Web Publishing-Scripts nicht abbrechen.

Diese Scriptschritte werden zwar in Custom Web Publishing unterstützt, sollten aber nicht verwendet werden. Wenn der Scriptschritt „Scriptpause setzen“ ausgeführt wird, hält das

Script an. Nur ein Script, das erneut den Schritt „Scriptpause setzen“ enthält, kann die

Ausführung fortsetzen. Wenn das Script im Pausezustand bleibt, bis die Sitzung endet, wird das Script nicht vollständig ausgeführt.

Sie müssen eine Sortierfolge mit dem Scriptschritt „Datensätze sortieren“ speichern, damit er in Custom Web Publishing ausgeführt wird.

Dieser Scriptschritt hat keine Wirkung in einer Custom Web Publishing-Lösung.

Kapitel 3 | Vorbereiten von Datenbanken für Custom Web Publishing 25

Scriptschritt

Gehe zu Feld

Schreibe Änderung

Datens./Abfrage

Verhalten in Custom Web Publishing-Lösungen

Im Webbrowser können Sie „Gehe zu Feld“ nicht verwenden, um zu einem bestimmten

Feld zu wechseln. Sie können diesen Scriptschritt jedoch in Kombination mit anderen

Scriptschritten verwenden, um Aufgaben auszuführen. Beispielsweise können Sie zu einem Feld gehen und den Inhalt kopieren und dann zu einem anderen Feld gehen und den

Wert einfügen. Um die Wirkung im Browser zu sehen, müssen Sie den Datensatz mit dem

Scriptschritt „Datensatz bestätigen“ speichern.

Sendet den Datensatz zur Datenbank.

Script-Trigger in Custom Web Publishing-Lösungen

In FileMaker Pro können sowohl Scripts als auch Benutzeraktionen (wie zum Beispiel ein

Benutzer, der in ein Feld klickt) Script-Trigger aktivieren. In Custom Web Publishing können jedoch nur Scripts Script-Trigger aktivieren. Wenn ein Custom Web Publishing-Benutzer zum

Beispiel in ein Feld klickt, das einen Script-Trigger „BeiObjektBetreten“ besitzt, wird der Trigger nicht aktiviert. Wenn ein Script jedoch dazu führt, dass die Einfügemarke in das Feld wechselt, wird der Script-Trigger „BeiObjektBetreten“ aktiviert. Weitere Informationen zu Script-Triggern finden Sie in der FileMaker Pro Hilfe.

Hinweis

Sie müssen den Script-Trigger „BeiErstemFensterÖffnen“ verwenden, wenn Sie beim

Öffnen einer Datei ein Script ausführen möchten. Entsprechend müssen Sie den Script-Trigger

„BeiLetztemFensterSchließen“ verwenden, wenn Sie beim Schließen einer Datei ein Script ausführen möchten.

Kapitel 4

Übersicht über Custom Web Publishing mit PHP

Das FileMaker API für PHP unterstützt Sie bei der Integration von Daten aus FileMaker Pro-

Datenbanken in PHP-Lösungen. Dieses Kapitel beschreibt, wie PHP mit der FileMaker Server

Custom Web Publishing Engine funktioniert. Weitere Informationen über das FileMaker API für

PHP finden Sie in Kapitel 5, „Verwendung von FileMaker API für PHP“.

Funktionsweise der Web Publishing Engine mit PHP-Lösungen

FileMaker Server besteht aus drei Komponenten: dem Web-Server, der Web Publishing Engine und dem Datenbank-Server. (Diese Komponenten können sich auf bis zu zwei Rechner verteilen.

Weitere Informationen hierzu finden Sie in der FileMaker Server Einführung.) FileMaker Server stellt die PHP-Lösung bereit, wenn Sie die PHP-Dateien auf dem Web-Server speichern, auf dem die PHP-Engine installiert ist.

1

Wenn ein Webbenutzer eine PHP-Lösung öffnet, leitet der Web-Server die Anforderung an die

PHP-Engine weiter, die den PHP-Code verarbeitet.

1

Wenn der PHP-Code Aufrufe für das FileMaker API für PHP enthält, werden diese Aufrufe interpretiert und als Abfragen an die Web Publishing Engine gesendet.

1

Die Web Publishing Engine fordert Daten von den Datenbanken an, die der Datenbank-Server bereitstellt.

1

Der Datenbank-Server sendet die angeforderten Daten an die Web Publishing Engine.

1

Die Web Publishing Engine sendet die Daten als Antwort auf den API-Aufruf an die PHP-

Engine auf dem Web-Server.

1

Die PHP-Lösung verarbeitet die Daten und zeigt sie dem Webbenutzer an.

Allgemeine Schritte bei Custom Web Publishing mit PHP

Zusammenfassung der Schritte bei der Verwendung von Custom Web Publishing mit PHP:

1. Stellen Sie in Admin Console sicher, dass

PHP Publishing aktivieren

ausgewählt ist. Weitere

Informationen finden Sie in der FileMaker Server Einführung.

2. Wählen Sie in der Admin Console den Bereich

Datenbanken

und stellen Sie sicher, dass für jede FileMaker-Datenbank, die Sie veröffentlichen, das erweiterte Zugriffsrecht

fmphp

für

Custom Web Publishing mit PHP aktiviert ist.

Verwenden Sie, falls nötig, FileMaker Pro, um Custom Web Publishing für eine Datenbank zu

aktivieren. Weitere Informationen finden Sie in Kapitel 3, „Vorbereiten von Datenbanken für

Custom Web Publishing“.

Hinweis

Stellen Sie sicher, dass Sie entsprechende FileMaker-Datenbankberechtigungen verwenden, wenn Sie PHP-Lösungen entwickeln, die an den Endbenutzer gegeben werden.

Andernfalls haben Sie in der FileMaker-Datenbank eventuell Zugriff auf Layouts und

Funktionen, die dann dem Endbenutzer nicht zur Verfügung stehen und damit zu inkonsistentem Verhalten führen.

Kapitel 4 | Übersicht über Custom Web Publishing mit PHP 27

3. Verwenden Sie PHP-Authoring-Tools, um Ihre PHP-Lösung zu erstellen, und integrieren Sie die FileMaker API-Funktionen in Ihren PHP-Code, um auf Ihre FileMaker-Daten zuzugreifen.

Weitere Informationen finden Sie in Kapitel 5, „Verwendung von FileMaker API für PHP“.

4. Kopieren oder verschieben Sie Ihre Website-Verzeichnisstruktur und -Dateien in folgenden

Ordner auf dem Web-Server:

1

Für IIS (Windows) durch HTTP oder HTTPS:

[Laufwerk]:\Programme\FileMaker\FileMaker Server\HTTPServer\Conf

, wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web Publishing Engine-

Komponente Ihres FileMaker-Server-Einsatzes gespeichert ist.

1

Für Apache (OS X) durch HTTP: /Library/FileMaker Server/HTTPServer/htdocs

1

Für Apache (OS X) durch HTTPS:

/Library/FileMaker Server/HTTPServer/htdocs/httpsRoot

5. Wenn ein Datenbank-Containerfeld einen Dateiverweis anstelle der eigentlichen Datei speichert, muss das referenzierte Containerobjekt im FileMaker Pro-Webordner gespeichert sein, wenn der

Datensatz erstellt oder bearbeitet wird. Kopieren oder verschieben Sie das Objekt in einen Ordner mit dem gleichen relativen Speicherort im Root-Ordner der Web-Server-Software.

Weitere Informationen finden Sie unter „Veröffentlichen des Inhalts von Containerfeldern im

Web“ auf Seite 18.

6. Richten Sie unbedingt Sicherheitsmechanismen für Ihre Site oder Ihr Programm ein.

7. Testen Sie Ihre Site mit den Konten und Zugriffsrechten, die für Webbenutzer definiert sind.

8. Geben Sie die Site frei und informieren Sie Benutzer. Der vom Webbenutzer eingegebene URL weist folgendes Format auf: http://<server>/<site_path>

1

<server> ist dabei der Rechner, auf dem sich FileMaker Server befindet.

1

<site_path>

ist der relative Pfad zur Homepage Ihrer Site und ergibt sich durch die unter

Schritt 4 festgelegte Verzeichnisstruktur.

Wenn Ihr Web-Server beispielsweise 192.168.123.101 ist und sich die Homepage Ihrer Website auf dem Web-Server unter c:\Inetpub\wwwroot\customers\index.php befindet, lautet der entsprechende URL: http://192.168.123.101/customers/index.php.

Hinweis

PHP 5 verwendet die Kodierung Latin-1 (ISO-8859-1). FileMaker Server gibt Unicode-

(UTF-8)-Daten zurück. Verwenden Sie FileMaker Server Admin Console, um die Standard-

Zeichenkodierung für Ihre Site festzulegen. Für PHP-Sites können Sie entweder UTF-8 oder

ISO-8859-1, UTF-8 angeben. Geben Sie die gleiche Einstellung für das charset-Attribut im

<HEAD>

-Bereich der PHP-Dateien Ihrer Site ein.

Weitere Informationen zu Einsatz und Verwendung einer PHP-Lösung finden Sie in Kapitel 6,

„Einstellen, Testen und Überwachen einer Site“.

Kapitel 5

Verwendung von FileMaker API für PHP

FileMaker API für PHP implementiert eine PHP-Klasse, die Klasse FileMaker, die eine objektorientierte Schnittstelle für FileMaker-Datenbanken bietet. Mithilfe von FileMaker API für PHP kann sowohl auf Daten als auch auf Logik, die in FileMaker Pro-Datenbanken gespeichert sind, zugegriffen werden. Diese können auch im Internet veröffentlicht oder an andere

Anwendungen exportiert werden.

Mit FileMaker API für PHP kann PHP-Code die Funktionen ausführen, die bereits in FileMaker

Pro-Datenbanken verfügbar sind:

1

Datensätze erstellen, löschen, bearbeiten und duplizieren

1

Suchabfragen ausführen

1

Feld- und Datensatzüberprüfungen ausführen

1

Layouts verwenden

1

FileMaker-Scripts ausführen

1

Ausschnitte und Bezugsdatensätze anzeigen

1

Wertelisten verwenden

Dieses Kapitel beschreibt die Verwendung der Objekte und Methoden der Klasse FileMaker für die Integration dieser allgemeinen Funktionen in eine PHP-Lösung. FileMaker API für PHP wird in diesem Kapitel nicht erschöpfend behandelt, vielmehr werden die wichtigsten Objekte und

Methoden vorgestellt.

Weitere Informationen

Weitere Informationen zu FileMaker API für PHP erhalten Sie in folgenden Ressourcen.

Falls Sie bereits eine PHP-Engine installiert und konfiguriert haben und nur FileMaker API for

PHP hinzufügen möchten, finden Sie weitere Informationen unter „Manuelle Installation von

FileMaker API für PHP“ auf Seite 13.

Referenz zu FileMaker API für PHP

Wenn FileMaker API für PHP bereits installiert ist, finden Sie Referenzinformationen in der

Web-Server-Komponente Ihres FileMaker-Server-Einsatzes.

1

Für IIS (Windows):

[Laufwerk]:\Programme\FileMaker\FileMaker Server\Documentation\

PHP API Documentation\index.html

wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web-Server-Komponente Ihres

FileMaker-Server-Einsatzes gespeichert ist.

1

Für Apache (OS X): /Library/FileMaker Server/Documentation/PHP API

Documentation/index.html

Kapitel 5 | Verwendung von FileMaker API für PHP 29

FileMaker API für PHP-Lehrgang

Wenn FileMaker API für PHP bereits installiert ist, finden Sie einen Lehrgang in der

Web-Server-Komponente Ihres FileMaker-Server-Einsatzes.

1

Für IIS (Windows): [Laufwerk]:\Programme\FileMaker\FileMaker

Server\Examples\PHP\Tutorial wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web-Server-Komponente Ihres

FileMaker-Server-Einsatzes gespeichert ist.

1

Für Apache (OS X): /Library/FileMaker Server/Examples/PHP/Tutorial

Kopieren Sie die PHP-Lehrgangsdateien in den Root-Ordner des Web-Servers, um sie bereitzustellen.

Beispiele zu FileMaker API für PHP

Wenn FileMaker API für PHP bereits installiert ist, finden Sie weitere Beispiele in der Web-Server-

Komponente Ihres FileMaker-Server-Einsatzes.

1

Für IIS (Windows): [Laufwerk]:\Programme\FileMaker\FileMaker

Server\Examples\PHP\API Examples wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web-Server-Komponente

Ihres FileMaker-Server-Einsatzes gespeichert ist.

1

Für Apache (OS X): /Library/FileMaker Server/Examples/PHP/API Examples

Kopieren Sie die API-Beispieldateien in den Root-Ordner des Web-Servers, um sie bereitzustellen.

Verwendung der Klasse FileMaker

Um die Klasse FileMaker in Ihrer PHP-Lösung verwenden zu können, fügen Sie folgende

Anweisung in Ihren PHP-Code ein: require_once ('FileMaker.php');

FileMaker, Objekte der Klasse

Die Klasse FileMaker definiert Klassenobjekte, mit denen Sie Daten aus FileMaker-Datenbanken abrufen können.

Klassenobjekt

FileMaker-Datenbank

Befehl

Layout

Datensatz

Feld

Bezugsmenge

Verwenden Sie das Objekt für

die Definition von Datenbankeigenschaften die Verbindung mit einer FileMaker Pro-Datenbank den Abruf von Informationen über FileMaker API für PHP die Erstellung von Befehlen, die Datensätze hinzufügen, Datensätze löschen,

Datensätze bearbeiten, Suchabfragen durchführen und Scripts ausführen die Arbeit mit Datenbanklayouts die Arbeit mit Datensätzen die Arbeit mit Felddaten die Arbeit mit Ausschnittdatensätzen

Kapitel 5 | Verwendung von FileMaker API für PHP 30

Klassenobjekt

Ergebnis

Fehler

Verwenden Sie das Objekt für

die Bearbeitung der Datensätze, die von Suchabfragen zurückgegeben werden die Überprüfung, ob ein Fehler aufgetreten ist die Bearbeitung von Fehlern

FileMaker-Befehlsobjekte

Die Klasse FileMaker definierte ein Basisbefehlsobjekt, mit dem ein bestimmter Befehl instantiiert wird und die Parameter des Befehls festgelegt werden. Zur Ausführung des Befehls muss die

Methode execute() aufgerufen werden.

Die Klasse FileMaker definiert folgende bestimmte Befehle:

1

Befehl „Add“

1

Compound Find, Befehl

1

Delete, Befehl

1

Duplicate, Befehl

1

Edit, Befehl

1

Find, Find All, Find Any

1

Find Request, dieser Befehl wird dem Befehl „Compound Find Set“ hinzugefügt.

1

Perform Script

Diese Befehle werden in den folgenden Abschnitten genauer beschrieben:

1

„Arbeiten mit Datensätzen“ auf Seite 31

1

„Ausführen von FileMaker-Scripts“ auf Seite 33

1

„Ausführen von Suchabfragen“ auf Seite 39

Herstellen einer Verbindung zu einer FileMaker-Datenbank

Die Klasse FileMaker definiert ein Datenbankobjekt, das instantiiert wird, um eine Verbindung mit einem Server oder einer Datenbank herzustellen. Definieren Sie die Objekteigenschaften mit dem

Klassenkonstruktor oder durch Aufruf der Methode setProperty().

Beispiel: Herstellung einer Verbindung mit einem Server zum Abruf einer Datenbankliste

$fm = new FileMaker();

$databases = $fm->listDatabases();

Kapitel 5 | Verwendung von FileMaker API für PHP 31

Beispiel: Herstellung einer Verbindung mit einer bestimmten Datenbank auf einem Server

Die Benutzernamen- und Passworteigenschaften legen die Berechtigung für diese

Verbindung fest.

$fm = new FileMaker();

$fm->setProperty('database', 'questionnaire');

$fm->setProperty('hostspec', 'http://192.168.100.110');

$fm->setProperty('username', 'web');

$fm->setProperty('password', 'web');

Hinweis

Die Eigenschaft „hostspec“ wird automatisch auf den Wert http://localhost gesetzt. Wenn die PHP-Engine auf demselben Rechner wie die Web-Server-Komponente des

FileMaker Server-Einsatzes läuft, muss die Eigenschaft „hostspec“ nicht angegeben werden.

Wenn sich die PHP-Engine auf einem anderen Rechner befindet, verwenden Sie die Eigenschaft

„hostspec“, um den Speicherort der Web-Server-Komponente des FileMaker Server-Einsatzes anzugeben.

Arbeiten mit Datensätzen

Die Klasse FileMaker definiert ein Datensatzobjekt, das instantiiert wird, um mit Datensätzen zu arbeiten. Die Instanz eines Datensatzobjekts steht für einen Datensatz einer FileMaker Pro-

Datenbank. Verwenden Sie ein Datensatzobjekt mit den Befehlen „Add“, „Delete“, „Duplicate“ und

„Edit“, um die Daten im Datensatz zu ändern. Die Suchbefehle – „Find“, „Find All“, „Find Any“ und

„Compound Find“ – geben ein Array der Datensatzobjekte zurück.

Erstellung eines Datensatzes

Datensätze können auf zwei unterschiedliche Arten erstellt werden:

1

Verwenden Sie die Methode createRecord() und geben Sie dabei den Layoutnamen und optional ein Array an Feldwerten an. Die Werte können im neuen Datensatzobjekt auch einzeln angegeben werden.

Die Methode createRecord() speichert den neuen Datensatz nicht in der Datenbank. Rufen

Sie die Methode commit() auf, um den Datensatz in der Datenbank zu speichern.

Beispiel:

$rec = $fm->createRecord('Form View', $values);

$result = $rec->commit();

1

Verwenden Sie den Befehl „Add“: Verwenden Sie die Methode newAddCommand(), um ein

FileMaker_Command_Add-Objekt zu erzeugen, das den Layoutnamen und das Array mit den

Datensatzdaten enthält. Rufen Sie die Methode execute() auf, um den Datensatz in der

Datenbank zu speichern.

Beispiel:

$newAdd = $fm->newAddCommand('Respondent', $respondent_data);

$result = $newAdd->execute();

Kapitel 5 | Verwendung von FileMaker API für PHP 32

Duplizieren von Datensätzen

Duplizieren Sie bestehende Datensätze mit dem Befehl „Duplicate“. Verwenden Sie die Methode newDuplicateCommand()

, um ein FileMaker_Command_Duplicate-Objekt zu erstellen, das den Layoutnamen und die Datensatz-ID des Datensatzes enthält, den Sie duplizieren möchten.

Duplizieren Sie den Datensatz anschließend durch Aufruf der Methode execute().

Beispiel:

$newDuplicate = $fm->newDuplicateCommand('Respondent', $rec_ID);

$result = $newDuplicate->execute();

Bearbeiten von Datensätzen

Datensätze können auf zwei unterschiedliche Arten bearbeitet werden:

1

Über den Befehl „Edit“. Verwenden Sie die Methode newEditCommand(), um ein

FileMaker_Command_Edit-Objekt zu erstellen, das den Layoutnamen, die Datensatz-ID des

Datensatzes, den Sie bearbeiten möchten, sowie das Array an Werten enthält, die Sie aktualisieren möchten. Bearbeiten Sie den Datensatz anschließend durch Aufruf der

Methode execute().

Beispiel:

$newEdit = $fm->newEditCommand('Respondent', $rec_ID, $respondent_data);

$result = $newEdit->execute();

1

Mit einem Datensatzobjekt. Rufen Sie einen Datensatz aus der Datenbank ab, ändern Sie die

Feldwerte und bearbeiten Sie den Datensatz durch Aufruf der Methode commit().

Beispiel:

$rec = $fm->getRecordById('Form View', $rec_ID);

$rec->setField('Name', $nameEntered);

$result = $rec->commit();

Löschen von Datensätzen

Datensätze können auf zwei unterschiedliche Arten gelöscht werden:

1

Rufen Sie einen Datensatz aus der Datenbank ab und rufen Sie anschließend die

Methode delete() auf.

Beispiel:

$rec = $fm->getRecordById('Form View', $rec_ID);

$rec->delete();

1

Löschen Sie bestehende Datensätze mit dem Befehl „Delete“. Verwenden Sie die Methode newDeleteCommand()

, um ein FileMaker_Command_Delete-Objekt zu erstellen, das den

Layoutnamen und die Datensatz-ID des Datensatzes enthält, den Sie löschen möchten.

Löschen Sie den Datensatz anschließend durch Aufruf der Methode execute().

Beispiel:

$newDelete = $fm->newDeleteCommand('Respondent', $rec_ID);

$result = $newDelete->execute();

Kapitel 5 | Verwendung von FileMaker API für PHP 33

Ausführen von FileMaker-Scripts

Bei einem FileMaker-Script handelt es sich um einen benannten Satz an Scriptschritten. Die

Klasse FileMaker definiert mehrere Methoden, die es Ihnen ermöglichen, mit FileMaker-Scripts zu arbeiten, die in einer FileMaker Pro-Datenbank definiert sind. Weitere Informationen zu Webkompatiblen Scriptschritten (Scriptschritte, die in einer Weblösung ausgeführt werden können)

erhalten Sie unter „FileMaker-Scripts und Custom Web Publishing“ auf Seite 23.

Abruf der Liste verfügbarer Scripts

Verwenden Sie die Methode listScripts(), um eine Liste der verfügbaren Scripts aus der derzeit verbundenen Datenbank abzurufen. Die Methode listScripts() gibt ein Array der

Scripts zurück, die über den Benutzernamen und das Passwort ausgeführt werden können, die bei der Definition der Datenbankverbindung angegeben wurden. (Weitere Informationen hierzu

finden Sie unter „Herstellen einer Verbindung zu einer FileMaker-Datenbank“ auf Seite 30.)

Beispiel:

$scripts = $fm->listScripts();

Ausführen von FileMaker-Scripts

Verwenden Sie die Methode newPerformScriptCommand(), um ein

FileMaker_Command_PerformScript-Objekt zu erstellen, das das Layout, den Scriptnamen und

Scriptparameter (falls vorhanden) enthält. Führen Sie das Script anschließend durch Aufruf der

Methode execute() aus.

Beispiel:

$newPerformScript = $fm->newPerformScriptCommand('Order Summary',

'ComputeTotal');

$result = $newPerformScript->execute();

Ausführung eines Scripts vor der Ausführung eines Befehls

Verwenden Sie die Methode setPreCommandScript(), um ein Script anzugeben, das vor der

Ausführung eines Befehls ausgeführt wird. Im folgenden Beispiel wird ein Find-Befehl verwendet, die Methode setPreCommandScript() kann jedoch für jeden Befehl eingesetzt werden.

Beispiel:

$findCommand = $fm->newFindCommand('Students');

$findCommand->addFindCriterion('GPA', $searchValue);

$findCommand->setPreCommandScript('UpdateGPA');

$result = $findCommand->execute();

Kapitel 5 | Verwendung von FileMaker API für PHP 34

Ausführung eines Scripts vor der Sortierung einer Ergebnismenge

Verwenden Sie die Methode setPreSortScript(), um ein Script anzugeben, das nach der

Erstellung einer Suchergebnismenge und vor der Sortierung dieser Menge ausgeführt wird.

Weitere Informationen finden Sie unter „Der Befehl „Find““ auf Seite 40.

Beispiel:

$findCommand = $fm->newFindCommand('Students');

$findCommand->setPreSortScript('RemoveExpelled');

Ausführung eines Scripts nach der Erstellung einer Ergebnismenge

Verwenden Sie die Methode setScript(), um ein Script anzugeben, das nach der Erstellung

einer Suchergebnismenge ausgeführt wird. Weitere Informationen finden Sie unter „Der Befehl

„Find““ auf Seite 40.

Beispiel:

$findCommand = $fm->newFindCommand('Students');

$findCommand->setScript('myScript','param1|param2|param3');

Ausführungsreihenfolge von Scripts

Sie können die Methoden setPreCommandScript(), setPreSortScript() und setScript()

in Verbindung mit den Methoden setResultLayout() und addSortRule() für einen einzelnen Befehl angeben. FileMaker Server und die Web Publishing Engine verarbeiten diese Methoden in dieser Reihenfolge:

1. Ausführung des Scripts, das in der Methode setPreCommandScript() angegeben ist

(falls angegeben)

2. Verarbeitung des Befehls, beispielsweise des Befehls „Find or Delete Record“

3. Ausführung des Scripts, das in der Methode setPreSortScript() angegeben ist (falls angegeben)

4. Sortierung der Suchergebnismenge, wenn die Methode addSortRule() angegeben wurde

5. Verarbeitung der Methode setResultLayout(), um das Layout zu wechseln (falls angegeben)

6. Ausführung des Scripts, das in der Methode setScript() angegeben ist (falls angegeben)

7. Rückgabe der endgültigen Suchergebnismenge

Wenn einer der obigen Schritte einen Fehlercode erzeugt, stoppt die Abarbeitung der Befehle und etwaige nachfolgende Schritte werden nicht ausgeführt. Jedoch bleiben alle vorangehenden

Schritte in der Abfrage ausgeführt.

Betrachten Sie z. B. einen Befehl, der den aktuellen Datensatz löscht, die Datensätze sortiert und dann ein Script ausführt. Wenn die Methode addSortRule() ein nicht vorhandenes Feld angibt, löscht die Abfrage den aktuellen Datensatz und gibt dann Fehlercode 102 („Feld fehlt“) zurück, führt aber das Script nicht aus.

Kapitel 5 | Verwendung von FileMaker API für PHP 35

Arbeiten mit FileMaker-Layouts

Ein Layout ist eine Anordnung von Feldern, Objekten, Bildern und Layoutbereichen, die festlegen, wie Informationen beim Blättern, in der Seitenansicht oder beim Drucken angeordnet und angezeigt werden. Die Klasse FileMaker definiert mehrere Methoden, die es Ihnen ermöglichen, mit Layouts zu arbeiten, die in einer FileMaker Pro-Datenbank definiert sind. Informationen über

Layouts können über unterschiedliche Objekte der Klasse FileMaker abgerufen werden.

Mit diesem

Klassenobjekt

Datenbank

Layout

Datensatz

Feld

Befehl

Verwenden Sie diese Methoden

1

listLayouts()

ruft eine Liste der verfügbaren Layoutnamen ab.

1

getLayout()

ruft ein Layoutobjekt über den Layoutnamen ab.

1

getName()

ruft den Layoutnamen eines bestimmten Layoutobjekts ab.

1

listFields()

ruft ein Array aller in einem Layout verwendeten Feldnamen ab.

1

getFields()

ruft ein assoziatives Array mit den Namen aller Felder als Schlüssel sowie die zugehörigen FileMaker_Field-Objekte als Array-Werte ab.

1

listValueLists()

ruft ein Array der Namen der Wertelisten ab.

1

listRelatedSets()

ruft ein Array der Namen der Bezugsmengen ab.

1

getDatabase()

gibt den Namen der Datenbank zurück.

1

getLayout()

gibt das Layoutobjekt zurück, das mit einem bestimmten Datensatz verbunden ist.

1

getLayout()

gibt das Layoutobjekt mit einem bestimmten Feld zurück.

1

setResultLayout()

gibt die Ergebnisse des Befehls in einem Layout zurück, das nicht mit dem aktuellen Layout identisch ist.

Verwenden von Ausschnitten

Ein Ausschnitt ist eine Tabelle, die Datenzeilen aus einem oder mehreren Bezugsdatensätzen enthält. Die Klasse FileMaker definiert ein Bezugsmengenobjekt und mehrere Methoden, die es

Ihnen ermöglichen, mit Ausschnitten zu arbeiten, die in einer FileMaker Pro-Datenbank definiert sind.

Ein Bezugsmengenobjekt ist ein Array von Bezugsobjekten aus dem Bezugsausschnitt. Jedes

Datensatzobjekt entspricht einer Datenzeile im Ausschnitt.

Auflistung der in einem bestimmten Layout definierten Ausschnitte

Verwenden Sie für ein bestimmtes Layoutobjekt die Methode listRelatedSets(), um eine

Liste der Tabellennamen aller in diesem Layout definierten Ausschnitte abzurufen.

Beispiel:

$tableNames = $currentLayout->listRelatedSets();

Kapitel 5 | Verwendung von FileMaker API für PHP 36

Abrufen von Ausschnittnamen für ein bestimmtes Ergebnisobjekt

Verwenden Sie für ein bestimmtes FileMaker_Result-Objekt die Methode getRelatedSets() , um die Namen aller Ausschnitte in diesem Datensatz abzurufen.

Beispiel:

$relatedSetsNames = $result->getRelatedSets();

Abruf von Informationen über Ausschnitte für ein bestimmtes Layout

Verwenden Sie für ein bestimmtes Layoutobjekt die Methode getRelatedSets(), um ein Array an FileMaker_RelatedSet-Objekten abzurufen, die die Ausschnitte in dem Layout beschreiben.

Das zurückgegebene Array ist ein assoziatives Array mit den Tabellennamen als Array-Schlüssel und den zugeordneten FileMaker_RelatedSet-Objekten als Array-Werte.

Beispiel:

$relatedSetsArray = $currentLayout->getRelatedSets();

Abrufen von Informationen für einen bestimmten Ausschnitt

Verwenden Sie für ein bestimmtes Layout-Objekt die Methode getRelatedSet(), um das

FileMaker_RelatedSet-Objekt abzurufen, das einen bestimmten Ausschnitt beschreibt.

Beispiel:

$relatedSet = $currentLayout->getRelatedSet('customers');

Abrufen des Tabellennamens für einen Ausschnitt

Verwenden Sie die Methode getName(), um den Tabellennamen für diesen Ausschnitt abzurufen.

Beispiel:

$tableName = $relatedSet->getName();

Abrufen der Ausschnittdatensätze für einen bestimmten Datensatz

Verwenden Sie für ein bestimmtes Datensatzobjekt die Methode getRelatedSet(), um ein

Array an Bezugsdatensätzen für einen bestimmten Ausschnitt des Datensatzes abzurufen.

Beispiel:

$relatedRecordsArray = $currentRecord->getRelatedSet('customers');

Kapitel 5 | Verwendung von FileMaker API für PHP 37

Erstellen eines neuen Datensatzes in einem Ausschnitt

Verwenden Sie die Methode newRelatedRecord(), um einen neuen Datensatz in der angegebenen Bezugsmenge zu erstellen und die Änderungen in der Datenbank durch

Aufruf der Methode commit() zu bestätigen.

Beispiel:

//Neue Ausschnittzeile im Ausschnitt 'customer' erstellen

$new_row = $currentRecord->newRelatedRecord('customer');

//Feldwerte in der neuen Ausschnittzeile festlegen

$new_row->setField('customer::name', $newName);

$new_row->setField('customer::company', $newCompany);

$result = $new_row->commit();

Löschen eines Datensatzes aus einem Ausschnitt

Verwenden Sie die Methode delete(), um einen Datensatz aus einem Ausschnitt zu löschen.

Beispiel:

$relatedSet = $currentRecord->getRelatedSet('customers');

/* Runs through each of the portal rows */ foreach ($relatedSet as $nextRow) {

$nameField = $nextRow->getField('customer::name') if ($nameField == $badName ) {

$result = $newRow->delete();

}

}

Verwenden von Wertelisten

Eine Werteliste ist eine vordefinierte Auswahl. Die Klasse FileMaker definiert mehrere Methoden, die es Ihnen ermöglichen, mit Wertelisten zu arbeiten, die in einer FileMaker Pro-Datenbank definiert sind.

Abrufen der Namen aller Wertelisten für ein bestimmtes Layout

Verwenden Sie für ein bestimmtes Layoutobjekt die Methode listValueLists(), um ein Array abzurufen, das die Namen der Wertelisten enthält.

Beispiel:

$valueListNames = $currentLayout->listValueLists();

Kapitel 5 | Verwendung von FileMaker API für PHP 38

Abrufen eines Arrays aller Wertelisten für ein bestimmtes Layout

Verwenden Sie für ein bestimmtes Layoutobjekt die Methode getValueListsTwoFields

()

, um ein Array abzurufen, das die Werte aller Wertelisten enthält. Bei dem zurückgegebenen Array handelt es sich um ein assoziatives Array. Die Array-Schlüssel sind die Namen der Wertelisten, und Array-Werte sind assoziative Arrays, die die Anzeigenamen und ihre entsprechenden

Auswahlmöglichkeiten jeder Werteliste aufführen.

Beispiel:

$valueListsArray = $currentLayout->getValueListsTwoFields();

Hinweis

Obwohl die Methode getValueLists() noch im FileMaker API für PHP unterstützt wird, wird sie abgelehnt. Verwenden Sie stattdessen die Methode getValueListsTwoFields()

.

Beziehen von Werten für eine benannte Werteliste

Verwenden Sie für ein bestimmtes Layoutobjekt die Methode getValueList(), um ein Array an

Auswahlmöglichkeiten abzurufen, die für die benannte Werteliste definiert sind. Das resultierende

Array ist ein assoziatives Array, das die angezeigten Werte aus dem zweiten Feld der Werteliste als

Schlüssel und die zugehörigen gespeicherten Werte aus dem ersten Feld als Array-Werte enthält.

Abhängig von den ausgewählten Optionen im Dialogfeld „Felder für Werteliste angeben“ in der

FileMaker-Datenbank gibt die Methode getValueListTwoFields() nur den Wert im ersten

Feld, nur den Wert im zweiten Feld oder den Wert in beiden Feldern einer Werteliste als gespeicherte und angezeigte Werte zurück.

1

Wenn

Auch Werte aus zweitem Feld anzeigen

nicht ausgewählt ist, gibt die Methode getValueListTwoFields()

den Wert aus dem ersten Feld der Werteliste sowohl als gespeicherten Wert als auch als angezeigten Wert zurück.

1

Wenn sowohl

Auch Werte aus zweitem Feld anzeigen

als auch

Werte nur aus dem zweiten

Feld anzeigen

ausgewählt ist, gibt die Methode getValueListTwoFields() den Wert aus dem ersten Feld als gespeicherten Wert und den Wert aus dem zweiten Wert als angezeigten

Wert zurück.

1

Wenn

Auch Werte aus zweitem Feld anzeigen

ausgewählt und

Werte nur aus dem zweiten

Feld anzeigen

nicht ausgewählt ist, gibt die Methode getValueListTwoFields() den Wert aus dem ersten Feld als gespeicherten Wert und beide Werte aus dem ersten und zweiten Wert als angezeigten Wert zurück.

Verwenden Sie einen Iterator mit der Methode getValueListTwoFields(), um den angezeigten und gespeicherten Wert zu finden.

Beispiel:

$layout = $fm->getLayout('customers');

$valuearray = $layout->getValueListTwoFields("region", 4); foreach ($valuearray as $displayValue => $value) {

....

}

Kapitel 5 | Verwendung von FileMaker API für PHP 39

Hinweise

1

Obwohl die Methode getValueList() noch im FileMaker API für PHP unterstützt wird, wird sie abgelehnt. Verwenden Sie stattdessen die Methode getValueListTwoFields().

1

Stellen Sie bei Verwendung der Methode getValueListTwoFields() sicher, dass Sie eine foreach

-Schleife für das zugehörige Array verwenden. Verwenden Sie keine for-Schleife, da dies zu unerwarteten Ergebnissen führen kann.

Ausführen von Suchabfragen

Die Klasse FileMaker definiert vier Arten von Suchbefehlsobjekten:

1

Befehl „Find All“ Weitere Informationen finden Sie unter „Der Befehl „Find All““ auf Seite 40.

1

Befehl „Find Any“ Weitere Informationen finden Sie unter „Der Befehl „Find Any““ auf Seite 40.

1

Befehl „Find“ Weitere Informationen finden Sie unter „Der Befehl „Find““ auf Seite 40.

1

Befehl „Compound Find“ Weitere Informationen finden Sie unter „Der Befehl „Compound Find““ auf Seite 41.

Zudem definiert die Klasse FileMaker mehrere Methoden, die für alle vier Suchbefehlstypen verwendet werden können:

1

Verwenden Sie die Methode addSortRule(), um eine Regel hinzuzufügen, die festlegt, wie die Ergebnismenge sortiert wird. Verwenden Sie die Methode clearSortRules(), um alle vorhandenen Sortierregeln zu löschen.

1

Verwenden Sie die Methode setLogicalOperator(), um zwischen logischen UND- und

ODER-Suchen zu wechseln.

1

Verwenden Sie die Methode setRange(), um nur einen Teil der Ergebnismenge anzufordern.

Verwenden Sie die Methode getRange(), um die aktuelle Bereichsdefinition abzurufen.

Mit der Methode setRange() können Sie die Leistung Ihrer Lösung verbessern, da weniger

Datensätze von der Suchabfrage zurückgegeben werden. Wenn eine Suchabfrage beispielsweise 100 Datensätze zurückgibt, können Sie die Ergebnismenge in fünf Gruppen mit je 20 Datensätzen aufteilen, anstatt alle 100 Datensätze gleichzeitig zu verarbeiten.

1

FileMaker-Scripts können zusammen mit Suchbefehlen ausgeführt werden.

1

Um ein Script vor der Ausführung eines Suchbefehls auszuführen, verwenden Sie die

Methode setPreCommandScript().

1

Um ein Script vor der Sortierung der Ergebnismenge auszuführen, verwenden Sie die

Methode setPreSortScript().

1

Um ein Script nach der Erstellung und vor der Sortierung einer Ergebnismenge auszuführen, verwenden Sie die Methode setScript().

Kapitel 5 | Verwendung von FileMaker API für PHP 40

Der Befehl „Find All“

Verwenden Sie den Befehl „Find All“, um alle Datensätze aus einem angegebenen Layout abzurufen. Verwenden Sie die Methode newFindAllCommand() und geben Sie dabei ein bestimmtes Layout an, um ein FileMaker_Command_FindAll-Objekt zu erstellen.

Führen Sie die Suchabfrage anschließend durch Aufruf der Methode execute() aus.

Beispiel:

$findCommand = $fm->newFindAllCommand('Form View');

$result = $findCommand->execute;

Hinweis

Wenn Sie den Befehl „Find All“ verwenden, vermeiden Sie Speicherüberlaufprobleme, indem Sie eine Standard-Maximalzahl von Datensätzen pro Seite angeben.

Der Befehl „Find Any“

Verwenden Sie den Befehl „Find Any“, um einen zufällig ermittelten Datensatz aus einem angegebenen Layout abzurufen. Verwenden Sie die Methode newFindAnyCommand() und geben Sie dabei ein bestimmtes Layout an, um ein FileMaker_Command_FindAny-Objekt zu erstellen. Führen Sie die Suchabfrage anschließend durch Aufruf der Methode execute() aus.

Beispiel:

$findCommand = $fm->newFindAnyCommand('Form View');

$result = $findCommand->execute;

Der Befehl „Find“

Verwenden Sie die Methode newFindCommand() und geben Sie dabei ein bestimmtes

Layout an, um ein FileMaker_Command_Find-Objekt zu erstellen. Führen Sie die Suchabfrage anschließend durch Aufruf der Methode execute() aus.

Um der Suchabfrage Kriterien hinzuzufügen, verwenden Sie die Methode addFindCriterion()

. Verwenden Sie die Methode clearFindCriteria(), um alle vorhandenen Suchkriterien zu löschen.

Beispiel – Suche nach einem Datensatz nach Feldnamen

$findCommand = $fm->newFindCommand('Form View');

$findCommand->addFindCriterion('Questionnaire ID', $active_questionnaire_id);

$result = $findCommand->execute();

Beispiel – Hinzufügen einer Sortierfolge

$findCommand = $fm->newFindCommand('Customer List');

$findCommand->addSortRule('Title', 1, FILEMAKER_SORT_ASCEND);

$result = $findCommand->execute();

Kapitel 5 | Verwendung von FileMaker API für PHP

Der Befehl „Compound Find“

Mit dem Befehl „Compound Find“ können Sie mehrere Suchabfrageobjekte zu einem Befehl zusammenfassen.

Erstellung des Befehls „Command Find“:

1

Erstellen Sie durch Aufruf der Methode newCompoundFindCommand() ein

FileMaker_Command_CompoundFind-Objekt.

1

Erstellen Sie durch Aufruf der Methode newFindRequest() eines oder mehrere

FileMaker_Command_FindRequest-Objekte.

1

Verwenden Sie die Methode setOmit(), um Datensätze in der Ergebnismenge einer bestimmten Suchabfrage anzugeben, die in der endgültigen Ergebnismenge nicht enthalten sein sollen.

1

Verwenden Sie die Methode add(), um dem Befehlsobjekt „Compound Find“ die

Suchabfrageobjekte hinzuzufügen.

1

Führen Sie den Befehl „Compound Find“ durch Aufruf der Methode execute() aus.

41

Kapitel 5 | Verwendung von FileMaker API für PHP 42

Beispiel – Befehl „Compound Find“

// Das Befehlsobjekt „Compound Find“ erstellen

$compoundFind = $fm->newCompoundFindCommand('Form View');

// Erste Suchabfrage erstellen

$findreq1 = $fm->newFindRequest('Form View');

// Zweite Suchabfrage erstellen

$findreq2 = $fm->newFindRequest('Form View');

// Dritte Suchabfrage erstellen

$findreq3 = $fm->newFindRequest('Form View');

// Suchkriterium für erste Suchabfrage angeben

$findreq1->addFindCriterion('Quantity in Stock', '<100');

// Suchkriterium für zweite Suchabfrage angeben

$findreq2->addFindCriterion('Quantity in Stock', '0');

$findreq2->setOmit(true);

// Suchkriterium für dritte Suchabfrage angeben

$findreq3->addFindCriterion('Cover Photo Credit', 'The London Morning News');

$findreq3->setOmit(true);

// Suchabfragen dem zusammengesetzten Suchbefehl hinzufügen

$compoundFind->add(1,$findreq1);

$compoundFind->add(2,$findreq2);

$compoundFind->add(3,$findreq3);

// Sortierfolge festlegen

$compoundFind->addSortRule('Title', 1, FILEMAKER_SORT_DESCEND);

// Zusammengesetzten Suchbefehl ausführen

$result = $compoundFind->execute();

// Datensätze aus Ergebnismenge abrufen

$records = $result->getRecords();

// Anzahl an gefundenen Datensätzen drucken echo 'Found '. count($records) . " results.<br><br>";

Kapitel 5 | Verwendung von FileMaker API für PHP 43

Verarbeitung der Datensätze in einer Ergebnismenge

1

Rufen Sie durch Aufruf der Methode getRecords() ein Array auf, das alle Datensätze in der

Ergebnismenge enthält. Jeder Eintrag des Arrays ist ein FileMaker-Record-Objekt oder eine

Instanz des im API für die Instantiierung von Datensätzen festgelegten Klassennamens.

Das Array kann leer sein, wenn die Ergebnismenge keine Datensätze enthält.

1

Rufen Sie durch Aufruf der Methode getFields() eine Liste der Feldnamen aller Felder in der Ergebnismenge ab. Die Methode gibt nur die Feldnamen zurück. Wenn Sie weitere

Informationen zu den Feldern benötigen, verwenden Sie das entsprechende Layoutobjekt.

1

Rufen Sie die Anzahl an Datensätzen in der gesamten Ergebnismenge durch Aufruf der

Methode getFoundSetCount() ab.

1

Rufen Sie die Anzahl an Datensätzen in der gefilterten Ergebnismenge durch Aufruf der

Methode getFetchCount() ab. Wenn keine Bereichsparameter für den Suchbefehl angegeben wurden, ist dieser Wert mit dem Ergebnis der Methode getFoundSetCount() identisch. Er ist immer mit dem Wert von count($response-getRecords()) identisch.

1

Verwenden Sie für einen bestimmten Datensatz die Methode getField(), um den Inhalt eines Felds als Zeichenfolge zurückzugeben.

1

Verwenden Sie für einen bestimmten Datensatz die Methode getFieldAsTimestamp(), um den Inhalt eines Felds als Unix-Zeitstempel (die PHP-interne Darstellung eines Datums) zurückzugeben.

1

Wenn es sich bei dem Feld um ein Datumsfeld handelt, bezieht sich der Zeitstempel auf das

Felddatum um Mitternacht.

1

Wenn es sich bei dem Feld um ein Zeitfeld handelt, bezieht sich der Zeitstempel auf die

Uhrzeit am 1. Januar 1970.

1

Wenn es sich bei dem Feld um ein Zeitstempelfeld handelt, verweist der FileMaker-

Zeitstempelwert direkt auf den Unix-Zeitstempel.

1

Wenn es sich bei dem angegebenen Feld weder um ein Datums- noch um ein Zeitfeld handelt oder wenn sich der erstellte Zeitstempel außerhalb des gültigen Bereichs befände, gibt die Methode getFieldAsTimestamp() ein FileMaker_Error-Objekt zurück.

1

Verwenden Sie für einen bestimmten Datensatz die Methode getContainerData(), um den

Inhalt eines Conatinerfeldobjekts als Binärdaten zurückzugeben.

<IMG src=”img.php?-url=<?php echo urlencode($record->getField('Cover

Image')); ?>”> echo $fm->getContainerData($_GET['-url']);

1

Verwenden Sie für einen bestimmten Datensatz die Methode getContainerDataURL(), um eine vollständig qualifizierte URL für das Containerfeldobjekt zurückzugeben:

// Verwenden Sie für Bilder den HTML-Tag img

echo '<img src="'.$fm-> getContainerDataURL($record->getField('container')) .'">';

// Verwenden Sie für Filme und PDF-Dateien den HTML-Tag embed

//echo '<embed src="'.$fm-> getContainerDataURL($record->getField('container')) .'">';

Kapitel 5 | Verwendung von FileMaker API für PHP 44

Filtern von Ausschnittszeilen, die von Suchabfragen zurückgegeben wurden

In einer Lösung mit vielen Datensätzen kann das Abfragen und Sortieren von Datensätzen einige

Zeit in Anspruch nehmen. Verwenden Sie die Methode setRelatedSetsFilters() mit

Suchabfragen, um die Anzahl an Datensätzen einzuschränken, die in einer Bezugsmenge angezeigt werden. Die Methode setRelatedSetsFilters() akzeptiert zwei Argumente:

1

einen Bezugsmengen-Filterwert: layout oder none.

1

Wenn Sie den Wert none angeben, gibt die Web Publishing Engine alle Zeilen im Ausschnitt zurück und die Ausschnittdatensätze werden nicht vorsortiert.

1

Wenn Sie den Wert layout angeben, werden die im FileMaker Pro-Dialogfeld

„Ausschnitteinstellungen“ angegebenen Einstellungen respektiert. Die Datensätze werden basierend auf der im Dialogfeld „Ausschnitteinstellungen“ definierten Sortierung sortiert, wobei die Datensatzmenge gefiltert ist, um mit der angegebenen ersten Zeile zu beginnen.

1

die maximale Anzahl an zurückgegebenen Ausschnittdatensätzen: eine Ganzzahl oder all.

1

Dieser Wert wird nur verwendet, wenn die Einstellung „Vertikaler Rollbalken“ im Dialogfeld

„Ausschnitteinstellungen“ aktiviert ist. Wenn Sie eine Ganzzahl angeben, wird diese Anzahl an Zeilen nach der ersten Zeile zurückgegeben. Wenn Sie all angeben, gibt die Web

Publishing Engine alle Bezugsdatensätze zurück.

1

Wenn die Einstellung „Vertikaler Rollbalken“ deaktiviert ist, bestimmt die Einstellung „Anzahl an Zeilen“ im Dialogfeld „Ausschnitteinstellungen“ die maximale Anzahl an zurückgegebenen Bezugsdatensätzen.

Vorabüberprüfung von Befehlen, Datensätzen und Feldern

Mit der Klasse FileMaker können Sie Felddaten in einer PHP-Lösung auf dem Web-Server vorab

überprüfen, bevor die Daten in der Datenbank bestätigt werden.

Bevor Sie sich zu einer Vorabüberprüfung entscheiden, berücksichtigen Sie, wie viele Datenwerte der Webbenutzer eingibt. Wenn der Benutzer nur wenige Felder aktualisiert, könnten Sie die

Leistung verbessern, indem Sie die Vorabüberprüfung nicht verwenden. Wenn der Benutzer jedoch Daten für viele Felder eingibt, kann die Vorabüberprüfung den Benutzer vor der Abweisung von Datensätzen durch die Datenbank aufgrund von Überprüfungsfehlern bewahren.

Mit der Klasse FileMaker überprüft die PHP Engine folgende Feldbeschränkungen vorab:

1

not empty

Gültige Daten sind nicht leere Zeichenfolgen. Die Daten müssen mindestens ein Zeichen enthalten.

1

numeric only

Gültige Daten enthalten nur numerische Zeichen.

1

maximum number of characters

Gültige Daten enthalten höchstens die angegebene Anzahl an Zeichen.

Kapitel 5 | Verwendung von FileMaker API für PHP 45

1

four-digit year

Gültige Daten sind eine Zeichenfolge, die ein Datum mit einer vierstelligen Jahreszahl im

Format M/T/JJJJ wiedergibt, wobei M eine Zahl zwischen 1 und einschließlich 12, T eine

Zahl zwischen 1 und einschließlich 31 und JJJJ eine vierstellige Zahl zwischen 0001 und einschließlich 4000 ist. 30/1/3030 ist beispielsweise ein gültiger Wert einer vierstelligen

Jahreszahl. 31/4/2013 ist hingegen ein ungültiger Wert einer vierstelligen Jahreszahl, da der

April nur 30 Tage hat. Die Datumsüberprüfung unterstützt Schrägstriche (/), umgekehrte

Schrägstriche (\) und Bindestriche (-) als Trennzeichen. Die Zeichenfolge darf jedoch keine unterschiedlichen Trennzeichen enthalten. 30.1-2013 ist beispielsweise ungültig.

1

time of day

Gültige Daten sind Zeichenfolgen, die einen 12-Stunden-Zeitwert in einem der folgenden

Formate wiedergeben:

1

H

1

H:M

1

H:M:S

1

H:M:S AM/PM

1

H:M AM/PM

Dabei ist H eine Zahl zwischen 1 und einschließlich 12. M und S sind Zahlen zwischen 1 und einschließlich 60.

Die Vorabüberprüfung der PHP Engine unterstützt die implizite Überprüfung von Felddaten nach

Feldtyp:

1

date

Ein Feld, das als Datumsfeld definiert ist, wird nach den Regeln der Überprüfung für vierstellige

Jahreszahlen überprüft, abgesehen davon, dass der Jahreswert aus 0-4 Stellen bestehen kann

(der Jahreswert kann leer sein). 30.1 ist beispielsweise ein gültiges Datum, obwohl kein Jahr angegeben ist.

1

time

Ein Feld, das als Zeitfeld definiert ist, wird nach den Regeln der Überprüfung für Tageszeiten

überprüft, abgesehen davon, dass die Stundenkomponente (H) eine Zahl zwischen 1 und

24 sein kann, um 24-Stunden-Zeitwerte zu ermöglichen.

1

timestamp

Ein Feld, das als Zeitstempelfeld definiert ist, wird für die Zeitkomponente nach den Regeln der

Überprüfung für Zeiten und für die Datumskomponente nach den Regeln für die Überprüfung von Datumsangaben überprüft.

Kapitel 5 | Verwendung von FileMaker API für PHP 46

Die Klasse FileMaker kann nicht alle Feldüberprüfungsoptionen, die in FileMaker Pro verfügbar sind, vorab überprüfen. Folgende Überprüfungsoptionen können nicht vorab überprüft werden, da sie vom Status aller Daten in der Datenbank zum Zeitpunkt der Bestätigung der Daten abhängig sind.

1

Eindeutiger Wert

1

Vorhandener Wert

1

Im Bereich

1

Aus Werteliste

1

Überprüfung durch Berechnung

Vorabüberprüfung von Datensätzen in einem Befehl

Verwenden Sie für ein Befehlsobjekt die Methode validate(), um ein Feld oder den gesamten

Befehl nach den Regeln der Vorabüberprüfung, die über die PHP Engine durchgesetzt werden können, zu überprüfen. Wenn Sie das optionale Argument für Feldnamen übergeben, wird nur dieses Feld vorab überprüft.

Wenn die Vorabüberprüfung bestanden wird, gibt die Methode validate() TRUE zurück. Wenn die Vorabüberprüfung fehlschlägt, gibt die Methode validate() ein

FileMaker_Error_Validation-Objekt mit den Fehlerursachen zurück.

Vorabüberprüfung von Datensätzen

Verwenden Sie für ein Datensatzobjekt die Methode validate(), um ein Feld oder alle Felder des Datensatzes nach den Regeln der Vorabüberprüfung, die über die PHP Engine durchgesetzt werden können, zu überprüfen. Wenn Sie das optionale Argument für Feldnamen übergeben, wird nur dieses Feld vorab überprüft.

Wenn die Vorabüberprüfung bestanden wird, gibt die Methode validate() TRUE zurück. Wenn die Vorabüberprüfung fehlschlägt, gibt die Methode validate() ein

FileMaker_Error_Validation-Objekt mit den Fehlerursachen zurück.

Vorabüberprüfung von Feldern

Verwenden Sie für ein Feldobjekt die Methode validate(), um zu ermitteln, ob ein bestimmter

Wert für ein Feld gültig ist.

Wenn die Vorabüberprüfung bestanden wird, gibt die Methode validate() TRUE zurück. Wenn die Vorabüberprüfung fehlschlägt, gibt die Methode validate() ein

FileMaker_Error_Validation-Objekt mit den Fehlerursachen zurück.

Kapitel 5 | Verwendung von FileMaker API für PHP 47

Bearbeitung der Überprüfungsfehler

Wenn die Vorabüberprüfung fehlschlägt, enthält das zurückgegebene

FileMaker_Error_Validation-Objekt ein Array mit drei Elementen für jeden Überprüfungsfehler:

1. Das Feldobjekt, das die Vorabüberprüfung nicht bestanden hat

2. Eine Überprüfungskonstante, die die Überprüfungsregel enthält, die nicht bestanden wurde:

1 - FILEMAKER_RULE_NOTEMPTY

2 - FILEMAKER_RULE_NUMERICONLY

3 - FILEMAKER_RULE_MAXCHARACTERS

4 - FILEMAKER_RULE_FOURDIGITYEAR

5 - FILEMAKER_RULE_TIMEOFDAY

6 - FILEMAKER_RULE_TIMESTAMP_FIELD

7 - FILEMAKER_RULE_DATE_FIELD

8 - FILEMAKER_RULE_TIME_FIELD

3. Den Wert, der in das Feld eingegeben wurde, das die Vorabüberprüfung nicht bestanden hat

Sie können zudem folgende Methoden für FileMaker_Error_Validation-Objekte verwenden:

1

Verwenden Sie die Methode isValidationError(), um zu testen, ob es sich bei dem

Fehler um einen Überprüfungsfehler handelt.

1

Verwenden Sie die Methode numErrors(), um die Anzahl an nicht bestandenen

Überprüfungsregeln abzurufen.

Beispiel:

//Eine Add-Abfrage erstellen

$addrequest = $fm->newAddCommand('test', array('join' => 'added', 'maxchars' =>

'abcx', 'field' => 'something' , 'numericonly' => 'abc'));

//Alle Felder überprüfen

$result = $addrequest->validate();

//Wenn die Methode „validate()“ Fehler zurückgegeben hat, Namen des Felds,

Fehlernummer und den Wert, der die Überprüfung nicht bestanden hat, drucken if(FileMaker::isError($result)){ echo 'Validation failed:'. "\n";

$validationErrors= $result->getErrors(); foreach ($validationErrors as $error) {

$field = $error[0]; echo 'Field Name: ' . $field->getName(). "\n"; echo 'Error Code: ' . $error[1] . "\n"; echo 'Value: ' . $error[2] . "\n";

}

}

Kapitel 5 | Verwendung von FileMaker API für PHP 48

Ausgabe

Validation failed:

Field Name: numericonly

Error Code: 2

Value: abc

Field Name: maxchars

Error Code: 3

Value: abcx

Fehlerbehandlung

Die Klasse FileMaker definiert das FileMaker_Error-Objekt, um Sie bei der Behandlung von

Fehlern in einer PHP-Lösung zu unterstützen.

Ein Fehler kann auftreten, wenn ein Befehl ausgeführt wird. Wenn ein Fehler auftritt, gibt der

Befehl ein FileMaker_Error-Objekt zurück. Es empfiehlt sich, den Fehler zu überprüfen, der bei der Ausführung eines Befehls aufgetreten ist.

Verwenden Sie folgende Methoden, um genauere Informationen über den im FileMaker_Error-

Objekt angegebenen Fehler zu erhalten.

1

Testen Sie, ob es sich bei einer Variablen um ein FileMaker_Error-Objekt handelt, indem Sie die Methode isError() aufrufen.

1

Rufen Sie die Fehleranzahl über die Methode numErrors() ab.

1

Rufen Sie ein Array von Arrays, die die aufgetretenen Fehler beschreiben, über die Methode getErrors()

ab.

1

Zeigen Sie die Fehlermeldung über die Methode getMessage() an.

Beispiel:

$result = $findCommand->execute(); if (FileMaker::isError($result)) {

echo "<p>Error: " . $result->getMessage() . "</p>";

exit;

}

Weitere Informationen über die mit dem FileMaker_Error-Objekt zurückgegebenen Fehlercodes

erhalten Sie in Anhang A, „Fehlercodes für Custom Web Publishing mit PHP“.

Kapitel 6

Einstellen, Testen und Überwachen einer Site

Dieses Kapitel enthält Informationen über das Einstellen und Testen einer Custom Web

Publishing-Site vor ihrem Einsatz in einer Produktionsumgebung. Zudem finden Sie hier

Informationen zur Verwendung von Protokolldateien, um die Site während der Tests und nach der Freigabe zu überwachen.

Einstellen einer Custom Web Publishing-Site

Bevor Sie Ihre Site richtig testen können, kopieren oder verschieben Sie die erforderlichen

Dateien an die richtigen Speicherorte auf dem bzw. den Servern.

So stellen Sie Ihre Site zum Testen ein und bereiten Sie dafür vor:

1. Folgen Sie den Anleitungen in Kapitel 3, „Vorbereiten von Datenbanken für Custom Web

Publishing“.

2. Stellen Sie sicher, dass Custom Web Publishing mit PHP in FileMaker Server Admin Console aktiviert und richtig konfiguriert wurde.

Hinweis

Weitere Informationen finden Sie in der FileMaker Server Hilfe.

3. Stellen Sie sicher, dass der Web-Server und die Web Publishing Engine laufen.

4. Kopieren oder verschieben Sie Ihre Website-Dateien auf die Web-Server-Komponente Ihres

FileMaker-Server-Einsatzes.

Kopieren oder verschieben Sie Ihre Website-Dateien in folgendes Verzeichnis auf dem

Web-Server-Rechner:

1

Für IIS (Windows) durch HTTP oder HTTPS:

[Laufwerk]:\Programme\FileMaker\FileMaker Server\HTTPServer\Conf

, wobei [Laufwerk] sich auf das Laufwerk bezieht, auf dem die Web Publishing Engine-

Komponente Ihres FileMaker-Server-Einsatzes gespeichert ist.

1

Für Apache (OS X) durch HTTP: /Library/FileMaker Server/HTTPServer/htdocs

1

Für Apache (OS X) durch HTTPS:

/Library/FileMaker Server/HTTPServer/htdocs/httpsRoot

Kapitel 6 | Einstellen, Testen und Überwachen einer Site 50

5. Wenn nicht bereits geschehen, kopieren oder verschieben Sie referenzierte Containerobjekte in das richtige Verzeichnis auf dem Web-Server-Rechner.

1

Falls die Containerfelder die tatsächlichen Dateien in der FileMaker-Datenbank speichern, ist mit dem Inhalt der Containerfelder keine Aktion erforderlich, wenn die Datenbank richtig auf der Datenbank-Server-Komponente des FileMaker Server-Einsatzes bereitgestellt und zugänglich ist.

1

Wenn ein Datenbank-Containerfeld einen Dateiverweis anstelle der eigentlichen Datei speichert, muss das referenzierte Containerobjekt im FileMaker Pro-Webordner gespeichert sein, wenn der Datensatz erstellt oder bearbeitet wird. Um Ihre Site einzustellen, kopieren oder verschieben Sie die referenzierten Container in einen Ordner mit dem gleichen relativen Speicherort im Root-Ordner der Web-Server-Software.

1

Wenn Sie mithilfe von FileMaker Pro eine Datenbank mit Containerfeldern hochladen, die

Objekte extern speichern, werden dabei die extern gespeicherten Containerfelddaten zu

FileMaker Server hochgeladen. In der FileMaker Pro Hilfe finden Sie Informationen zum

Übertragen der Datenbankdateien an FileMaker Server.

1

Wenn Sie eine Datenbank, die ein Containerfeld mit extern gespeicherten Objekten verwendet, manuell hochladen, müssen Sie die referenzierten Objekte in einen Unterordner

des Ordners RC_Data_FMS kopieren. Siehe dazu „Containerfelder mit extern gespeicherten Daten“ auf Seite 20.

Weitere Informationen finden Sie unter „Veröffentlichen des Inhalts von Containerfeldern im

Web“ auf Seite 18.

6. Beginnen Sie mit dem Test Ihrer Website.

Testen einer Custom Web Publishing-Site

Bevor Sie Benutzern mitteilen, dass Ihre Custom Web Publishing-Site verfügbar ist, sollten Sie

überprüfen, ob Aussehen und Funktionsweise Ihren Vorstellungen entsprechen.

1

Testen Sie Funktionen wie das Suchen, Hinzufügen, Löschen und Sortieren von Datensätzen mit unterschiedlichen Konten und Zugriffsrechten.

1

Überprüfen Sie, ob sich die Berechtigungen wie erwartet verhalten, indem Sie sich mit verschiedenen Konten anmelden. Stellen Sie sicher, dass nicht autorisierte Benutzer nicht auf

Ihre Daten zugreifen oder sie ändern können.

1

Überprüfen Sie alle Scripts, um sicherzustellen, dass das Ergebnis wie erwartet ist

(siehe „FileMaker-Scripts und Custom Web Publishing“ auf Seite 23 für Informationen zur

Gestaltung Web-freundlicher Scripts).

Kapitel 6 | Einstellen, Testen und Überwachen einer Site 51

1

Testen Sie Ihre Site mit unterschiedlichen Betriebssystemen und Webbrowsern.

1

Für die Erstellung von Lösungen, die FileMaker API für PHP verwenden, wird empfohlen, dass

Sie Ihre Lösungen mit aktivierter Cookie-Unterstützung erstellen. Das FileMaker API für PHP hat bessere Reaktionszeiten, wenn Cookies aktiviert sind. Cookies sind nicht erforderlich, um

Custom Web Publishing-Funktionen zu nutzen, aber Cookies gestatten der Web Publishing

Engine, Sitzungsinformationen im Cache abzulegen.

Hinweis

Wenn Web-Server, Web Publishing Engine und Datenbank-Server auf einem einzigen

Computer installiert sind, können Sie Ihre Site ohne Netzwerkverbindung anzeigen und testen.

Verschieben Sie Ihre Website-Dateien in das entsprechende Verzeichnis auf dem Rechner und geben Sie den folgenden URL in Ihren Browser ein: http://127.0.0.1/<site_path>

Dabei ist <site_path> der relative Pfad zur Homepage Ihrer Site.

Überwachen Ihrer Website

Anhand der folgenden Typen von Protokolldateien können Sie Ihre Custom Web Publishing-Site

überwachen und Informationen über Webbenutzer sammeln, die Ihre Site besuchen:

1

Web-Server-Zugriff und Fehlerprotokolle

1

Web Publishing Engine-Protokoll

1

Web-Server-Modul-Fehlerprotokoll

1

Tomcat-Protokolle

Verwenden der Web-Server-Zugriffs- und Fehlerprotokolle

1

IIS (Windows): Der Microsoft IIS-Web-Server generiert eine Zugriffsprotokolldatei und zeigt

Fehler in der Windows-Ereignisanzeige, anstatt sie in eine Protokolldatei zu schreiben. Die

Zugriffsprotokolldatei, standardmäßig im W3C Extended Log File Format, ist eine

Aufzeichnung aller beim Web-Server eingehenden HTTP-Abfragen. Sie können auch das W3C

Common Logfile Format für das Zugriffsprotokoll verwenden. Weitere Informationen finden Sie in der Dokumentation zum Microsoft IIS-Web-Server.

1

Apache (nur OS X): Der Apache-Web-Server generiert eine Zugriffsprotokolldatei und eine

Fehlerprotokolldatei. Die Apache-Zugriffsprotokolldatei, standardmäßig im W3C Common

Logfile Format, ist eine Aufzeichnung aller beim Web-Server eingehenden HTTP-Abfragen.

Das Apache-Fehlerprotokoll ist eine Aufzeichnung von Problemen bei der Verarbeitung von

HTTP-Abfragen. Weitere Informationen über diese Protokolldateien finden Sie in der

Dokumentation zu Ihrem Apache-Web-Server.

Hinweis

Informationen über das W3C Common Logfile Format und das W3C Extended Log File

Format finden Sie auf der Website des World Wide Web Consortium: http://www.w3.org.

Kapitel 6 | Einstellen, Testen und Überwachen einer Site 52

Verwenden des Web Publishing Engine-Protokolls

Standardmäßig generiert die Web Publishing Engine eine Protokolldatei namens wpe.log, die

Einträge zu aufgetretenen Web Publishing Engine-Fehlern einschließlich Anwendungs-,

Nutzungs- und Systemfehlern enthält. Sie können die Web Publishing Engine zudem

Informationen in Bezug auf Custom Web Publishing wie Endbenutzer-XML-Abfragen einschließen lassen, um Web-Publishing-Ausgabe oder Änderungen an den Custom Web

Publishing-Einstellungen generieren zu lassen.

Da das FileMaker API für PHP HTTP POST für den Zugriff auf die Web Publishing Engine verwendet, zeichnet die Datei wpe.log keine Details zu den PHP-Abfragen auf. Sie können die Datei wpe.log file verwenden, um festzustellen, wann Benutzer PHP-Abfragen stellen, indem Sie sich die protokollierten XML-Abfragen ansehen.

Die Datei wpe.log befindet sich im folgenden Verzeichnis in der Web Publishing Engine-

Komponente Ihres FileMaker Server-Einsatzes:

1

IIS (Windows): [Laufwerk]:\Programme\FileMaker\FileMaker

Server\HTTPServer\Logs\wpe.log wobei [Laufwerk] das Hauptlaufwerk ist, von dem das System startet.

1

Apache (OS X): /Library/FileMaker Server/HTTPServer/Logs/wpe.log

Web Publishing Engine-Protokolleinstellungen

Die Datei wpe.log wird generiert, wenn die Option

Protokollierung für Web Publishing aktivieren

in der Admin Console aktiviert ist.

Protokollierungsoption aktiviert

Fehlerstufemeldungen

Info- und

Fehlerstufemeldungen

In wpe.log protokollierte Informationen

Alle aufgetretenen Web Publishing Engine-Fehler einschließlich Anwendungs-,

Nutzungs- und Systemfehlern.

Alle oben beschriebenen Fehler und Informationen zum Zugriff auf die Web

Publishing Engine. Es enthält einen Eintrag aller Endbenutzer-XML-Abfragen, um

Custom Web Publishing-Ausgabe zu generieren.

Die Einstellung

Fehlerstufemeldungen

ist standardmäßig aktiviert. Informationen zur Einstellung dieser Optionen über die Admin Console finden Sie in der FileMaker Server Hilfe.

Wichtig

Mit der Zeit wird die Datei wpe.log ggf. sehr groß. Verwenden Sie die Admin Console, um die maximale Größe der Datei wpe.log festzulegen. Wenn die Datei wpe.log diese maximale

Größe erreicht, kopiert die Web Publishing Engine die Datei wpe.log in eine einzelne

Sicherungsdatei wpe.log.1 und erstellt eine neue Datei wpe.log. Speichern Sie eine Archivkopie der Datei wpe.log.1 regelmäßig, wenn Sie mehr als eine Sicherungskopie wünschen.

Web Publishing Engine-Protokollformat

Die Datei wpe.log file verwendet das folgende Format für die Einträge:

[ZEITSTEMPFEL_GMT] [WPC_HOSTNAME] [CLIENT_IP:PORT] [KONTONAME] [MODULTYP]

[SCHWERE] [FM_FEHLERCODE] [RÜCKGABE_BYTE] [MELDUNG]

Dabei gilt:

1

[ZEITSTEMPEL_GMT] sind Datum und Zeit des Eintrags in Greenwich Mean Time (GMT).

1

[WPC_HOSTNAME] ist der Name des Rechners, auf dem die Web Publishing Engine installiert ist.

Kapitel 6 | Einstellen, Testen und Überwachen einer Site 53

1

[CLIENT_IP:PORT] ist die IP-Adresse und der Port des Clients, von dem die XML-Abfrage ausging.

1

[KONTONAME] ist der Kontoname, der für die Protokollierung in der bereitgestellten

FileMaker-Datenbank verwendet wird.

1

[MODULTYP] ist entweder: XML für Custom Web Publishing mit XML-Abfragen oder PHP für

Custom Web Publishing mit PHP-Abfragen.

1

[SCHWERE] ist entweder INFO, das eine informative Meldung angibt, oder ERROR, das eine

Fehlermeldung angibt.

1

[FM_FEHLERCODE] ist die für eine Fehlermeldung zurückgegebene Fehlernummer. Die

Fehlernummer kann ein Fehlercode für FileMaker-Datenbanken sein (siehe

„Fehlercodenummern für FileMaker-Datenbanken“ auf Seite 55).

Zusätzlich kann die Fehlernummer eine HTTP-Fehlernummer sein, der die „HTTP:“-

Zeichenfolge vorangestellt ist.

1

[RÜCKGABE_BYTE] ist die Anzahl an Bytes, die die Anfrage zurückgibt.

1

[MELDUNG] gibt zusätzliche Informationen zu dem Protokolleintrag.

Beispiele für Web Publishing Engine-Protokollmeldungen

Die folgenden Beispiele zeigen die Arten der Meldungen, die in einer wpe.log-Datei auftreten können:

1

Wenn die Web Publishing Engine startet oder anhält

02.06.2013 15:15:31 -0700 - - - - INFO - - FileMaker Server

Web Publishing Engine started.

02.06.2013 15:46:52 -0700 - - - - INFO - - FileMaker Server

Web Publishing Engine stopped.

1

Erfolgreiche oder fehlgeschlagene XML-Query-Abfragen

02.06.2013 15:21:08 -0700 WPC_SERVER 192.168.100.101:0 jdoe XML

INFO 0 3964 "/fmi/xml/fmresultset.xml?-db=Contacts&lay=Contact_Details&-findall"

02.06.2013 15:26:31 -0700 WPC_SERVER 192.168.100.101:0 jdoe XML

ERROR 5 596 "/fmi/xml/fmresultset.xml?-db=Contacts&layout=Contact_Details&-findall"

1

Scriptfehler

02.06.2013 17:33:12 -0700 WPC_SERVER 192.168.100.101:0 jdoe - ERROR

4 - Web Scripting Error: 4, File: "10b_MeetingsUpload", Script: "OnOpen",

Script Step: "Show Custom Dialog"

1

Änderungen an den Custom Web Publishing-Einstellungen

09.06.2013 10:59:49 -0700 WPC_SERVER 192.168.100.101:0 jdoe - INFO

- - XML Web Publishing Engine is enabled.

1

Systemfehler

02.06.2013 15:30:42 -0700 WPC_SERVER 192.168.100.101:0 jdoe XML

ERROR - - Communication failed

Kapitel 6 | Einstellen, Testen und Überwachen einer Site 54

Verwenden des Web-Server-Modul-Fehlerprotokolls

Wenn der Web-Server keine Verbindung zur Web Publishing Engine aufbauen kann, generiert das Web Server Modul eine Protokolldatei, die alle Fehler in Zusammenhang mit ihrer Ausführung aufzeichnet. Diese Protokolldatei heißt web_server_module_log.txt und befindet sich in der Web-

Server-Komponente Ihres FileMaker Server-Einsatzes:

1

IIS (Windows): [Laufwerk]:\Programme\FileMaker\FileMaker

Server\Logs\web_server_module_log.txt

wobei [Laufwerk] das Hauptlaufwerk ist, von dem das System startet.

1

Apache (OS X): /Library/FileMaker Server/Logs/web_server_module_log.txt

Verwenden der Tomcat-Protokolle

Wenn FileMaker Server ein von einem internen Web-Server-Fehler verursachtes Problem feststellt, finden Sie die Tomcat-Protokolle evtl. hilfreich. Die Tomcat-Protokolle befinden sich in der Web-Server-Komponente des FileMaker Server-Einsatzes:

1

IIS (Windows): [Laufwerk]:\Programme\FileMaker\FileMaker

Server\Admin\admin-master-tomcat\logs\ wobei [Laufwerk] das Hauptlaufwerk ist, von dem das System startet.

1

Apache (OS X): /Library/FileMaker Server/Admin/admin-master-tomcat/logs/

Fehlerbehebung für Ihre Site

Wenn Sie Probleme bei der Anzeige oder Verwendung Ihrer Site haben, überprüfen Sie

Folgendes:

1

Die erweiterten Zugriffsrechte in der Datenbank müssen für Custom Web Publishing mit PHP eingestellt und einem Benutzerkonto zugewiesen sein. Weitere Informationen finden Sie unter

„Aktivierung von Custom Web Publishing mit PHP für Datenbanken“ auf Seite 15.

1

Die Datenbank muss über FileMaker Server bereitgestellt und geöffnet sein. Weitere

Informationen finden Sie in der FileMaker Server Hilfe.

1

Prüfen Sie, ob der verwendete Datenbankkontoname und ggf. Ihr Passwort korrekt sind.

1

Stellen Sie sicher, dass Web-Server und Web Publishing Engine laufen.

1

PHP-Publishing muss in der Web Publishing Engine aktiviert sein.

1

Öffnen Sie einen Browser mit der Seite FileMaker Server Technologietests: http://<server>:16000/test wobei <server> der Rechner ist, auf dem sich FileMaker Server befindet.

1

Klicken Sie auf den Link

PHP Custom Web Publishing testen

, um eine PHP-Seite zu

öffnen, die auf die Testdatenbank FMServer_Sample zugreift.

Weitere Informationen finden Sie im Handbuch FileMaker Server Einführung und in der FileMaker

Server Hilfe.

Anhang A

Fehlercodes für Custom Web Publishing mit PHP

Die Web Publishing Engine unterstützt zwei Arten von Fehlercodes, die für Custom Web

Publishing auftreten können:

1

Datenbank- und Datenabfragefehler. Die Web Publishing Engine generiert einen Fehlercode, wenn Daten von einer veröffentlichten Datenbank angefordert werden. Das FileMaker API für

PHP gibt diesen Fehlercode als FileMaker_Error-Objekt zurück. Weitere Informationen finden

Sie im nächsten Abschnitt, „Fehlercodenummern für FileMaker-Datenbanken“.

1

PHP-Fehler. Diese Fehler werden von PHP-Komponenten, einschließlich des cURL-Moduls,

generiert und zurückgegeben. Weitere Informationen finden Sie unter „Fehlercodenummern für

PHP-Komponenten“ auf Seite 62.

Fehlercodenummern für FileMaker-Datenbanken

Als Entwickler der Custom Web Publishing-Lösung obliegt es Ihnen, den Wert des Fehlercodes zu prüfen und geeignete Maßnahmen zu ergreifen. Die Web Publishing Engine behandelt keine

Datenbankfehler.

17

18

19

13

14

15

16

9

10

11

12

7

8

5

6

3

4

1

2

Fehlernummer

-1

0

Beschreibung

Unbekannter Fehler

Kein Fehler

Aktion durch Benutzer abgebrochen

Speicherfehler

Befehl nicht verfügbar (z. B. falsches Betriebssystem, falscher Modus etc.)

Befehl unbekannt.

Befehl ungültig (z. B. ist für den Scriptschritt "Feldwert setzen" keine Formel angegeben).

Datei ist schreibgeschützt.

Speicherüberlauf

Leeres Ergebnis

Ungenügende Berechtigungen

Angeforderte Daten fehlen.

Name ist nicht gültig.

Name existiert bereits.

Datei oder Objekt ist in Gebrauch.

Außerhalb des gültigen Bereichs

Teilen durch null nicht möglich.

Operation fehlgeschlagen, Anfrage wiederholen (z. B. eine Benutzeranfrage).

Konvertierung von fremdem Zeichensatz in UTF-16 fehlgeschlagen.

Client muss Kontoinformationen liefern, um fortzufahren.

Zeichenfolge enthält andere Zeichen als A-Z, a-z, 0-9 (ASCII).

Anhang A | Fehlercodes für Custom Web Publishing mit PHP 56

206

207

208

209

210

211

212

Fehlernummer

20

21

130

131

200

201

115

116

117

118

202

203

204

205

111

112

113

114

107

108

109

110

100

101

102

103

104

105

106

Beschreibung

Befehl oder Vorgang durch ausgelöstes Script abgebrochen.

Abfrage nicht unterstützt (z. B. beim Erstellen eines Hardlinks zu einem Dateisystem, das keine Hardlinks unterstützt)

Datei fehlt.

Datensatz fehlt.

Feld fehlt.

Beziehung fehlt.

Script fehlt.

Layout fehlt.

Tabelle fehlt.

Index fehlt.

Werteliste nicht vorhanden.

Berechtigung fehlt.

Bezugstabellen fehlen.

Feldwiederholung ist ungültig.

Fenster fehlt.

Funktion fehlt.

Dateiverweis fehlt.

Menüset fehlt

Layoutobjekt fehlt

Datenquelle fehlt

Thema fehlt

Dateien sind beschädigt oder fehlen und müssen neu installiert werden.

Dateien des Sprachpakets fehlen (z. B. Starter-Lösungen).

Zugriff auf Datensatz verweigert.

Feld kann nicht geändert werden.

Zugriff auf Feld verweigert.

Keine zu druckenden Datensätze in der Datei bzw. Passwort erlaubt kein Drucken.

Kein Zugriff auf Feld(er) in Sortierfolge

Benutzer hat keine Zugriffsrechte, um neue Datensätze zu erstellen; Import überschreibt bestehende Daten.

Benutzer hat keine Zugriffsrechte, um das Passwort zu ändern, oder die Datei ist schreibgeschützt.

Benutzer hat nicht genügend Zugriffsrechte, um das Datenbankschema zu ändern, oder die

Datei ist schreibgeschützt.

Passwort enthält zu wenige Zeichen.

Neues Passwort muss sich vom bestehenden unterscheiden.

Benutzerkonto ist inaktiv.

Passwort ist abgelaufen.

Ungültiges Benutzerkonto und/oder Passwort. Versuchen Sie es erneut.

Anhang A | Fehlercodes für Custom Web Publishing mit PHP 57

413

414

415

416

408

409

410

412

404

405

406

407

400

401

402

403

502

503

504

505

417

418

500

501

304

306

307

308

300

301

302

303

Fehlernummer

213

214

215

216

217

218

Beschreibung

Benutzerkonto und/oder Passwort existieren nicht.

Zu viele Anmeldeversuche

Administratorrechte können nicht dupliziert werden.

Gastkonto kann nicht dupliziert werden.

Benutzer hat nicht genügend Zugriffsrechte, um Administratorkonto zu ändern.

Passwort und Passwortüberprüfung stimmen nicht überein

Datei ist geschützt oder in Gebrauch.

Datei ist blockiert durch anderen Anwender.

Tabelle ist blockiert durch anderen Anwender.

Datenbankschema ist blockiert durch anderen Anwender.

Layout ist blockiert durch anderen Anwender.

Datensatzänderungs-ID stimmt nicht überein.

Transaktion konnte wegen eines Kommunikationsfehlers mit dem Host nicht gesperrt werden.

Design ist blockiert und in Gebrauch durch anderen Anwender.

Suchkriterien sind leer.

Kein Datensatz entspricht der Abfrage.

Kein Abgleichsfeld für eine Referenz

Maximales Datensatzlimit für FileMaker Pro-Demo wird überschritten.

Ungültige Sortierfolge

Angegebene Datensatzzahl übersteigt die Anzahl der ausschließbaren Datensätze.

Ungültige Kriterien für Ersetzen/Neunummerierung

Ein oder beide Gruppierfeld(er) fehlen (ungültige Beziehung).

Angegebenes Feld hat ein Datenformat, das diesem Befehl nicht entspricht.

Ungültige Importfolge

Ungültige Exportfolge

Falsche Version von FileMaker Pro verwendet, um die Datei wiederherzustellen

Angegebenes Feld hat ungeeigneten Feldtyp.

Layout kann das Ergebnis nicht anzeigen.

Ein oder mehrere erforderliche Bezugsdatensätze sind nicht verfügbar.

Primärschlüssel erforderlich für Datenquelltabelle

Die Datenbank ist keine unterstützte Datenquelle.

Interner Fehler bei INSERT-Operation in ein Feld

Datumswert entspricht nicht den Überprüfungskriterien.

Zeitwert entspricht nicht den Überprüfungskriterien.

Zahlenwert entspricht nicht den Überprüfungskriterien.

Feldwert entspricht nicht der Bereichsüberprüfung.

Feldwert entspricht nicht der Eindeutigkeitsüberprüfung.

Feldwert existiert nicht in der Datenbank und entspricht nicht der Existenzüberprüfung.

Anhang A | Fehlercodes für Custom Web Publishing mit PHP 58

727

729

730

731

720

721

722

723

724

725

726

711

714

715

716

717

718

719

602

603

700

706

512

513

600

601

707

708

709

710

Fehlernummer

506

507

508

509

510

511

Beschreibung

Feldwert entspricht nicht der Überprüfung nach Bestandteil einer Werteliste.

Feldwert entspricht nicht der Überprüfung durch Berechnung.

Ungültiger Wert wurde in Suchenmodus eingegeben.

Feld verlangt gültigen Wert.

Bezugswert ist leer oder nicht verfügbar.

Wert in Feld überschreitet maximale Feldgröße.

Datensatz wurde bereits durch anderen Anwender geändert.

Keine Überprüfung wurde angegeben, aber Daten können nicht in das Feld passen

Druckerfehler aufgetreten.

Kombination von Kopf- und Fußbereich übersteigt eine Seitenlänge.

Datenbereich passt für aktuelle Spalteneinstellung nicht auf eine Seite.

Verbindung zum Drucker getrennt.

Datei hat falschen Dateityp für Import.

EPSF-Datei hat keine Übersichtsgrafik.

Grafikfilter nicht vorhanden.

Dateiimport nicht möglich bzw. Farbmonitor für Import erforderlich.

Import des QuickTime-Films fehlgeschlagen.

QuickTime-Dateiverweis konnte nicht aktualisiert werden, da für Datenbankdatei nur

Lesezugriff besteht.

Importfilter nicht vorhanden.

Zugriffsrechte reichen für diesen Befehl nicht aus.

Benannter Bereich oder Tabellenblatt von Excel konnte nicht gefunden werden.

Eine SQL Anfrage mit DELETE, INSERT oder UPDATE ist nicht für ODBC Import erlaubt.

Zum Fortsetzen des Imports bzw. Exports sind nicht genügend XML/XSL-Daten vorhanden.

XML-Parsingfehler (von Xerces)

Fehler beim Transformieren von XML mit XSL (von Xalan)

Fehler beim Export: Das vorgesehene Format unterstützt keine Wiederholfelder.

Im Parser oder Transformer ist ein unbekannter Fehler aufgetreten.

Daten können nicht in eine Datei importiert werden, die keine Felder hat.

Sie sind nicht berechtigt, Datensätze in der Zieltabelle hinzuzufügen oder zu ändern.

Sie sind nicht berechtigt, Datensätze in der Zieltabelle hinzuzufügen.

Sie sind nicht berechtigt, Datensätze in der Zieltabelle zu ändern.

In der Importdatei sind mehr Datensätze vorhanden als in der Zieltabelle. Nicht alle

Datensätze werden importiert.

In der Zieltabelle sind mehr Datensätze vorhanden als in der Importdatei. Nicht alle

Datensätze werden aktualisiert.

Fehler beim Import. Datensätze konnten nicht importiert werden.

Nicht unterstützte Excel-Version (Datei in Excel 2007/2008-Format oder neuere, unterstützte

Version konvertieren und erneut probieren)

Die für den Import ausgewählte Datei enthält keine Daten.

Anhang A | Fehlercodes für Custom Web Publishing mit PHP 59

820

821

822

823

815

816

817

819

824

825

826

850

803

804

805

806

807

808

809

810

811

812

813

814

736

737

738

800

801

802

Fehlernummer

732

733

734

735

Beschreibung

Diese Datei kann nicht eingefügt werden, weil sie selbst weitere Dateien enthält.

Eine Tabelle kann nicht in sich selbst importiert werden.

Dieser Dateityp kann nicht als Bild dargestellt werden.

Dieser Dateityp kann nicht als Bild dargestellt werden. Er wird eingefügt und dann als

Datei dargestellt.

Zu viele Daten für den Export in dieses Format. Sie werden abgeschnitten.

Die Bento-Tabelle, die Sie importieren, fehlt.

Das Design, das Sie importieren, existiert bereits.

Datei konnte auf Datenträger nicht erstellt werden.

Temporärdatei konnte auf Systemdatenträger nicht erstellt werden.

Datei konnte nicht geöffnet werden.

Dieser Fehler kann durch eine oder mehrere der folgenden Möglichkeiten verursacht werden:

1

Ungültiger Datenbankname

1

Datei ist in FileMaker Server geschlossen.

1

Ungültige Berechtigung

Datei in Einzelbenutzer-Status oder Host nicht vorhanden.

Datei konnte in ihrem aktuellen Status nicht mit Nur-Lese-Zugriff geöffnet werden.

Datei ist beschädigt; stellen Sie die Datei wieder her.

Datei kann mit dieser Version von FileMaker Pro nicht geöffnet werden.

Datei ist keine FileMaker Pro-Datei oder ist schwer beschädigt.

Datei kann wegen beschädigter Zugriffsrechte nicht geöffnet werden.

Datenträger voll

Datenträger fixiert

Temporärdatei kann nicht als FileMaker Pro-Datei geöffnet werden.

Kapazität des Hosts überschritten

Fehler bei Datensatz-Synchronisation im Netzwerk

Datei(en) kann (können) nicht geöffnet werden, da die maximale Anzahl an Dateien geöffnet ist.

Referenzdatei konnte nicht geöffnet werden.

Datei konnte nicht konvertiert werden.

Der Bindungsschlüssel der Datei stimmt nicht mit dieser Laufzeitanwendung überein.

Lokale Kopie einer remote Datei kann nicht gespeichert werden.

Datei wird geschlossen.

Host hat die Verbindung getrennt.

FMI-Dateien nicht gefunden; fehlende Dateien neu installieren.

Datei kann nicht auf Einzelbenutzer gesetzt werden, da Gäste verbunden sind.

Datei ist beschädigt oder keine FileMaker-Datei.

Datei ist nicht autorisiert, die geschützte Datei zu referenzieren.

Der angegebene Dateipfad ist kein gültiger Dateipfad.

Der Pfad ist für das Betriebssystem ungültig.

Anhang A | Fehlercodes für Custom Web Publishing mit PHP

1204

1205

1206

1207

1208

1209

1210

1211

1212

1213

1214

957

958

959

960

1200

1201

1202

1203

951

954

955

956

920

921

922

923

Fehlernummer

851

852

853

900

901

902

903

905

906

Beschreibung

Löschen einer externen Datei vom Datenträger nicht möglich

Schreiben einer Datei auf den externen Speicher nicht möglich

Mindestens ein Container konnten nicht übertragen werden.

Allgemeiner Fehler in der Rechtschreibprüfung

Standardwörterbuch nicht installiert.

Hilfe-System konnte nicht gestartet werden.

Befehl kann nicht in einer gemeinsam genutzten Datei verwendet werden.

Kein aktives Feld ausgewählt, Befehl kann nur mit aktivem Feld verwendet werden.

Die aktuelle Datei wird nicht bereitgestellt. Der Befehl kann nur verwendet werden, wenn die Datei bereitgestellt wird.

Initialisierung der Rechtschreibprüfung nicht möglich.

Anwenderwörterbuch kann nicht zur Bearbeitung geladen werden.

Anwenderwörterbuch existiert nicht.

Anwenderwörterbuch ist schreibgeschützt.

Ein unerwarteter Fehler ist aufgetreten.

Nicht unterstützte XML-Grammatik

Kein Datenbankname

Maximale Anzahl von Datenbanksitzungen überschritten.

Widersprüchliche Befehle

Parameter fehlt in Query

Custom Web Publishing ist deaktiviert

Parameter ungültig

Generischer Rechenfehler

In dieser Funktion gibt es zu wenige Parameter.

In dieser Funktion gibt es zu viele Parameter.

Unerwartetes Ende der Berechnung

Es wird eine Zahl, eine Textkonstante, ein Feldname bzw. „(“ erwartet.

Kommentar ist nicht mit „*/“ beendet.

Textkonstante muss mit einem Anführungszeichen enden.

Klammer unvollständig

Operator fehlt, Funktion nicht gefunden oder „(“ nicht erwartet.

Name (z. B. Feldname oder Layoutname) fehlt.

Plugin-Funktion wurde bereits registriert.

In dieser Funktion ist die Listennutzung nicht zulässig.

Hier wird ein Operator (z. B. +, -, * ) erwartet.

Diese Variable wurde bereits in der SetzeVars-Funktion definiert.

MITTELWERT, ANZAHL, ERWEITERN, AUSWIEDERHOLFELD, MAX, MIN, NPW,

STABW, SUMME oder HOLEERGEBNISWERT enthält einen Ausdruck, obwohl nur ein

Feld erwartet wird.

60

Anhang A | Fehlercodes für Custom Web Publishing mit PHP 61

Fehlernummer

1215

1216

1217

1218

1219

1220

1221

1222

1223

1224

1225

1300

1301

1400

1408

1409

1410

1411

1412

1413

1414

1450

1401

1402

1403

1404

1405

1406

1407

1451

1501

1502

1503

1504

1505

1506

Beschreibung

Dieser Parameter ist ein ungültiger Statusfunktionsparameter.

Als erstes Argument einer HOLEERGEBNISWERT-Funktion können nur Statistikfelder angegeben werden.

Gruppierfeld ist ungültig.

Zahl kann nicht berechnet werden.

Ein Feld kann nicht in seiner eigenen Formel benutzt werden.

Feldtyp muss normal oder berechnet sein.

Datentyp muss Zahl, Datum, Zeit oder Zeitstempel sein.

Formel kann nicht gespeichert werden.

Die angegebene Funktion ist noch nicht implementiert.

Die angegebene Funktion existiert nicht.

Die angegebene Funktion wird in diesem Kontext nicht unterstützt.

Der angegebene Name kann nicht verwendet werden.

Einer der Parameter der Funktion, die importiert oder eingefügt wird, hat denselben Namen wie eine Funktion, die sich bereits in der Datei befindet.

ODBC-Client-Treiberinitialisierung fehlgeschlagen. Stellen Sie sicher, dass die ODBC-Client-

Treiber richtig installiert sind.

Umgebung konnte nicht zugeteilt werden (ODBC).

Umgebung konnte nicht freigegeben werden (ODBC).

Verbindung trennen fehlerhaft (ODBC).

Verbindung konnte nicht zugeteilt werden (ODBC).

Verbindung konnte nicht freigegeben werden (ODBC).

Überprüfung von SQL API fehlgeschlagen (ODBC).

Anweisung konnte nicht zugeteilt werden (ODBC).

Erweiterter Fehler (ODBC)

Erweiterter Fehler (ODBC)

Erweiterter Fehler (ODBC)

Erweiterter Fehler (ODBC)

Erweiterter Fehler (ODBC)

Erweiterter Fehler (ODBC)

SQL-Anweisung zu lang

Aktion erfordert PHP-Berechtigungserweiterung.

Aktion erfordert, dass die aktuelle Datei remote ist.

SMTP-Authentifizierung fehlgeschlagen.

Verbindung vom SMTP-Server abgelehnt.

SSL-Fehler

Der SMTP-Server erfordert eine verschlüsselte Verbindung.

Die angegebene Authentifizierung wird vom SMTP-Server nicht unterstützt.

E-Mail(s) konnte(n) nicht erfolgreich versendet werden.

Anhang A | Fehlercodes für Custom Web Publishing mit PHP 62

Fehlernummer

1507

1550

1551

1626

1627

1628

1629

1630

1631

Beschreibung

Anmeldung am SMTP-Server nicht möglich

Plugin konnte nicht geladen werden oder Plugin ist kein gültiges Plugin

Plugin kann nicht installiert werden. Ein bestehendes Plugin kann nicht gelöscht werden oder

Schreiben in den Ordner oder Datenträger nicht möglich

Protokoll wird nicht unterstützt.

Authentifizierung fehlgeschlagen.

Es ist ein SSL-Fehler aufgetreten.

Verbindungs-Zeitfehler; das Sitzungszeitlimit beträgt 60 Sekunden.

URL-Format nicht korrekt

Verbindung fehlgeschlagen

Fehlercodenummern für PHP-Komponenten

Das FileMaker API für PHP nutzt eine Reihe von PHP-Komponenten. Diese PHP-Komponenten können weitere Fehlercodes zurückgeben, die hier nicht aufgelistet werden.

Wenn beispielsweise Web Publishing Core- oder FileMaker Server-Dienste nicht laufen, kann der cURL-Modulfehler „CURLE_GOT_NOTHING (52)“ zurückgegeben werden.

Weitere Informationen zu PHP-Fehlercodes finden Sie auf der PHP-Website http://php.net.

Index

A

Add, Befehl 31

add(), Methode 41

addSortRule(), Methode 39

Admin Console 14

,

15

Aktivieren von Instant Web Publishing in Datenbank 15

Aus Werteliste, Überprüfung 46

Ausführen von Suchabfragen 39

Ausschnitte 35

B

Bearbeiten von Datensätzen 32

Beispiele zu FileMaker API für PHP 29

Benutzernamen

Für Custom Web Publishing definieren 15

Berechtigung, Zuweisen für Custom Web Publishing 15

Bezugsmengenobjekt 35

C

clearSortRules(), Methode 39

Client URL Library 12

commit(), Methode 31

Compound Find

Befehl 41

Beispiel 42

Containerfelder

Inhalt veröffentlichen 18

Mit extern gespeicherten Daten 20

Mit referenzierten Dateien 19

Wie Webbenutzer auf Daten zugreifen 22

createRecord(), Methode 31

cURL 12

cURL-Modulfehler 62

Custom Web Publishing

Definition 7

Erweitertes Zugriffsrecht für 15

In Datenbank aktivieren 15

In Web Publishing Engine aktivieren 16

Mit PHP 9

Mit XML 9

Scripts 24

Scripts verwenden 23

Zugriff von IP-Adressen in Web-Server beschränken 16

D

Date, Feld 45

Datenbanken, veröffentlichte schützen 16

Datenbankfehlercodes 55

Datenbankobjekt 30

Datenbanksitzungen, Persistenz 15

,

18

Datensätze 31

Datensatzobjekt 31

Datumsdarstellung 43

Delete, Befehl 32 delete(), Methode 32

,

37

Dialogfeld „Ausschnitteinstellungen“ 44

Dokumentation 6

Duplicate, Befehl 32

Duplizieren von Datensätzen 32

Dynamische IP-Adresse 13

E

Edit, Befehl 32

Eindeutiger Wert, Überprüfung 46

Einstellen von Webseiten 49

Elektronische Dokumentation 6

Ergebnismenge 43

Erstellung eines Datensatzes 31

Erweitertes Zugriffsrecht für Custom Web Publishing 15

Externe SQL-Datenquelle 15

F

Fehler

Behandlung 48

Datenbankfehlercodes 55

Protokolldateien für Web-Server 51

Fehlerbehandlung 48

Fehlerbehebung für Webseiten

Custom Web Publishing-Webseiten 50

Überprüfungseinstellungen 54

Feld

Date 45

Four-digit year 45

Maximum number of characters 44

Not empty 44

Numeric only 44

Time 45

Time of day 45

Timestamp 45

FileMaker API für PHP

Beispiele 29

Definition 9

Lehrgang 29

Manuelle Installation 13

Referenz 28

FileMaker Server

Dokumentation 6

Installieren 6

FileMaker Server Admin

siehe Admin Console

FileMaker WebDirect

Definition 7

Dokumentation 6

FileMaker, Klasse 29

FileMaker, Klassenobjekte

Bezugsmenge 35

Datenbank 30

Datensatz 31

Definition 30

FileMaker-Befehlsobjekte

Add 31

Compound Find, Befehl 41

Delete 32

Duplicate 32

Edit 32

Find All, Befehl 40

Find Any, Befehl 40

Find, Befehl 39

,

40

Find All, Befehl 40

Find Any, Befehl 40

Find, Befehl 40

Four-digit year, Feld 45

G

Gastkonto

Aktivieren 18

Deaktivieren 18 getContainerData(), Methode 18

,

43

getContainerDataURL(), Methode 20

,

43

getDatabase(), Methode 35

getErrors(), Methode 48

getFetchCount(), Methode 43 getField(), Methode 43 getFieldAsTimestamp(), Methode 43

getFields(), Methode 35

,

43 getFoundSetCount(), Methode 43

getLayout(), Methode 35

getMessage(), Methode 48

getName(), Methode 35

,

36

getRange(), Methode 39

getRecords(), Methode 43

getRelatedSet(), Methode 36 getRelatedSets(), Methode 36

getValueListsTwoFields(), Methode 38 getValueListTwoFields(), Methode 38

I

Im Bereich, Überprüfung 46

Installation von FileMaker API für PHP 13

Installationsdokumentation 6

isError(), Methode 48

isValidationError(), Methode 47

J

JDBC-Dokumentation 6

K

Kodierung Latin-1 27

Kodierung UTF-8 27

Konten und Berechtigungen

Gastkonto 18

Konten und Zugriffsrechte

Für Custom Web Publishing aktivieren 15

Scripts 23

L

Layouts 35

Lehrgang zu FileMaker API für PHP 29

listFields(), Methode 35 listLayouts(), Methode 35 listRelatedSets(), Methode 35

listScripts(), Methode 33

listValueLists(), Methode 35

,

37

Löschen von Datensätzen 32

M

Manuelle Installation von FileMaker API für PHP 13

Maximum number of characters, Feld 44

Methoden

add() 41

addSortRule() 39 clearSortRules() 39

commit() 31 createRecord() 31

delete() 32

,

37

getContainerData() 18

,

43

getContainerDataURL() 20

,

43

getDatabase() 35

getErrors() 48

getFetchCount() 43 getField() 43 getFieldAsTimestamp() 43

getFields() 35

,

43 getFoundSetCount() 43

getLayout() 35

getMessage() 48

getName() 35

,

36

getRange() 39

getRecords() 43

getRelatedSet() 36 getRelatedSets() 36

getValueListsTwoFields() 38 getValueListTwoFields() 38

isError() 48

isValidationError() 47

listFields() 35 listLayouts() 35 listRelatedSets() 35

listScripts() 33

listValueLists() 35

,

37

newAddCommand() 31

newCompoundFindCommand() 41

newDeleteCommand() 32 newDuplicateCommand() 32 newEditCommand() 32

newFindAllCommand() 40 newFindAnyCommand() 40 newFindCommand() 40

64

newFindRequest() 41

newPerformScriptCommand() 33

newRelatedRecord() 37

numErrors() 47

,

48

setLogicalOperator() 39

setOmit() 41

setPreCommandScript() 33

,

39

setPreSortScript() 34

,

39

setProperty() 30

setRange() 39

setRelatedSetsFilters() 44

setResultsLayout() 35

setScript() 34

,

39

validate() 46

N

newAddCommand(), Methode 31

newCompoundFindCommand(), Methode 41

newDeleteCommand(), Methode 32 newDuplicateCommand(), Methode 32 newEditCommand(), Methode 32

newFindAllCommand(), Methode 40 newFindAnyCommand(), Methode 40 newFindCommand(), Methode 40

newFindRequest(), Methode 41

newPerformScriptCommand(), Methode 33

newRelatedRecord(),Methode 37

Not empty, Feld 44

Numeric only, Feld 44

numErrors(), Methode 47

,

48

Nummern für Datenbankfehlercodes 55

O

ODBC-Beschränkungen 15

ODBC-Dokumentation 6

Online-Dokumentation 6

OS X Server Admin 12

P

Passwort ändern (Script) 18

Passwörter

Für Custom Web Publishing definieren 15

Kein Anmeldepasswort 18

Passwort ändern (Script) 18

Persistente Datenbanksitzungen 15

,

18

PHP

Fehler 62

Fehlerbehebung 54

In Datenbank aktivieren 15

Unterstützte Version 13

Vorteile 9

Webseiten testen 50

Zusammenfassung der Schritte für Publishing 26

PHP 5 12

PHP API für Custom Web Publishing 9

PHP-Publishing testen 54

65

Programmprotokoll 52

Progressives Downloaden 19

,

22

Protokolldateien

Beschreibung 51

Tomcat 54 web_server_module_log.txt 54

Web-Server-Zugriff 51

wpe.log 52

Q

QuickTime-Filme, im Web veröffentlichen 20

R

Referenzinformationen 28

S

SAT

siehe Admin Console

Schützen veröffentlichter Datenbanken 16

Script "Re-Login" 18

Scripts

Erneut anmelden 18

In Custom Web Publishing 23

Konten und Zugriffsrechte 23

Passwort ändern 18

Tipps und Überlegungen 23

Trigger 25

Server Admin-Tool

Siehe OS X Server Admin

Serveranforderungen 12

setLogicalOperator(), Methode 39

setOmit(), Methode 41

setPreCommandScript(), Methode 33

,

39

setPreSortScript(), Methode 34

,

39

setProperty(), Methode 30

setRange(), Methode 39

setRelatedSetsFilters(), Methode 44

setResultsLayout(), Methode 35

setScript(), Methode 34

,

39

Sicherheit

Dokumentation 8

Konten und Passwörter 16

Richtlinien zum Schützen veröffentlichter Datenbanken 16

Zugriff von IP-Adressen beschränken 16

SSL (Secure Sockets Layer)-Verschlüsselung 17

Statische IP-Adresse 13

Statisches Veröffentlichen, Definition 7

Streaming. Siehe Progressiver Download

Suchbefehlsobjekte 39

T

Technologietests 54

Testen von Webseiten 50

Time of day, Feld 45

Time, Feld 45

Timestamp, Feld 43

,

45

Tomcat-Protokolle 54

Trigger 25

U

Überprüfung

Befehle 44

Date 45

Datensätze 46

Felder 46

Four-digit year 45

Maximum number of characters 44

Not empty 44

Numeric only 44

Time 45

Time of day 45

Timestamp 45

Überprüfung durch Berechnung 46

Übersicht über PHP-Publishing 26

Überwachen von Webseiten 51

Unicode 27

Unix-Zeitstempel 43

V

validate(), Methode 46

Verarbeitung einer Ergebnismenge 43

Verarbeitung einer Web Publishing Engine-Anforderung 8

Verbinden

mit einem FileMaker-Server 30 mit einer FileMaker-Datenbank 30

Veröffentlichen im Web

Containerfelderobjekte 18

Datenbanken schützen 16

Datenbankfehlercodes 55

Mit PHP 26

QuickTime-Filme 20

Verwenden

Ausschnitte 35

Datensätze 31

Layouts 35

Scripts 33

Wertelisten 37

Vorabüberprüfung

Befehle 44

Date 45

Datensätze 46

Felder 46

Four-digit year 45

Maximum number of characters 44

Not empty 44

Numeric only 44

Time 45

Time of day 45

Timestamp 45

Vorhandener Wert, Überprüfung 46

W

Web Publishing Engine

Anforderungsverarbeitung 8

Beschreibung 8

Generierte Fehlercodes 55

Programmprotokoll 52

Web Server

Protokolldateien 51

web_server_module_log.txt (Protokolldatei) 54

Webbenutzer

Containerfelddaten verwenden 22

Webordner, Containerfeldobjekte kopieren 19

Webseiten

Einstellen 49

Fehlerbehebung 54

Testen 50

Websites

FileMaker Support-Seiten 6

Überwachen 51

Wertelisten 37

wpe.log, Protokolldatei 52

X

XML Custom Web Publishing 9

XML-Vorteile 9

Z

Zugriffsprotokolldateien für Web-Server, Beschreibung 51

Zugriffsrechte 18

66

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement

Table of contents